Hi, Morgan Arnold <morgan.arn...@proton.me> 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