Subject: bug#54495: unexpected download after gc

From: raingloom <[email-masked]>
Date: Tue, 22 Mar 2022 21:00:28 +0100

On Fri, 18 Mar 2022 14:50:01 +0100
zimoun <[email-masked]> wrote:

> Hi,
> 
> Considering this with revision a03936a:
> 
>     guix gc
>     guix install python-ipython -p tools
>     guix gc
>     guix install python-ipython -p tools
> 
> I am surprised that:
> 
>  1. the second GC collects things
>  2. the second install downloads things
> 
> especially by this line:
> 
> python-ipython-7.27.0  892KiB  4.6MiB/s 00:00 [##################]
> 100.0%
> 
> 
> Well, it is because of grafts.  The profile contains the grafted
> version and the installation expect first the non-grafted for
> computing the graft.  For instance:
> 
> --8<---------------cut here---------------start------------->8---
> $ guix gc --list-dead | grep ipython
> finding garbage collector roots...
> determining live/dead paths...
> /gnu/store/xmw4vxabnkm7vwa0ywfcqcmknbnia0c3-python-ipython-7.27.0
> 
> guix build python-ipython --no-grafts
> /gnu/store/xmw4vxabnkm7vwa0ywfcqcmknbnia0c3-python-ipython-7.27.0
> --8<---------------cut here---------------end--------------->8---
> 
> When something is grafted, is it possible to consider the non-grafted
> as a "derivation", i.e., control the GC with 'gc-keep-derivations'.
> 
> Or the grafted could keep a reference to the non-grafted?
> 
> 
> Well, I was expecting that this composition:
> 
>     guix gc && guix install
> 
> was "idempotent" in a way. :-) And to me, the fact that it is not is
> somehow a bug.  Maybe, it is already well-known and not considered as
> bug.
> 
> 
> Cheers,
> simon
> 
> 
> 

There should definitely be more attention paid to offline use so IMHO
this is a bug. Or at least missing feature.