kernel: fix KernelPackage when all KCONFIG are versioned
authorJohn Thomson <git@johnthomson.fastmail.com.au>
Sat, 1 Jul 2023 00:23:35 +0000 (10:23 +1000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 8 Jul 2023 13:43:59 +0000 (15:43 +0200)
commit27f68a39fdd17e0182e16547f8e3443e839ce8bf
tree1622486c02b9dfb8796241f3f378caaa74f1469f
parente4d7917be6beccaf272d14e109cc26ac6d0f5e73
kernel: fix KernelPackage when all KCONFIG are versioned

If a kernel package was defined where all KCONFIG symbols were dynamic,
and versioned, no FILES would be installed, as the foreach evaluation was
providing the value of the variable defined by the KCONFIG symbol name
including the version test

Fix this by calling the version_filter function on the list of KCONFIG
variable names run through by foreach

Example, kernel 6.1:
KCONFIG:=CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1
filter-out any KCONFIG settings forced by package:
CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1
there are dynamic settings, so for each of them,
get the value of the make variable defined by symbol name:
    CONFIG_OLD@lt6.1 is not set
    CONFIG_NEW@ge6.1 is not set
  versus
    CONFIG_OLD is not set
    CONFIG_NEW=m
test if any of these are m, or y
if yes, install files, otherwise, nothing to install

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
(cherry picked from commit b3448b3fdb59d25dce05991dc8f322c1020b090b)
include/kernel.mk