From ec11f1144b4bc348001187fed6578febcdd8d8b0 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 21 Jul 2026 14:05:24 +0200 Subject: [PATCH] Record shared library dependency test --- docs/release-testing-0.7.md | 2 +- docs/test-evidence/0.7-r1.md | 52 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/docs/release-testing-0.7.md b/docs/release-testing-0.7.md index af406b3..4a4c6e9 100644 --- a/docs/release-testing-0.7.md +++ b/docs/release-testing-0.7.md @@ -58,7 +58,7 @@ only in the pass evidence directory, which must not be committed. | BLD-15 | Debian package builds and installs on the target Debian release | [PASS](test-evidence/0.7-r1.md#bld-15) | | | | BLD-16 | `/usr`, `/usr/local`, lib/lib64, sysconf, state, and runtime paths follow FHS | [PASS](test-evidence/0.7-r1.md#bld-16) | | | | BLD-17 | Install, upgrade, reinstall, and uninstall preserve/remove documented state | [PASS](test-evidence/0.7-r1.md#bld-17) | | | -| BLD-18 | Installed shared libraries have complete dependencies and valid SONAMEs | | | | +| BLD-18 | Installed shared libraries have complete dependencies and valid SONAMEs | [PASS](test-evidence/0.7-r1.md#bld-18) | | | | BLD-19 | Man pages, translations, Web assets, docs, units, and examples are installed | | | | ### Debian Trixie release bundle diff --git a/docs/test-evidence/0.7-r1.md b/docs/test-evidence/0.7-r1.md index 464951c..8b86a16 100644 --- a/docs/test-evidence/0.7-r1.md +++ b/docs/test-evidence/0.7-r1.md @@ -652,3 +652,55 @@ already performs the operation once and correctly handles `DPKG_ROOT`. Runtime configuration: disposable marker files in the isolated Gitea job; the live Bongo installation and service were not modified. + +## BLD-18 + +Result: **PASS** + +A clean GCC 15.3.0 debug build enabled the GNU linker +`--no-undefined` check for every Bongo shared library and loadable module. +The repair removed legacy circular object ownership between `connio`, `util`, +and `msgapi`, made each shared object declare its actual direct dependencies, +and removed the artificial dependency lists previously needed by the connio +tests. The complete 72-test suite then passed in 2.46 seconds. + +```sh +cmake -S . -B /tmp/bongo-bld18-clean-build -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON \ + -DCMAKE_INSTALL_PREFIX=/usr -DLIB_DIR_NAME=lib64 +cmake --build /tmp/bongo-bld18-clean-build --parallel 12 +ctest --test-dir /tmp/bongo-bld18-clean-build \ + --output-on-failure --parallel 12 +DESTDIR=/tmp/bongo-bld18-final-root \ + cmake --install /tmp/bongo-bld18-clean-build --prefix /usr +``` + +- Source repair: commit `2085fbfbab0b598f5b722be508de11e6913d9c68`. + The package retry commit `ce75ba3a95f94c5e649f713749b498abf9d52cdd` + is intentionally empty and contains the identical source tree. +- Clean CMake cache SHA-256: + `50c4181e8f96cff15f1259293decfe03073f502495e87f43ab02c25cb10aefac`. +- The staged installation contains 1,064 files or symbolic links. All 20 ELF + shared objects were checked with `ldd -r`; none reported a missing library + or undefined symbol. +- All 13 versioned Bongo shared libraries carry the matching + `libbongo*.so.0` SONAME. Each development link resolves through a relative + `.so -> .so.0 -> .so.0.7.0` chain within the selected library directory. +- The seven additional loadable authentication and Python extension modules + also pass the dependency audit without relying on the loading executable to + provide unresolved Bongo symbols. +- [Gitea Actions run 2549](https://gitea.disconnected-by-peer.at/geos_one/bongo/actions/runs/2549/jobs/2639) + repeated the full Debian Trixie dependency, Bongo, Lintian, installed-package, + and package-lifecycle build successfully in 21 minutes 8 seconds. +- Release archive: + `bongo-0.7.0-devce75ba3-debian-trixie.zip`, SHA-256 + `579aa9903a3e98e029596749f7ea7ddd574aac95dfa3ef2c6365b6241f337f97`. + The ZIP test passed and all 57 files listed in its internal `SHA256SUMS` + verified. + +The first remote attempt, run 2546, failed before checkout while its Actions +runner was overloaded. It spent its whole lifetime in `Set up job` and +produced no build log; run 2549 is the unchanged, successful retry. + +Runtime configuration: isolated staging roots and a disposable Debian Trixie +job; the live Bongo installation and service were not modified.