Thank you Ludo',
On 5/1/26 11:09, Ludovic Courtès wrote:
Hi Hugo,
Hugo Buddelmeijer via <[email protected]> skribis:
What would be the easiest way to prevent any package from a specific
commit (or generation) to be garbage collected?
E.g. I build a package, which requires certain compilers as native
input, and then I garbage collect. Then I don't want those compilers
to be collected.
A good approximation might be something like:
guix time-machine --commit=XYZ -- build -D hello -r dev-root
guix time-machine --commit=XYZ -- build hello -r hello-root
guix time-machine --commit=XYZ -- build -S hello -r source-root
That's a start! It has some drawbacks though:
- It would require the build to be successful, while I'm hoping to build
as much as I can (on e.g. python-team) with -k, and then make the
successes live.
- I'm looking for a way that does not require me to explicitly enumerate
all the packages, e.g. just using a manifest.
- Apparently -D and -m do not work together. -S and -m do though!
The problem in short is that python-team has rebased so often, but never
got to the point that I could fully build large manifests. So now I
have several sets of outdated packages that I don't know how to (easily)
garbage collect, without also collecting the packages that are up to date.
The functionality I'm looking for probably doesn't exist, since there
were no other replies. I'll figure something out.
Maybe I can make a manifest with "all packages" and then filter out
those that are not already in the store. So the manifest will always
build, since it would contain only already built packages. Not really
what a manifest normally should do, but I guess it could work.
Hugo