On Thursday, October 27, 2016 09:21:06 AM Rich Freeman wrote: > On Thu, Oct 27, 2016 at 9:07 AM, Michael Mol <mike...@gmail.com> wrote: > > I want to +1 this, but I do see one problem: If all dependencies are > > defined, how does "emerge --with-bdeps=y --emptytree @world" work? > > Defining all dependencies means the graph is completely cyclic. > > Well, we'll need to define some kind of stage1 set no matter what we > do because of the bootstrapping problem. Perhaps this can be > leveraged when breaking cyclical dependencies (optimize as much as you > can, allow parallel builds, but do the stuff in the stage1 set first > and don't treat circular deps as show-stoppers). > > And I don't think portage actually breaks today with circular deps as > long as some start out satisfied. If a depends on b and b depends on > a, and both have an upgrade, but the dependencies are unversioned, > then I think portage just does them in arbitrary order. Now, if both > have circular versioned dependencies and you don't have at least one > installed, you're stuck (maybe a really clever portage might find > earlier intermediate versions with relaxed dependencies that break > this cycle, but I'd be surprised if that works today). > > > Perhaps the answer is that it doesn't; you have to run 'emerge --emptytree > > @world twice' if you want to ensure every package is rebuilt with its > > newest available build dependencies. > > Well, if your goal is completely consistent rebuilds you can't avoid > the need to rebuild the stage1 set twice because of the bootstrapping > problem (which I believe is why we have stage2). A solution would be > to first emerge the stage1 set, then do the emerge @world. However, > in practice I don't think there are many situations where you really > need to do a rebuild of this scale. > > I'm not saying you can completely avoid the need for having some kind > of bootstrapping stage1. I'm just saying we should separate that need > from the issue of fully specifying dependencies, at least in an ideal > world where we're unconcerned with the effort of specifying > dependencies.
So, what goes in @stage1? What's the bare minimum needed for a Gentoo package kernel? -- :wq
signature.asc
Description: This is a digitally signed message part.