Record FHS path test
This commit is contained in:
@@ -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 | | | |
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user