1 |
On Mon, Feb 01, 2010 at 11:27:01PM -0700, Denis Dupeyron wrote: |
2 |
> You'll find below an email from solar to Robin about MetaManifest. I'm |
3 |
> adding it to this thread (with solar's authorization) as it seems |
4 |
> pertinent. |
5 |
> |
6 |
> Denis. |
7 |
> |
8 |
> On Thu, Jan 21, 2010 at 6:51 PM, Ned Ludd <solar@g.o> wrote: |
9 |
> > Robin, |
10 |
> > |
11 |
> > I recall you wanted me to mail you what we talked about last nite in |
12 |
> > #gentoo-portage and I'll CC: the council so they have an idea what to |
13 |
> > maybe expect. |
14 |
> > |
15 |
> > So in our talking last night we discussed the fact that if the Manifest |
16 |
> > format has to change why not just get rid of it all together, and save |
17 |
> > some serious in tree space with the new MetaManifest's taking over all |
18 |
> > together. This would include MetaManifest's at the 2-level. |
19 |
> > You said the MetaManifest would need about 4 fields in them to describe |
20 |
> > the distfiles etc. Devs would still push normal Manifest's to the cvs |
21 |
> > tree so DIST can be obtained by the backend infra scripts. But those |
22 |
> > Manifest's could be dropped from the mirroring. if [ -e CVS ] then |
23 |
> > portage would need to use the existing Manifest's |
24 |
First, I'd like to clarify one things for all other readers, as it isn't |
25 |
clear for anybody else just reading this email. |
26 |
================ |
27 |
Solar's proposal does the following: |
28 |
1. Tree in CVS/VCS: |
29 |
- drop ALL Manifest2 lines _EXCEPT_ DIST. |
30 |
2. Tree available via rsync: |
31 |
- Manifests at the following locations ONLY: |
32 |
- /MetaManifest |
33 |
- /${CAT}/Manifest |
34 |
- /profiles/Manifest |
35 |
- /eclasses/Manifest |
36 |
- /metadata/cache/${CAT}/Manifest |
37 |
- /metadata/glsa/Manifest |
38 |
- Data from ALL Manifests get moved to one of the above. |
39 |
- MISC/EBUILD etc (non-DIST) lines generated at the same time that the |
40 |
rsync tree is prepared. |
41 |
3. Net savings of approximately 13000 inodes, as the per package |
42 |
Manifest data is now one level up, saving the inode from the package. |
43 |
================ |
44 |
|
45 |
Now, I believe that this above should be possible WITHIN the framework |
46 |
of my proposed MetaManifest changes. |
47 |
|
48 |
I specifically stated in GLEP58: |
49 |
=== |
50 |
The objective of creating the MetaManifest file(s) is to ensure that |
51 |
every single file in the tree occurs in at least one Manifest. |
52 |
=== |
53 |
|
54 |
My proposals did not cover removing other Manifest files per solar's |
55 |
suggestion, as I perceived that to be a much larger objective than my |
56 |
goal of actually securing the existing tree distribution. |
57 |
|
58 |
I am entirely open to solar's suggestions, in an additional GLEP, as |
59 |
they will require that Portage support IS fully in place, because old |
60 |
versions WILL fail on a tree without per-package Manifest. |
61 |
|
62 |
> > This method would hands down win my vote. As you know I'm not a fan of |
63 |
> > format changes in general as they can make the Gentoo experience suck, |
64 |
> > but if we are going to change formats. Lets do it right. |
65 |
A potential plan for GLEP58 and solar's changes would be: |
66 |
1. Council approves GLEP58. |
67 |
2. Portage support is added, we add MetaManifests everywhere needed |
68 |
(top-level, categories, metadata, eclass etc) in the tree. |
69 |
3. Old Portage versions still work at this point, because they ignore |
70 |
the other Manifest files. |
71 |
4. Wait 6-12 months for Portage upgrade cycle. |
72 |
5. Change the content of the MetaManifests to be per solar's proposal. |
73 |
6. Drop per-package Manifests from the tree. |
74 |
|
75 |
Thus there is ZERO breakage. |
76 |
|
77 |
A similar timeline is required for ALL of the other GLEPs I have proposed. |
78 |
GLEP59 - Hashes: |
79 |
- Can add new hashes right now. |
80 |
- Some of the old hashes we can remove right now. |
81 |
- Have to keep just one old hash for old Portage to still work. |
82 |
GLEP60 - Filetypes: |
83 |
- Can add new types right now. |
84 |
- Cannot remove ANY types for a full upgrade cycle. |
85 |
GLEP61 - Compression: |
86 |
- (uncofirmed) Cannot add the compressed files in per-package locations until |
87 |
the upgrade cycle is done, as old Portage will complain about their existence. |
88 |
|
89 |
> The only downside I can see in this method is for people like drobbins |
90 |
> who mirror our tree but overlay right on top of it then provide it back |
91 |
> out. In such cases we should provide our backend scripts to the public |
92 |
> so they can re MetaManifest. |
93 |
My MetaManifest generation script is already public. I do agree that we could |
94 |
do better in documenting and publishing our older rsync generation scripts. |
95 |
|
96 |
-- |
97 |
Robin Hugh Johnson |
98 |
Gentoo Linux: Developer, Trustee & Infrastructure Lead |
99 |
E-Mail : robbat2@g.o |
100 |
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 |