Gentoo Archives: gentoo-dev

From: Pieter Van den Abeele <pvdabeel@g.o>
To: stuart@g.o
Cc: gentoo-dev@l.g.o, Pieter Van den Abeele <pvdabeel@g.o>
Subject: Re: [gentoo-dev] GRP set consolidation
Date: Fri, 21 May 2004 23:41:20
Message-Id: 5C286D3A-AB80-11D8-9336-0003938E7E46@gentoo.org
In Reply to: Re: [gentoo-dev] GRP set consolidation by Stuart Herbert
1 On 22 May 2004, at 00:09, Stuart Herbert wrote:
2
3 > On Friday 21 May 2004 23:11, Chris Gianelloni wrote:
4 >> The other take on this is gentoopix and what it will provide.
5 >
6 > What is gentoopix? Does it have a GLEP number? ;-)
7
8 I didn't commit a GLEP for it, but I described and implemented the idea
9 I think Chris is talking about for the livecd scripts I wrote and used
10 for all ppc/g3/g4/g5 releases until Catalyst was put into production
11 (My scripts available on http://www.metadistribution.org/gentoo/ and in
12 gentoo cvs). The idea is the following:
13
14 - stage1 is a set of packages which are build on an existing system
15 (doesn't have to be gentoo).
16 - stage2 is stage1 + extra packages
17 - stage3 is stage2 + extra packages
18 - grp is stage3 + extra packages
19 - livecd is grp + extra packages which make the system ( which consists
20 of all the unpacked packages ) bootable as a livecd.
21
22 If my script is given a stage2 and asked to build a livecd, it will
23 upgrade to stage3, then build grp and add a few packages to make the
24 produced set of GRP bootable. For Historical reasons, Gentoo release
25 tools (even current catalyst) are not following this design/idea: If I
26 give catalyst a stage2 or a stage3 , and ask it to produce a set of GRP
27 it will do so, but if I ask catalyst afterwards to build a livecd, it
28 will just start from the stage2/stage3 again and compile kde/gnome (in
29 case of the kde/gnome livecd), all over again. Such a thing leads to
30 countless wasted hours for the engineers building our releases (incl.
31 me). I have been working closely together with zhen, our current
32 catalyst maintainer on the design of the tool, my remarks can be found
33 in the REMARKS file in the catalyst cvsroot.
34
35 My original proposal was to just give the people a (kde/gnome, minimal,
36 developer, game, whatever) livecd and then use a tool which 'derives'
37 packages from the live environment on that cd, using the gentoo package
38 manager knowledge. You just build one bootable, optimized livecd (with
39 a compressed loop filesystem, you're able to put a +2G system on a
40 regular 700M CD) for each of your subarchs (or just one generic), and
41 when the user has booted into this system, he/she can create stages,
42 GRP, or even a new livecd, using the packages derived from the livecd.
43 For those packages which cannot be derived, portage can use it's
44 knowledge (ebuilds) to build/compile/create the package. It will have
45 to use its knowledge anyway if you're changing the CFLAGS, USE,
46 whatever...
47
48 This system makes stages unnecessary for distribution: A stage3
49 contains a stage2, so, from a mirror perspective, it makes sense to
50 just have the packages, or the knowledge how to derive them, and have
51 'virtual stages', or better 'metastages', declaring what packages a
52 configuration consists of (our livecds run the stages they distribute
53 anyway):
54
55 - a desktop stage, a server stage, an xfree stage, the original
56 stage2...
57
58 In theory we could include milions of configurations/metastages on the
59 cd (declared in a DB, text file, whatever) and just have portage
60 assemble the actual tarball on the fly by deriving the packages from
61 the current live environment or using its knowledge to create the
62 missing ones. That saves us at least a few gigs on the mirrors. Once
63 portage gets a faster DB backend, the limiting factor will become the
64 expressiveness (conflicting packages, glep 23, glep 21, glep 19, glep
65 22 (especially) , emerge -e world && auto-use ...) and the speed drop
66 that comes with increasing that, (we go from a tree walking algorithm
67 (nothing fancy) to actual reasoning/planning, which is a bit more
68 challenging :-)
69
70 Best regards,
71
72 Pieter Van den Abeele
73
74
75 --
76 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] GRP set consolidation John Davis <zhen@g.o>