From: Uladzimir Bely <ubely@ilbers.de>
To: "isar-users@googlegroups.com" <isar-users@googlegroups.com>,
"Moessbauer, Felix" <felix.moessbauer@siemens.com>
Subject: Re: [PATCH] install crossbuild-essential into base schroot
Date: Thu, 04 Aug 2022 11:09:29 +0300 [thread overview]
Message-ID: <3351240.LZWGnKmheA@home> (raw)
In-Reply-To: <AM9PR10MB486940FDA5D734849B056B4B899F9@AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM>
[-- Attachment #1: Type: text/plain, Size: 3601 bytes --]
In the email from Thursday, 4 August 2022 10:56:40 +03 user Moessbauer, Felix wrote:
> > -----Original Message-----
> > From: Anton Mikanovich <amikan@ilbers.de>
> > Sent: Thursday, August 4, 2022 9:36 AM
> > To: Moessbauer, Felix (T CED SES-DE) <felix.moessbauer@siemens.com>;
> > isar-users@googlegroups.com
> > Cc: Kiszka, Jan (T CED) <jan.kiszka@siemens.com>; Uladzimir Bely
> > <ubely@ilbers.de>
> > Subject: Re: [PATCH] install crossbuild-essential into base schroot
> >
> > 03.08.2022 19:44, Felix Moessbauer wrote:
> >
> > > This patch always installs the crossbuild-essential-<distro> package
> > > into the lower dir of the host sbuild schroot.
> > >
> > >
> > >
> > > This avoids having to install this package in the upper-dir when
> > > cross-compiling, and is identical to build-essential when natively
> > > compiling.
> > > By that, the parallel cross-build of packages is significantly faster.
> > >
> > >
> > >
> > > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> > > ---
> > >
> > > meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb | 5 +++++
> > > 1 file changed, 5 insertions(+)
> > >
> > >
> > >
> > > diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> > > b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> > > index aa82846b..f7c7d11b 100644
> > > --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> > > +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> > > @@ -9,5 +9,10 @@ SBUILD_VARIANT = "host"
> > >
> > >
> > >
> > > require sbuild-chroot.inc
> > >
> > >
> > >
> > > +# always add the crossbuild-essentials package which is # a noop for
> > > +the host distro, but significantly reduces # the download + install
> > > +time when cross-compiling SBUILD_CHROOT_PREINSTALL_COMMON +=
> > > +"crossbuild-essential-${DISTRO_ARCH}"
> > > +
> > >
> > > ROOTFS_ARCH = "${HOST_ARCH}"
> > > ROOTFS_DISTRO = "${HOST_DISTRO}"
> >
> >
> > This will probably not work on riscv64 and any other targets with
> > self-build
crossbuild-essential.
>
>
> The CI did not report any issues with this patch, but maybe an riscv64 test
> is missing...
Either we exclude these community-ports of Debian, or we
> simply just apply the patches for the architectures we support and we know
> it works (like armhf, arm64).
> Even if this is just a performance thing, in layers with dozens of packages
> the overhead of just installing the compilers is huge.
It also bloats the
> upper-dir of the schroot leading to significant disk consumption.
> Jan recently reported that the build time raised a lot when switching an
> arm64 layer to from ISAR v0.9 to ISAR-next (sbuild).
Very likely most of
> that came from the crossbuild-essential packages.
> Felix
We could also simply control it from local.conf at downstream level:
SBUILD_CHROOT_PREINSTALL += "${@ 'crossbuild-essential-${DISTRO_ARCH}' if
d.getVar('SBUILD_VARIANT') == 'host' else ''}"
This still just needs a small change in SBUILD_CHROOT_PREINSTALL definition in sbuild-
chroot.inc (replace '?=' with '+=')
builder@9f6a3f775537:/build/bc$ bitbake -e mc:qemuarm-bullseye:sbuild-chroot-target | grep
"SBUILD_CHROOT_PREINSTALL="
SBUILD_CHROOT_PREINSTALL="fakeroot build-essential debhelper
ccache devscripts equivs"
builder@9f6a3f775537:/build/bc$ bitbake -e mc:qemuarm-bullseye:sbuild-chroot-host | grep
"SBUILD_CHROOT_PREINSTALL="
SBUILD_CHROOT_PREINSTALL="crossbuild-essential-armhf fakeroot build-
essential debhelper ccache devscripts equivs "
This approach looks more flexible for me.
--
Uladzimir Bely
[-- Attachment #2: Type: text/html, Size: 10951 bytes --]
next prev parent reply other threads:[~2022-08-04 8:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-03 16:44 Felix Moessbauer
2022-08-04 6:07 ` Jan Kiszka
2022-08-04 6:22 ` Uladzimir Bely
2022-08-04 7:17 ` Moessbauer, Felix
2022-08-04 7:40 ` Jan Kiszka
2022-08-04 7:35 ` Anton Mikanovich
2022-08-04 7:56 ` Moessbauer, Felix
2022-08-04 8:09 ` Uladzimir Bely [this message]
2022-08-10 14:45 ` Anton Mikanovich
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=3351240.LZWGnKmheA@home \
--to=ubely@ilbers.de \
--cc=felix.moessbauer@siemens.com \
--cc=isar-users@googlegroups.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