Repository navigation
The trap of reading product.mk from the wrong tkldev - #13
Merged
Merged
Conversation
Two machines in this project answer to the hostname tkldev, the LXC container on a workstation and the build host, and they run different fab. Reading share/product.mk on the nearer one answers a question about the other, and the answer is internally coherent, cites a real file and survives a review, because the facts the work rests on are checked and correct while the sentence around them is not. It cost two review rounds on keel-core#9 on 2026-09-28: the build order was read from the container, which puts the common removelists before a single combined unit phase, while the build host has three unit phases before them. The correction then named fab 1.1.1+keel1, the one release that does not carry the order being described, so the note was wrong a second time in the same way. The entry records the three files with their md5 sums, so the fix is not an instruction to be careful but a check that takes one line: read it on the machine that builds, quote the md5 of the file you read, and say which fab version that is. Closes #12.
This was referenced Sep 28, 2026
The table said the product.mk of fab 1.1.1+keel1 (b07a733, md5 c04cb601)
has no unit phase. It has one, the stock one: the "apply the product-local
units" block after the common removelists, byte for byte as in v1.1.1. The
only difference from stock is SOURCE_DATE_EPOCH. Measured with
`git show b07a733:share/product.mk` in Keel-Linux/fab and a diff against
v1.1.1.
The md5 values in the table were all rechecked and are right: 0657df1a in the
local tkldev container (fab 1.1.1), c04cb601 at b07a733, a06bfe03 on the
build host (fab 1.1.1+keel2, identical to fab HEAD). The Fix paragraph still
holds: 1.1.1+keel1 does not carry the before-the-removelists order.
The same wrong reading ("no unit phase in it at all") is in a comment on
keel-core#9; the entry repeated it from there.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SfWQScmDZ94KCS5DMYrfe6
Contributor
Author
|
Fixed in 92fb316: the fab 1.1.1+keel1 row said no unit phase, but b07a733's product.mk has the stock one, after the common removelists (it differs from stock only in SOURCE_DATE_EPOCH). The same wrong reading is in the review comment on keel-core#9. |
marcos-mendez
added a commit
that referenced
this pull request
Sep 29, 2026
The trap of reading product.mk from the wrong tkldev
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #12.
Two machines in this project answer to the hostname
tkldev, and they rundifferent fab. Reading
/usr/share/fab/product.mkon the nearer one answers aquestion about the other, and the answer is internally coherent, cites a real
file at a real path and survives a review, because the facts the work rests on
get checked and the sentence around them does not.
It cost two review rounds on Keel-Linux/keel-core#9 on 2026-09-28. The build
order written into
conf.d/main,COVERAGE.mdand a commit message put thecommon removelists before the units, read faithfully from the container's file.
The correction then named
fab 1.1.1+keel1, the one release that does not carrythe order it was describing, and was wrong a second time in the same way.
Measured, and the entry carries the table so the check is one line rather than
an instruction to be careful:
product.mkmd5tkldevcontainer1.1.1, stock0657df1a1.1.1+keel1(b07a733)1.1.1+keel1c04cb6011.1.1+keel2a06bfe03dpkg-query -W fabandmd5sum /usr/share/fab/product.mkon the build hostsettle which file a reading came from.
One file,
docs/traps.md, one entry, in the form the others use. No decisionnote and no number taken.