From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6751292434813026304 X-Received: by 2002:a17:902:7483:: with SMTP id h3mr5215069pll.270.1572025243763; Fri, 25 Oct 2019 10:40:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a63:9c01:: with SMTP id f1ls552148pge.0.gmail; Fri, 25 Oct 2019 10:40:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqynHRhNGT1ArecbU1sAI5XmBQO683ofXjP2AQa60liYUrd5wCONLh56gkqI4dGSHY1aHnbR X-Received: by 2002:a63:1609:: with SMTP id w9mr5986616pgl.184.1572025243276; Fri, 25 Oct 2019 10:40:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572025243; cv=none; d=google.com; s=arc-20160816; b=S5Qw20IrzmLEK9r2adHuWmHAqf+te9PhAl03JNE303JO/7JjkQiw271701Eh3FNDIw OhpPZD7eqMPUTw4gYfRJFsZ2kEeyR6Lmt2/+5rvU9eaEPcAX7DKueTc7zuHEZqUGda5O cBFVhVN3icCSa2AIF8/cPtfyQJ8C4ZdQig2nF2vJ2PNvA78K0d+vquY/jQT4IdC2ZR6M hy6EAxBtODGVaJ20aMRp7mZfQ/GYS56S1PI/9eUEktjpgiRWLnBZl62suCsww6WlppUB eWd3nRwJsEaQnWA1ZuKTj6W0F7wwJf7chyxDIi5a/5pSo1D3Db4ghGbtWwnkCTmwpBNj w3Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:ironport-sdr:ironport-sdr; bh=kZihb8F8GygaPiaGcAZXOmckn2jI3I1/6fxEFmLhLZ0=; b=M2yrMt8ra88QXG+wcImwEQDynkEh/5Tf8dQxVjzhWwwjugiYn1ArjEm3w9Bqj/ZEwQ 65w6WgDh0W0MZEI0j/FiG1q5WD0SBJMkz4QLxrVxkwW7KAWalH5rncrUdG6rpX3GGpLH ip9cec1hjkGUpDCJ8iyxbt4YZRjZpi7V7D5NGys35YCkg5edbFVifLZsrCAslQAdHy8K bod2ipm8/HVlvTjpLpbGhz3gxRwEUiSRqEWIUSK7FJSHjLFoj9YDkHLbz1TNP4j8he94 /Gkv4/6Hn7y7Q0mT1qte3tMNQmNWWp9TdhXGVxMtLDMAbtHVWkOxAuYw2Tg32avpt/GG eGDA== 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 cp7si82676pjb.1.2019.10.25.10.40.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Oct 2019 10:40:43 -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: 4PIgO5iD3Ivfg7R6cTHpqcNzASlejFM1my7qs2IclrfxFLw7XW9OePwbdXOxmYEpHXBi7JsuA4 4JXfwDNSPHHFnJDIncwo0+hKcxf/+PH+e6ZsMqu6tVsyRuMwbZ7C+1yH9xU3Ze6hS6Yv9j2rgc CrEdPI9KdLuIyIwjGmDJYPit9Nqskh2ZOGg670FOj6AlDFf8YaN1DEm3q4yva7r4QhfzBCtGX9 Ff9oES0WG0LIugUoPqH/kz5TFB0hpG6fhl3TguO3MOWjTpxbqx6QWcFNsOzBXPfaN7pW5+N9wd qQY= X-IronPort-AV: E=Sophos;i="5.68,229,1569312000"; d="scan'208";a="42632890" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 25 Oct 2019 09:40:42 -0800 IronPort-SDR: /MtWFx8BUlLU4xmSS+9scV5mh/AS65/cQ+zaaqrpGXpO42kMG8ERtTMUIgYjhPOvqL5S28d8UM qIUjtf5Wr8x170grNdpIazJKuX1vyg6ieUFavaBh7+6snmVckrJYJc+OblhbD5rnr4LJbB11ZB vuv1Jx38nXW1jJgYMvofrFI44pX9dXG2A4iw8geamAHjy4bVResXDd963z0ypw+vS6q0MZXgi2 q9s8Fv9b2ogleTFNk9nkyjvw6RS6NcHaDdFYjr53wCDQ08x3w7kHdobI2wjF1Mt4oU5mXr52xx QXw= From: Cedric Hombourger To: CC: Cedric Hombourger Subject: [PATCH v2 6/7] linux-custom: add support for kernel config fragments Date: Fri, 25 Oct 2019 19:39:13 +0200 Message-ID: <1572025154-1312-7-git-send-email-Cedric_Hombourger@mentor.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1572025154-1312-1-git-send-email-Cedric_Hombourger@mentor.com> References: <1571907744-1121-1-git-send-email-Cedric_Hombourger@mentor.com> <1572025154-1312-1-git-send-email-Cedric_Hombourger@mentor.com> MIME-Version: 1.0 Content-Type: text/plain Return-Path: Cedric_Hombourger@mentor.com X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) X-TUID: eTkjv63fwmMh Check for .cfg files listed in SRC_URI and merge them with the main defconfig using the kernel merge_config script. The optional "apply" parameter may be used for the specified fragment to be ignore (set to "no"). Signed-off-by: Cedric Hombourger --- .../linux/files/build-kernel.sh | 3 +++ meta/recipes-kernel/linux/linux-custom.inc | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/meta/recipes-kernel/linux/files/build-kernel.sh b/meta/recipes-kernel/linux/files/build-kernel.sh index 386e58b..f56e96c 100644 --- a/meta/recipes-kernel/linux/files/build-kernel.sh +++ b/meta/recipes-kernel/linux/files/build-kernel.sh @@ -37,6 +37,9 @@ REPACK_LINUX_IMAGE_DIR="${REPACK_DIR}/linux-image" REPACK_LINUX_HEADERS_DIR="${REPACK_DIR}/linux-headers" make ${KERNEL_CONFIG_TARGET} || 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 0f7633a..28c50db 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -18,6 +18,19 @@ 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) + apply = parm.get("apply") + if apply == "no": + continue + 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 +84,16 @@ dpkg_runbuild() { KERNEL_CONFIG_TARGET="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} -- 2.20.1