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

From: Ludovic Courtès <[email-masked]>
Date: Sat, 18 Apr 2020 18:53:02 +0200

Hi Mark,

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

‘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).

I think we must find the remaining places that lack “parallelism” and
address them, like I did for example in commit
2ad6eb0568ed69127aea987c009138e03b5b8954.  (It would help if that code
didn’t use the monadic interface this much because ‘lower-gexp’ already
does the right thing.)

> 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.

It matters to every user so I think it’s worth fixing in our common code base.

Thanks,
Ludo’.