From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 01 Apr 2026 17:43:52 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f59.google.com (mail-lf1-f59.google.com [209.85.167.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 631Fhp9F019108 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 1 Apr 2026 17:43:52 +0200 Received: by mail-lf1-f59.google.com with SMTP id 2adb3069b0e04-5a1055f8ebdsf6450392e87.2 for ; Wed, 01 Apr 2026 08:43:52 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1775058226; cv=pass; d=google.com; s=arc-20240605; b=fvH9VH1zfMV8wOUEB2+hjUgDGt+hb2Tu+qcttMj3Rkq+D40McZF/OEOLJhffuCn75t XtsE79LNf2GknMZGt4YJfCe6TgzDYuSzX/tyNlpfZHMoUiYAPC6bleFvGrLEOi5mTP0W Qu4BJ++vAeabfNqSCq7Vpkh/SMgNhKgEFkbhdjZWZIR4ubdlHaeOIbCma8R0qCwPx54A 46u7yaVKdQ9MJsthIPXD75FN5ZGWje5JLuN+OtRobUOhK6STtliCAEZPoDNald5FdeQj 8dV6nGCkwNhivhGfnnB+3gB00Qi4sORQHxigDmgYZTKTqLPB9u7HPBxQyLSbQquD3NDK Dndg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:dkim-signature; bh=Tl097v40SKWmJ5E0LbXqhwVGTfAvZ5+xyk8du4ts3Fc=; fh=vltBbGdyZTLBtS45DV61am+m2yGK1LCV7VhivdYWmGk=; b=f05DMFeOkSr7pND6UmIaSEfKagj72N8qFgpPioH03xHfRhK6veZKgJMPoIXcPqQLG9 qlebFRBGfRD2K1twygpUqxLdd4sKFSzgmKTPup1McW70mWnYyfd1Bbr0ZsV6TUEcGPu+ L2XFnMCUTz4w415Ya0G0tWMt0L4jh2myJryQfXhqbDx9tixaBe2t03BXZ3xuHM/K9/nL vk3w44f1URvnmRh/FacO/CQItWgaF7iQaRYZdB1Zci08N4epgFN5x69qdcrmwYpG4HPH nLIZXTsX9fsYf4maP8C8LrrM9lbiTnMfb5cg1Jfv5q8WfLlO2X3BitZ9lB1ORwUCHMoF Gd0g==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1775058226; x=1775663026; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:in-reply-to:from:content-language:references:to :subject:user-agent:mime-version:date:message-id:sender:from:to:cc :subject:date:message-id:reply-to; bh=Tl097v40SKWmJ5E0LbXqhwVGTfAvZ5+xyk8du4ts3Fc=; b=xiS6Ep8kYVsSr51N0CpEXG0t+9ENnhSAU3AjAk/AYZLtyATynQL5F2y7ke5DnLmY8F 99ULaFBr8KGQihirRxdmAElLavjYxCwkv3ZBRmWtAtDsb0PLL0IQbOoZPUmTjgYPWL9m 9S8IqwdW3Vg7loZGCD6vYya5NoHmeu1lCdq1Zl+dnzP1P9nKaCbbn/w9j5sqo5M2/jO2 OFDPeXzlEQbtSD6ENWCvGfwDmXDpgx8+Uai6tSwZscrmA7DZbOMpgtYTiFlr98Y4tiZa gz499bW8GPsBN64iIv4XnlHZ3Q5p7djxRGtBdwk0Io/4OpnWUtB3PBJ5ga/j2kuKPEMU JAfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775058226; x=1775663026; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:in-reply-to :from:content-language:references:to:subject:user-agent:mime-version :date:message-id:x-beenthere:x-gm-message-state:sender:from:to:cc :subject:date:message-id:reply-to; bh=Tl097v40SKWmJ5E0LbXqhwVGTfAvZ5+xyk8du4ts3Fc=; b=POu5DSEVdJyVRWegcl1jiAqvpekI0VFjaXoS+ulEe4lpu6FOXPwiIS6vQEcWDjXlWY uHPGIsm6x7X837It/3ybvLcIKmdFAiXjEXpXk7t7Y3Eadbca6n2AwkvbLEnJCYk4qMRH /puivLEkVl1GTv3A2Pyd47c9+B2+17GsEWJdbZtbFsOGZrXkxaIuUJqNwdScgSeKEoS/ KUic9M9LoUflwT9+FcQKb1Pc4omExHZH84LeqfneP/lggGpnpH75uH7AKN/TgVZaOUiU KuOlytl0TpxGaqD8upFscSHeJh9bp67nm4xCmocJ5vpTNd+k5P3pRiUTUgs3gqlBDbAD Z35Q== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCVJF6aGRt+BxmrWK36PCSQqfyOgVgE18YXUeHiYzRcU9cTX8pMx78YFrbjteSjnFfs5Wtg6@ilbers.de X-Gm-Message-State: AOJu0Yy2UOCFXjKps3Amrt3trj93hfmF97LC31yn6CqzInAn4vJZROQC m1l0hOTms8sJ/WqPfAACGTCmnUBraH0h5lWJAnyKiETC6HNjzqFfsPmt X-Received: by 2002:a05:6512:a8c:b0:5a2:793d:ce6 with SMTP id 2adb3069b0e04-5a2c1f2d693mr1475117e87.32.1775058225836; Wed, 01 Apr 2026 08:43:45 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiJNl7brHHjz76rxuuTEkHGQ1l64dfN4O0AUF9ST+Jf2fw==" Received: by 2002:ac2:4f06:0:b0:5a2:b26a:900f with SMTP id 2adb3069b0e04-5a2b26a91f6ls1399225e87.1.-pod-prod-07-eu; Wed, 01 Apr 2026 08:43:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUQ3MXjp81fPM80DXRddoTEF5P11x+Jj2kgFQCn/xEaM2rZvrYTHpuSbsn5E2sDuUIhGndYedFYU5K0@googlegroups.com X-Received: by 2002:a05:651c:2129:b0:38a:43eb:239e with SMTP id 38308e7fff4ca-38cc2fa4f04mr16273231fa.13.1775058223448; Wed, 01 Apr 2026 08:43:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775058223; cv=none; d=google.com; s=arc-20240605; b=UsxBkAFJ13i9v4phJAssUZOj1PPHajF+MwQbLfQQZ1njHIo1uMrPuEhcvsX+uJr7np hW6L1/xAivyuiWthxj/y/eDezq7Uph9Da9dU7EKPIzJQEygUuhSB/Zt8N07vZOlAswxZ wSon3OdSxUc5puViK4y10SLqdsZyiyjLDjTpXXKpc3suA+TGSGawLcc1OC1UXPHre65B EkXENWR6XFjFKDz2ej2XMnKDyh3waf2gsSZ4v7voK79vEWw8bvClmU9LVIpT85lB6LtS ykB880ueMsgpS4evqTRaEfePF2976Ma6wqbhBW66iCVZJbplFysgXDcltFE8hBuvMy12 Q26A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id; bh=1THAWvcSORyZpSjH7/frNq08urtmro0IQqw3wJanMQw=; fh=IxbeHM4vWxalf1XNf2rnGcQL+r1v0Lr0C6ICsGNNkYw=; b=jUgYBawi7NlQ/gzFsd8J5EFUPW0yqrBD028wXAdefgx0ErMFKEBViPefrMeWnLcbYq A7GdxN4TQLBVDtXTFJDb6qTvwJoMF/uzFCaAt2zTWV0YM4mtgthlxjQS4X4JRxoeZ7JV 3y9Z0Vw0Boe9UDKvlogvIru8uQHSnP17O0nxdmwIt7FZglpDne/2GJVl+ZqHvkfPITFI E6VMu5cP8ayqiOPqRryJO1FW/nggVPxdYbueBVkGxVBWDO7E/Ox7eOaWPEQE3n0IsYMP 6+uGXzMkijqAsjyhzRmSmGAatVhy1hzukwcyFQXtgvl1tXrrF+9hVxiBseDTzND2LBrh YgOQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-38cd1f81181si69711fa.2.2026.04.01.08.43.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Apr 2026 08:43:43 -0700 (PDT) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [192.168.178.148] ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 631FhgAI019099 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 1 Apr 2026 17:43:42 +0200 Message-ID: <12909b48-a746-4bbd-bc82-78ed0caae293@ilbers.de> Date: Wed, 1 Apr 2026 17:43:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] meta: kernel: Make specifying KERNEL_CONFIG_FRAGMENTS more flexible To: Jan Kiszka , isar-users References: Content-Language: en-US From: Zhihang Wei In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-TUID: AA8dVSMKylKP Applied to next, thanks. Zhihang On 3/23/26 08:03, 'Jan Kiszka' via isar-users wrote: > From: Jan Kiszka > > This allows to add kernel config fragments from other sources than just > individual files in SRC_URI. > > Signed-off-by: Jan Kiszka > --- > > isar-cip-core will first use this, currently externalizing part of its > in-tree fragments to the cip-kernel-config repo. > > RECIPE-API-CHANGELOG.md | 9 +++++ > meta/classes-recipe/linux-kernel.bbclass | 37 ++++++++++++------- > .../linux/files/debian/isar/configure.tmpl | 2 +- > 3 files changed, 33 insertions(+), 15 deletions(-) > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > index e44b4b9d..2eff4fc3 100644 > --- a/RECIPE-API-CHANGELOG.md > +++ b/RECIPE-API-CHANGELOG.md > @@ -972,3 +972,12 @@ we introduce the variables ``MMAPTOPT_NOEXPKEYSIGN`` and ``DISTRO_MM_OPTS``. > While the former provides an argument to disable the key expiry checking, the > latter allows users to inject custom options into ``mmdebstrap``. For details, > see ``man mmdebstrap``. Use with care! > + > +### Provide additional fragments via KERNEL_CONFIG_FRAGMENTS > + > +Custom kernel builds can now inject config fragments into the build which were > +not provided via individual SRC_URI entries. If a kernel source tree contains a > +fragment, this can be specified via adding `${S}/path/to/fragment.cfg` to > +`KERNEL_CONFIG_FRAGMENTS`. If a fragment was checked out into ${WORKDIR} as > +part of a repository, a tarball, or some other directory structure, just > +specify it relative to ${WORKDIR} in `KERNEL_CONFIG_FRAGMENTS`. > diff --git a/meta/classes-recipe/linux-kernel.bbclass b/meta/classes-recipe/linux-kernel.bbclass > index 6e383408..9429996f 100644 > --- a/meta/classes-recipe/linux-kernel.bbclass > +++ b/meta/classes-recipe/linux-kernel.bbclass > @@ -83,7 +83,7 @@ TEMPLATE_VARS += " \ > KERNEL_LIBC_DEV_ARCH \ > LINUX_VERSION_EXTENSION \ > KERNEL_NAME_PROVIDED \ > - KERNEL_CONFIG_FRAGMENTS \ > + KCONFIG_FRAGMENTS \ > KCFLAGS \ > KAFLAGS \ > DISTRIBUTOR \ > @@ -214,8 +214,10 @@ KERNEL_ARCH ??= "${@get_kernel_arch(d)}" > # set KERNEL_FILE without depending on package arch used in bitbake.conf > KERNEL_FILE:forcevariable = "${@ 'vmlinux' if d.getVar('KERNEL_ARCH') in ['mipsel', 'riscv', 'arm64'] else 'vmlinuz'}" > > +KERNEL_CONFIG_FRAGMENTS ?= "" > + > def config_fragments(d): > - fragments = [] > + fragments = d.getVar('KERNEL_CONFIG_FRAGMENTS').split() > sources = d.getVar("SRC_URI").split() > for s in sources: > _, _, local, _, _, parm = bb.fetch.decodeurl(s) > @@ -284,17 +286,21 @@ def get_kernel_config_target(d): > > return config_target > > -def get_kernel_config_fragments(d): > - src_frags = " ".join(config_fragments(d)) > - out_frags = " ".join(map(lambda frag: 'debian/fragments/' + frag, config_fragments(d))) > - > - linux_version_extension = d.getVar('LINUX_VERSION_EXTENSION') > - if linux_version_extension: > - out_frags += " debian/isar/version.cfg" > +KERNEL_CONFIG_FRAGMENTS:append = " \ > + ${@'${S}/debian/isar/version.cfg' if d.getVar('LINUX_VERSION_EXTENSION') else ''}" > > - return out_frags > +def get_kernel_config_fragments(d): > + out_frags = "" > + S = d.getVar('S') + '/' > + for frag in config_fragments(d): > + if frag.startswith(S): > + out_frags += ' ' + frag[len(S):] > + else: > + out_frags += ' debian/fragments/' + frag > + return out_frags.strip() > > -KERNEL_CONFIG_FRAGMENTS = "${@get_kernel_config_fragments(d)}" > +# internal list of config fragments > +KCONFIG_FRAGMENTS = "${@get_kernel_config_fragments(d)}" > > dpkg_configure_kernel() { > grep -q "KERNEL_CONFIG_TARGET=" ${S}/debian/isar/configure || > @@ -313,9 +319,12 @@ EOF > src_frags="${@ " ".join(config_fragments(d)) }" > rm -rf ${S}/debian/fragments > for frag in ${src_frags}; do > - basedir=$(dirname ${frag}) > - mkdir -p ${S}/debian/fragments/${basedir} > - cp ${WORKDIR}/${frag} ${S}/debian/fragments/${basedir}/ > + # skip frag if it starts with ${S}, thus is part of the sources > + if [ "${frag#${S}}" = "$frag" ]; then > + basedir=$(dirname ${frag}) > + mkdir -p ${S}/debian/fragments/${basedir} > + cp ${WORKDIR}/${frag} ${S}/debian/fragments/${basedir}/ > + fi > done > } > > diff --git a/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl b/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl > index 73f554ed..75c920b8 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl > @@ -26,7 +26,7 @@ do_configure() { > # Process kernel config target and fragments > ${MAKE} O=${KERNEL_BUILD_DIR} ${KERNEL_CONFIG_TARGET} > ./scripts/kconfig/merge_config.sh -O ${KERNEL_BUILD_DIR}/ \ > - ${KERNEL_BUILD_DIR}/.config ${KERNEL_CONFIG_FRAGMENTS} > + ${KERNEL_BUILD_DIR}/.config ${KCONFIG_FRAGMENTS} > fi > > # Stop tracing -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/12909b48-a746-4bbd-bc82-78ed0caae293%40ilbers.de.