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 |