From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6751292434813026304 X-Received: by 2002:a92:9e90:: with SMTP id s16mr12277822ilk.237.1571941524637; Thu, 24 Oct 2019 11:25:24 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a92:9a0d:: with SMTP id t13ls1241650ili.0.gmail; Thu, 24 Oct 2019 11:25:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqwL2Bu98jNcpv8mTzGkHVzRQkG5xpmukleNzWof3rw/JWYYn+CMhAKZEx+FbeRNFxh/blTi X-Received: by 2002:a92:a308:: with SMTP id a8mr12434715ili.105.1571941524249; Thu, 24 Oct 2019 11:25:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571941524; cv=none; d=google.com; s=arc-20160816; b=UNBLhnWIYoBDxj9EOOMBj0mk2hM+dzw2lRYbzfpZi7X09B9mb+K26kcIzv/dK7RnHY bD9O6K4YZ7V/fiyg2F87Qz/oerIn93evnyGJ8P2atOvH4ERQ8ryCE2itZ+ZZmz+G67DA IJ1Ja1X0oflZVTsx39TQritjOuDOchXreBzlHLVYHFXE8k+CtluA3XsEW/lOg2lXLy4R NXczcO2VNXlF6dFJXEDEqpM7Y7ye+rFr33hq2/l0BELZBwd/keCVBV56NTix2Fiu6Pgy emtFzEoAqr19gf16JWK4059b/pnZXiuK6MQ57X6i+dx09SsZPr+55O3GebX38l5GjIbp 11GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :ironport-sdr:ironport-sdr; bh=ZkHHDGMmwL/TH8QwRxltRqOubeFHd8A+F72IKLK4FIY=; b=XLbPXwZ1iAOCMvry7xKd902XAnSKTYe9xmXxJPXGkrbjVIYRpL1pRTqSdPFCs1/xTI 2apb3YRbxtFPHslIeNWNJswjBfU7y+70LNrIlDEBb5HPn1mm4qj3AWpkZBDFxBv3Dud2 nPdjahjx+KNZmsP0NGfvTXA4vP5JXO5rgJkwuZsaugx7X8B66ykH/3mc6lzA5V/rj8/k BAVPRZcini42ZtNFo6A0Bw+fcXmZE9G+cBXcqHFueHEieGU+X25HcQ0Nwv4nFNhGdq2Y pqONmLwM+yUUHeENrVi4LILgCJDd9iGUTQY3bRvY+wD1rlYRHZ3zXLuZRSz8YzX2GFAN ZRxg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of cedric_hombourger@mentor.com designates 68.232.137.252 as permitted sender) smtp.mailfrom=Cedric_Hombourger@mentor.com Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com. [68.232.137.252]) by gmr-mx.google.com with ESMTPS id 75si666349ilw.3.2019.10.24.11.25.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 24 Oct 2019 11:25:24 -0700 (PDT) Received-SPF: pass (google.com: domain of cedric_hombourger@mentor.com designates 68.232.137.252 as permitted sender) client-ip=68.232.137.252; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of cedric_hombourger@mentor.com designates 68.232.137.252 as permitted sender) smtp.mailfrom=Cedric_Hombourger@mentor.com IronPort-SDR: S81EuZMXrFzCDCCaXiHKIDAYRqyOaFHlzfnbABTLL92YKv+fGbu+KTUfLxZpR0Sw6aBhLPpwDO anUEu307IXNVVha2JLKhYj6iZBjqDuKML204ptxPHhgVN58hEk2czpyyHxnBzNwwfwrU7+guLc IAZBJ6XuyFsHkLWF3osW9VKm4QRaq+OpqUjBEzqkk3wqPfScIxYdUIWAx/rZ8bL6KmSjzbqS37 m2Ppyw165l4h9njPkqEKC2F+p5lugQVQWsviMr9AXgWmlrHZEnLIyPzG4mzb09a7VQ5Byqphpl GRo= X-IronPort-AV: E=Sophos;i="5.68,225,1569312000"; d="scan'208";a="42600125" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 24 Oct 2019 10:25:22 -0800 IronPort-SDR: i8/iijTBXaASH6++WDohVnoFun5QXSj7KMUoBeiEdO2sxYJAxTi1+WW979Do+58qJY6If8RMmw Kmr0X+ukmyO6fbFNOFfjezJXE8g+8y3umPr1ja8dr5JPVflKparhJdWtAWAOicvwpZ4VTAwqYD 7ytmzvclJV7P8SCyY5ovASlkJEQ8Cql1X8kr+7l2uaP7bw+T6CFhl08VuB2CfStWc1iVIq05f5 5hSkPeoJuQMgd/mnGcYZDY2cWGX8Lex2sYFlOGzBZDtsjqBICktW/CqDTd6wMrPYE4lusqGbTp v9s= Subject: Re: [PATCH 08/10] linux-custom: add support for kernel config fragments To: Henning Schild CC: References: <1571907744-1121-1-git-send-email-Cedric_Hombourger@mentor.com> <1571907744-1121-9-git-send-email-Cedric_Hombourger@mentor.com> <20191024202102.6b7566ea@md1za8fc.ad001.siemens.net> From: Cedric Hombourger Message-ID: <18939701-bb6f-5790-608c-8b2fd498c666@mentor.com> Date: Thu, 24 Oct 2019 20:25:15 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191024202102.6b7566ea@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Return-Path: cedric_hombourger@mentor.com X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) To svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) X-TUID: /OgWUhgkJNU4 Hi Henning, On 10/24/2019 8:21 PM, Henning Schild wrote: > Is that taken from or inspired by OE? I have seen patterns like that > for isar: It is inspired. they use their scc tool but eventually use the kernel merge_config tool > do_prepare_build_prepend() { > cat ${WORKDIR}/preempt-rt.cfg >> ${WORKDIR}/${KERNEL_DEFCONFIG} > } I have used this kludge myself :) but the kernel provides a tool to facilitate merging of config fragments so let's use it so that we do not come up with different mechanisms > In a recipe that extends a generic kernel recipe with some config > switches. > > I am personally not a big fan of magic, and it seems the extension > ".cfg" makes magic happen. We will need an apply=no like for patches. OE does not but I see no harm in taking inspiration from OE and tweaking it to our liking > > Henning > > > Am Thu, 24 Oct 2019 11:02:22 +0200 > schrieb Cedric Hombourger : > >> Check for .cfg files listed in SRC_URI and merge them with the >> main defconfig using the kernel merge_config script. >> >> Signed-off-by: Cedric Hombourger >> --- >> .../linux/files/build-kernel.sh | 5 ++++- >> meta/recipes-kernel/linux/linux-custom.inc | 20 >> +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) >> >> diff --git a/meta/recipes-kernel/linux/files/build-kernel.sh >> b/meta/recipes-kernel/linux/files/build-kernel.sh index >> cb310f7..9faa6bb 100644 --- >> a/meta/recipes-kernel/linux/files/build-kernel.sh +++ >> b/meta/recipes-kernel/linux/files/build-kernel.sh @@ -36,7 +36,10 @@ >> REPACK_DIR="$1/../repack" >> REPACK_LINUX_IMAGE_DIR="${REPACK_DIR}/linux-image" >> REPACK_LINUX_HEADERS_DIR="${REPACK_DIR}/linux-headers" >> -make ${KERNEL_DEFCONFIG} >> +make ${KERNEL_DEFCONFIG} || exit ${?} >> +if [ -n "${KERNEL_FRAGMENTS}" ]; then >> + scripts/kconfig/merge_config.sh -m .config ${KERNEL_FRAGMENTS} >> +fi >> >> KV=$( make -s kernelrelease ) >> if [ "${KV}" != "${PV}" ]; then >> diff --git a/meta/recipes-kernel/linux/linux-custom.inc >> b/meta/recipes-kernel/linux/linux-custom.inc index c53cd90..b06529f >> 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc >> +++ b/meta/recipes-kernel/linux/linux-custom.inc >> @@ -18,6 +18,16 @@ python() { >> 'linux-headers-' + kernel_name) >> } >> >> +def config_fragments(d): >> + fragments = [] >> + sources = d.getVar("SRC_URI").split() >> + for s in sources: >> + _, _, local, _, _, parm = bb.fetch.decodeurl(s) >> + base, ext = os.path.splitext(os.path.basename(local)) >> + if ext and ext in (".cfg"): >> + fragments.append(local) >> + return fragments >> + >> inherit dpkg-base >> >> SRC_URI += "file://build-kernel.sh" >> @@ -71,6 +81,16 @@ dpkg_runbuild() { >> defconfig="defconfig" >> fi >> >> + # copy config fragments over to the kernel tree >> + src_frags="${@ " ".join(config_fragments(d)) }" >> + out_frags="${@ " ".join(map(lambda frag: 'debian/fragments/' >> + frag, config_fragments(d))) }" >> + rm -rf ${S}/debian/fragments >> + if [ -n "${src_frags}" ]; then >> + mkdir -p ${S}/debian/fragments >> + (cd ${WORKDIR} && cp ${src_frags} >> ${S}/debian/fragments/) >> + fi >> + export KERNEL_FRAGMENTS="${out_frags}" >> + >> E="${@ bb.utils.export_proxies(d)}" >> >> export PV=${PV}