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

From: Mark H Weaver <[email-masked]>
Date: Fri, 17 Apr 2020 15:50:23 -0400

Hi Ludovic,

> Björn Höfling <[email-masked]> skribis:
>
>> On Mon, 13 Apr 2020 17:31:56 -0400
>> Mark H Weaver <[email-masked]> wrote:
>>
>>> I guess this is related to the recent changes in graft handling, where
>>> --dry-run (a.k.a. -n) no longer implies --no-grafts.  It's not working
>>> well for me.  I hadn't updated my system since before those grafting
>>> changes were made, and there's a lot for me to rebuild (I don't use
>>> substitutes).  I was very surprised to see this small output:
>>
>> Hi Mark,
>>
>> I can confirm this behavior for "guix system". I'm on
>
> Yeah, it has to do with the new build handler and the lack of
> “parallelism” when building the system derivation:
>
>   https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00337.html
>
> I think we’ll improve it over time by introducing more parallelism
> there.
>
> Fundamentally though, we have to understand that ‘--dry-run’ can only
> print the first derivation plans, not those that are dynamically built
> as a function of build results.

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.

Anyway, it's not that important to me.  I can just fix it in my own
private branch.  I filed this report because I thought it might benefit
other users to have this fixed upstream.

     Regards,
       Mark