From eda9f7e9a8d7280ae58a3d97ded4954caf34e24b Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Fri, 6 Nov 2026 12:19:59 +0800 Subject: [PATCH] CI: let rpmbuild accept PXF's Cloudberry RUNPATH on Rocky 10 RHEL/Rocky 10 added check-rpaths to rpmbuild's %install post-processing (RHEL 8/9 never run it). It flags any absolute RUNPATH outside the system library directories as invalid (0x0002), so the Rocky 10 PXF RPM build fails on gpextable/pxf.so and fdw/pxf_fdw.so, which point at /usr/local/cloudberry-db/lib on purpose to load the Cloudberry libraries. Set QA_RPATHS=0x0002 for the PXF build, which tolerates exactly that class and keeps the other rpath checks in force. ci/docker/pxf-cbdb-dev /rocky10/script/build_cloudberry_rpm.sh works around the same check for the Cloudberry RPM. --- .github/workflows/package-convenience-binaries.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/package-convenience-binaries.yml b/.github/workflows/package-convenience-binaries.yml index 33e1e193..789674cf 100644 --- a/.github/workflows/package-convenience-binaries.yml +++ b/.github/workflows/package-convenience-binaries.yml @@ -713,6 +713,11 @@ jobs: export JAVA_HOME='${JAVA_HOME}' export GOPATH=\$HOME/go export PATH=\$PATH:/usr/local/go/bin:\$GOPATH/bin + # RHEL/Rocky 10 runs check-rpaths in rpmbuild's %install and + # rejects pxf.so and pxf_fdw.so, whose RUNPATH points at the + # Cloudberry libraries in /usr/local/cloudberry-db/lib on purpose. + # Allow only that class (0x0002, absolute non-system path). + export QA_RPATHS=0x0002 if [[ '${PACKAGE_TYPE}' == 'deb' ]]; then make deb 2>&1; else make rpm 2>&1; fi " echo "=== PXF build complete. ==="