From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7163980406052618240 X-Received: by 2002:a2e:aa93:0:b0:27a:24b:a9b3 with SMTP id bj19-20020a2eaa93000000b0027a024ba9b3mr8663830ljb.391.1671556171702; Tue, 20 Dec 2022 09:09:31 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:750:b0:4a2:3951:eac8 with SMTP id c16-20020a056512075000b004a23951eac8ls1734898lfs.0.-pod-prod-gmail; Tue, 20 Dec 2022 09:09:30 -0800 (PST) X-Google-Smtp-Source: AMrXdXsBXehBxCnfvqwrMOy7Qek9dxExBQ9qIqHGjbLUenl9uChIPp+i67rdpQ5rY9R4gXKQ0cqU X-Received: by 2002:a05:6512:3d91:b0:4b4:dd3d:4310 with SMTP id k17-20020a0565123d9100b004b4dd3d4310mr1213168lfv.19.1671556170551; Tue, 20 Dec 2022 09:09:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671556170; cv=pass; d=google.com; s=arc-20160816; b=mqwdIecgBqI8jI6BkwH1GupYnzs3E5IRnHOF1WEfVHswXGAHl/393G3jFsbd/140mh rxPhLBrOVALbVq4Lt+gTAuVlXzDiZaRQ3h6+xv494AFbNlTpuwcFtviVuGbAwilStWYA xOGFnFGSkCvYMjSG0Gxddh0ch8Jn0Y7YBNAserJp0KV5+b4LWxE1fdijtMoRo0U75hz5 SatdCsgKSAMaqpnrkq8XUhPYS0a/B8pCqUFEmC8RjZWY4PC2HF7qwyUsW3VNig5Jjs11 XjTsatUf8SAtgOd4Ksc+V5r5ASVTRLkHDwHnnNxzTlfLAb974WOjjHDT33SOvzeAPYtH TiMQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=cR7TNqdvvEG54OJL7QalJ4BtITRRtu3H3ya7U97gmIU=; b=zViTQJabiDK8sJw4WgyLtdyd7GiJxEj1e2RFJnQmEOOUwJiWP8MrbMWH3GCx3gmUhl 0r2sA0tCfoAQ0QmB8JDx8ojH4InsmLuAriPjnGXtBCIVg6NogWeYqF1CUVi5Y4PxAtg2 vav9zGcvdEHBJi5TYI4/JpBlvvwBNCdO/xr9I55bgJTfMdYgB9kdoWx5riCqA3eKX/hb S2x3dEbQywdWiApcYm+Td08r70FE9XouA9G7/CKHaYaWTSTxFOmyt7V1LzK9xaiiOpP3 OKRQeWCAqzehPX9bkLcS68V6uUKBcyxzLEKTyeYMJ1Q0Rppa8i0DNCjH4ySfums2mmcZ mUdg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=yBJ0YRCd; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of stefan-koch@siemens.com designates 40.107.21.55 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2055.outbound.protection.outlook.com. [40.107.21.55]) by gmr-mx.google.com with ESMTPS id v19-20020ac258f3000000b004b4b3e2e283si544138lfo.13.2022.12.20.09.09.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Dec 2022 09:09:30 -0800 (PST) Received-SPF: pass (google.com: domain of stefan-koch@siemens.com designates 40.107.21.55 as permitted sender) client-ip=40.107.21.55; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=yBJ0YRCd; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of stefan-koch@siemens.com designates 40.107.21.55 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kpj6ywur0s4P/ZlopP7z3uUumU937pRm2oJvj0yKvfmoR53Buwqvs3NFyZemcX8iLZy+88aDpAVSo/SRktEZPegIU8gjNeo0kkIbf/KkU1EBZCK9saohk+LAf0PJVSLDNwl1DD9T+T4u+tsK1cEq2YIoXSEarOETsCzSApch9WGHuCB/YVMkR8WW1IGPjjYafrG3Fqov3uohMTwB/6eDvjm4m+PEj/bX8QVd+teXYFjPkevOg/SjHIQU1dQ3tmBvAnwr1HrLKMcFfowQlyClz34ryxP7Y0/cWRCT7/otS6Dnysq9oiPw5rxAT3bicEiZLSZxEgK0cF3ooipHp7myHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cR7TNqdvvEG54OJL7QalJ4BtITRRtu3H3ya7U97gmIU=; b=bzWLuM0wJlcvJstWSJm7fh73fBPH2Ly0yLej8jTPLubdds4OC56Gf/m3ZxfewcZS8IhRWuK7IUjQ3reu6pVmd8KcZhRlQoPvuQbCHeG6O5ACfyMwQCRomb7I3uYoWFHRCMZhMLoFeeayCr+mhHLa32YCqU6Y+CRjRlsRgwHZjyJwn6QmVbzMh8vvSW1HlW5FrDluN8FlLqwP69M8JIuEHR0RQyPYWsnkZG/M0R94P2D1IUU/BcYr8Sqz7QTvCc2uF9nZqGG59uiJpsRBq2Ha0U3kPDlHKtGE30k/lHgGAV2aP7Sn9HqlA6cVo4pDwJcKftPdl2HT8VviFZN/rCdOJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cR7TNqdvvEG54OJL7QalJ4BtITRRtu3H3ya7U97gmIU=; b=yBJ0YRCdlACnHIQYe68ElkIr+OSK5pqYCZYtr903a2vfzklpNGV2rzWwKcvb6l1lMe0ngWeadfhN+9GWMCNPr5i8oZ1F5gcKMqYHCbNC4tYtXE6EyoQ5N1ggBeUZsbKI6pqJGntp3XDa5XUa+Ox4etGMyrs5szMeZpzpxraAA/4mrQHSpAILzbp6Gy9oEgl/OY1VAyjibWYue/3g1R0OqzY/pKroUgbr3waw21sARlfKEPj7tbqGMpmePcxk6YYnyuQp7MieCnqo5MKfl4irHT+fpdrLYhO8O9qQcPeePy6R8gYSxlTl+7fpChwpG5mUiCjEeKWuDQ1a+nwo6+pgBQ== Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) by GV1PR10MB6146.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:99::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec 2022 17:09:28 +0000 Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::3be:f097:9bbc:68f3]) by AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::3be:f097:9bbc:68f3%3]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022 17:09:28 +0000 From: "Koch, Stefan" To: "isar-users@googlegroups.com" CC: "Kiszka, Jan" , "ubely@ilbers.de" , "Storm, Christian" , "Adler, Michael" , "Sudler, Simon" , "Koch, Stefan" Subject: [PATCH v2 1/5] linux-custom: Split up binaries from kernel headers to kbuild package Thread-Topic: [PATCH v2 1/5] linux-custom: Split up binaries from kernel headers to kbuild package Thread-Index: AQHZFJXRGSXmHtBVoUG9ToQ9lFsmsQ== Date: Tue, 20 Dec 2022 17:09:28 +0000 Message-ID: <20221220170921.1718503-2-stefan-koch@siemens.com> References: <20221220170921.1718503-1-stefan-koch@siemens.com> In-Reply-To: <20221220170921.1718503-1-stefan-koch@siemens.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.30.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM9PR10MB4959:EE_|GV1PR10MB6146:EE_ x-ms-office365-filtering-correlation-id: 475acf48-801c-4a90-25eb-08dae2acf431 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JNmHxvVKKlbM6u3L7rofVH8mGtwdvB5Jw5brvqF8tjvraBPJAzgKYP6ywkPhAmM2Z0604iliL6rL69Skf/DVv0x4cMSuozW8HGlXHX0e10QkI/LgkGYe/0NrhPE1Zx2UP92c3I0o/trHDsznOFMLTVWhAt3ofQICJHY9W1wmdpm5mvIGKJZWW98W0dmRsFFKWEkwsqRXR9bDYy11QDSqUe3bdftANhYE1xS2/O7a9qMIl5DmLF1mVCoWeE8uJfvBz9tiK0Ltu/vHJ8pB0DFDA0X+I81vNwRlM66kOVH1TXYVLmy1StbCtwOBCoAnxlLXaCkgHa4LqgIa0EGPm00hfycuWa9ETMtGQv5z80yQFH4Em8SdBfgLmgx9ljvQOPubKj06b7kOXOwBhHqhKMY95/cqO339d9YmgX2NVZrAwfO7iYCUQP+Lre6v9dkpBuPSC+H93x/nd9jHzUcnE8pyz/EGxLGibHMLLKO8RKOKcyKs6G54bhKzbXNmHB4UY0M0cvMuZTe4jNU3ZMR5CAjttJic6WVLvDSw7iQF9FrIQpKHQje1uKqPKMLvLAZ38aFUAzvsXzeyezI2FH5q2qKmUXJe9QRskfzFCafA7xtpCA54aakFTCB9jYf8gUJeXjfauvxA6WtlrDsynZ+U9avwoIcu7RsX2dwFzBUCxPTtRhznHcim8x0SLF9rUajeQwfP7YGD4xyvXLYHBpjBxsDB6w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199015)(1076003)(6512007)(186003)(26005)(478600001)(6506007)(8936002)(38070700005)(2616005)(2906002)(107886003)(71200400001)(38100700002)(82960400001)(122000001)(6486002)(36756003)(5660300002)(83380400001)(316002)(54906003)(6916009)(66476007)(66446008)(66946007)(66556008)(41300700001)(4326008)(76116006)(91956017)(64756008)(8676002)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?WI223STNElh6IAdxIFM9LOPLDS2xhQdyz4JQc+wMHOfnXGKWk0i7RhygKp?= =?iso-8859-1?Q?YgRi/XQ+SVlyoro9ekfVXgPsNpjhvsBw7LwpEpHBGt0DtTOx+qu4gNaimi?= =?iso-8859-1?Q?Z7+VlUjtOIO1K3iUoudQkn15DHLa/pNeXCAx73m9aDq6jr4VMb6PXWTZZN?= =?iso-8859-1?Q?Ag0lEUpT7WbMhBt6dGEYj8Imuf7R48RbpNn+B/9VnpNqhP7TeRJvwdPCxA?= =?iso-8859-1?Q?mde3hCPfNyJ1ydwpyrcp3qLw48HiEdapRmEZoZiqK8i5q6JmvB3N11bJs3?= =?iso-8859-1?Q?Ywuema7QBYTgncZQxO8UkSwn7shmuuhHThp3lE/VhWgNh2s7cFuXJhGeXj?= =?iso-8859-1?Q?MiF9zc72d1dJSXIYU1bdhJD0tabdjQLIykYg2PdL/eCgTcbCoqaJJebIgX?= =?iso-8859-1?Q?80ELiCy9HajgCkinyEavkH9Wwq8vQg7gy/+Ry/O0+Aqi8D+sAuCmA9+XHI?= =?iso-8859-1?Q?BeHDaLBdSw5tnsilYeFTKGgPDjX2K58CZgSLNjbXXz8kVD5H/tZprNTkq2?= =?iso-8859-1?Q?ZqaNvd2pXfjV3iBblj+ZetSwK0H2TaWO4PDnRnDoua7nh7yY+4cSOmbNsg?= =?iso-8859-1?Q?R6BKIZDyiLE2LgnHEneI2ExrEPvZywxZeukO2s0NgnmsfBw6T1XSp1+q1j?= =?iso-8859-1?Q?+te53VC86YGPYdSvy9Qau/MU4tUqsSAZ3ZWX1AL4ovZ4u+JY/Nu0t/RMq4?= =?iso-8859-1?Q?vkV7DWGZ9vYlhGrecB42SNvMzMn71PNIMosPwfdI59gH+koEbT6GiepCRB?= =?iso-8859-1?Q?e3+d8OTQg8RBpbVnKLJ5i75L4VDTY+fwVijEPVvIt1CIDMJ8xBNaeE6eH0?= =?iso-8859-1?Q?O3DMlOFcRVHD9aAuuxYv8Pn9dPOAqn/PD0+rL/YcVp2yxslQ7v5f9ZDiBB?= =?iso-8859-1?Q?2zKCUNIiyKQ2wGUzjEp6gyQ+0tY6xZwdOTRJFrCxTphsTDoyIa1pntkVdA?= =?iso-8859-1?Q?wliXL7kS7BxGWgbsohi7feh2j9BGRIKzlza0hwTYVLoREOct6K5lYMbDNV?= =?iso-8859-1?Q?FG6Mo/1n9ZPULlLMvmQhhwLmjcBtq4YBQHb95B07lUuKELRLG2V7ui3QCE?= =?iso-8859-1?Q?S2P6XsAc/qezRncErrCM7z3y37Uf96iBbgWpfyruzOahBZC8Nj1VnSraEZ?= =?iso-8859-1?Q?CqGrHPnFeJmSUpAQnT6yTWLS+OEgdYo+7RVzH0ZsYLx69t0e8bQmwQsxKX?= =?iso-8859-1?Q?AIS4eCYit6MRoY0Lfg0M+uZ0+j+PAe0y8sVJn2aPJN9cUsRpGKVVI1l7N6?= =?iso-8859-1?Q?n63JquyYLpJ+aMF2xyaUXF8PDit8LSgUgv8VVN0IokRCGC0CMR1knRWC99?= =?iso-8859-1?Q?pG7bz2AZaTys+jcX9+6TpOlTr4QWjJdm9cyDeAf9qK2gMFquIpbxsE+qtX?= =?iso-8859-1?Q?Yut8+S55r0x6BXFgYTEP88W5Yc7XZtiVfgL4FVfY/8JKOJrW9jU0xxolL4?= =?iso-8859-1?Q?BvZPUfnmamx0x4bzVJWUk+iRw4vJcQWs0gzElctHLzxr8XSzJhb2T5RZNE?= =?iso-8859-1?Q?wVHLSCl7AbnSNwYc4R055Yq8gjIUrkLSrqDOXnu3bHYFap9mK466veaQOK?= =?iso-8859-1?Q?Qvr3kuB71Gl27hquLroZ8oAYDYh3CC6y/U4+GgeetAxFY0DKNletIsD0YO?= =?iso-8859-1?Q?5TwcMNaDN5EFUScMheBzwPrxYJpsyb93zLRBoAx9r9U7eJxooioqyGcg?= =?iso-8859-1?Q?=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 475acf48-801c-4a90-25eb-08dae2acf431 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 17:09:28.3898 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 76zPw4g+1p1dwxJU9Q136t9hD8Q+gbF7wSZwOTXvH5CkFR+CxNarOmGzMPt3YZj4kqoXcQkCXTddlvOOqW2tIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6146 X-TUID: BafX5K/jTpXa This patch does introduce specific kernel kbuild packages that ship the "scripts" and "tools" binaries. The kernel headers fulfill this using symlinks to point to the "scripts" and "tools" of the kernel kbuild package. This is already known from debian kernel packages structure: - Generate a kernel headers package without binaries - Create kernel kbuild packages that ship the "scripts" and "tools" binaries - Using symlinks to point to the "scripts" and "tools" binaries Signed-off-by: Stefan Koch --- .../linux/files/debian/control.tmpl | 9 +++- .../linux/files/debian/isar/common.tmpl | 2 + .../linux/files/debian/isar/install.tmpl | 51 +++++++++++++++---- meta/recipes-kernel/linux/linux-custom.inc | 4 ++ 4 files changed, 54 insertions(+), 12 deletions(-) diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/rec= ipes-kernel/linux/files/debian/control.tmpl index dd0b624..b19ca2c 100644 --- a/meta/recipes-kernel/linux/files/debian/control.tmpl +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl @@ -26,7 +26,7 @@ Section: devel Provides: linux-kernel-headers Architecture: any Description: Linux support headers for userspace development - This package provides userspaces headers from the Linux kernel. These he= aders + This package provides userspaces headers from the Linux kernel. These hea= ders are used by the installed headers for GNU glibc and other system librarie= s. =20 Package: linux-image-${KERNEL_NAME_PROVIDED}-dbg @@ -35,3 +35,10 @@ Architecture: any Description: Linux kernel debugging symbols for @KR@ This package will come in handy if you need to debug the kernel. It provi= des all the necessary debug symbols for the kernel and its modules. + +Package: linux-kbuild-${KERNEL_NAME_PROVIDED} +Architecture: any +Depends: ${perl:Depends}, ${shlib:Depends} +Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @K= R@ + This package provides kernel kbuild scripts and tools for @KR@ + This is useful for people who need to build external modules diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl b/meta= /recipes-kernel/linux/files/debian/isar/common.tmpl index 52ebebb..f4c0519 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl @@ -9,6 +9,7 @@ ARCH=3D${KERNEL_ARCH} KERNEL_PKG_IMAGE=3Dlinux-image-${KERNEL_NAME_PROVIDED} KERNEL_PKG_KERN_HEADERS=3Dlinux-headers-${KERNEL_NAME_PROVIDED} KERNEL_PKG_LIBC_HEADERS=3Dlinux-libc-dev +KERNEL_PKG_KERN_KBUILD=3Dlinux-kbuild-${KERNEL_NAME_PROVIDED} =20 # Constants KCONF=3D.config @@ -19,6 +20,7 @@ deb_img_dir=3D${deb_top_dir}/${KERNEL_PKG_IMAGE} deb_dbg_dir=3D${deb_img_dir}-dbg deb_kern_hdr_dir=3D${deb_top_dir}/${KERNEL_PKG_KERN_HEADERS} deb_libc_hdr_dir=3D${deb_top_dir}/${KERNEL_PKG_LIBC_HEADERS} +deb_kern_kbuild_dir=3D${deb_top_dir}/${KERNEL_PKG_KERN_KBUILD} =20 # Array of packages to be generated declare -A kern_pkgs diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/met= a/recipes-kernel/linux/files/debian/isar/install.tmpl index 8a604e4..236b67c 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl @@ -33,6 +33,7 @@ do_install() { # Trace what we do here set -x =20 + # Run the install steps install_image if [ "${ARCH}" !=3D "um" ]; then install_config @@ -43,6 +44,10 @@ do_install() { install_kmods install_headers =20 + # Cleanup and install kernel scripts and tools + rm -rf ${deb_kern_kbuild_dir} + install_kbuild ${deb_kern_kbuild_dir} + # Stop tracing set +x } @@ -168,21 +173,15 @@ kernel_headers() { mkdir -p ${destdir} mkdir -p ${deb_kern_hdr_dir}/lib/modules/${krel} =20 - (cd ${S}; find . -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl'= ) >>${src_hdr_files} - (cd ${S}; find arch/*/include include scripts -type f -o -type l) >>${= src_hdr_files} + (cd ${S}; find . -not -path './scripts/*' -a -not -path './tools/*' -a= \( -name 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_hdr_f= iles} + (cd ${S}; find arch/*/include include -type f -o -type l) >>${src_hdr_= files} (cd ${S}; find arch/${ARCH} -name module.lds -o -name Kbuild.platforms= -o -name Platform) >>${src_hdr_files} (cd ${S}; find $(find arch/${ARCH} -name include -o -name scripts -typ= e d) -type f) >>${src_hdr_files} =20 if [ -n "${CONFIG_MODULES}" ]; then echo Module.symvers >> ${obj_hdr_files} fi - (cd ${O}; find arch/${ARCH}/include include scripts -type f) >>${obj_h= dr_files} - if [ -n "${CONFIG_STACK_VALIDATION}" -o -n "${CONFIG_HAVE_OBJTOOL}" ];= then - (cd ${O}; find tools/objtool -type f -executable) >>${obj_hdr_file= s} - fi - if [ -n "${CONFIG_GCC_PLUGINS}" ]; then - (cd ${O}; find scripts/gcc-plugins -name *.so -o -name gcc-common.= h) >>${obj_hdr_files} - fi + (cd ${O}; find arch/${ARCH}/include include -type f) >>${obj_hdr_files= } =20 # deploy files that were matched above tar -C ${S} -cf - -T - <${src_hdr_files} | tar -C ${destdir} -xf - @@ -191,8 +190,11 @@ kernel_headers() { # add the kernel config cp ${O}/${KCONF} ${destdir}/.config =20 - # handle kernel development tools - kernel_tools + # add symlink to scripts and tools directories + ln -sf ../../lib/linux-kbuild-${krel}/scripts ${destdir}/scripts + if [ -n "${CONFIG_STACK_VALIDATION}" -o -n "${CONFIG_HAVE_OBJTOOL}" ];= then + ln -sf ../../lib/linux-kbuild-${krel}/tools ${destdir}/tools + fi =20 # create symlinks ln -sf /${kernel_headers_dir} ${deb_kern_hdr_dir}/lib/modules/${krel}/= build @@ -206,4 +208,31 @@ install_headers() { kernel_headers } =20 +install_kbuild() { + kernel_kbuild_dir=3Dusr/lib/linux-kbuild-${krel} + destdir=3D${1}/${kernel_kbuild_dir} + src_kbuild_files=3D$(mktemp) + obj_kbuild_files=3D$(mktemp) + + mkdir -p ${destdir} + + (cd ${S}; find . -path './scripts/*' -a -path './tools/*' -a \( -name = 'Makefile*' -o -name 'Kconfig*' -o -name '*.pl' \)) >>${src_kbuild_files} + (cd ${S}; find scripts -type f -o -type l) >>${src_kbuild_files} + + (cd ${O}; find scripts -type f) >>${obj_kbuild_files} + if [ -n "${CONFIG_STACK_VALIDATION}" -o -n "${CONFIG_HAVE_OBJTOOL}" ];= then + (cd ${O}; find tools/objtool -type f -executable) >>${obj_kbuild_f= iles} + fi + if [ -n "${CONFIG_GCC_PLUGINS}" ]; then + (cd ${O}; find scripts/gcc-plugins -name *.so -o -name gcc-common.= h) >>${obj_kbuild_files} + fi + + # deploy files that were matched above + tar -C ${S} -cf - -T - <${src_kbuild_files} | tar -C ${destdir} -xf - + tar -C ${O} -cf - -T - <${obj_kbuild_files} | tar -C ${destdir} -xf - + + # handle kernel development tools + kernel_tools +} + main install ${*} diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kern= el/linux/linux-custom.inc index 96f0afc..dbda755 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -96,6 +96,10 @@ python() { kernel_name =3D d.getVar("KERNEL_NAME_PROVIDED", True) d.setVar('PROVIDES', 'linux-image-' + kernel_name + ' ' + \ 'linux-headers-' + kernel_name) + headers_depends =3D "linux-kbuild-" + kernel_name + + # Set dependency for kernel headers + d.appendVar("KERNEL_HEADERS_DEBIAN_DEPENDS", headers_depends) } =20 def get_kernel_arch(d): --=20 2.30.2