1 |
On Sun, 2003-06-29 at 00:59, James Yonan wrote: |
2 |
> Martin Schlemmer <azarah@g.o> said: |
3 |
> |
4 |
> > On Sat, 2003-06-28 at 23:31, James Yonan wrote: |
5 |
> > |
6 |
> > > Just to throw out an idea on creating a generalization to stable/current (I'm |
7 |
> > > new to Gentoo, so I'm not sure how much of this has already been done, or to |
8 |
> > > what extent these ideas have already been made concrete in the portage |
9 |
> concept). |
10 |
> > > |
11 |
> > > Why not create a notion of a distribution "checkpoint"? |
12 |
> > > |
13 |
> > > A checkpoint is a file that contains all information necessary to build a |
14 |
> > > particular gentoo distribution as it existed at some point in time, similar to |
15 |
> > > the idea of a cvs tag, or saving the game before you do something that's |
16 |
> > > likely to get you killed :) |
17 |
> > |
18 |
> > Unfortunately a big problem with this, is that ebuild do not stick |
19 |
> > around long enouth ... except of course if you do it your side. |
20 |
> > |
21 |
> > IMHO, I do not see that we can do it with current implementation |
22 |
> > of the portage tree, even if we do not cleanup stuff - as if we |
23 |
> > do not, the tree is going to get *too* big. |
24 |
> |
25 |
> Well, the idea would be to manage the size by having a benchmark portage tree |
26 |
> and then representing a custom tree inside an .ebuild file by taking the |
27 |
> benchmark portage tree reference + one or more patch deltas. The |
28 |
> "distribution ebuild" file would really not be large, as it would contain |
29 |
> little more than tags, references, and patches, just as standard ebuild files |
30 |
> exist today for packages. Since cvs already manages repository size by |
31 |
> representing changes as deltas, I doubt a cvs explosion would be likely. The |
32 |
> real win with cvs (or other versioning tools) is the way in which tags can be |
33 |
> locked to constant snapshots of the tree which are invariant over the lifetime |
34 |
> of the repository. This constancy is important because it provides a solid |
35 |
> foundation against which patch deltas can be derived, and would therefore |
36 |
> allow a particular gentoo snapshot (as represented by a patch against a cvs |
37 |
> tag) to be accessible indefinitely, leveraging the versioning capability of |
38 |
> cvs to prevent explosions in size and complexity. |
39 |
> |
40 |
|
41 |
Well, sure, if we can do that from where it is migrated from cvs to the |
42 |
rsync servers. We have gone into before, and it will make things too |
43 |
complex in trying to have one ebuild file, but multiple versions. |
44 |
|
45 |
|
46 |
|
47 |
-- |
48 |
|
49 |
Martin Schlemmer |
50 |
Gentoo Linux Developer, Desktop/System Team Developer |
51 |
Cape Town, South Africa |