Gentoo Archives: gentoo-portage-dev

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

Replies