Subject: Re: bug#58419: Grafting order depends on store connection state

From: Ludovic Courtès <[email-masked]>
Date: Mon, 17 Oct 2022 12:28:51 +0200

Hi,

Ludovic Courtès <[email-masked]> skribis:

> If we squint a bit, we realize it’s the same thing but in a different
> order, which is good news: it’s functionally equivalent.
>
> The downside is obvious: it’s stupidly non-deterministic, and we can end
> up building the same grafts multiple times.
>
> The order differs in two places: in the definition of ‘%build-inputs’,
> and in the definition of the ‘mapping’ variable.  This can be solved by
> sorting things in the right place, but that needs some thought.

I posted a patch series that fixes this as a side-effect of switching to
‘gexp->derivation’:

  https://issues.guix.gnu.org/58579

That eliminates ‘%build-inputs’, which was one source of differences,
and the ‘mapping’ variable is now populated in a deterministic fashion,
though I must say it’s not entirely clear to me why this part has
changed.

Feedback welcome!

Ludo’.