[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guix pull: avoiding "Computing Guix derivation"
From: |
Simon Tournier |
Subject: |
Re: Guix pull: avoiding "Computing Guix derivation" |
Date: |
Tue, 14 May 2024 01:30:01 +0200 |
Hi,
On lun., 13 mai 2024 at 17:11, Richard Sent <richard@freakingpenguin.com> wrote:
> Instead of A and B building C directly, A and B download the
> substitutable Guix package D, then use D to build C. Because D is a
> reproducible package, it should be substitutable from both A and B.
> Then, because D->C is the same for everyone, we could substitute the
> Guix derivation computation for C.
Maybe I am missing some details. From my understanding, your D is the
result of the “Computing derivation” dance. And it is a minimalist
build because it must work for both cases: with or without substitutes.
Somehow, my understanding of the current process is:
A -> D -> C
B -> D* -> C
And, D or D* can be the same script. Here, the property is a kind of
idempotency. Hence, C is substitutable.
IIUC, your proposal is to fix D (the intermediary step). You propose
the package named ’guix’ that changes barely, but it could be something
more minimalist. The requirements is: susbtitutable. The problem is
transferred to the first arrow, no?
How can we be sure that A and B points to the same D?
Other said, A lives in the past. Later, we changed D becoming D*
because some bugs. The other revision B lives after this change.
Therefore, we have the same picture:
A -> D
B -> D*
But then how do we go to C since D and D* does not have a kind of
idempotent property.
>From my understanding, the current situation/process is very similar
with the one for compiling compiler: you have your new Source of
compiler and an OldCompiler binary, so you run:
OldCompiler(Source) -> Compiler
and again Compiler(Source) -> NewCompiler
Somehow, whatever the choice of some OldCompiler binary, you get the
same NewCompiler binary (aside trusting trust attack and friends,
obviously ;-))
The story of “guix pull” is not so different; from my understanding.
Again, maybe I am missing something.
Cheers,
simon
Re: Guix pull: avoiding "Computing Guix derivation", Ludovic Courtès, 2024/05/14