Subject: Re: bug#55231: [PATCH v1] initrd: Allow extra search paths with ‘initrd-extra-module-paths’

From: Morgan Arnold <[email-masked]>
Date: Tue, 11 Feb 2025 14:59:26 +0000

Hi Maxim,

Thanks for the input. I think that I communicated the idea that I'm proposing poorly, although I'm not sure if what I'm proposing would actually work. I sent a new version of the patchset with the change that I'm proposing implemented, which should hopefully clarify what I mean. Of course, it's very possible that what I'm suggesting here is unacceptable for some reason that I haven't noticed.

Let me know if this doesn't adequately clarify things!

Best,

Morgan

On Tuesday, February 11th, 2025 at 14:09, Maxim Cournoyer <[email-masked]> wrote:

> 
> 
> Hi,
> 
> Morgan Arnold [email-masked] writes:
> 
> > Hi Andreas,
> > 
> > Thanks for the clarification. If this is the case, and texlive is
> > unlikely to be used as a native input, it seems reasonable to me that
> > setting `allowSubstitutes = 0` if `(not (and substitutable? (every substitutable-derivation? inputs)))` would entirely eliminate the
> > possibility of ZFS-based copyviols, as any derivation depending on it
> > could not be substituted, and so neither Guix nor anyone using Guix
> > could commit a copyviol. A user who wishes to use ZFS will then
> > download the source code, compile the kernel module, and include it in
> > their initrd, and this initrd will not accidentally be distributed. To
> > the best of my non-lawyer understanding, this would not constitute any
> > kind of copyviol.
> 
> 
> I'm not sure exactly where in the daemon code this would be implemented?
> Would you have a pseudo-code draft of where it'd be done? Few of us are
> knowledgeable about the daemon code base.
> 
> > This seems to me to implement a maximally conservative (in terms of
> > avoiding possible copyviols) approach to incorporating ZFS into
> > Guix. If this makes sense, I would be happy to include that change to
> > `derivation` in this patch set.
> 
> 
> The idea is logical to me, but the implementation, if it touches how a
> derivation is computed/changes its result, IIUC, would invalidate all
> past derivations ever computed by Nix/Guix, which would be highly
> undesirable/disruptive.
> 
> --
> Thanks,
> Maxim