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


Reply via email to