Gentoo Archives: gentoo-dev

From: Michael Mol <mikemol@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Commented packages in the @system set
Date: Thu, 27 Oct 2016 14:41:45
Message-Id: 1702595.HSUWX8iI8B@serenity
In Reply to: Re: [gentoo-dev] Commented packages in the @system set by Rich Freeman
1 On Thursday, October 27, 2016 09:21:06 AM Rich Freeman wrote:
2 > On Thu, Oct 27, 2016 at 9:07 AM, Michael Mol <mikemol@×××××.com> wrote:
3 > > I want to +1 this, but I do see one problem: If all dependencies are
4 > > defined, how does "emerge --with-bdeps=y --emptytree @world" work?
5 > > Defining all dependencies means the graph is completely cyclic.
6 >
7 > Well, we'll need to define some kind of stage1 set no matter what we
8 > do because of the bootstrapping problem. Perhaps this can be
9 > leveraged when breaking cyclical dependencies (optimize as much as you
10 > can, allow parallel builds, but do the stuff in the stage1 set first
11 > and don't treat circular deps as show-stoppers).
12 >
13 > And I don't think portage actually breaks today with circular deps as
14 > long as some start out satisfied. If a depends on b and b depends on
15 > a, and both have an upgrade, but the dependencies are unversioned,
16 > then I think portage just does them in arbitrary order. Now, if both
17 > have circular versioned dependencies and you don't have at least one
18 > installed, you're stuck (maybe a really clever portage might find
19 > earlier intermediate versions with relaxed dependencies that break
20 > this cycle, but I'd be surprised if that works today).
21 >
22 > > Perhaps the answer is that it doesn't; you have to run 'emerge --emptytree
23 > > @world twice' if you want to ensure every package is rebuilt with its
24 > > newest available build dependencies.
25 >
26 > Well, if your goal is completely consistent rebuilds you can't avoid
27 > the need to rebuild the stage1 set twice because of the bootstrapping
28 > problem (which I believe is why we have stage2). A solution would be
29 > to first emerge the stage1 set, then do the emerge @world. However,
30 > in practice I don't think there are many situations where you really
31 > need to do a rebuild of this scale.
32 >
33 > I'm not saying you can completely avoid the need for having some kind
34 > of bootstrapping stage1. I'm just saying we should separate that need
35 > from the issue of fully specifying dependencies, at least in an ideal
36 > world where we're unconcerned with the effort of specifying
37 > dependencies.
38
39 So, what goes in @stage1? What's the bare minimum needed for a Gentoo package
40 kernel?
41
42 --
43 :wq

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Commented packages in the @system set Rich Freeman <rich0@g.o>