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 |