This is an automated email from the ASF dual-hosted git repository.
tuhaihe pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
The following commit(s) were added to refs/heads/main by this push:
new 476527f3b85 Drop the prebuilt gppkg samples and widen the binary check
476527f3b85 is described below
commit 476527f3b85af355da5e77ee96a30fe3f7b4461d
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 53df0a40b40..6cecf9dbabb 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]