Skip to content

Drop the prebuilt gppkg samples and widen the binary check - #2040

Open
tuhaihe wants to merge 1 commit into
apache:mainfrom
tuhaihe:drop-prebuilt-gppkg-samples
Open

tuhaihe wants to merge 1 commit into
apache:mainfrom
tuhaihe:drop-prebuilt-gppkg-samples

Conversation

@tuhaihe

@tuhaihe tuhaihe commented Sep 22, 2026

Copy link
Copy Markdown
Member

The Incubator releasecheck tool reports binary files in the 2.2.0-rc1 source archive. Looking at each one, only two are avoidable.

gpMgmt/demo/gppkg/data/ held a .deb and an .rpm, and they are output of the script sitting beside them: generate_sample_gppkg.sh writes them there in buildNative and reads them back in buildGppkg. Anyone who needs them can run the first step, which is what its README already describes, so they go.

The rest stay and are recorded instead:

  • the sample.gppkg the gppkg behave suite installs, which has to be a real package because the tests exercise package handling
  • src/bin/pgevent/MSG00001.bin, which comes from PostgreSQL, is referenced by pgmsgevent.rc, and is described by the README next to it. Cloudberry never builds it: src/bin/Makefile only adds pgevent to SUBDIRS when PORTNAME is win32

Widening the check matters as much as the deletion. It looked at class, jar, tar, tgz, zip, exe, dll, so, gz and bz2, so none of the files the tool found would have tripped it, including the two removed here. It now covers deb, rpm, gppkg and bin as well, with the two kept files allowlisted.

README.apache.md gains a section giving the reason for each allowlisted file, and records the PAX Python API test data
(contrib/pax_storage/src/api/python3/test/test.file*). Those are PAX-format fixtures read by paxpy_test.py, one per set of column types. Their names carry no extension the check can match, so documenting them is all that is possible; they are listed so the set is not invisible.

Checked by running the workflow's allowlist logic over the tree: with deb, rpm, gppkg and bin added, every matching file is accounted for, and every allowlist entry still exists.

Assisted-by: Claude Code
Backpatch-through: REL_2_STABLE

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


The Incubator releasecheck tool reports binary files in the 2.2.0-rc1
source archive.  Looking at each one, only two are avoidable.

gpMgmt/demo/gppkg/data/ held a .deb and an .rpm, and they are output of
the script sitting beside them: generate_sample_gppkg.sh writes them
there in buildNative and reads them back in buildGppkg.  Anyone who needs
them can run the first step, which is what its README already describes,
so they go.

The rest stay and are recorded instead:

  - the sample.gppkg the gppkg behave suite installs, which has to be a
    real package because the tests exercise package handling
  - src/bin/pgevent/MSG00001.bin, which comes from PostgreSQL, is
    referenced by pgmsgevent.rc, and is described by the README next to
    it.  Cloudberry never builds it: src/bin/Makefile only adds pgevent
    to SUBDIRS when PORTNAME is win32

Widening the check matters as much as the deletion.  It looked at class,
jar, tar, tgz, zip, exe, dll, so, gz and bz2, so none of the files the
tool found would have tripped it, including the two removed here.  It now
covers deb, rpm, gppkg and bin as well, with the two kept files
allowlisted.

README.apache.md gains a section giving the reason for each allowlisted
file, and records the PAX Python API test data
(contrib/pax_storage/src/api/python3/test/test.file*).  Those are
PAX-format fixtures read by paxpy_test.py, one per set of column types.
Their names carry no extension the check can match, so documenting them
is all that is possible; they are listed so the set is not invisible.

Checked by running the workflow's allowlist logic over the tree: with deb,
rpm, gppkg and bin added, every matching file is accounted for, and every
allowlist entry still exists.

Assisted-by: Claude Code
Backpatch-through: REL_2_STABLE
@tuhaihe tuhaihe added this to the 2.2 milestone Sep 22, 2026
@tuhaihe
tuhaihe requested a review from leborchuk September 23, 2026 02:05

@leborchuk leborchuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants