fix: correct runtime-dep derivation and fork versioning #3

Merged
rcsheets merged 1 commit from fix/image-runtime-deps into main 2026-07-24 02:07:13 +00:00
Owner

Follow-up to #2. #2 merged the runtime-dependency fixes and the PR-CI image build; its build-push run on main was cancelled at the version step, which this PR fixes.

This PR (one commit, build-push.yaml only): fork versioning. The conventional-commit scheme produced 1.0.0 for the first fork build, implying our own v1. Version is now <upstream-ver>-bt<rev> (e.g. 3.7.5-bt8) derived from the nearest upstream/* tag plus carried commit count -- the Debian idiom for a downstream. Self-updates on rebase; the git-tag-push step is dropped since the version needs no release tag, and the immutable short-sha image tag remains the deployment's exact-pin handle.


For context, already landed on main via #2:

  • Runtime-dep derivation switched from ldd (which needs the dynamic loader, unavailable under buildah chroot isolation) to objdump -p (static ELF NEEDED read), resolving SONAMEs via the ldconfig cache and realpath-canonicalizing before dpkg -S (merged-/usr: ldconfig reports /lib/..., dpkg records /usr/lib/...).
  • Scan every ELF under /out, not just the two binaries: acng&apos;s networking lives in its private libsupacng.so, which is what pulls in libevent_pthreads -- inspecting only the daemon missed it.
  • PR CI now builds the real image via buildah and smoke-tests the running daemon, so a Dockerfile-only defect fails the PR instead of only failing build-push on merge.

🤖 Generated with Claude Code

Follow-up to #2. #2 merged the runtime-dependency fixes and the PR-CI image build; its build-push run on main was cancelled at the version step, which this PR fixes. **This PR (one commit, build-push.yaml only): fork versioning.** The conventional-commit scheme produced `1.0.0` for the first fork build, implying our own v1. Version is now `<upstream-ver>-bt<rev>` (e.g. `3.7.5-bt8`) derived from the nearest `upstream/*` tag plus carried commit count -- the Debian idiom for a downstream. Self-updates on rebase; the git-tag-push step is dropped since the version needs no release tag, and the immutable short-sha image tag remains the deployment's exact-pin handle. --- For context, already landed on main via #2: - **Runtime-dep derivation** switched from `ldd` (which needs the dynamic loader, unavailable under buildah chroot isolation) to `objdump -p` (static ELF `NEEDED` read), resolving SONAMEs via the `ldconfig` cache and `realpath`-canonicalizing before `dpkg -S` (merged-/usr: ldconfig reports `/lib/...`, dpkg records `/usr/lib/...`). - **Scan every ELF under `/out`**, not just the two binaries: acng`&apos;`s networking lives in its private `libsupacng.so`, which is what pulls in `libevent_pthreads` -- inspecting only the daemon missed it. - **PR CI now builds the real image** via buildah and smoke-tests the running daemon, so a Dockerfile-only defect fails the PR instead of only failing build-push on merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: version the image off the upstream base, not greenfield semver
All checks were successful
ci / image (pull_request) Successful in 1m34s
8f434c3894
The conventional-commit scheme produced 1.0.0 for the first fork build (a
stray '!' in an upstream commit message even tripped a bogus major bump),
implying our own v1 -- wrong for a fork. Version is now derived as
<upstream-ver>-bt<rev>: upstream-ver from the nearest upstream/* tag on
HEAD, rev = commit count carried on top. Tracks what the image actually is,
updates automatically on rebase to a newer upstream, and needs no release
tag, so the git-tag-push step is dropped. The immutable short-sha tag stays
as the deployment's exact-pin handle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rcsheets force-pushed fix/image-runtime-deps from 8f434c3894
All checks were successful
ci / image (pull_request) Successful in 1m34s
to cd1399dcda
All checks were successful
ci / image (pull_request) Successful in 1m39s
2026-07-24 02:01:12 +00:00
Compare
rcsheets deleted branch fix/image-runtime-deps 2026-07-24 02:07:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
brooktrails/apt-cacher-ng!3
No description provided.