A layer manifest records the fab version but not the commit #12
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/buildtasks#12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
bt-layer:214records the builder in every layer manifest as a versionstring and nothing else:
core.manifeston the mirror carriesfab_version 1.1.1+keel1. That stringis provenance only if it resolves to a commit, and on 2026-09-27 it did not:
the package the build host runs was built at 17:14 from a commit that reached
the default branch at 19:58, and neither packaged version was tagged at all.
Keel-Linux/fab#9 fixes the tagging side, with
bin/check-release-tagsenforcing that every released version names a commit, and the two historic
tags
fab/1.1.1+keel1andfab/1.1.1+keel2now exist.That makes version to commit a total function as long as no package is ever
built from an untagged or dirty tree. Recording the commit directly closes
the case the tag cannot.
What has to be true
fab_commitfield besidefab_version.keelhas to change.keel/docs/layers.md, "Optionalfields": a key that is not in the required table is kept as it was read and
written back unchanged, so
bt-layercan record something new without thatcode changing and without older manifests becoming unreadable. Absent means
none, as forunitsandbuild_units.bt-layer:214and in this repository only.Two other things in this repository that name the package
fabBoth are consequences of Keel-Linux/fab#8, where the Debian package becomes
keel-fabwhile every command name stays exactly as it is.bin/generate-buildenv:135and:156runfab --versionthe same way.Unaffected by the rename once fab#9 lands, since that stops
fab --versionasking apt about a hard-coded package name, but worth reading together with
the above.
bt-img:48and:113-118compareget_version fabagainstREQ_FAB_V=0.8and fall back to downloading
fab_${REQ_FAB_V}_stretch_amd64.debfromupstream's releases. The path is dead on trixie, guarded by
HOST_VER -eq 10, but it assumes a.debfilename and a package name thatwill both be wrong.
bt-ec2:114-117has a related existing bug: itsget_versionawk pattern is the hard-coded literal/[[:space:]]fab[[:space:]]/regardless of the package it was given.Order
After Keel-Linux/fab#9, so that
fab --versionis truthful before anythingelse reads it. Not urgent: the tag invariant and its CI job cover the layers
built from here on, and the two already-built layers are covered by the
historic tags.