Subject: Re: bug#66355: guix_defconfig options cannot be overridden in customize-linux function

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 05 Oct 2023 09:10:10 -0400

Hi Nathan,

Nathan Dehnel <[email-masked]> writes:

>   (let ((linux-package
>          (customize-linux
>           #:name name
>           #:linux linux
> ;;          #:configs
> ;;                        '("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y"
> ;;                          "CONFIG_DMA_PERNUMA_CMA=y"
> ;;                          "CONFIG_FONTS=y"
> ;;                          "CONFIG_FONT_8x16=y"
> ;;                          "CONFIG_FONT_SUN12x22=y"
> ;;                          "CONFIG_FONT_TER16x32=y")
>           #:defconfig
>           ;; this defconfig contains the config options above (among others)
>           (local-file "defconfig-6.6")
>
> #:configs and #:defconfig both cause this error:
>
> Mismatching configurations in .config and
> arch/arm64/configs/guix_defconfig
> (("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" (#f "y")) ("CONFIG_DM
> A_PERNUMA_CMA" (#f "y")) ("CONFIG_FONTS" (#f "y")) ("CONFIG_FONT_8x16"
> (#f "y")) ("CONFIG_FONT_SUN12x22" (#f "y")) ("CONFIG_FONT_TER16x32
> " (#f "y")))

customize-linux is very limited in that it doesn't resolve the config
inter-dependencies.  So if you try to enable CONFIG_FONTS but forget to
also enable any of its required options, you'll end up in the situation
above.

I'd suggest producing a defconfig file with all the correctly resolved
dependencies using the 'make savedefconfig' or similar after modifying
the config with 'make menuconfig'.

Let me know how it goes.

-- 
Thanks,
Maxim