The three-build comparison decision 0010 requires has no committed implementation #10
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#10
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?
Handbook decision 0010 accepts the component split on one condition, and
its step 3 states the condition: components move one at a time, "re-running
this three-build comparison for each, including the control-vs-control run".
Nothing in any repository runs that comparison.
What exists is
/root/measure/build.shon the build host, generalised therefrom
/root/unitbuild.sh, which builds one layer and capturespkgs-$tag.tsv,tree-$tag.sha256andlinks-$tag.txtinto/root/measure.It is a scratch file in root's home directory on one machine, it captures
only, and the comparison half, the part that turns three captures into the
number a pull request quotes, was ad hoc shell that was never written down at
all.
grep -rover this organization's repositories finds nobuild.shforit, no
unitbuild.shand no/root/measure.Three consequences.
The measurement is testimony, not evidence. Keel-Linux/keel-mariadb#11 and
Keel-Linux/keel-postgresql#7 were both approved on a count of attributable
differences that only their author could produce. A reviewer could not re-run
it, and neither can the next person to extract a component.
It is blind where it matters most. For mariadb the noise floor is 179
files, of which 173 are
/var/lib/mysql/**. That directory holdsmysql/global_privandmysql/user.*. The component's build-time jobincludes deleting accounts, so the measurement subtracted, as noise, exactly
the region where the thing being measured would show up. A path is put inside
the noise floor by its name; whether its difference is really noise is a
question about its bytes, and nothing asked that question.
It counts wrong. The capture writes
sha256sum's default<hash>+ two spaces +<path>, and the comparison split on whitespace.docs/traps.md, "A path with a space in it", records the result: the Debianrootfs contains
setuptools/_vendor/jaraco/text/Lorem ipsum.txt, whichbecomes two fields and never matches itself, so the LAMP measurement of
2026-09-27 reported 199 and 183 differing files where the true counts were
198 and 182.
Expected: a committed, tested tool in this repository, next to
bt-layerandbin/layer-lib, that does both halves. A capture subcommand that builds alayer and records its package list, file tree and symlinks in a
tab-separated, path-keyed form, into a directory named on the command line
rather than a home directory. A comparison subcommand over two captures, and
an attribution subcommand over the three the decision asks for, that reports
what differs rather than only that a path fell inside the floor, and prints a
block a pull request body can quote so a claim names the command that
produced it.