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

From: Morgan Arnold <[email-masked]>
Date: Wed, 12 Feb 2025 19:41:22 +0000

Hi all,

> I'm not sure if what I'm proposing would actually work.

How prophetic.

I did some more testing with the proposed change to `derivation`, and it seems to be causing a weird issue. I didn't think that propagating non-substitutability would be much of a problem, since there are very few non-substitutable packages, but I was surprised to find that this change makes almost all packages non-substitutable! I did some REPL-ing to find the culprit, and it when I traced it back, I found that all of my non-substitutable derivations appeared to be so because their dependency graph included a derivation called `#<derivation /gnu/store/qbrwrmdgnfx3p9gl499f5pyhv0fcnw0a-gcc-11.4.0.drv => /gnu/store/d69awcc5wahh71amx0dmgaimsdvvp2bg-gcc-11.4.0-lib 7fc7c9bb99b0>`.

Unfortunately, I cannot for the life of me figure out what this derivation is, or why it isn't substitutable (all of its inputs are substitutable, and I can't find any relevant package explicitly marked as non-substitutable). I wonder if maybe it has something to do with the `gnu-build-system`? It appears to be an input of `bash-minimal`, which is what leads me to that suspicion. If I could figure out what this derivation is and why it's non-substitutable, I think that the change that the proposed change to `derivation` would work (and, in some sense, implement what ought intuitively to be the default behaviour, as Brian noted).

Any and all relevant thoughts would be much appreciated.

Best,

Morgan