Subject: bug#46389: Guix says it will download an output that is already downloaded

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 22 Mar 2022 23:32:17 -0400

Hello,

pkill9 <[email-masked]> writes:

>> ‘guix build qtbase’ said it would download both the “out” and the
>> “debug” output of qtbase, is that correct?
>
> Yep
>
>> It would be ideal if you could send precisely what’s on your terminal.
>> 
>> Thanks,
>> Ludo’.
>
> In this example, I've checked the store path
> "/gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2" exists, and
> I've run `guix gc --delete
> /gnu/store/f2s8ql1x9d9890qrrf9qq4nix3f5aii3-qtbase-5.15.2-debug`:
>
> ```
> itsme@antelope ~> guix build -n qtbase
> 209.5 MB would be downloaded:
>    /gnu/store/f2s8ql1x9d9890qrrf9qq4nix3f5aii3-qtbase-5.15.2-debug
>    /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2
> ```
>  I can't test it with `guix build qtbase` because my internet keeps
>  cutting off while downloading qtbase-5.15.2-debug, but iirc
> after it downloads the debug output, it just returns both store paths.

I think it's a minor UI issue:

--8<---------------cut here---------------start------------->8---
$ guix build ada-ed
substitute: updating substitutes from 'http://127.0.0.1:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.8 MB will be downloaded:
  /gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug
  /gnu/store/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2
substituting /gnu/store/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2...
downloading from https://ci.guix.gnu.org/nar/lzip/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2 ...
 ada-ed-1.11.2  337KiB                                          585KiB/s 00:01 [##################] 100.0%

substituting /gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug...
downloading from https://ci.guix.gnu.org/nar/lzip/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug ...
 ada-ed-1.11.2-debug  486KiB                                    1.1MiB/s 00:00 [##################] 100.0%

/gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug
/gnu/store/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2
maxim@hurd ~/src/guix-master [env]$ guix gc -D /gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug
finding garbage collector roots...
[...]
deleting `/gnu/store/trash'
deleting unused links...

note: currently hard linking saves 70907.58 MiB

$ guix build ada-ed
substitute: updating substitutes from 'http://127.0.0.1:8181'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.8 MB will be downloaded:
  /gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug
  /gnu/store/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2
substituting /gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug...
downloading from https://ci.guix.gnu.org/nar/lzip/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug ...
 ada-ed-1.11.2-debug  486KiB                                    832KiB/s 00:01 [##################] 100.0%

/gnu/store/kq9px99x5wnnx44px5z426gqw07afih7-ada-ed-1.11.2-debug
/gnu/store/s4rz0x57m1ashz99jnfg7a5622ff06v1-ada-ed-1.11.2
--8<---------------cut here---------------end--------------->8---

We can see that it listed *both* output about to be downloaded, then
proceeded to download only the one missing (the debug output).

Thanks,

Maxim