unexpected download after gc

OpenSubmitted by zimoun.
Details
2 participants
  • raingloom
  • zimoun
Owner
unassigned
Severity
normal
Z
Z
zimoun wrote on 18 Mar 14:50 +0100
(address . bug-guix@gnu.org)
877d8r8j5i.fsf@gmail.com
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:

Toggle snippet (9 lines)
$ 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

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
R
R
raingloom wrote on 22 Mar 21:00 +0100
(address . bug-guix@gnu.org)
20220322210028.23cfe132@riseup.net
On Fri, 18 Mar 2022 14:50:01 +0100
zimoun <zimon.toutoune@gmail.com> wrote:

Toggle quote (55 lines)
> 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.
?