build(llard): install autotools dependencies - #189
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Review: add autotools build tools to llard image
The change adds autoconf, automake, gperf, groff, and patch to the runtime image's apt install list. This is consistent with the purpose of llard: it's the build daemon that shells out to build tools (via execbroker) to compile C/C++ libraries from source formulas at runtime, so autotools-based formulas (autoreconf, patch application, perfect-hash generation) need these present. Placement is correct, alphabetical ordering is preserved, and the existing hygiene (--no-install-recommends, cleanup of apt lists, non-root user) is kept.
Two minor, non-blocking notes below. No blocking issues.
Note: several review heuristics flagged "build tooling in a runtime image" as an attack-surface concern. That premise doesn't hold here — executing build tools at runtime is the daemon's core function, not an anti-pattern — so it's intentionally not raised as a finding.
| cmake \ | ||
| git \ | ||
| gperf \ | ||
| groff \ |
There was a problem hiding this comment.
[P3] Consider groff-base instead of full groff
groff pulls in a fairly large typesetting/documentation stack. If it's only needed so source builds can regenerate man pages (e.g. via help2man/makeinfo), groff-base is a smaller drop-in that covers most such needs. Worth confirming which a concrete formula actually requires; keep full groff if something genuinely depends on it.
| @@ -18,10 +18,15 @@ FROM debian:bookworm-slim | |||
|
|
|||
| RUN apt-get update \ | |||
| && apt-get install -y --no-install-recommends \ | |||
There was a problem hiding this comment.
[P3] Unpinned package versions affect build reproducibility
None of the apt packages are version-pinned (pre-existing pattern; these additions just follow it). Rebuilds are therefore non-reproducible and a toolchain upgrade could silently change how formulas build. Not a blocker for this PR — noting as a possible repo-wide follow-up (pin versions or document reliance on the bookworm snapshot).
Equip the llard runtime image with the GNU source bootstrap tools required by Formula builds.
The implementation includes:
autoconf,automake, andgperffor projects that generate Autotools build files from Git source checkouts.grofffor upstream documentation generation andpatchfor gnulib bootstrap steps.--no-install-recommendsand apt-list cleanup.This allows llard workers on both published Linux architectures to build packages whose repositories omit generated
configurefiles.