From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7044234567900725248 X-Received: by 2002:a1c:19c1:: with SMTP id 184mr2821001wmz.61.1641928398028; Tue, 11 Jan 2022 11:13:18 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:e390:: with SMTP id e16ls201124wrm.0.gmail; Tue, 11 Jan 2022 11:13:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJzQmoaTU4h+SL4XTaataDe5XpbsgWmS3RtxHVAukelXzBq+BSzHzGCVTYasakRhO+EE3eEZ X-Received: by 2002:adf:ce07:: with SMTP id p7mr5115550wrn.329.1641928397159; Tue, 11 Jan 2022 11:13:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1641928397; cv=pass; d=google.com; s=arc-20160816; b=E05LXmSciTQ33HT9FkpvhPQvvvyrT1A8aFSYlsD+b+5EOtIxlj+jowdhlKj+9QHMSS Zi9Kyr1+zyFfoWGdc1NGVpW2lsxtvUB5kTN8HtxFDxP+M0zm2k+QppIZc0sBjophhEQB m6BjixQXeAC8ZZFfhjXqnodZym4ASOBBolS8sCnEx6bEe7ootrpGp38W04ZLEgG220zo oB1Qoqt6TYv+H3kknPLNMd7HMbng+3kAsuccR76ehgbqUo7MRgtkDLNneA0cRjj+zRQ9 VzbGEidPBCdlRJaybbx0QMzdspdXYudy4nhdy2g94BYZQ2hoMhUuqR6l2aJTd/ye6au9 8n9w== 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=bT+43mFC/yrqwexq8jVQn2lajCv9ewgD+veux4uzrRk=; b=l+mqRe6anrCdlm7sKrpbFmWx+BRBFFOF7tOMffByO5S6+VTewbGF+GUix/2FjBU+Vk yNQEEYGOIgKbW+ruTMi9Y7Q1ioVNZEug0DUGTNOqSODDlLWvNb/W/V3wc923pnkdriG1 z51gCDangwCYpjI9RU3PYDUYB/QDy1WwdQ9FDpwYUVzvvNTP4cA86Y38bOZHBhBhRkwb Lv6lm2AD3e5rwXua7zKWcEikzAiRm9IHZUu6MV9ifdw+37uwi19PXO23oD5AQ1Op6p6U CDQ6W9TtgnUNtMKpOFr20Ic0JGrCb+Y1VMNoJvRPH3YCfuArmNEnMznoOreoMmxUM3Rl vJzQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=nXsCI0nM; 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 40.107.21.55 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-vi1eur05on2055.outbound.protection.outlook.com. [40.107.21.55]) by gmr-mx.google.com with ESMTPS id az12si419648wrb.6.2022.01.11.11.13.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jan 2022 11:13:17 -0800 (PST) Received-SPF: pass (google.com: domain of felix.moessbauer@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=nXsCI0nM; 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 40.107.21.55 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=SdjnazIONqY8qGKyoc21Uu7pxCehsld/rPm5o7lrlfzbIyygH51RZ2p9aULhFfQYNfeE6Cfgo2MB8alwhQ/NuxubML6c5MI9X/YAKfyww0eRhgXEr2C2NfJCMSXFMFx/dqpevVzX6dSXy4Gls8h+MwezsksPfSYp0oMNvf4Nr67NKziB3bOPnrrCj+zIrpq2GhbSTKXccJYHQGd5+LfJNq5drj95jZr72LqeOg6b5U0koYPZk8/lvRbPEVqYLBAfAERAuifXGoi4YFmAeyav2utj6viHqu1HBaOs0ZOXDi9g82aL9IOxg2pYxuKUHypyUJk+yalXUGmNtwh/KO8XZw== 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=bT+43mFC/yrqwexq8jVQn2lajCv9ewgD+veux4uzrRk=; b=YPkYS59jrQnXaUmFW4v7o3sBtA/m6HE6vAWmgwueAr4Kp5Dv2dvDmhhuuvljMw109nP3okTWX07Y68pRDx9VrwokC7SO4ID/EE2A3+i/OsPnkU9Lx6r+Y1cmqwjLiIOShXYM6smfekLfsi5+2/7Q49rVGoyUgbUVGghMpmee/XNqzw45cUx0Ss6O+DJFQyMZK5hVrALF9KY7Hsg5ZHvohu6vkHAjJImdzAJNDz5/+565tHdneobFUpe8NPdOrw0bR5AG9cLmoGJV6cpcv5jwj67dTpPfmTNoL5gIhFQuKV8OYnGnz/WRKHHXsEg53k1aClcgyLmaIyr/aPGRKLMFGQ== 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=bT+43mFC/yrqwexq8jVQn2lajCv9ewgD+veux4uzrRk=; b=nXsCI0nMEc6Oadwei6kg3JYWys6nRbZAmtnmy6e67XnbbUlVSYJjy0E4fZCnTX+ibFyT6PMIeOY8VepKRxaHiUQhTrXyogGOtagAtwaPKeGmooQF9hPNHaNFIMZTP3U0D7YeKZsEyI/hV/iqjiKpxP1i0z1nCMDFSuAaOFWlAiS9mUt/voRUrP2FitUFdN3LyM98ANFvBPGlkWFv1I6HceVhBW9gn+mIumjYUmWpOTCZNem10YAgbhsnUa8MtQz3sqhtQdZGbGPKztaRMd796C4Zzzyu6N5s/koVVHJaVdv0MNsJLxzfJF1iiMQNHZi4lOZBV20T51ubl5bMUX0LzQ== Received: from AM5PR1001CA0050.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::27) by DB6PR10MB1814.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:6:3d::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Tue, 11 Jan 2022 19:13:15 +0000 Received: from VE1EUR01FT044.eop-EUR01.prod.protection.outlook.com (2603:10a6:206:15:cafe::d9) by AM5PR1001CA0050.outlook.office365.com (2603:10a6:206:15::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend Transport; Tue, 11 Jan 2022 19:13:15 +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 VE1EUR01FT044.mail.protection.outlook.com (10.152.3.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.9 via Frontend Transport; Tue, 11 Jan 2022 19:13:15 +0000 Received: from DEMCHDC8A1A.ad011.siemens.net (139.25.226.107) 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; Tue, 11 Jan 2022 20:13:14 +0100 Received: from MD1T0KAC-VM.ad001.siemens.net (139.25.68.224) by DEMCHDC8A1A.ad011.siemens.net (139.25.226.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 11 Jan 2022 20:13:14 +0100 From: Felix Moessbauer To: CC: , , "Felix Moessbauer" Subject: [PATCH v4 1/3] add support for debian build profiles and options Date: Tue, 11 Jan 2022 20:12:46 +0100 Message-ID: <20220111191248.3132088-2-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220111191248.3132088-1-felix.moessbauer@siemens.com> References: <20220111191248.3132088-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: DEMCHDC8A1A.ad011.siemens.net (139.25.226.107) To DEMCHDC8A1A.ad011.siemens.net (139.25.226.107) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dde47063-6ec4-4e4c-8aa5-08d9d5366b3f X-MS-TrafficTypeDiagnostic: DB6PR10MB1814: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: tye1XeyUzSgQz8mid470KBp+aq2F12piA+ylMeeHtQzxJvi7GHJcNtztnFsqhD8QfavyD9mIhxLdq29vLcl7RBtg0TBLvmKiAXXPO7w/aCf/PMUVdBWiTY+LX2xq6rto+narAyVYIPLodEepkYvVBQDfa2ZbQHRV31In6HS+o6YFkCDI0iQwUYNwA+jHJ65yOASyMOCnWnolqYCliK5aW7zkYT3QB1y5No0luagCk38oBsTfu8ScyyEAPRnFLynVBdtX3UAb2HQyANa/JpZdUB2a7yVdls1vfydQFfqZZNLZjQc6OEiGBc0X2dkFB2tPtF0PLSbaHkIG8Bi4+qp2EOifsQiqG2cgel5+hZUxWEYmCo2RVyfcRjb99arTWKpVLZVLRLtslEy1lDb8wPsymD8HqVRPcdmAl0hWSvqlVAbffxdx4aVgq7I+tQ06hFUKHdWvJYNPZdSXZ0ni3sZQwyu41WhdZEw3SIvfth4n1zQfiJs8Yq+BGvnMYyHVLAs4UF3GUCdkYRWGk2TeeGrMzTD1MA7NuXVQ/sJ3TprxAMfMcgEjDaWU00yNX9a+YdjDBOPgi3XnqU76RRGvw4JaeIMCqqcuH2gW1n8vS1KekuaIqzVRkCIXofS70jbgD+qC13DFmyku1fUxwpKlEV6aMvCM7yZRIuAwzDDkW1SVpE0hoSO0/FgeQ8tus9YcApwjq0EcsFcb09YDi2CqImA4SeX/JtKeeVOswU0YpprdEMZ/rIAkULXTOMcbUO+49KslBNgJI7e5eF8WQGuCWVKMb3TUgCXr79gvb0YZonUB5+E= 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)(40470700002)(46966006)(36840700001)(47076005)(356005)(82960400001)(6916009)(107886003)(8936002)(4326008)(81166007)(8676002)(2906002)(36860700001)(26005)(316002)(16526019)(82310400004)(6666004)(186003)(70586007)(508600001)(54906003)(86362001)(1076003)(36756003)(336012)(83380400001)(70206006)(956004)(2616005)(44832011)(5660300002)(40460700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 19:13:15.3443 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dde47063-6ec4-4e4c-8aa5-08d9d5366b3f 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: VE1EUR01FT044.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR10MB1814 X-TUID: wsHAfDNd432i 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..de35bcd5 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['DEB_BUILD_OPTIONS'] = isar_deb_build_options(d) + os['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