Subject: Re: [bug#55231] Understanding #:substitutable? and #55231

From: Morgan Arnold <[email-masked]>
Date: Mon, 17 Feb 2025 14:40:59 +0000

Hi Maxim,

> It's not good to surprise user expectations in such a way, especially if
> it can expose them to legal problems (no matter how unlikely).
> 
> I hope that helps put a light on what the remaining issue is, which
> should be fixed (in my opinion) before #55231 can be merged.

I am inclined to agree with this view. I've attempted in this series of patches to address the issue in a manner which prevents this surprising of user expectations, as well as addressing Ludo's performance concerns by restricting the checks on dependency graphs to initrds only. This will still have some performance implications, of course, but should be much less than performing the checks on every single package. I would appreciate you and Ludo's opinions on this. In particular, if it addresses the user expectations concern for you, and if it addresses Ludo's performance concerns. I know that adding an extra parameter to `derivation` is not ideal, but it's the only way that I can see to avoid performing the check on every single derivation.

Best,

Morgan

P.S. My commit message should probably be modified, and I assume that there are some documentation changes that ought to be made that I'm missing here, I just wanted to solicit opinions on the functionality.