Gentoo Archives: gentoo-dev

From: Pieter Van den Abeele <pvdabeel@g.o>
To: zhen@g.o
Cc: stuart@g.o, Pieter Van den Abeele <pvdabeel@g.o>, gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GRP set consolidation
Date: Sat, 22 May 2004 00:44:49
Message-Id: 3A782234-AB89-11D8-9336-0003938E7E46@gentoo.org
In Reply to: Re: [gentoo-dev] GRP set consolidation by John Davis
1 On 22 May 2004, at 02:01, John Davis wrote:
2
3 > Rac just submitted some packages to me for a "stage4" - which is a
4 > stage3 w/ more packages.
5 >
6 > Perhaps we could extend this into the gentoopix
7 > idea and use stage4s to build our livecds? (btw, what does gentoopix
8 > stand for?).
9 >
10 > I think we could implement this fairly easily, let me know what you are
11 > thinking. We might want to keep our stages and minimal livecds around
12 > to
13 > save users from having to download big CDs if they want to install
14 > Gentoo (for our low bandwidth folks).
15
16 We already have small components 'ebuilds' representing knowledge to
17 build packages. We also have packages, the result of applying the
18 knowledge. Sometimes we make a snapshot of our knowledge and build a
19 lot of packages from ebuilds in this snapshot, we call the collection
20 of packages a 'reference platform'.
21
22 The GRP set of packages is a superset of the stage 3 set of packages,
23 The stage3 set of packages is a superset of the stage2 set of packages,
24 The stage2 set of packages is a superset of the stage1 set of packages.
25 ...
26
27 A stage is a huge tarball of unpacked packages. Imho that's not ok: In
28 the past users suggested switching to 'diff stages': A stage3 tarball
29 would then only include the packages not in the stage2 tarball and not
30 in the stage1. Stage2 only includes what is not in stage1. I'm a bit
31 more ambitious and think tarballs of packages aren't needed because we
32 already provide packages: either installed (and in use on the livecd
33 the user is booting with) or packed (as small tarballs, which can be
34 used for installation).
35
36 A package can be created from a set of packages (portage can do that),
37 so given a livecd, portage can come up with a set of packages.
38 Instead of having lots of huge tarballs, or switch to complicated 'diff
39 stages', we can just declare what packages a stage3 consists of. The
40 (declarative) statement:
41
42 "stage foobar consists of package foo and package bar"
43
44 is all that is needed for portage to create a tarball consisting of the
45 foo and bar packages. How portage computes the foo and bar package
46 (fetch from a repository, derive from an installed system, use ebuild
47 knowledge to compile from source, ... ) is portages business (a
48 different issue).
49
50 The advantage is this:
51
52 "stage foobarwithx consists of package foo and package bar and package
53 x"
54 "stage foobar consists of package foo and package bar"
55 "stage foo consists of package foo"
56 "stage foowithx consists of package foo and package x"
57 "stage bar consist of package bar"
58
59 Assume every package (foo, bar or x) is 100M in size (compressed).
60 Realizing the above with stage tarballs would take 900M, where just
61 having the packages and the declarative representation of the stages
62 would be only 300M in size. In our current system adding a new stage4
63 tarball is impossible, storage wise. Adding a stage4,5,6,7,8,9,10...
64 "virtual" representation is absolutely possible.
65
66 Best regards,
67
68 Pieter Van den Abeele
69
70
71
72
73
74 > Cheers,
75 > --
76 > John Davis
77 > Gentoo Linux Developer
78 > <http://dev.gentoo.org/~zhen>
79 >
80 > ----
81 > GnuPG Public Key: <http://dev.gentoo.org/~zhen/zhen_pub.asc>
82 > Fingerprint: 2364 71BD 4BC2 705D F338 FF70 6650 1235 1946 2D47
83 >
84
85
86 --
87 gentoo-dev@g.o mailing list