Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] ironing out release tarballs
Date: Thu, 15 Oct 2015 20:48:58
Message-Id: 5620112B.9070307@gentoo.org
In Reply to: Re: [gentoo-dev] ironing out release tarballs by "Anthony G. Basile"
1 On 10/15/2015 01:29 PM, Anthony G. Basile wrote:
2 > On 10/15/15 4:14 PM, Zac Medico wrote:
3 >> On 10/15/2015 01:06 PM, Anthony G. Basile wrote:
4 >>> On 10/15/15 3:15 PM, Zac Medico wrote:
5 >>>> In portage, @world = @profile + @selected + @system, which means that
6 >>>> @profile is protected from depclean since it's a part of @world.
7 >>>>
8 >>>> [1] https://bugs.gentoo.org/show_bug.cgi?id=532224
9 >>> I thought so but wasn't sure and was about to test. Both @system and
10 >>> @profile are controlled via the packages file in portage and stack.
11 >>> Packages in @system lead with an * while @profile don't. @system
12 >>> packages have incomplete dependency specifications while @profile have
13 >>> full.
14 >> Right.
15 >>
16 >>> This affects more than just emerge's ability to parallelize, no?
17 >> Having complete dependency specifications could be useful for some other
18 >> things, but allowing for more aggressive parallelization is one of the
19 >> most obvious advantage.
20 >
21 > Okay, good because that fits my understanding of how we'd be dividing
22 > @system from @profile.
23 >
24 > @system = the bare set that we need in an stage3 in order to build
25 > another stage3 via the catalyst process. so the way this works is that
26 > you unpack a stage3, chroot into it, and then do a `ROOT=/some/new/root
27 > emerge @system` to prepare a pristine new root. that root then seeds
28 > your stage2 at which point your rebuild your toolchain. then that seeds
29 > your new stage3 in which you rebuild @system.
30 >
31 > So that defines @system from the point of view of using a current stage3
32 > to give birth to a next generation stage3. But that may not be what you
33 > want to release, eg. do you need any networking stuff in there? This
34 > gave birth to the idea of a stage4 which would have the added goodies
35 > needed for an end user to grow a system from our release tarball.
36 > vapier is suggesting using @profile for the extra needed beyond @system
37 > for the release. So at all points except the very end, you just use
38 > @system for building because that's all you need, and then finally you
39 > produce an @system+@profile for release.
40 >
41
42 What you're talking about essentially results in a @world set which
43 varies depending on the context. I'm not so sure that's a good idea. I'm
44 inclined to suggest that you just use a different profile for each
45 context (like the stage3 profile that I suggested in my reply to Ian).
46 --
47 Thanks,
48 Zac