From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7044234567900725248 X-Received: by 2002:a5d:6908:: with SMTP id t8mr62202wru.382.1641998411734; Wed, 12 Jan 2022 06:40:11 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:e390:: with SMTP id e16ls21163wrm.0.gmail; Wed, 12 Jan 2022 06:40:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJwSn8I6X8TexnT6Je2r8As95mjd71Ofncn0WGsymjztpxd7SxsvBfOrV5tl1cRH2oJBuDhO X-Received: by 2002:adf:e40f:: with SMTP id g15mr50815wrm.600.1641998410875; Wed, 12 Jan 2022 06:40:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1641998410; cv=pass; d=google.com; s=arc-20160816; b=nFu3qMf0witvw6LINbL0MyNg0fweAFQWJs8nE7Us0jT0XLQV0k+qrW6ir38b4wZ8NU DvQ76xT0uEpvR9T8JmR9odX1oq5/19Zaa7IEDYOBSaa449qenC16zi71H6n7XSYLfho7 A3bpP+dC2XXMi0AtRnRDZyt0TbFdIZpSmSeA8OXKM4R3c8u/w8iJbN7YLm7t5NEMFdH1 6f+IC7sRcs0Lynzn6ruEUiE1BlnUkXe9CxIO8Y1SwOoYqmhpR8W63z7i0WKkxLzwltHv yxrsD/uDp0T9JbhAiglHxfS5GoSiCMO2kXfVYKiQnDn0+K+nT8AOA7UpraF73zn/L++N BTlA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=W8YfY8DdZeoMa9wXEf/bwF1M+QS4vTENQml8jtugAFs=; b=y8kzPYV9kBXiECsm/ODZJ0dEysgnMbiotvHFsfbTvaySaxHfBQQ/9OzCQjoSzkZ5xY JE+9IEfVm9dgv9Ld8dtF27hwfPfaMsAlsHNNt0wxWWApu+jORSpkElEYk5+GLWErzkXd KtXtdoqcF+LF5gI0g8Hf5+qhmyrp2l5B6z+fmdTFLxMcVh/0feROdSLkY1WmBxPavno1 qe3JGT2Ubm+4Lf6RfrJr5+dWIiTeAVZkVtTOyNnpLmqlI5xGy0IjcM9y5CkWjybQvUUh 2cXGYBD0apaPcBNCHn7H4l9gy3MDBOP39n8gLtoMVgeUnLy2gOdJFoL2dN1SsERU8hPH 1dEw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Fiv6LcpX; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7d00::631 as permitted sender) smtp.mailfrom=felix.moessbauer@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-vi1eur05on20631.outbound.protection.outlook.com. [2a01:111:f400:7d00::631]) by gmr-mx.google.com with ESMTPS id s202si276041wme.2.2022.01.12.06.40.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Jan 2022 06:40:10 -0800 (PST) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7d00::631 as permitted sender) client-ip=2a01:111:f400:7d00::631; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Fiv6LcpX; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f400:7d00::631 as permitted sender) smtp.mailfrom=felix.moessbauer@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=biomkx1YQcWtPuQBn5ROq346fPvE3BP6xH0lDMV2Tr9hpnILb0/RYTA9k0KX6bSOLqt4VJiJCoPruW0S46+v7zJnIP4BsSNJbKXm7lDRIw4ju6x5ZcMdpKQZEH1eSkf7ayrScqDYW857X6Zkhd9CZqvmQubPz7R9rVhdCWUwlHXicuZjdYcYT/INoiq54LamjNxwdjv0p7dDVkejO5ZreodPCw+jOIbtNbnTMKCcd0FYKmySQi4fXcTayAn1RoTFFU4bA745WOixdOjzXOuzbb2ntgwysq5hC1DtylPZ1foQ+OCZ9t94G2y1G7guBhsrHLQnUvikX8qIDXw9pD6pbA== 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=W8YfY8DdZeoMa9wXEf/bwF1M+QS4vTENQml8jtugAFs=; b=HWJOSxkHk2i0yDOwtDAQ9EhBo4+V7LRGKh2OJXbFlwiwArZRORUHYjGDi5IYpaoyLCjZn9+eWXePppmwtpJcb9hvKtW7nU7WyLLjH9XyrRNYXH/wlsY6toP/CgZs0SANcY11uH+AgTl+Y0o+LhviZUwmsPupZGWI+IKsmpK3sarmeJ4k3Gkizbcpb2S0e4fqHHwZEob4HQGSVLAx/1KzoQASB9hScMtmkUOsLV9AfXz5jpzyn69dEilvQQ8UnSOibSXAeMM1HMQUmpO39/qQhXeeD2LV10CNCROegCy8zGqtNHGSKSU3pm7/ncyUc72p0bo1CBBawtVS0KLgMzGO7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.72) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); 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=W8YfY8DdZeoMa9wXEf/bwF1M+QS4vTENQml8jtugAFs=; b=Fiv6LcpXIbzymX1qjAF5J6HlHhtarThWO2prHr9m3qSkEOIwdzF67wF6MPOmzHlJDQqhXooESFR1rANKzJbYfZN1/cX+n44HNfz87x4/pUUthkyATp1RkB4AN7QOHgGBRagLyw6OM/p2bdMWDbSKCXqsXw6nwWrdTT1OhEl7cd4ql2AdXmBvMEukSRuPytg2ZCC+WK7A+CFrRZnQC8hPQfigLDHynZyBGEh9ROfrL63X3/fs7M69kY9dJw2uCNPidSHvog8YvMO8wVPTx4YxzBV13YjF4Z3Df3VB7DvvLidQHENeX6dZpUfbDoM3E3Bcvy5UuCmriAKSeXX3S8KTsA== Received: from AM6PR10CA0005.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::18) by AS8PR10MB5108.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:427::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Wed, 12 Jan 2022 14:40:09 +0000 Received: from VE1EUR01FT034.eop-EUR01.prod.protection.outlook.com (2603:10a6:209:89:cafe::45) by AM6PR10CA0005.outlook.office365.com (2603:10a6:209:89::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend Transport; Wed, 12 Jan 2022 14:40:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.72) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.72 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.72; helo=hybrid.siemens.com; Received: from hybrid.siemens.com (194.138.21.72) by VE1EUR01FT034.mail.protection.outlook.com (10.152.2.235) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4888.9 via Frontend Transport; Wed, 12 Jan 2022 14:40:09 +0000 Received: from DEMCHDC89YA.ad011.siemens.net (139.25.226.104) by DEMCHDC9SMA.ad011.siemens.net (194.138.21.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Wed, 12 Jan 2022 15:40:09 +0100 Received: from MD1T0KAC-VM.ad001.siemens.net (139.25.68.224) by DEMCHDC89YA.ad011.siemens.net (139.25.226.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Wed, 12 Jan 2022 15:40:08 +0100 From: Felix Moessbauer To: CC: , , "Felix Moessbauer" Subject: [PATCH v5 1/3] add support for debian build profiles and options Date: Wed, 12 Jan 2022 15:39:47 +0100 Message-ID: <20220112143949.3456842-2-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220112143949.3456842-1-felix.moessbauer@siemens.com> References: <20220112143949.3456842-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: felix.moessbauer@siemens.com X-Originating-IP: [139.25.68.224] X-ClientProxiedBy: DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) To DEMCHDC89YA.ad011.siemens.net (139.25.226.104) X-TM-AS-Product-Ver: SMEX-14.0.0.3080-8.6.1018-26650.000 X-TM-AS-Result: No-10--17.582000-8.000000 X-TMASE-MatchedRID: 3qJZql1QINV4FTWzKCjc1RJDErdDEki6Jz3M6ziC1Qh0+657dxGJGNhQ O8CvZj/X0k76xiWF9Kg+ZZvlQwSOBNZfk3R0CkuFXncnPcSgkahPOQHvrzcuc2wTEruL9ObTP6T ki+9nU39YwVHjLI3nekAc6DyoS2rIj6kCfX0Edc4vUAtX6vsFXBm83hQoQdoOqSG7nd+vxDdCie YsjWBj6c3UZ73v5H/U0gBj6P4sfsfFcK+4o085Ql9QwtoILPgbKzkmdVX91CK/Mr1Q0Ghc6CRZ6 QpWwrVEqRTAHcwAECdvUFOQMl+p5SN2CQKQh4SvGFw7bfIXGr4YDQn95unB84rkmrf0Igi/En1v eP9pZ+VWw5sMt9VCxIc7DaU6vSPu03qPzn8cDeKbKItl61J/yZ+inTK0bC9eKrauXd3MZDU980q e9xzB3A== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--17.582000-8.000000 X-TMASE-Version: SMEX-14.0.0.3080-8.6.1018-26650.000 X-TM-SNTS-SMTP: 07798CCDA9600335D4FC5DCCC0E99F5CD5ED6E99D65A6B6BA82FC766E875DA632000:8 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 28597e63-2956-4de8-5184-08d9d5d96eed X-MS-TrafficTypeDiagnostic: AS8PR10MB5108:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j2xUm8nSpqX2U8P9PcEpnfWMa1/uHpUYUbW7GV/wDXAdei6AN3kovLF58AucnYI6HxNK8oSAkzxOechsxeEVEYILnmKAnyirL0NZ00YbKS/ebC2lJh4AxZGtsfbPMWJaY9QlAPr2R88Wx+6LXs/VKP4WEDgbJfb7K+mERsZC0gYYCZpsnXTlYf8vuUHoTPMP8aTgxlh7xAEbWyaiDaFt8VmWGNbE3bPHz8obGEfnyYzZrIiCVhFePpyylzr+3wBog2x5woB6jsJ9yi/bBbfhSt43sW+/42E57C44p03l8LunJug9OGAkNUGciyKxABKvQG8PlzSXlXmAbAJ6BjAHMsa65YHe2vvHtVoV4Jdhfyiz8RyxqJijHnlQi6hF8+QSpP5BDc6+tVJ+e1w/D6HpwM8vDSPAP+uxQgK2FnwlPZGseFFVE28PDWJS2UNLwW2+VDSSKMiVrhSpHuRI7Iv3S3ufYfa+MaWvRJmNFrucWo0R7vm2wcFBmrfJpHPYuw/4A03x1PfWVl6VBsgOlpMqEcPeoxU0rWj+8fvt+otkxMOjbvXqv3K3jcJSntWCl1IxIaonVMSDAxeCKr4P2ypVYGEUtz/aSC6R8fTyMRuH1Jmzx3NNmYH/4fdfbmB5ZNbw6uxNQiZNsh6JDdxQFac0yhuKDEdNn5A2Nx67PoIk6lY9I/0fdK6i1mXkLje3HZHHpOr2cI/9fFzPOXfNYnpL0amwl9tNRp99rzXDXS0ijoCwgR2R1Ef+yNT7z4PTLP2Ku/W2mqWKOKh/ijIBxZNqw78llfayUSQRHQ4Q5wuned8= X-Forefront-Antispam-Report: CIP:194.138.21.72;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(40470700002)(46966006)(70586007)(83380400001)(54906003)(26005)(70206006)(508600001)(356005)(956004)(2616005)(8676002)(40460700001)(82310400004)(2906002)(6666004)(81166007)(1076003)(186003)(16526019)(107886003)(36860700001)(316002)(44832011)(336012)(36756003)(5660300002)(8936002)(82960400001)(86362001)(6916009)(4326008)(47076005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 14:40:09.4833 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 28597e63-2956-4de8-5184-08d9d5d96eed X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;Ip=[194.138.21.72];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR01FT034.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB5108 X-TUID: Sl/FkpfVO/vi This patch adds the bitbake variables DEB_BUILD_PROFILES and DEB_BUILD_OPTIONS. These are used to define the respective environment variables. When cross-compiling, "cross" is added to the DEB_BUILD_PROFILES environment variable. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 8 ++++++++ meta/classes/dpkg-base.bbclass | 19 +++++++++++++++++++ meta/classes/dpkg.bbclass | 7 ++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 3bbb42a9..39a1616b 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -314,3 +314,11 @@ The "NAME" used to be rather static and the TAG was always "latest", now the val ### Renamed variable CONTAINER_FORMATS to CONTAINER_IMAGE_FORMATS The meaning remains the same, just the name changed. +### Introduce debian build profiles + +All recipes that inherit from dpkg and dpkg-base can utilize the variables `DEB_BUILD_PROFILES` and `DEB_BUILD_OPTIONS`. +The bitbake variable defines the respective environment variable which is available in `do_install_builddeps` and `do_dpkg_build`. +When cross compiling, `cross` is added to the `DEB_BUILD_PROFILES` environment variable. +Please note, that manually exported versions of the variables are overwritten. + +For a list of well-known Debian build profiles and common practices, we refer to Debian's BuildProfileSpec. diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index cb5ce4a9..202cc115 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -13,6 +13,8 @@ inherit deb-dl-dir DEPENDS ?= "" DEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}" +DEB_BUILD_PROFILES ?= "" +DEB_BUILD_OPTIONS ?= "" python do_adjust_git() { import subprocess @@ -201,6 +203,22 @@ dpkg_runbuild() { die "This should never be called, overwrite it in your derived class" } +def isar_deb_build_profiles(d): + deb_build_profiles = d.getVar('DEB_BUILD_PROFILES', True) + if d.getVar("ISAR_CROSS_COMPILE") == "1": + deb_build_profiles += ' cross' + return deb_build_profiles.strip() + +def isar_deb_build_options(d): + deb_build_options = d.getVar('DEB_BUILD_OPTIONS', True) + return deb_build_options.strip() + +# use with caution: might contaminate multiple tasks +def isar_export_build_settings(d): + import os + os.environ['DEB_BUILD_OPTIONS'] = isar_deb_build_options(d) + os.environ['DEB_BUILD_PROFILES'] = isar_deb_build_profiles(d) + python do_dpkg_build() { lock = bb.utils.lockfile(d.getVar("REPO_ISAR_DIR") + "/isar.lock", shared=True) @@ -279,6 +297,7 @@ python do_devshell() { isar_export_proxies(d) isar_export_ccache(d) + isar_export_build_settings(d) buildchroot = d.getVar('BUILDCHROOT_DIR') pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS')) diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 27fe84f4..320102ba 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -9,10 +9,13 @@ PACKAGE_ARCH ?= "${DISTRO_ARCH}" do_install_builddeps() { dpkg_do_mounts E="${@ isar_export_proxies(d)}" + export DEB_BUILD_OPTIONS="${@ isar_deb_build_options(d)}" + export DEB_BUILD_PROFILES="${@ isar_deb_build_profiles(d)}" distro="${DISTRO}" if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then - distro="${HOST_DISTRO}" + distro="${HOST_DISTRO}" fi + deb_dl_dir_import "${BUILDCHROOT_DIR}" "${distro}" sudo -E chroot ${BUILDCHROOT_DIR} /isar/deps.sh \ ${PP}/${PPS} ${PACKAGE_ARCH} --download-only @@ -33,6 +36,8 @@ addtask devshell after do_install_builddeps dpkg_runbuild() { E="${@ isar_export_proxies(d)}" E="${@ isar_export_ccache(d)}" + export DEB_BUILD_OPTIONS="${@ isar_deb_build_options(d)}" + export DEB_BUILD_PROFILES="${@ isar_deb_build_profiles(d)}" export PARALLEL_MAKE="${PARALLEL_MAKE}" sudo -E chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \ /isar/build.sh ${PP}/${PPS} ${PACKAGE_ARCH} -- 2.30.2