bee-mxqsub: Add --preinstall to install built packages into the overlay #3484
+112
−14
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.
This pull request description was generated by an LLM (Claude Code) on behalf of Paul Menzel (@pmenzel).
Rebuilding one package against dependencies newer than the host's — for example mesa against the released LLVM 23.1.3 — meant putting the whole dependency chain on the command line and rebuilding all of it, although the packages were already built and in
/src/mariux/beeroot/packages.-p, --preinstall PKGinstalls such packages into the overlay before the first bee-file is built:PKGis a package archive path, or an exactname-version-revision[.arch]looked up in--preinstall-from DIR(default/src/mariux/beeroot/packages). A prefix does not count, sollvm-23.1does not quietly pickllvm-23.1.3-0.--dry-runshows the resolved paths.bee update --force --remove-allandbee list --installed --exactcheck as the chain, so the host's version of the package is hidden in the overlay. The shared part is factored out intoinstall_archive_into_overlay().--preinstallturns the overlay on even for a single bee-file; with--no-overlayit is an error.--keep-goingor not.Tests
Dry runs: name, name with
.arch, archive path, prefix (llvm-23.1), bare name, missing path and--no-overlayall behave as described.MXQ job 60600434 on platypus: pre-installed
giflib-4.1.6-0by name (the host has-1) andwhoisby archive path, then built a throwaway recipe checking the overlay:Abort path: an empty file passed as an archive fails to install and nothing is built, even with
-k:Not addressed here
scripts/bee-mxqsubfrom the checkout; only the bee-files are staged./dev/shm/bee-$USER,/dev/shm/bee-overlay-$USER) are shared by all of a user's jobs, so two jobs landing on the same node would remove each other's trees.🤖 Generated with Claude Code