Record shared library dependency test

This commit is contained in:
Mario Fetka
2026-07-21 14:05:24 +02:00
parent faf4f706c5
commit ec11f1144b
2 changed files with 53 additions and 1 deletions
+1 -1
View File
@@ -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
+52
View File
@@ -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.