diff --git a/docs/release-testing-0.7.md b/docs/release-testing-0.7.md index 4b91e28..f0d944a 100644 --- a/docs/release-testing-0.7.md +++ b/docs/release-testing-0.7.md @@ -56,7 +56,7 @@ only in the pass evidence directory, which must not be committed. | BLD-13 | CPack source archive has no `-linux`, VCS, build, or private files | [PASS](test-evidence/0.7-r1.md#bld-13) | | | | BLD-14 | Gentoo live ebuild builds, tests, installs, and passes package QA | [PASS](test-evidence/0.7-r1.md#bld-14) | | | | 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 | | | | +| 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 | | | | | BLD-18 | Installed shared libraries have complete dependencies and valid SONAMEs | | | | | BLD-19 | Man pages, translations, Web assets, docs, units, and examples are installed | | | | diff --git a/docs/test-evidence/0.7-r1.md b/docs/test-evidence/0.7-r1.md index 1056734..1bbffb4 100644 --- a/docs/test-evidence/0.7-r1.md +++ b/docs/test-evidence/0.7-r1.md @@ -555,3 +555,62 @@ dpkg-source -x sources/bongo/bongo_0.7.0-1.dsc bongo Runtime configuration: the workflow used only its disposable Trixie container and did not install or alter the live test host. + +## BLD-16 + +Result: **PASS** + +Two clean GCC 15.3.0 debug builds exercised crossed prefix/library layouts: +a distribution `/usr` install using `lib64`, and a self-contained +`/usr/local` install using `lib`. Both were installed below empty `DESTDIR` +roots and their compiled defaults, generated units, tmpfiles declaration, +ELF runpaths, directory trees, and symbolic links were audited. + +```sh +cmake -S . -B /tmp/bongo-bld16-usr -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON \ + -DCMAKE_INSTALL_PREFIX=/usr -DLIB_DIR_NAME=lib64 +cmake --build /tmp/bongo-bld16-usr --parallel 12 +ctest --test-dir /tmp/bongo-bld16-usr --output-on-failure --parallel 12 +DESTDIR=/tmp/bongo-bld16-usr-root \ + cmake --install /tmp/bongo-bld16-usr --prefix /usr + +cmake -S . -B /tmp/bongo-bld16-local -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_DIR_NAME=lib +cmake --build /tmp/bongo-bld16-local --parallel 12 +DESTDIR=/tmp/bongo-bld16-local-root \ + cmake --install /tmp/bongo-bld16-local --prefix /usr/local + +systemd-tmpfiles --create --dry-run \ + --root=/tmp/bongo-bld16-tmpfiles-root \ + /tmp/bongo-bld16-usr/init/bongo.conf +``` + +- Source: commit `58d2e89` (`Move volatile PID files under run`). +- Full CTest result: 72 passed, 0 failed in 3.40 seconds. +- `/usr` cache SHA-256: + `f56949bfc8fa2a0963c3460a96db3e61bb9f4a274ddfc4370f2d9e7c56025e48`. +- `/usr/local` cache SHA-256: + `5f86eafad069052a4fd7e04b523f6bf56f1f38becab410598cc0df7f8197637d`. +- Both staged trees contain 1,064 regular files or symbolic links. The first + uses `/usr/lib64`, `/etc/bongo`, and `/var/lib/bongo`; the second uses + `/usr/local/lib`, `/usr/local/etc/bongo`, and the same FHS state path. +- No staged directory appeared below `/usr/etc`, `/usr/var`, + `/usr/local/var`, `/var/run`, or `/run`. Runtime and persistent directories + are declarations created after installation, not package payload. +- Generated tmpfiles data passed `systemd-tmpfiles` parsing and declares + `/run/bongo` separately from `/var/lib/bongo`. The manager, agent recovery + flags, administration status, and managed LDAP PID paths all compile to the + volatile directory. +- All installed ELF runpaths match the selected `lib64` or `lib` directory; + no build-directory runpath was present. All 26 library symlinks in either + staged tree are relative and resolve within their selected library root. + +The initial audit failed because PID and agent recovery files still used the +persistent `/var/lib/bongo/work` directory. The repair adds the configurable +`BONGO_RUNTIME_DIR` (default `/run/bongo`) while keeping diagnostic traces and +ring logs in persistent state. + +Runtime configuration: isolated staging roots and a dry-run tmpfiles root; +the live Bongo installation and service were not modified.