commit: 0dd42ac730fd855166651d81e3f3d0db671e7328 Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> AuthorDate: Sun Aug 25 15:08:55 2024 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> CommitDate: Sun Aug 25 15:36:53 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd42ac7
kernel-build.eclass: fix module signing with unspecified key MODULES_SIGN_KEY may be unset when using USE=modules-sign. Fix an issue introduced in e290c3c78b7acb59393f46d1d15175d6dbfc77da that breaks this configuration due to modules-sign-key.config not existing. Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/38287 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> eclass/kernel-build.eclass | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 6406f5b3c0f3..be02920162f4 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -625,18 +625,6 @@ kernel-build_merge_configs() { CONFIG_MODULE_SIG_FORCE=y CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y EOF - if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then - (umask 066 && touch "${T}/kernel_key.pem" || die) - echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die - unset MODULES_SIGN_KEY_CONTENTS - export MODULES_SIGN_KEY="${T}/kernel_key.pem" - fi - if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then - echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \ - >> "${WORKDIR}/modules-sign-key.config" - elif [[ -n ${MODULES_SIGN_KEY} ]]; then - die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!" - fi merge_configs+=( "${WORKDIR}/modules-sign.config" ) fi @@ -657,7 +645,19 @@ kernel-build_merge_configs() { fi if [[ ${KERNEL_IUSE_MODULES_SIGN} ]] && use modules-sign; then - merge_configs+=( "${WORKDIR}/modules-sign-key.config" ) + if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then + (umask 066 && touch "${T}/kernel_key.pem" || die) + echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die + unset MODULES_SIGN_KEY_CONTENTS + export MODULES_SIGN_KEY="${T}/kernel_key.pem" + fi + if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then + echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \ + >> "${WORKDIR}/modules-sign-key.config" + merge_configs+=( "${WORKDIR}/modules-sign-key.config" ) + elif [[ -n ${MODULES_SIGN_KEY} ]]; then + die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!" + fi fi if [[ ${#user_configs[@]} -gt 0 ]]; then
