From: "Schmidt, Adriaan" <adriaan.schmidt@siemens.com>
To: "Kiszka, Jan" <jan.kiszka@siemens.com>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Subject: RE: [PATCH 3/3] remove obsolete compat-arch override
Date: Mon, 6 Feb 2023 14:22:18 +0000 [thread overview]
Message-ID: <AS4PR10MB5318BED04B1B1A7556E4FF31EDDA9@AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <AS4PR10MB53186E063C75CC2428C3C1CAEDDA9@AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM>
Schmidt, Adriaan, Montag, 6. Februar 2023 14:35:
> Kiszka, Jan (T CED) <jan.kiszka@siemens.com>, 6. Februar 2023 14:01:
> > On 06.02.23 13:20, Adriaan Schmidt wrote:
> > > The compat-arch override is no longer needed, as PACKAGE_ARCH is
> controlled
> > > by DEPENDing on <package>-compat.
> > >
> > > Also change the compat test: adding the compat package now happens via
> > > IMAGE_INSTALL in the config.
> > >
> > > Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
> > > ---
> > > meta-isar/recipes-app/hello-isar/hello-isar.bb | 3 ---
> > > meta-isar/recipes-app/libhello/libhello.bb | 3 ---
> > > meta/conf/bitbake.conf | 3 +--
> > > .../recipes-core/isar-bootstrap/isar-bootstrap.inc | 2 ++
> > > .../sbuild-chroot/sbuild-chroot.inc | 14 ++++++++------
> > > testsuite/cibuilder.py | 2 ++
> > > 6 files changed, 13 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb b/meta-
> > isar/recipes-app/hello-isar/hello-isar.bb
> > > index 39ddecb9..7d9f8322 100644
> > > --- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> > > +++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb
> > > @@ -20,7 +20,4 @@ SRC_URI = " \
> > > file://yet-another-change.txt;apply=yes;striplevel=0"
> > > SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d"
> > >
> > > -# NOTE: This is just to test 32-bit building on 64-bit archs.
> > > -PACKAGE_ARCH:compat-arch = "${COMPAT_DISTRO_ARCH}"
> > > -
> > > inherit dpkg
> > > diff --git a/meta-isar/recipes-app/libhello/libhello.bb b/meta-
> > isar/recipes-app/libhello/libhello.bb
> > > index 3770fdb4..8b10842f 100644
> > > --- a/meta-isar/recipes-app/libhello/libhello.bb
> > > +++ b/meta-isar/recipes-app/libhello/libhello.bb
> > > @@ -13,7 +13,4 @@ PV = "0.1-98f2e41"
> > > SRC_URI =
> >
> "git://github.com/ilbers/libhello.git;protocol=https;branch=master;destsuffix
> > =${P}"
> > > SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
> > >
> > > -# NOTE: This is just to test 32-bit building on 64-bit archs.
> > > -PACKAGE_ARCH:compat-arch = "${COMPAT_DISTRO_ARCH}"
> > > -
> > > inherit dpkg
> > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > > index f38bb447..1f010f4b 100644
> > > --- a/meta/conf/bitbake.conf
> > > +++ b/meta/conf/bitbake.conf
> > > @@ -67,9 +67,8 @@ KERNEL_FILE:mipsel ?= "vmlinux"
> > > KERNEL_FILE:riscv64 ?= "vmlinux"
> > > KERNEL_FILE:arm64 ?= "vmlinux"
> > >
> > > -OVERRIDES =
> >
> "${PACKAGE_ARCH}:${COMPAT_OVERRIDE}:${MACHINE}:${DISTRO}:${BASE_DISTRO_CODENA
> > ME}:forcevariable"
> > > +OVERRIDES =
> >
> "${PACKAGE_ARCH}:${MACHINE}:${DISTRO}:${BASE_DISTRO_CODENAME}:forcevariable"
> > > FILESOVERRIDES = "${PACKAGE_ARCH}:${MACHINE}"
> > > -COMPAT_OVERRIDE = "${@'compat-arch' if
> d.getVar('ISAR_ENABLE_COMPAT_ARCH')
> > == '1' else ''}"
> > >
> > > # Setting default QEMU_ARCH variables for different DISTRO_ARCH:
> > > QEMU_ARCH:amd64 = "x86_64"
> > > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> > > index 99d75e21..21a2d92f 100644
> > > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> > > +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> > > @@ -274,6 +274,8 @@ do_bootstrap[dirs] = "${DEPLOY_DIR_BOOTSTRAP}"
> > > do_bootstrap[depends] = "base-apt:do_cache isar-apt:do_cache_config"
> > > do_bootstrap[network] = "${TASK_USE_NETWORK_AND_SUDO}"
> > >
> > > +inherit compat
> > > +
> > > do_bootstrap() {
> > > if [ "${ISAR_ENABLE_COMPAT_ARCH}" = "1" ]; then
> > > if [ -z "${COMPAT_DISTRO_ARCH}" ]; then
> > > diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> > b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> > > index fb061dac..fd8bb648 100644
> > > --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> > > +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> > > @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM =
> > "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260
> > > PV = "1.0"
> > >
> > > inherit rootfs
> > > +inherit compat
> > >
> > > python() {
> > > distro_gcc = d.getVar('DISTRO_GCC')
> > > @@ -20,18 +21,19 @@ python() {
> > > 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')
> > > + if d.getVar('ISAR_ENABLE_COMPAT_ARCH') == '1':
> > > + compat_arch = d.getVar('COMPAT_DISTRO_ARCH')
> > > + d.appendVar('SBUILD_CHROOT_COMPAT_PREINSTALL',
> > > + ' libc6-dev:{}'.format(compat_arch))
> > > + d.appendVar('SBUILD_CHROOT_COMPAT_PREINSTALL',
> > > + ' crossbuild-essential-{}'.format(compat_arch))
> > > + if d.getVar('DISTRO_GCC'):
> > > 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}"
> > > -
> > > SBUILD_CHROOT_PREINSTALL_COMMON = " \
> > > ${SBUILD_CHROOT_COMPAT_PREINSTALL} \
> > > libc6-dev:${DISTRO_ARCH} \
> > > diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
> > > index 9d1b80f7..0b68e87d 100755
> > > --- a/testsuite/cibuilder.py
> > > +++ b/testsuite/cibuilder.py
> > > @@ -92,7 +92,9 @@ class CIBuilder(Test):
> > > with open(self.build_dir + '/conf/ci_build.conf', 'w') as f:
> > > if compat_arch:
> > > f.write('ISAR_ENABLE_COMPAT_ARCH:amd64 = "1"\n')
> > > + f.write('IMAGE_INSTALL:append:amd64 = " hello-isar-
> > compat"\n')
> > > f.write('ISAR_ENABLE_COMPAT_ARCH:arm64 = "1"\n')
> > > + f.write('IMAGE_INSTALL:append:arm64 = " hello-isar-
> > compat"\n')
> > > f.write('IMAGE_INSTALL += "kselftest"\n')
> > > if cross:
> > > f.write('ISAR_CROSS_COMPILE = "1"\n')
> >
> > This does not oull hello-isar-compat when doing a local build. We likely
> > need something in meta-isar/conf/local.conf.sample now.
>
> Ah, it works fine with ISAR_ENABLE_COMPAT_ARCH = "1", but not with
> ISAR_ENABLE_COMPAT_ARCH:amd64 = "1". Will have a look.
Found it! Next iteration will fix this.
Until then, for manual testing, please set ISAR_ENABLE_COMPAT_ARCH without
any overrides.
Adriaan
> Currently, that switch is still needed, otherwise the bootstrap
> and (s)buildchroot don't get "dpkg --add-architecture <compat-arch>".
> I added a check, to report and fail as early as possible if that is missing.
>
> Alternatively we could try to remove ISAR_ENABLE_COMPAT_ARCH completely
> and make everything implicit, e.g.:
> - have -compat targets depend on a (new) buildchroot-compat
> (or always have compat support in the buildchroot)
> - auto-detect (at rootfs creation, when we know which packages we want to
> install) if we need to add the compat arch to the image.
> But that would probably mean some bigger changes.
>
> Adriaan
>
> > Jan
> >
> > --
> > Siemens AG, Technology
> > Competence Center Embedded Linux
>
> --
> You received this message because you are subscribed to the Google Groups
> "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/isar-
> users/AS4PR10MB53186E063C75CC2428C3C1CAEDDA9%40AS4PR10MB5318.EURPRD10.PROD.OU
> TLOOK.COM.
next prev parent reply other threads:[~2023-02-06 14:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-06 12:20 [PATCH 0/3] multiarch support Adriaan Schmidt
2023-02-06 12:20 ` [PATCH 1/3] bitbake.conf: use PACKAGE_ARCH in overrides Adriaan Schmidt
2023-02-06 12:20 ` [PATCH 2/3] add multiarch support Adriaan Schmidt
2023-02-28 7:58 ` Cedric Hombourger
2023-02-28 8:24 ` Schmidt, Adriaan
2023-02-06 12:20 ` [PATCH 3/3] remove obsolete compat-arch override Adriaan Schmidt
2023-02-06 13:00 ` Jan Kiszka
2023-02-06 13:34 ` Schmidt, Adriaan
2023-02-06 14:22 ` Schmidt, Adriaan [this message]
2023-02-06 13:01 ` [PATCH 0/3] multiarch support Jan Kiszka
2023-02-06 13:36 ` Schmidt, Adriaan
2023-02-07 13:50 ` Jan Kiszka
2023-02-07 14:44 ` Schmidt, Adriaan
2023-02-20 8:54 ` Schmidt, Adriaan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AS4PR10MB5318BED04B1B1A7556E4FF31EDDA9@AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM \
--to=adriaan.schmidt@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox