From: Baurzhan Ismagulov <ibr@radix50.net>
To: isar-users@googlegroups.com
Subject: Re: [Discussion]: Metadata to consolidate and rebuild base-apt from distributed CI builds
Date: Tue, 15 Mar 2022 12:45:21 +0100 [thread overview]
Message-ID: <YjB8UQIbQX0mxja6@ilbers.de> (raw)
In-Reply-To: <CALLGG_JRjjV0aQ5_jCT9CgS7YGd4KG2c2K21DELc6G_92d0GHw@mail.gmail.com>
On Mon, Mar 07, 2022 at 12:53:26PM +0530, vijai kumar wrote:
> If there is already a branch for this activity with some initial
> implementations, can you please point to it?
v2: https://groups.google.com/g/isar-users/c/65lRtw4EU_8/m/_O2hIRPBAgAJ
v3 WIP: https://github.com/ilbers/isar/tree/baseapt_v3/10
> It is for recreating a repo for a given project from some kind of
> manifest. This way we could
> avoid pushing the repos between multiple CI runners.
>
> The current goal is to create a single repo from multiple projects. We
> might have multiple projects running parallel in different CI runners,
> the idea is to create a single repo from all those builds without the
> need to push data around. So, some kind of project manifest.
>
> These manifests then can be used to create a single repo. Instead of
> copying over all the debs to a single location and trigger creation of
> base-apt.
Ok, so it's about creating One Canonical Base-Apt (for a project / department /
business unit / company).
> We thought about a few options,
> 1. Gather the download urls for all the packages we download. This
> could be our metadata.
> 2. Club all manifests at the end of build. (Buildchroot,
> isar-bootstrap & image rootfs) to recreate a master list of packages
> used in the build.
>
> 2 has some disadvantages. We have to probe buildchroot after image
> build to get a complete package list. Even then it doesnot capture the
> packages that are removed.
> 1 seems like a solution, It would have to be injected as part of the
> build, like how we injected downloading debs. The advantage it brings
> is that we don't necessarily need the apt sources information to
> recreate the repo. A simple wget would do. There is also a risk of
> urls becoming obsolete.
>
> There could be better solutions, maybe our new way of creating
> base-apt might help in creating metadata in a cleaner way.
I agree that post-build collection has some limitations -- that was the
motivation for us to make a small step towards a more Debian-like repo
management. The patchset implements the approach #1. We use python-apt to
determine what we need upfront. The debootstrap part works in v2. Build-deps
part is about to be finished in v3. We download immediately, but updating to
output only is easy -- that is in fact one of our requirements.
We don't address package removal and recursive fetching (rebuilding the whole
base-apt exclusively from local files) in this step. Implementing
https://wiki.debian.org/HelmutGrohne/rebootstrap with Isar would be cool (and
we need at least parts of that logic for certain use cases), but we have to see
whether we need other stuff like Build-Depends support before that.
With kind regards,
Baurzhan.
prev parent reply other threads:[~2022-03-15 11:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 10:34 vijai kumar
2022-02-22 14:31 ` Henning Schild
2022-02-24 13:20 ` vijai kumar
2022-02-24 15:42 ` Henning Schild
2022-02-25 17:27 ` Jan Kiszka
2022-03-03 13:45 ` vijai kumar
2022-03-04 10:03 ` Baurzhan Ismagulov
2022-03-07 7:23 ` vijai kumar
2022-03-15 11:45 ` 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=YjB8UQIbQX0mxja6@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