From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7330292884155924480 X-Received: by 2002:a17:90a:3e86:b0:28f:fa10:937c with SMTP id k6-20020a17090a3e8600b0028ffa10937cmr1924388pjc.36.1706716811853; Wed, 31 Jan 2024 08:00:11 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:d713:b0:295:d4a6:ca54 with SMTP id y19-20020a17090ad71300b00295d4a6ca54ls693550pju.1.-pod-prod-04-us; Wed, 31 Jan 2024 08:00:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IGg7+aN6di6JL0V08CmgJZNWik2PcrPzVFQbHbNQWD8VJ69wmiEoUpA4nmnJGcoQi1wha1c X-Received: by 2002:a05:6a20:e58d:b0:199:86d6:43de with SMTP id ng13-20020a056a20e58d00b0019986d643demr1609225pzb.58.1706716810205; Wed, 31 Jan 2024 08:00:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706716810; cv=pass; d=google.com; s=arc-20160816; b=e2FhDr1UuybIz0FXT6jkeEK7tCM1uzoS0B23HoTTj1IJzcnKTKsyGtXeAOSZtZmgzU 7jIOxlPIeut+uj8vuuQCEIP6bhyL5Ba5i8pnANshmDjf6dp46VoXGpP8x757w4adVGud UMyhgeDnTHF0s5CqZJrX5qzjOfelb2++ai0uCQiwnerfdqnWTBA+Yhtp883kMAZfLnOr Td2q27wy4eBZ+HJQD4XJ/CYc/L6PepzkcH09JUrwHaUH1zDFar8myHTfcMZ4sB7qZysf bYCpfH9te8vzkq+O+uoXCmEx+YcpoqEh/Pqrt2/UEqHu1LluyJdA2vs72qM4wXMlWP+x rZCQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=HrXe4KZWo6jqGhkP0wEHZEtlxWM6ThibW1V8O0D1nwA=; fh=xEShFggSpnuOkNhWsuGGuL9hws+gR5u0Poxh36yfvmk=; b=uQZio3I63Ky9hf7GS3JtQW278G9pAcaQxBx+/tdoWS1iNrCIxfbQS0/dzWFC/w5tSR wjnPUowgv1vx+dYIBQilCS8stUQxUwJmxFLFtqQgGAb9hBiILchBzRlsX6mulsJlHdPW WbdKFCPjgykPLFXgGFEGOpSV/Yat0FNzho/ob03Hn3ZlpfImZZFvW5lUhgDALf+5YfSq UxIVj1AnOxJK2pQ2CS1FX58sJQUCb/nkposqMjcytSeWxcuDvyxrfJ5NWxdN7AgcRVL2 u1KBytIHt4nzBN95wzVFRA0HCFEexbqgkyVpm2Ap3NtRO3vkZ/121oilLD4sUAuIXUFc dGfQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=WZibqLDS; 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 2a01:111:f400:fe1e::618 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0618.outbound.protection.outlook.com. [2a01:111:f400:fe1e::618]) by gmr-mx.google.com with ESMTPS id mr17-20020a17090b239100b00295fe8e0fd3si20167pjb.0.2024.01.31.08.00.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 31 Jan 2024 08:00:10 -0800 (PST) Received-SPF: pass (google.com: domain of stefan-koch@siemens.com designates 2a01:111:f400:fe1e::618 as permitted sender) client-ip=2a01:111:f400:fe1e::618; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=WZibqLDS; 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 2a01:111:f400:fe1e::618 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BSjQFO8MmrhCuFQal4+ITVF9Dr2fJmvrSGOe0MGzlM4LY0QAzIDdgKtAMqMPv5fBmrUCMgPQ1W9LCaLxptE1cRcgGf3GomaZzjqia/ihCmbUMfSvsJNB4QiUBs2VmsdLZZeDv4W3MGrDoyjVE8c8fFqoojOr8oepE1peMwkZYg7ycmhjLmWNQBLsaOuiXqq1d4T9zSJkm41PfMd7rYsjAa+g3ydtEFiSBncbcfcvIYN4bOMD0yQDONxTh3iOFfqXU84+g7Dn4ZrFaIzX9tZ8bEMy7oDCLK8UfkmhL1kXPPFVxVvmyLFj1IbSGNzeT+gn4PcQSKl74LamojHc7I/VAA== 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=HrXe4KZWo6jqGhkP0wEHZEtlxWM6ThibW1V8O0D1nwA=; b=oGZomUKYXHilyy7cD9MFr5LICL4UU3Q0aJeyhMYR3/9tv2vqB2w3N40Fi0J9/4FmhzJRL2Osj+ThN/+1aEwA9hGUs3P6d7isGbAV6opIKl8elmVXeIca8AUbWBlEu2X58IQDy1SIeu7S2Wo0Cl7ogTrL9Jkg3+wg7FAojNhKtud8XEgR0MZOR/KY9BPx9TlZGQ74vq6CZqkQM0WPSWwvPn5S4ZcLgm5a2javm4Lt+pNRveVpDFZkSQjOp4x25VmBHHcaRsjT8EzLypED/0eAJlt44ua4g2JvrJNAQHdCqbMOI0x4QmgN7kgQUfhcsqyvqnTnRbpyiJSRi8X41NhWPw== 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=HrXe4KZWo6jqGhkP0wEHZEtlxWM6ThibW1V8O0D1nwA=; b=WZibqLDSlp9tQj3m3eFdHtnNM+Mxg4gHtDLGxuWSqdkuH54f8J7Hq3sce8QuOnEXkIosdFfvP34399aDqAmgCEoBM3ZiE+A3KWPjHPxKJIw2k57myn76XFB9KeksAb8ARHHT08mxLH02MJPfrwYxucypGgRPTzF+mEmKSRqq5R/uNPL7WEf/FpM6BOyx6mBF2DmeXZSMaU7odxprchKj2RX4SoXlut8eCd08Vi8TQd2ozIzwkQvh46mQ/sHJjSK9sAtkTWTGaw0CsNWo9PHxBfZmNP3/4kzTJS0rrQAsIq1i+do5SAZivc8KhEPGyncrSYi+wPUzrmkAvQNdOV8Gsw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) by DBAPR10MB4074.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:1c9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.23; Wed, 31 Jan 2024 16:00:07 +0000 Received: from AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::33ca:62e:abfc:b1a]) by AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM ([fe80::33ca:62e:abfc:b1a%4]) with mapi id 15.20.7249.024; Wed, 31 Jan 2024 16:00:07 +0000 From: Stefan Koch To: isar-users@googlegroups.com Cc: stefan-koch@siemens.com, jan.kiszka@siemens.com, christian.storm@siemens.com, michael.adler@siemens.com, simon.sudler@siemens.com, cedric.hombourger@siemens.com, adriaan.schmidt@siemens.com, felix.moessbauer@siemens.com, ubely@ilbers.de Subject: [PATCH v5 2/4] linux-custom: Split up binaries from kernel headers to kbuild package Date: Wed, 31 Jan 2024 16:59:59 +0100 Message-Id: <20240131160001.322247-3-stefan-koch@siemens.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240131160001.322247-1-stefan-koch@siemens.com> References: <20240131160001.322247-1-stefan-koch@siemens.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR4P281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c8::8) To AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41e::11) Return-Path: stefan-koch@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR10MB4959:EE_|DBAPR10MB4074:EE_ X-MS-Office365-Filtering-Correlation-Id: cc190f51-b1eb-48f7-0da9-08dc2275b1f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qtfkbr9/foztlvtGmgP2tqRnTVTTYWw1pSexKJSZirWNCy6nEj6FcCW5hZ9YnWOac2RGGshnZpX9MqEfp2GJA2DqQfEXYCKTgd0mx9RrdcP8q7KOkmNcQFFRtLP+7vxUvEu8e30mNhlpbfmB4vJ5Q/Qpb77XryiXiyYmou6RWsZVYKpBwVGAmk+UrNkxky9Cih/99dV/RYUFFhJPUy7n0yILOsUnYc00nCi2NAtdpYRbx3fsc4PZOG+kufhJ/vAuBD/dTYx59jlC3q8qZNgCiquGtQ9ZvCgNrI+21m7+k/x4/SjQCp0mIZIFkopGXjmCA6nh0Exen0+ezftJJOUk+rXCr3bFnOL2ntpTIHC6F4Q/JwKleTE5qrEn2HYkqMqd0blPieYtYisCFczOpTbrd/jRl6kzLMz4ql3eOpmkQx1tQmCkjBW8d2gfDk438NYhkqsBuV5+Q7Toewt8ULBvMV2laxWx9uKzaZeuF2YYDGYVYlSPS9mtMuAt/bNK1uWfsKPWhvPzXmZ8Vm9FGEX4/hWdy6TOyiDprycbcf1eWz7Zvyg+0QNkXJK0Abx9GrFXQExlLJmV3rXhSm9Ex3iPEHnpsGvGfBtN2G6GnZQbgwsbby1bVlIwwA+RfjgCJt+g 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:(13230031)(346002)(366004)(136003)(396003)(39860400002)(376002)(230273577357003)(230173577357003)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(316002)(6916009)(66476007)(66946007)(66556008)(4326008)(8676002)(8936002)(6486002)(478600001)(86362001)(5660300002)(2906002)(41300700001)(36756003)(83380400001)(26005)(1076003)(38100700002)(2616005)(82960400001)(6666004)(6506007)(6512007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0cqJzTBnJ54GnNCPJhB/QpN2iZ6eZbcN1lNwdNWV9lIJoWHyOjbGRVIh+O/p?= =?us-ascii?Q?s5sSqD8phW1FJyvKAMUxla8I8R8EqiU4kB3gwqIw0ZFWCGUJ5L5Q8W4TcQzC?= =?us-ascii?Q?5YwfY2bG+/MmUMW9LPCE0N9Ou4PU5PBqeKItk0DBWZujEiA/Kmy7cGw9MJAU?= =?us-ascii?Q?HUxr7UwQckgx+cKt5+97r+TCEMYgHtHJkPlYHVEBuHkry8HlV03Tc6O/QhxP?= =?us-ascii?Q?NArvQqaZWC1sG6rnBvJASXZj7oHt9JCVZF6g5OCFR42uwl8Y93OEdsQ6nHAv?= =?us-ascii?Q?eE90FqlBPRo+36G2+IdP7GaFfkrau2YfebxqoHWl9S+inQGQLZa0p9c3m+R4?= =?us-ascii?Q?dja4BTgitt9ggF8yAvnI3WzrNm28Lgsvm6w3QYmIWCvOYw0JoI6+YhiF7aJm?= =?us-ascii?Q?4ycxi47iTWYeCQ6+yK4oERffoKIFyCrIErmBaYLV5RPpKWfpmr1kLD+hAHv/?= =?us-ascii?Q?PaTXyrWrpx5RKddNy0YB4Br8mbR7j3Pdk2aCOmPi7P2yoSDkqj63edlu+WKe?= =?us-ascii?Q?2Jy4rL49mZBAhVh2wFlcoj5HUj/69/fGGX4lP5N6lAGClm+aZRnc6YIVQiB2?= =?us-ascii?Q?DR1e7ZBrQxxxxcHra3BKAxh01Z9WNCNGLEw1AywNz8K5KcNj1M4wS0csGOBi?= =?us-ascii?Q?p+Y//RSaX77XLqW+19EiPvZnfhTs7fr8127YXFliGCa2xrp72Niast7gAGPg?= =?us-ascii?Q?6utbpZkgzDdT21eMBf5weFeV5rzCk+T+dJSRzqzpNvd5J8Xcx1rqXmNbIItA?= =?us-ascii?Q?J5e6G3ekNffeS+BGfmlxUkQP2bOKrwuRJF4xt8ZKvqRAsLFjNWhVaqBxb2Vo?= =?us-ascii?Q?Zr4ECbpq3iayxmI/A2/QmIULyweCQMaBD/u9aL52gGda/dg4SvOmLJ9kdqiW?= =?us-ascii?Q?PjO7YoY7Xj59XBF5G6a9ujz/j/5tf9o254WRGa3Vszb/APknllkLD5UQDfNS?= =?us-ascii?Q?e+1Q7M468mSHFGUVTMQK/VKwrD6Yb8usY2AFzSiDW/BD9RWpslAwgrHO+BoW?= =?us-ascii?Q?W+tgAd8gGoRq50k4XZQ92Dwt5HkPagAV+2jJTIdV9y3S5CV6GCs43LVNoIVS?= =?us-ascii?Q?dnyyUDfe6f2mgyGzre80YiztzHmXsvWOKsjY1pZdWrTFnLBBBLJsBOKnczWI?= =?us-ascii?Q?dRYMgcE2SXg4HLt3K1kF24XRyRqN1jrWHeNh2b4H4YKmeZpDKulkGtKOHwrV?= =?us-ascii?Q?zxIUZGYzUF5iJQR3CDVKsPPJbQbomY2/yaJPgDVMo6wrsen3zHjOhcDEbhQ1?= =?us-ascii?Q?+XExiOIw9a5yVSVYcoAn2C/syGjPlCtBj2uW5D8KnfUQxa7b5tFbMlRqzPFU?= =?us-ascii?Q?pbz5a/UEvNbrWqE3JQ/M/5ugSptLL+dLDrkjcptiA9ArXX1du67DYFprVIN/?= =?us-ascii?Q?qtl5eWnTQfq84uqbqNM9+UABSW8puBdco5DTavHqYUqO9e7QMZjnZoVdq8VQ?= =?us-ascii?Q?DDH/BmjH/ZcdfGzxgAKTMt9ea1QCWSfGLBw41kW8xrtvLwD0n2gObWa+4v/1?= =?us-ascii?Q?3qBCBweENW3Wykh6lrxFWuMxDURtICJiXHDl9ZKKmSUzVllXkEv3xkW4QUkk?= =?us-ascii?Q?WexQcQTFs2V3cauDgZ4SFRUkPMCv2mt+ekEWRsuy/rIXpQRUDH5Khqy7ubAl?= =?us-ascii?Q?ZA=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc190f51-b1eb-48f7-0da9-08dc2275b1f6 X-MS-Exchange-CrossTenant-AuthSource: AM9PR10MB4959.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2024 16:00:07.2937 (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: M1h32Rx0leBlmwqXtdnxst1XN882+u0hC10QUe0c4Ic3vRLvfjugSCMGe25Mcy/5wvGFvkfM6t52sKe3Eng1wA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR10MB4074 X-TUID: f88FJ/24pSb7 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/recipes-kernel/linux/files/debian/control.tmpl index 956db3e3..7f271367 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 headers + This package provides userspaces headers from the Linux kernel. These headers are used by the installed headers for GNU glibc and other system libraries. Package: linux-libc-dev-${DISTRO_ARCH}-cross @@ -46,3 +46,10 @@ Architecture: any Description: Linux kernel debugging symbols for @KR@ This package will come in handy if you need to debug the kernel. It provides 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 @KR@ + 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 9babf9a4..0944e943 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl @@ -10,6 +10,7 @@ KERNEL_PKG_IMAGE=linux-image-${KERNEL_NAME_PROVIDED} KERNEL_PKG_KERN_HEADERS=linux-headers-${KERNEL_NAME_PROVIDED} KERNEL_PKG_LIBC_HEADERS=linux-libc-dev KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross +KERNEL_PKG_KERN_KBUILD=linux-kbuild-${KERNEL_NAME_PROVIDED} # Constants KCONF=.config @@ -21,6 +22,7 @@ deb_dbg_dir=${deb_img_dir}-dbg deb_kern_hdr_dir=${deb_top_dir}/${KERNEL_PKG_KERN_HEADERS} deb_libc_hdr_dir=${deb_top_dir}/${KERNEL_PKG_LIBC_HEADERS} deb_libc_hdr_cross_dir=${deb_top_dir}/${KERNEL_PKG_LIBC_HEADERS_CROSS} +deb_kern_kbuild_dir=${deb_top_dir}/${KERNEL_PKG_KERN_KBUILD} # Array of packages to be generated declare -A kern_pkgs diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl index e91d33bb..97780dcc 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 + # Run the install steps install_image if [ "${ARCH}" != "um" ]; then install_config @@ -43,6 +44,10 @@ do_install() { install_kmods install_headers + # Cleanup and install kernel scripts and tools + rm -rf ${deb_kern_kbuild_dir} + install_kbuild ${deb_kern_kbuild_dir} + # Stop tracing set +x } @@ -171,21 +176,15 @@ kernel_headers() { mkdir -p ${destdir} mkdir -p ${deb_kern_hdr_dir}/lib/modules/${krel} - (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_files} + (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 -type d) -type f) >>${src_hdr_files} if [ -n "${CONFIG_MODULES}" ]; then echo Module.symvers >> ${obj_hdr_files} fi - (cd ${O}; find arch/${ARCH}/include include scripts -type f) >>${obj_hdr_files} - if [ -n "${CONFIG_STACK_VALIDATION}" -o -n "${CONFIG_HAVE_OBJTOOL}" ]; then - (cd ${O}; find tools/objtool -type f -executable) >>${obj_hdr_files} - 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} # deploy files that were matched above tar -C ${S} -cf - -T - <${src_hdr_files} | tar -C ${destdir} -xf - @@ -194,8 +193,11 @@ kernel_headers() { # add the kernel config cp ${O}/${KCONF} ${destdir}/.config - # 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 # create symlinks ln -sf /${kernel_headers_dir} ${deb_kern_hdr_dir}/lib/modules/${krel}/build @@ -209,4 +211,31 @@ install_headers() { kernel_headers } +install_kbuild() { + kernel_kbuild_dir=usr/lib/linux-kbuild-${krel} + destdir=${1}/${kernel_kbuild_dir} + src_kbuild_files=$(mktemp) + obj_kbuild_files=$(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_files} + 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-kernel/linux/linux-custom.inc index 14c7409b..48d86c2a 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -104,6 +104,10 @@ PROVIDES += " \ linux-image-${KERNEL_NAME_PROVIDED}-dbg \ " +# append headers depends +HEADERS_DEPENDS = ", linux-kbuild-${KERNEL_NAME_PROVIDED}" +KERNEL_HEADERS_DEBIAN_DEPENDS:append = "${HEADERS_DEPENDS}" + def get_kernel_arch(d): distro_arch = d.getVar("DISTRO_ARCH") if distro_arch in ["amd64", "i386"]: -- 2.39.2