On 12/17/23 21:11, Michał Górny wrote:
On Sun, 2023-12-17 at 20:09 +0800, WANG Xuerui wrote:
The several partially-supported arches (those relying on
USE=savedconfig) directly return in src_prepare(), hence previously the
CONFIG_EFI_ZBOOT probing didn't have a chance to run when building for
those arches, leading to wrong kernel artifact path and failed
src_install().

Move the probing to near the end of eclass src_configure(), so the flag
correctly reflects the reality in all circumstances.

Signed-off-by: WANG Xuerui <xe...@gentoo.org>
---
  eclass/kernel-build.eclass | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 6b692dc4f9a0..7a041a8aacdf 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -203,6 +203,12 @@ kernel-build_src_configure() {
                        .config)
        fi
+ # If this is set by USE=secureboot or user config this will have an effect
+       # on the name of the output image. Set this variable to track this 
setting.
+       if grep -q "CONFIG_EFI_ZBOOT=y" .config; then
+               KERNEL_EFI_ZBOOT=1
+       fi
+
        mkdir -p "${WORKDIR}"/modprep || die
        mv .config "${WORKDIR}"/modprep/ || die
        emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" olddefconfig
@@ -456,12 +462,6 @@ kernel-build_merge_configs() {
./scripts/kconfig/merge_config.sh -m -r \
                .config "${merge_configs[@]}"  || die
-
-       # If this is set by USE=secureboot or user config this will have an 
effect
-       # on the name of the output image. Set this variable to track this 
setting.
-       if grep -q "CONFIG_EFI_ZBOOT=y" .config; then
-               KERNEL_EFI_ZBOOT=1
-       fi
  }
fi
This doesn't seem correct.  It won't work if KERNEL_EFI_ZBOOT is set by
one of the merged configs.
But isn't the src_configure phase building upon the config already merged in src_prepare? The alternative would be keeping the kernel-build_merge_configs logic intact, but then it has to be duplicated for every early return branch in each ebuild's src_prepare, which I think is too excessive...

--
WANG Xuerui
xe...@gentoo.org
Gentoo Linux developer
PGP: 7C52 19E3 26A0 7311 3EA3 8806 C01F 7214 BC93 1414

Attachment: OpenPGP_0xC01F7214BC931414.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to