Pierre Langlois <pierre.langl...@gmx.com> writes: (snip)
> What seems to happen is that the `kernel-config' function now receive an > `arch' argument for an architecture that isn't actually supported by > that kernel, as is the case for linux-libre@4.14.300. And, correctly, > the function should not expect to ever get such arch value to begin > with, so we get a `(local-file #f)'. > > (define* (kernel-config arch #:key variant) > "Return a file-like object of the Linux-Libre build configuration file for > ARCH and optionally VARIANT, or #f if there is no such configuration." I pasted this bit of code but didn't read it properly, it specificaly says that it should return #f if the config doesn't exist. I guess that's now a bug? We could either fix the docstring and apply the fix I proposed, or returning #f probably works. > (let* ((name (string-append (if variant (string-append variant "-") "") > (if (string=? "i386" arch) "i686" arch) > ".conf")) > (file (string-append "linux-libre/" name))) > (local-file (search-auxiliary-file file)))) > > I think it's fair for that function expect the arch to be valid (why > would you ask the config for an unsupported arch?). > > I think it should be possible to fix this by checking the arch is > supported at the call site: > > [[End of PGP Signed Part]] > From 77829140f14928e30cbe4e53c625be3ba2f5895f Mon Sep 17 00:00:00 2001 > From: Pierre Langlois <pierre.langl...@gmx.com> > Date: Thu, 8 Dec 2022 23:41:40 +0000 > Subject: [PATCH] gnu: make-linux-libre*: Do not get config for unsupported > systems. > > * gnu/packages/linux.scm (make-linux-libre*)[phases] <configure>: Check > arch is in supported-systems before calling configuration-file. > --- > gnu/packages/linux.scm | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm > index 5ae6366593..87fc9fe94c 100644 > --- a/gnu/packages/linux.scm > +++ b/gnu/packages/linux.scm > @@ -983,6 +983,7 @@ (define* (make-linux-libre* version gnu-revision source > supported-systems > (or (%current-target-system) > (%current-system)))))) > (and configuration-file arch > + (member arch supported-systems) > (configuration-file > arch > #:variant (version-major+minor > version))))
signature.asc
Description: PGP signature