Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.8 KiB
FAIL
-
packaging/linux/package.sh:131 — Both
findprocess substitutions discard traversal failures, and line 135 treats a failed header read as a non-ELF file. Dependency discovery can therefore succeed without inspecting the payload. Withfindreturning 74, the packaging tail generated all three native ElyTree packages with only Wayland and Vulkan dependencies, omitting the normal curl, OpenSSL, libxcb and other requirements (.work/L1.5-r1-dependency-errors.log). Such packages can install without their required libraries. Check enumeration and header-read status before consuming their output; abort packaging on failure and test these failure paths. -
scripts/build-libreoffice.sh:155 — The new RUNPATH repair ignores failed header reads, and its
findfailure at line 162 never reaches the parent shell. A traversal/read error leaves build-tree RUNPATHs intact while the script succeeds. Probing the post-build block with a copy of the existing cairo library confirmed that normal execution changes its RUNPATH to$ORIGIN, whereas either injected error returns zero and retains the source-tree path (.work/L1.5-r1-lo-errors.log). On another machine its private dependencies cannot resolve through that path. Make enumeration and file-read failures fatal and cover them without rebuilding LibreOffice. -
tests/scripts/linux-packages.sh:29 — The installed-package check ignores header-read and traversal failures and permits zero checked ELF files. Its inner shell also lacks
pipefail. Against the freshly built, installed ElyTree deb, making eitherfindorheadfail with status 74 still printedely-tree: 0 ELF files linkand exited zero (.work/L1.5-r1-test-errors.log). This falsely certifies packages whose contents were never checked. Propagate listing/read failures, enable pipeline failure detection, and require the expected application binary to be inspected. -
tests/scripts/linux-packages.sh:31 — Any
ldderror containing “not a dynamic executable” is accepted as a static binary without validating the ELF. Replacing the installed ElyTree executable with just the four ELF magic bytes still passed with “17 ELF files link”; replacing it with executable text also passed with 16 (.work/L1.5-r1-broken-entry.log). Neither application can start. Validate required entry points as complete ELF executables, and distinguish valid static executables from malformed files using checked ELF headers before allowing this exception. Add these negative cases. -
tests/scripts/linux-packages.sh:1 — The new script is committed as mode 100644, unlike the other shell tests. Running the command documented in agents.md,
tests/scripts/linux-packages.sh, fails with permission denied and status 126 before checking any package (.work/L1.5-r1-test-permission.log). Commit its executable bit.