From: Anton Mikanovich <amikan@ilbers.de>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH v12 00/21] Sbuild/Schroot migration
Date: Tue, 28 Jun 2022 09:57:29 +0300 [thread overview]
Message-ID: <7a97d256-669e-f8a7-699b-e6418a270225@ilbers.de> (raw)
In-Reply-To: <20220628064913.27938-1-amikan@ilbers.de>
28.06.2022 09:48, Anton Mikanovich wrote:
> This patchset integrates sbuild/schroot tools into Isar build system.
>
> Base schroot images are created with sbuild-chroot-target or, in case
> of cross-build, sbuild-chroot-host recipes. These images are based on
> isar-bootstrap ones, but include some build-related stuff preinstalled.
>
> To use these changes you need to have sbuild and schroot installed and
> configured. User who runs build should be added to sbuild group.
>
> Currently, sbuild-related stuff is supported in latest kas.
>
> If Gilab CI is used, the following configuration changes are required:
> - external dir for schroot overlay should be set in the config
> /etc/gitlab-runner/config.toml:
>
> volumes = ["/path/to/overlay:/var/lib/schroot/union/overlay"]
>
> The patchset was tested with 'meta-iot2050' and 'xenomai-images'
> downstreams in combination with kas image mentioned above.
>
> Current limitations:
> - parallel building of several packages requires more free space in
> comparison with buildchroot-based architecture. This happens due
> the sbuild architecture which uses some basic layer (common for all
> packages) and per-package separate layer (where builddeps are downloaded
> and installed).
>
> Changes sinse v11:
> - Rebase on current next.
>
> Changes sinse v10:
> - Rebase on current next.
>
> Changes sinse v9:
> - Add caching improvement patch;
> - Remove per-package deb artifacts dir after usage to reduce disk space;
> - Improve schroot cleanup on failures.
>
> Changes since v8:
> - Added patch with support of package versions with epochs
>
> Changes since v7:
> - fixed work with proxy by adding some environment filters in sbuild;
> - DEB_BUILD_PROFILES support simplified and improved
> - Fixed gbp-based recipes rebuilding (get back --git-ignore-new option
> previously removed)
> - fixed base-apt caching for packages and source packages temporary
> installed in sbuild isolated environment
> - fixed rare build error related to ccache setup (added locking)
>
> Changes since v6:
> - added patch that switches sbuild from using source directory to using
> .dsc file. The file is generated before sbuild call by `dpkg-source`.
>
> Changes since v5:
> - warning about shell exports in dpkg_runbuild_prepend. This should
> avoided be reworked to templates.
>
> Changes since v4:
> - consider shell exports done in dpkg_runbuild_prepend and pass them
> to sbuild environment;
> - fixed ccache work.
>
> Changes since v3:
> - dpkg_do_mounts() and dpkg_undo_mounts() are not removed for downstreams
> compatibility;
> - dpkg_build_export is used for adjusting sbuild environment;
> - DEB_BUILD_PROFILES support for sbuild is fixed in case of cross-build.
>
> Changes since v2:
> - patches reworked/squashed for easier reading and understanding;
> - fixed building foreigh architectures with kas-docker;
> - implemented support of ccache;
> - fixed devshell and devshell_nodeps.
>
> Changes since v1:
> - parallel builds with different BUILD_DIR are supported;
> - parallel multiconfig targets in one build are supported;
> - per-task schroot configuration in /etc/schroot/ is now used;
> - patchset now passes Jenkins CI (so patches changes RFC => PATCH).
>
> Anton Mikanovich (3):
> dpkg: Build packages with sbuild
> dpkg-base: Cleanup on schroot fail
> sbuild: Add changelog entry
>
> Felix Moessbauer (4):
> fix: support build of packages with epoch version
> always create apt-cache dirs in deb_dl_dir_import
> avoid absolute SCHROOT_* paths to improve caching
> locate generated binary package in WORKDIR
>
> Uladzimir Bely (14):
> dpkg-gbp: Use separate command to export tarball
> dpkg-gbp: Use host tools for dsc preparation
> sbuild: Add recipes for host and target rootfs to run sbuild
> sbuild: Introduce a class for another build method
> sbuild: Support of DEB_BUILD_PROFILES
> sbuild: Support of shell exports from dpkg_runbuild_prepend
> dpkg: Remove builddeps install task
> sbuild: Add ccache support
> dpkg-base: Switch devshell to use schroot
> dpkg-base: Switch apt_fetch and apt_unpack to use schroot
> doc: Add sbuild-related documentation
> sbuild: Use .dsc file instead of source directory
> sbuild: Fixed proxy support
> sbuild: Fix debsrc_download for packages dependencies
>
> RECIPE-API-CHANGELOG.md | 13 ++
> doc/user_manual.md | 22 ++-
> meta/classes/deb-dl-dir.bbclass | 6 +-
> meta/classes/dpkg-base.bbclass | 90 ++++++----
> meta/classes/dpkg-gbp.bbclass | 26 +--
> meta/classes/dpkg.bbclass | 109 +++++++++---
> meta/classes/sbuild.bbclass | 159 ++++++++++++++++++
> meta/conf/bitbake.conf | 2 +
> .../sbuild-chroot/sbuild-chroot-host.bb | 13 ++
> .../sbuild-chroot/sbuild-chroot-target.bb | 10 ++
> .../sbuild-chroot/sbuild-chroot.inc | 39 +++++
> 11 files changed, 408 insertions(+), 81 deletions(-)
> create mode 100644 meta/classes/sbuild.bbclass
> create mode 100644 meta/recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> create mode 100644 meta/recipes-devtools/sbuild-chroot/sbuild-chroot-target.bb
> create mode 100644 meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
>
This is also just a rebase on the current next.
We are planning to merge it in the next few days.
Bitbake update will be the first priority after that.
next prev parent reply other threads:[~2022-06-28 6:57 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-28 6:48 Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 01/21] dpkg-gbp: Use separate command to export tarball Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 02/21] dpkg-gbp: Use host tools for dsc preparation Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 03/21] sbuild: Add recipes for host and target rootfs to run sbuild Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 04/21] sbuild: Introduce a class for another build method Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 05/21] dpkg: Build packages with sbuild Anton Mikanovich
2023-01-11 20:59 ` Jan Kiszka
2023-01-12 8:01 ` Uladzimir Bely
2022-06-28 6:48 ` [PATCH v12 06/21] sbuild: Support of DEB_BUILD_PROFILES Anton Mikanovich
2022-06-28 6:48 ` [PATCH v12 07/21] sbuild: Support of shell exports from dpkg_runbuild_prepend Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 08/21] dpkg: Remove builddeps install task Anton Mikanovich
2022-07-19 14:55 ` Henning Schild
2022-06-28 6:49 ` [PATCH v12 09/21] sbuild: Add ccache support Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 10/21] dpkg-base: Switch devshell to use schroot Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 11/21] dpkg-base: Switch apt_fetch and apt_unpack " Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 12/21] doc: Add sbuild-related documentation Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 13/21] sbuild: Use .dsc file instead of source directory Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 14/21] sbuild: Fixed proxy support Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 15/21] sbuild: Fix debsrc_download for packages dependencies Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 16/21] fix: support build of packages with epoch version Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 17/21] always create apt-cache dirs in deb_dl_dir_import Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 18/21] avoid absolute SCHROOT_* paths to improve caching Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 19/21] dpkg-base: Cleanup on schroot fail Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 20/21] locate generated binary package in WORKDIR Anton Mikanovich
2022-06-28 6:49 ` [PATCH v12 21/21] sbuild: Add changelog entry Anton Mikanovich
2022-06-28 6:57 ` Anton Mikanovich [this message]
2022-06-28 7:24 ` [PATCH v12 00/21] Sbuild/Schroot migration Moessbauer, Felix
2022-06-28 9:10 ` Baurzhan Ismagulov
2022-06-29 12:47 ` 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=7a97d256-669e-f8a7-699b-e6418a270225@ilbers.de \
--to=amikan@ilbers.de \
--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