This is an automated email from the ASF dual-hosted git repository. leborchuk pushed a commit to branch REL_2_STABLE in repository https://gitbox.apache.org/repos/asf/cloudberry.git
commit 38dff513d4bd725b43ecf9bd143aae663214504c Author: Dianjin Wang <[email protected]> AuthorDate: Tue Sep 22 16:27:19 2026 +0800 Drop the prebuilt gppkg samples and widen the binary check 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 --- .github/workflows/apache-rat-audit.yml | 6 +++-- README.apache.md | 28 +++++++++++++++++++++ gpMgmt/demo/gppkg/data/sample-0.0-1.amd64.deb | Bin 888 -> 0 bytes .../demo/gppkg/data/sample-0.0.1-noop.x86_64.rpm | Bin 2484 -> 0 bytes 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/.github/workflows/apache-rat-audit.yml b/.github/workflows/apache-rat-audit.yml index 215fe40185b..22a75ed156f 100644 --- a/.github/workflows/apache-rat-audit.yml +++ b/.github/workflows/apache-rat-audit.yml @@ -115,7 +115,7 @@ jobs: - name: Check for binary files run: | echo "Checking for binary files..." - echo "Checking extensions: class, jar, tar, tgz, zip, exe, dll, so, gz, bz2" + echo "Checking extensions: class, jar, tar, tgz, zip, exe, dll, so, gz, bz2, deb, rpm, gppkg, bin" echo "----------------------------------------------------------------------" # Binary file allowlist, see README.apache.md @@ -127,10 +127,12 @@ jobs: "src/bin/gpfdist/regress/data/gpfdist2/gz_multi_chunk_2.tbl.gz" "src/bin/gpfdist/regress/data/gpfdist2/lineitem.tbl.bz2" "src/bin/gpfdist/regress/data/gpfdist2/lineitem.tbl.gz" + "gpMgmt/test/behave/mgmt_utils/steps/data/sample.gppkg" + "src/bin/pgevent/MSG00001.bin" ) # Check for specific binary file extensions - binary_extensions="class jar tar tgz zip exe dll so gz bz2" + binary_extensions="class jar tar tgz zip exe dll so gz bz2 deb rpm gppkg bin" echo "BINARY_EXTENSIONS=${binary_extensions}" >> $GITHUB_ENV binary_results="" binaryfiles_found=false diff --git a/README.apache.md b/README.apache.md index e99f2b2328f..adeedace124 100644 --- a/README.apache.md +++ b/README.apache.md @@ -50,3 +50,31 @@ The following compressed files are included in the source tree. These files are - src/bin/gpfdist/regress/data/gpfdist2/gz_multi_chunk_2.tbl.gz - src/bin/gpfdist/regress/data/gpfdist2/lineitem.tbl.bz2 - src/bin/gpfdist/regress/data/gpfdist2/lineitem.tbl.gz + +## Binary Files in Source + +A source release should not carry compiled artifacts, so the licence audit +workflow fails on binary file extensions unless the file is allowlisted. The +following are allowed, with the reason for each. + +- gpMgmt/test/behave/mgmt_utils/steps/data/sample.gppkg + + A small sample package that the `gppkg` behave suite installs and removes. + The tests exercise package handling itself, so the fixture has to be a real + package. + +- src/bin/pgevent/MSG00001.bin + + Inherited from PostgreSQL, where it is also shipped. It is the output of the + Microsoft Message Compiler and is referenced from `pgmsgevent.rc` when + building the Windows event log DLL; `src/bin/pgevent/README` describes how it + is produced. Cloudberry does not build it: `src/bin/Makefile` only puts + `pgevent` in `SUBDIRS` when `PORTNAME` is `win32`. + +The PAX Python API test data under +`contrib/pax_storage/src/api/python3/test/` (`test.file1` through `test.file9`, +plus `test.file3.vm1`, `test.file3.vm2` and `test.file7.toast`) is also binary: +each file is a PAX-format data file covering a particular set of column types, +read by `paxpy_test.py`. These names carry no recognised extension, so the +workflow's extension-based check does not see them; they are recorded here so +the set is documented rather than invisible. diff --git a/gpMgmt/demo/gppkg/data/sample-0.0-1.amd64.deb b/gpMgmt/demo/gppkg/data/sample-0.0-1.amd64.deb deleted file mode 100644 index 729515c6593..00000000000 Binary files a/gpMgmt/demo/gppkg/data/sample-0.0-1.amd64.deb and /dev/null differ diff --git a/gpMgmt/demo/gppkg/data/sample-0.0.1-noop.x86_64.rpm b/gpMgmt/demo/gppkg/data/sample-0.0.1-noop.x86_64.rpm deleted file mode 100644 index ab635f140a3..00000000000 Binary files a/gpMgmt/demo/gppkg/data/sample-0.0.1-noop.x86_64.rpm and /dev/null differ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
