From: Uladzimir Bely <ubely@ilbers.de>
To: Moessbauer Felix <felix.moessbauer@siemens.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
isar-users@googlegroups.com, Baurzhan Ismagulov <ibr@ilbers.de>
Subject: Re: [PATCH 1/2] add support for derived sbuild chroots
Date: Tue, 20 Jun 2023 11:05:40 +0300 [thread overview]
Message-ID: <9bf66c024175106a960d4cc687402c6c8ecf948c.camel@ilbers.de> (raw)
In-Reply-To: <42d90e24f1ec43a8398a29e267729e55c7d4fc69.camel@ilbers.de>
On Tue, 2023-06-20 at 09:25 +0300, Uladzimir Bely wrote:
> On Mon, 2023-06-19 at 21:10 +0800, Moessbauer Felix wrote:
> > On Mon, 2023-06-19 at 07:58 +0200, Jan Kiszka wrote:
> > > On 13.06.23 08:24, Uladzimir Bely wrote:
> > > > On Thu, 2023-04-13 at 07:00 +0000, 'Felix Moessbauer' via isar-
> > > > users
> > > > wrote:
> > > > > This patch adds support to create derived sbuild chroots to
> > > > > speedup
> > > > > the
> > > > > build process. For packages that share a large set of common
> > > > > build
> > > > > dependencies, a derived sbuild chroot can be created to avoid
> > > > > the
> > > > > overhead of installing all base build-deps on each sbuild
> > > > > invocation.
> > > > >
> > > > > Signed-off-by: Felix Moessbauer
> > > > > <felix.moessbauer@siemens.com>
> > > > > ---
> > > > > doc/user_manual.md | 27
> > > > > +++++++++++++++++++
> > > > > meta/classes/crossvars.bbclass | 11 +++++---
> > > > > .../sbuild-chroot/sbuild-chroot.inc | 7 ++++-
> > > > > 3 files changed, 41 insertions(+), 4 deletions(-)
> > > >
> > > > We are going to merge this in near few days in spite of an open
> > > > question left in discussion. The reasons:
> > > >
> > > > 1. It passes internal CI (dev/fast/full).
> > > >
> > > > 2. It was useful in case of 'meta-iot2050' downstream for
> > > > rewriting
> > > > "npm.bbclass" in order not to use buildchroot.bbclass (that is
> > > > going to
> > > > be deleted with "Imager schroot migration" patchset that is to
> > > > be
> > > > merged soon too.
> > >
> > > To track what I discussed with Baurzhan offlist: I would be good
> > > to
> > > have
> > > some QA check running when using a derived sbuild chroot that the
> > > package built has all extra packages as part of its Build-Depends
> > > so
> > > that we are not create again silently broken debianizations. Any
> > > ideas
> > > how to achieve that best, considering also implicit inclusions of
> > > the
> > > Build-Depends?
> >
> > This is hard to achieve. The only way I could currently imagine is
> > to
> > run the same package build in the standard chroot and check if it
> > still
> > properly builds (by definition, the derived chroot has a superset
> > of
> > the packages). For the created artifact, too-many packages in a
> > build
> > chroot are not problematic. Given that, at least the created
> > packages
> > are fine.
> >
>
> Could not it be some variable (disabled by default) that globally
> prohibits changes of SBUILD_FLAVOR and
> SBUILD_CHROOT_PREINSTALL_COMMON
> by packages/bbclasses?
>
> It could be enabled in CI in order to build all packages with "clean"
> schroots, but disabled by default to speedup development process.
>
I've experimented with such kind of "global disabling" derived schroots
and in general it works, but some moments are not still clear for me.
In the patch 2, we have SBUILD_FLAVOR="clang" set for `samefile`
package and that makes it use schroot with clang preinstalled. Also,
debian rules file is modified with `export CC=clang` in this case. As a
result, we have a package built with clang.
When I globally disable derived schroots, building `samefile` still
works since it is now built with gcc (debian rules are not modified).
I would expect a bit different behavior: debian rules files should not
be modified. Instead, `clang` is preinstalled as a dependency in
"clean" schroot and used as a compiler. So, in both cases (with
specific schroot and without it) the same compiler should be used - the
difference would be only in built time.
Probably, for the demo purposes it's OK, but I would expect that any
package is built with the same tools whether a derived schroot used or
not.
> > >
> > > Furthermore, I had a small comment on patch 2.
> >
> > I would rather postpone the "derive chroot name" aspect to later.
> > It
> > is
> > a minor thing and currently I lack the time to implement it. Feel
> > free
> > to add a patch on top.
> >
> > Felix
> >
> > >
> > > Jan
> > >
> >
>
next prev parent reply other threads:[~2023-06-20 8:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 7:00 Felix Moessbauer
2023-04-13 7:00 ` [PATCH 2/2] add example how to use " Felix Moessbauer
2023-04-14 8:46 ` Jan Kiszka
2023-06-21 12:33 ` Henning Schild
2023-05-29 7:14 ` [PATCH 1/2] add support for " Uladzimir Bely
2023-06-13 6:24 ` Uladzimir Bely
2023-06-19 5:58 ` Jan Kiszka
2023-06-19 13:10 ` Moessbauer Felix
2023-06-20 6:25 ` Uladzimir Bely
2023-06-20 8:05 ` Uladzimir Bely [this message]
2023-06-20 8:51 ` Moessbauer Felix
2023-06-21 12:42 ` Henning Schild
2023-06-21 13:22 ` Moessbauer Felix
2023-06-21 13:34 ` Henning Schild
2023-06-21 13:54 ` Henning Schild
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=9bf66c024175106a960d4cc687402c6c8ecf948c.camel@ilbers.de \
--to=ubely@ilbers.de \
--cc=felix.moessbauer@siemens.com \
--cc=ibr@ilbers.de \
--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