Ludovic Courtès <l...@gnu.org> writes:
> Ludovic Courtès <l...@gnu.org> skribis: > >> Actually, to do things correctly, we should really store the .drv in the >> ‘manifest’ file. That way, manifest entries would always contains a >> valid “lowerable” object (a package or a derivation record), as opposed >> to a store reference that happens to be valid. > > On second thought that’s probably not a great idea: we’d retain > references to the .drv themselves, which can end up taking a bit of > space, especially if --gc-keep-outputs is in use. > > So… the more I think about it the more I’m tempted to punt on this one. > > The discrepancy we see here does not happen when using --manifest, which > is probably what matters most. I think it’s fine to leave it as it is, then. “--install” and “--remove” are stateful and should be expected to have quirks like this. (E.g. upgrading Guix in between two “--install”s can lead to a mosaic of a profile that could not be produced any other way.) “--manifest” is the recommended way to get reproducible profile generations, so if that’s working fine I’m okay with closing this as wontfix. Chris, what do you think? Thanks for investigating! -- Ricardo