public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Baurzhan Ismagulov <ibr@radix50.net>
To: isar-users@googlegroups.com
Subject: Re: [PATCH 2/2] centralize multistrap configuration generation
Date: Thu, 15 Feb 2018 12:27:42 +0100	[thread overview]
Message-ID: <20180215112741.GB5374@yssyq.radix50.net> (raw)
In-Reply-To: <a26c7f8f-ffd5-d395-fa45-8be699ba8de4@siemens.com>

On Thu, Feb 15, 2018 at 11:15:02AM +0100, Jan Kiszka wrote:
> > That shows to me that upstream might be interested in some of these
> > improvements we would need to implement.
> 
> Exactly. We should really use the community-proven, continuously tested
> official approach of Debian, in that in a way that it foresees for it.
> 
> Let's bury multistrap. Its a dead horse we rode to long now.

First off, thanks for cutting the many lines of code not being referred to :) .

Regarding multistrap, both approaches have advantages and disadvantages.
Moreover, there are other implementations, such as cdebootstrap.


Multistrap is currently useful in the following ways:

1. Generate the list of packages to install using several apt repos.

2. Provide the package paths to download from apt repos.

3. Generate the base system from several apt repos.

Unfortunately, all three seem to be unique among the three candidates.


(1) and (2) are necessary for reproducibility. My preferred solution would be
to use an apt library that would do that for us (e.g., extract it from apt,
extend python-debian, or look whether aptly provides that). Moving to
*debootstrap would require solving those in a community-unmaintained way for
some time.

(3) is useful for people with customizations cutting off significant dependency
chains from Debian (like SLIND did with Perl dependencies). Moving to
*debootstrap would mean first installing those, then apt-getting our layers
above the base system, then removing the packages that are no more required.

This was the main reason for Neil Williams to create multistrap. After trying
to wrap debootstrap for some time, he ended up with problems not solvable in
that way (not sure which, maybe some kinds of circular dependencies or
dependencies on exact package versions). So, it would be wise to consider his
experience here.

That said, on DebConf17, he told us that that use case is not interesting for
him any more, advised to use debootstrap, and said that he doesn't support
multistrap any more.

Regarding maintaining multistrap for some time: I personally don't like Perl.
That said, Alex looked at that recently; it's some reasonable wrapping around
apt-get. If the problem in the end is solved with apt-get, we should possibly
evaluate that, too.


Regarding debootstrap, the problem is that it is implemented in shell, which is
horrible for any serious improvements. Thus the question about cdebootstrap.


All in all, I'd like to see a solution that would offer serious benefits while
not introducing new problems. Currently, multistrap is an internal issue not
directly affecting user-visible features. There are many features we can do for
far better Debian support. Changing one bit with another, not better one
wouldn't change the big picture. So, I'd rather use this opportunity to start a
bigger effort of defining the requirements, choosing the tools to merge with,
provide a working PoC, and start working with Debian on reusability of those
tools in Isar. IMHO, *debootstrap alone wouldn't bring major architectural
improvements.


With kind regards,
Baurzhan.

  parent reply	other threads:[~2018-02-15 11:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-14 13:15 [PATCH 0/2] Consolidate " claudius.heine.ext
2018-02-14 13:15 ` [PATCH 1/2] meta/classes/base: extend sys.path with lib directory claudius.heine.ext
2018-02-15  7:28   ` Jan Kiszka
2018-02-14 13:15 ` [PATCH 2/2] centralize multistrap configuration generation claudius.heine.ext
2018-02-15  7:28   ` Jan Kiszka
2018-02-15  8:16     ` Claudius Heine
2018-02-15  8:50       ` Jan Kiszka
2018-02-15  9:34     ` Alexander Smirnov
2018-02-15 10:05       ` Claudius Heine
2018-02-15 10:15         ` Jan Kiszka
2018-02-15 10:29           ` Alexander Smirnov
2018-02-15 11:27           ` Baurzhan Ismagulov [this message]
2018-02-15 13:17             ` Claudius Heine
2018-02-15 13:18             ` Jan Kiszka
2018-02-15 11:42   ` Baurzhan Ismagulov
2018-02-15 12:08     ` Claudius Heine
2018-02-15 12:37       ` Alexander Smirnov
2018-02-15 13:20         ` Claudius Heine
2018-02-15 13:39           ` Alexander Smirnov
2018-02-16  9:31             ` Claudius Heine
2018-02-16 10:35               ` Alexander Smirnov
2018-02-16 11:35                 ` Jan Kiszka
2018-02-15 13:53           ` Jan Kiszka

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=20180215112741.GB5374@yssyq.radix50.net \
    --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