From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7186521206604955648 X-Received: by 2002:aa7:da0f:0:b0:48c:dc0a:ab60 with SMTP id r15-20020aa7da0f000000b0048cdc0aab60mr2580558eds.15.1673242359388; Sun, 08 Jan 2023 21:32:39 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:95c8:b0:7c1:2050:cc5f with SMTP id n8-20020a17090695c800b007c12050cc5fls1906241ejy.0.-pod-prod-gmail; Sun, 08 Jan 2023 21:32:38 -0800 (PST) X-Google-Smtp-Source: AMrXdXv5oJgpgAl9L+mgemf5dJSAYoBF92LZsxWXVb2ngvvu1joZupWKFwSPyOpYo2Xlch3owc2C X-Received: by 2002:a17:906:a891:b0:7c1:4d35:a143 with SMTP id ha17-20020a170906a89100b007c14d35a143mr51620986ejb.3.1673242358013; Sun, 08 Jan 2023 21:32:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673242358; cv=none; d=google.com; s=arc-20160816; b=tHvbkXgK3FEiNgqSNXyYH1nLEiTuY8jInZ1LZMUdP9HZR4e4/J7CLDGoMZDjguanDd 9I7wkG66WkjY5y//fCqBP/hN0ZhVna6gLxdwJNAEwQ1rgalGsvVuHKBsa10l1N8EdWfV cAtRc+vQNxrCQYbABXNyQtm/YxqAuds+rhGjXsPyOgptVWH7pjgwMIqs0cmwj0kFYd3J PkErKg+V4mwGRkLZypjM9+10FzJdwaWD32/gd+9Wq9wlQe4DlcPas1DmjIOEhwFIhf6O iZUEJJXr7tzOptIpenefmgPbDTXeBJrQ0Hp8DjNmTH7eJ1EucH6QYwLDVgP3I9NYARFo 0epw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=0Q0P22kKBKI/sOBPxoXhW82MhViY4r3vhBC+UyYcG9c=; b=gWlJIOorpWrpaYgg5d8i2Ol52neq9oBa7/FGCLLl+GKWicZRGCZYkwi+LdnRpKf2lG f16lEW8mulvyWckliPbxoom8frLVCuD0pcWW6ic8Om32cR7mNq6ALrJQmlXRP5qG4FBt e+IBedK6cRDk8amUWYUzuzvYed9Sink7TcXTsQnl2sColNK2SkiQ/HQWG7uD80NxMtlB xhcXeFOoZ1TcuAcsKIMESgNh2L+y9IBXsA/zb6Lt9lHd3O5PLUupH1CFF51HzP+NrOQ+ holVnqw0ZIIF+MYyLhjaRkkpSVlmaPGj9gbRvBFmWf92Xkn+Ixj5u0l2SITAA2bftb5W sDqQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZSzkS7Xq; spf=pass (google.com: domain of fm-294854-20230109053237e368cdaea35619a893-rg9mkj@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-294854-20230109053237e368cdaea35619a893-rG9mkj@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id mm6-20020a170906cc4600b007c16d82962dsi330524ejb.0.2023.01.08.21.32.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Jan 2023 21:32:38 -0800 (PST) Received-SPF: pass (google.com: domain of fm-294854-20230109053237e368cdaea35619a893-rg9mkj@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZSzkS7Xq; spf=pass (google.com: domain of fm-294854-20230109053237e368cdaea35619a893-rg9mkj@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-294854-20230109053237e368cdaea35619a893-rG9mkj@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20230109053237e368cdaea35619a893 for ; Mon, 09 Jan 2023 06:32:37 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=jan.kiszka@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References:In-Reply-To; bh=0Q0P22kKBKI/sOBPxoXhW82MhViY4r3vhBC+UyYcG9c=; b=ZSzkS7XqQ3Ct3O0TYu42+FyCbz1ECm5V0VFv08cu2mDySvcz3daRhsE6y7UM19Lr1oWQ4q CmM6BloAzlDsCYNGzAleARhhoH8lztvaCHdh3g3ItMlVNTiYevQUzlRlXLsSEnsYnlDzZbXx zt/YnsB7grCSvBtHpY/3vdpvmvNsE=; From: Jan Kiszka To: isar-users Subject: [PATCH 4/4] sbuild-chroot: Pre-install also libcpp-*-dev and libstdc++-*-dev Date: Mon, 9 Jan 2023 06:32:35 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-TUID: it3j5lUHtARN From: Jan Kiszka Basically the same story as for libc6-dev: gcc and g++ pull those in for the native case, but the cross-compilers will only pull the respective dev-*-cross packages which do not help to fulfill build dependencies. As those package names depend on the compiler version, introduce a new distro configuration variable DISTRO_GCC. If it is set, it shall contain the default gcc version number. If it is not set, the pre-installation optimization is skipped by sbuild-chroot. DISTRO_GCC is set for all in-tree distro versions except for sid as it is too much of a moving target there. Signed-off-by: Jan Kiszka --- meta-isar/conf/distro/raspios-bullseye.conf | 2 ++ meta-isar/conf/distro/ubuntu-focal.conf | 2 ++ meta/conf/distro/debian-bookworm.conf | 2 ++ meta/conf/distro/debian-bullseye.conf | 2 ++ meta/conf/distro/debian-buster.conf | 2 ++ .../sbuild-chroot/sbuild-chroot.inc | 18 ++++++++++++++++++ 6 files changed, 28 insertions(+) diff --git a/meta-isar/conf/distro/raspios-bullseye.conf b/meta-isar/conf/distro/raspios-bullseye.conf index 1f65c3cd..2ba2c75c 100644 --- a/meta-isar/conf/distro/raspios-bullseye.conf +++ b/meta-isar/conf/distro/raspios-bullseye.conf @@ -23,3 +23,5 @@ DISTRO_KERNELS ?= "kernel kernel7 kernel7l kernel8" THIRD_PARTY_APT_KEYS += "http://archive.raspberrypi.org/debian/raspberrypi.gpg.key;sha256sum=76603890d82a492175caf17aba68dc73acb1189c9fd58ec0c19145dfa3866d56" COMPAT_DISTRO_ARCH_arm64 = "armhf" + +DISTRO_GCC = "10" diff --git a/meta-isar/conf/distro/ubuntu-focal.conf b/meta-isar/conf/distro/ubuntu-focal.conf index 084f8e3d..eb7a1e80 100644 --- a/meta-isar/conf/distro/ubuntu-focal.conf +++ b/meta-isar/conf/distro/ubuntu-focal.conf @@ -26,3 +26,5 @@ IMAGE_PREINSTALL += "init" IMAGE_PREINSTALL += "initramfs-tools" WIC_IMAGER_INSTALL += "python3-distutils" + +DISTRO_GCC = "9" diff --git a/meta/conf/distro/debian-bookworm.conf b/meta/conf/distro/debian-bookworm.conf index 7e614bf2..d0599dc6 100644 --- a/meta/conf/distro/debian-bookworm.conf +++ b/meta/conf/distro/debian-bookworm.conf @@ -13,3 +13,5 @@ DISTRO_KERNELS ?= "4kc-malta 5kc-malta 686-pae 686 alpha-generic alpha-smp \ mips64r6el octeon parisc parisc64 powerpc-smp powerpc powerpc64 \ powerpc64le riscv64 rpi rt-686-pae rt-amd64 rt-arm64 rt-armmp \ s390x sh7751r sh7785lcr sparc64-smp sparc64" + +DISTRO_GCC = "12" diff --git a/meta/conf/distro/debian-bullseye.conf b/meta/conf/distro/debian-bullseye.conf index 9e072692..9b76e68a 100644 --- a/meta/conf/distro/debian-bullseye.conf +++ b/meta/conf/distro/debian-bullseye.conf @@ -10,3 +10,5 @@ DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" DISTRO_KERNELS ?= "4kc-malta 5kc-malta 686 686-pae amd64 arm64 armmp \ armmp-lpae cloud-amd64 loongson-3 octeon powerpc64le rpi s390x marvell \ rt-686-pae rt-amd64 rt-arm64 rt-armmp" + +DISTRO_GCC = "10" diff --git a/meta/conf/distro/debian-buster.conf b/meta/conf/distro/debian-buster.conf index c882460a..025fc936 100644 --- a/meta/conf/distro/debian-buster.conf +++ b/meta/conf/distro/debian-buster.conf @@ -10,3 +10,5 @@ DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh" DISTRO_KERNELS ?= "4kc-malta 5kc-malta 686 686-pae amd64 arm64 armmp \ armmp-lpae cloud-amd64 loongson-3 marvell octeon powerpc64le rpi s390x \ rt-686-pae rt-amd64 rt-arm64 rt-armmp" + +DISTRO_GCC = "8" diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index 08a2d55d..9336c0cc 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -10,6 +10,24 @@ PV = "1.0" inherit rootfs +python() { + distro_gcc = d.getVar('DISTRO_GCC') + distro_arch = d.getVar('DISTRO_ARCH') + + if d.getVar('DISTRO_GCC'): + d.appendVar('SBUILD_CHROOT_PREINSTALL_COMMON', + ' libgcc-{}-dev:{}'.format(distro_gcc, distro_arch)) + d.appendVar('SBUILD_CHROOT_PREINSTALL_COMMON', + ' libstdc++-{}-dev:{}'.format(distro_gcc, distro_arch)) + + if d.getVar('ISAR_ENABLE_COMPAT_ARCH') == '1': + compat_arch = d.getVar('COMPAT_DISTRO_ARCH') + d.appendVar('SBUILD_CHROOT_COMPAT_PREINSTALL', + ' libgcc-{}-dev:{}'.format(distro_gcc, compat_arch)) + d.appendVar('SBUILD_CHROOT_COMPAT_PREINSTALL', + ' libstdc++-{}-dev:{}'.format(distro_gcc, compat_arch)) +} + SBUILD_CHROOT_COMPAT_PREINSTALL_compat-arch = " \ libc6-dev:${COMPAT_DISTRO_ARCH} \ crossbuild-essential-${COMPAT_DISTRO_ARCH}" -- 2.35.3