1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
This is basically a resubmission of Genone's file format merger [1]. |
5 |
|
6 |
The code to handle digests and manifests is currently being designed and |
7 |
rewritten. As such we need two things from the developer community. |
8 |
One is a decision of what the new format will entail. Two is a firm |
9 |
agreement on the migration plan. |
10 |
|
11 |
1. The file format is specified in Genone's original mail, but I'll go |
12 |
over it again to save you the extra linkage ;) |
13 |
|
14 |
Inside of the digest-manifest we have: |
15 |
EBUILD Filename SIZE 1234567 MD5 A4FD085FF SHA-256 A7439FDB1 |
16 |
<type> <filename> <size-tag> <size> <hash-tag> <value> <hash-tag> |
17 |
<value>.... |
18 |
Where type is the type of file (DIGEST, SRC_URI, EBUILD, PATCH, etc) |
19 |
|
20 |
*Note, that the size-tag was added to make the human parsing easier. |
21 |
|
22 |
2. If you didn't notice by now, this format breaks versions of portage |
23 |
that don't support it ( ie 2.0.X ). This leads us to a few options as |
24 |
users migrate to a version of portage that supports the new file format. |
25 |
|
26 |
A. Write some code into the final stable version to do both kind of |
27 |
formats and/or use the new format style but fall back to the old style ( |
28 |
since at release time the new style format probably won't be in the tree |
29 |
yet ). Either way, the last release of 2.0.X should work with the new |
30 |
file format in enough of a fashion to not break. This means that when |
31 |
the old manifest + digests are combined in the tree, most users should |
32 |
be ok even if they aren't upgraded to 2.1.X. |
33 |
|
34 |
B. Have a migration time where both formats are in the tree. For a |
35 |
while the tree will be larger, and many people will have issues with |
36 |
this. However, old portage will use the old files, and new releases |
37 |
will use the new files. Then after a period of however long ( 6 months? |
38 |
) announce loudly beforehand that portage-2.0.X will no longer be |
39 |
supported and pull the old digests/manifests out of the tree. |
40 |
|
41 |
C. The Carpaski way ;)[2] Add support for the new format in 2.1, |
42 |
while also adding support for current format. Force everyone to upgrade |
43 |
to 2.1.X, while announcing that 2.0.X will not work in the future. When |
44 |
we have confidence that most users are upgraded, pull the old format and |
45 |
add the new format to the tree. |
46 |
|
47 |
Problems with all of these include the same problems as the cascaded |
48 |
profiles, some goofball doesn't upgrade for a year, syncs with new |
49 |
digests...how does he get his portage upgraded? An upgrade path should |
50 |
be provided and documented in this case. |
51 |
|
52 |
The best route is probably some combination of the above. Pre-emptively |
53 |
add support for the new format to stable, while announcing the death of |
54 |
the old format after 2.1's release. When most users upgrade normally to |
55 |
the latest 2.0.X series ( perhaps fearing the changes of 2.1.X ) they |
56 |
will gain support for the new file format (or if not support, merely a |
57 |
working portage instead of broken). We should catch the majority of |
58 |
users who upgrade with either the last 2.0.X release or the new release |
59 |
of 2.1.X. |
60 |
|
61 |
Suggestions, criticisms, etc... welcome. |
62 |
|
63 |
[1] http://marc.theaimsgroup.com/?l=gentoo-dev&m=109725383228494&w=2 |
64 |
[2] http://marc.theaimsgroup.com/?l=gentoo-dev&m=109725779909405&w=2 |
65 |
-----BEGIN PGP SIGNATURE----- |
66 |
Version: GnuPG v1.4.1 (GNU/Linux) |
67 |
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org |
68 |
|
69 |
iQIVAwUBQvLQuGzglR5RwbyYAQLykg//TbNRfPlUutmLIn09IzQ5nX1XR1RZNUVo |
70 |
e4dgiOWbJz+dBbc4jU8NxrMlSp7tv1rMhSaHw+oqhtPFZGCBbTXIFEZkBgvq9H2L |
71 |
AYO62Oht8xgfYgIl/KIJgWTJTmlbC2mLRMhceD83pfJKDhp6px435g+7oUyK/sPz |
72 |
rxcDHn95veT+4WdkrwrGK8rGbAsWQ9NivyUySzfPyZN83/mc50XLd7x2cyHHKmkx |
73 |
wwPORG8wdhWYFeLD16SZPyBmiVW1MkA1LIK95fDRV3j9wA2mqftZlSMR0lO76fJr |
74 |
tgbrKewJKVvms4+MbFJwRJGL9R6mg4VstjFeNw6smZtTSUgXtGV6qJX4S3Zj+YQJ |
75 |
37gpl/zCVVvmGEa8uN0gGRDnVHEyeAAHeZbeniukc6m3fn/6JvXeDqPRFGTwWorS |
76 |
B4G2DyaoJCg0Sia5lwAYBqgnikKXOZ4Q3eD0fMP1kCwBZdTUG2CTV1hNvF6FfV/e |
77 |
+V26rqI2R/rXmPnXmnipM1XsajT2GLnhqY1L7OUZfWF52QuqJI4sta7VybQ4lBny |
78 |
cSFEmjJM+nHoCnTW90iYWhEcwNC7/F20LZEsin/uim0/rHhqhuLPyTZ6hkg3CauW |
79 |
BeLfRfGC4NY00M/xamkVzPlnoMsIZzsX9W7WkpBgwgB4lljwzUmQ6CXPiQsu8tLC |
80 |
SYKtXlGJhI8= |
81 |
=At7Y |
82 |
-----END PGP SIGNATURE----- |
83 |
-- |
84 |
gentoo-dev@g.o mailing list |