public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Baurzhan Ismagulov <ibr@radix50.net>
To: "isar-users@googlegroups.com" <isar-users@googlegroups.com>
Subject: Re: [PATCH v10 00/19] Sbuild/Schroot migration
Date: Wed, 18 May 2022 18:20:44 +0200	[thread overview]
Message-ID: <YoUc3IknujtPhm6H@ilbers.de> (raw)
In-Reply-To: <AM9PR10MB4869F4C2CDDC3B42890A80D989CB9@AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM>

On Thu, May 12, 2022 at 03:55:19PM +0000, Moessbauer, Felix wrote:
> thanks for all the effort regarding the sbuild support.
> We tested that on a couple of layers and it mostly worked quite well.
> The following aspects are worth thinking about, but should not result in another delay in the integration of sbuild:

Thanks for the input, I also think we should find a good way to merge sbuild
soon.


> Removal of do_install_builddeps task: Please add a bold statement about that in the API changelog

The patch has been sent.


> Manual actions in a package schroot: Some layers (like meta-coral) require additional work to be done inside the buildchroot to prepare things prior to the debuild / sbuild.
> Mounting the correct schroot and working there works, but this is totally undocumented ground. We should really guide the ISAR users how to do that correctly (otherwise a ton of partially working patterns will evolve downstream).
> A public example, where this is necessary can be found in [1] (still pre-sbuild)

In short, we should avoid any buildchroot preparations. The Debian way is to
specify anything that is needed in the build dependencies, so that a dumb
package builder can build any package in a cleanroom environment without
knowing what is inside. We've done this for meta-iot2050.

This works well for Debian which doesn't have many flavors (except a couple of
kernels for x86 and arm). In the layers, we often want to customize stuff.
Currently I'm aware of the environment way (like DEB_BUILD_OPTIONS), but that
is handled in debian/rules; right now I don't know how to handle other stuff
like build dependencies. If you have specific examples, I think we should
discuss it with the upstream -- maybe they'd have suggestions, or we could
collaborate on improvements.

For the imagers, seems we'll have an schroot session API for now, but I'd
prefer not to extend it to sbuild if at all possible.


> Setup and teardown of schroots:
> The teardown should always be executed, no matter if the job was successful or not.
> Currently this is handled by shell-traps, but we should really think about simplifying that for the users.
> Either a post-task handler could be registered for cleanup, or we use bitbake functions which are called from python with a try / catch / finally pattern.
> Maybe @Adriaan can comment on that, as he has built up quite some experience around cleanups when working on the mount patch series.

Well, we do prefer python and try-catch. We've tried that with mount rework and
it works well. The issue is that downstreams are affected, and we couldn't find
an elegant way to migrate away from shell scripts in downstreams. Longer-term,
I think we'll have to do that, shell tasks are interfering with too much stuff.

Till then, I'm afraid we have to live with shell. And its error handling, is,
well, traps :) .


> Integration of other patch series:
> At least personally I would really prefer to see other patch series being merged first.
> Examples are: cachability improvements, sstate scripts, mounting of /dev/pts (at least the bugfix series).

Some of the stuff has been merged.


> It is likely that pre-sbuild ISAR will be around for quite some time as layers need time to adopt.
> 
> New ISAR release: Once Sbuilder is in, the old ISAR should be tagged and the in-flight version number of ISAR should be increased.

Which in-flight version number do you mean? I'm only aware of the release info
in /etc, which uses git to get the tag.


With kind regards,
Baurzhan.

      reply	other threads:[~2022-05-18 16:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-05 14:39 Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 01/19] dpkg-gbp: Use separate command to export tarball Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 02/19] dpkg-gbp: Use host tools for dsc preparation Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 03/19] sbuild: Add recipes for host and target rootfs to run sbuild Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 04/19] sbuild: Introduce a class for another build method Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 05/19] dpkg: Build packages with sbuild Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 06/19] sbuild: Support of DEB_BUILD_PROFILES Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 07/19] sbuild: Support of shell exports from dpkg_runbuild_prepend Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 08/19] dpkg: Remove builddeps install task Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 09/19] sbuild: Add ccache support Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 10/19] dpkg-base: Switch devshell to use schroot Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 11/19] dpkg-base: Switch apt_fetch and apt_unpack " Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 12/19] doc: Add sbuild-related documentation Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 13/19] sbuild: Use .dsc file instead of source directory Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 14/19] sbuild: Fixed proxy support Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 15/19] sbuild: Fix debsrc_download for packages dependencies Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 16/19] fix: support build of packages with epoch version Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 17/19] always create apt-cache dirs in deb_dl_dir_import Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 18/19] avoid absolute SCHROOT_* paths to improve caching Anton Mikanovich
2022-05-05 14:39 ` [PATCH v10 19/19] dpkg-base: Cleanup on schroot fail Anton Mikanovich
2022-05-12 12:54 ` [PATCH v10 00/19] Sbuild/Schroot migration Anton Mikanovich
2022-05-12 15:55   ` Moessbauer, Felix
2022-05-18 16:20     ` Baurzhan Ismagulov [this message]

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=YoUc3IknujtPhm6H@ilbers.de \
    --to=ibr@radix50.net \
    --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