Fix Debian CI. - #1719
Conversation
bc32658 to
78d6a09
Compare
ikerexxe
left a comment
There was a problem hiding this comment.
I think this PR is mixing two separate improvements that should be handled differently:
- The main fix (addresses the immediate issue):
- DESTDIR staging to avoid
/sbin/nologincollision - The new tar-based installation logic
- Adding the missing configuration files
- Error handling modernization (general improvement):
- Switching from
ignore_errors: truetoregister + failed_when: false - Adding
stderrredirection to log captures - The deferred failure checking at the end
Suggested approach:
- Separate commit for the error handling improvements, since they're valuable but unrelated to the collision fix
- Port the error handling changes to other distributions: fedora.yml, alpine.yml and opensuse.yml. They would benefit from the same improved logging and failure detection
This would make the changes easier to review and test.
make install fails with "File exists" on /sbin/nologin, which the base image already provides. Install into /tmp/rootfs instead, remove the files that would be overwritten, and extract the tree over /. Signed-off-by: Hadi Chokr <hadichokr@icloud.com>
The build steps used ignore_errors, which keeps the play going but also lets the job report success when configure, make, or make check failed. Register each step with failed_when: false instead, so the logs are still collected, and assert at the end that every step returned 0. Also send stderr to the per-step logs, fetch the new logs, and don't abort the fetch on a missing one: a log does not exist if the step that writes it never ran. Signed-off-by: Hadi Chokr <hadichokr@icloud.com>
| - name: Install | ||
| ansible.builtin.command: | ||
| make install |
There was a problem hiding this comment.
make install fails with "File exists" on /sbin/nologin
Why does it fail? Doesn't make install overwrite whatever is on the system? That's what I'd have expected.
There was a problem hiding this comment.
I second these questions. If make install is failing we should fix the root cause in the Makefile itself rather than adding workarounds in the Ansible role. Fixing it at the build level keeps the toolchain clean and independent
There was a problem hiding this comment.
Seems like it just fixed itself lol.
|
No longer required. |
make install doesn't want to override /sbin/nologin so we shall force it.