Subject: Re: bug#40612: guix build system --dry-run is broken

From: Mark H Weaver <[email-masked]>
Date: Sun, 19 Apr 2020 17:50:56 -0400

Hi Ludovic,

Ludovic Courtès <[email-masked]> wrote:
> Mark H Weaver <[email-masked]> skribis:
>
>> Yes, of course, I agree that it's not possible to present a build plan
>> ahead of time when grafts are enabled.  That was the case before these
>> changes, and it's the case today.
>>
>> The only part I don't understand is why you decided that "--dry-run"
>> should no longer imply "--no-grafts".  Does it work better for other
>> people?  For me, the "--dry-run" output has become utterly useless
>> unless "--no-grafts" is included.
>
> I explained the pros and cons of having ‘--dry-run’ no longer implying
> ‘--with-grafts’ here:
>
>   https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00337.html

I read that message, but was unable to find any mention of the 'pros' of
having '--dry-run' no longer imply '--no-grafts'.  Did I miss it?  I
still don't know what is the argument in favor of that change.

> ‘guix package --dry-run’ overall works well IME, except when a
> dependency of a fixed-output derivation is missing, as explained above.
>
> ‘guix system’ doesn’t work so well as you note (though again, that
> depends on what you’re building vs. what you have in store).

For what it's worth, I've found the --dry-run output to be similarly
useless when rebuilding my user profile as well.

That said, I acknowledge that I use Guix in a very unusual way
(e.g. without substitutes, never running "guix pull", always running
from a git checkout using ./pre-inst-env), so I could believe that it
works better for most other Guix users.  If that's the case, I can just
change my private branch to make '--dry-run' imply '--no-grafts' again.

     Thanks,
       Mark