Gentoo Archives: gentoo-dev

From: Fabian Groffen <grobian@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] gentoo-x86 migration to repo-per-package
Date: Sun, 07 Aug 2011 11:41:06
Message-Id: 20110807113958.GO20656@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] gentoo-x86 migration to repo-per-package by Rich Freeman
1 On 07-08-2011 07:05:03 -0400, Rich Freeman wrote:
2 > What exactly are you thinking about here. How about this use case:
3 >
4 > I have a list of 150 packages/versions. I want to make all of them go
5 > from ~x86 to x86 at the same time.
6 >
7 > If they're all in one git repo, then I can use a script or whatever to
8 > go through every one at leisure and rekeyword them. Then I can do a
9 > repoman scan on the entire repository for an hour or two if I want.
10 > When I'm happy I can commit everything atomically.
11 >
12 > How do you envision doing this by just making a single commit to the
13 > rsync tree script if the files are in multiple repos? Right now that
14 > rsync tree is pulling in all those files already - in the ~x86
15 > version. Do you propose cloning all the repos, fixing the arch flag
16 > in the new repos, and then re-pointing the rsync tree atomically?
17 > That would work, but any commits to the 150 packages by others in the
18 > meantime would get lost, and it seems a bit painful to do it this way.
19 > I can see how you could atomically add or remove 150 packages
20 > entirely, but not how you can tweak individual versions of packages
21 > without a fair bit of pain. Admittedly, you could have some clever
22 > solution in mind that I'm just not grokking.
23
24 Not sure. You could branch I guess. It takes more work, undoubtedly.
25
26 > The other thing that was tossed out is having multiple repos, but
27 > putting things like kde/gnome in their own bigger repos. I'm not sure
28 > this is going to work, since it only works for those particular
29 > situations. A package can only be in one repo, so you can't have one
30 > repo for kde, and another repo for everything that uses qt, and
31 > another for everything that uses pulseaudio, or whatever. Atomic
32 > changes to many packages could be required for any number of unforseen
33 > reasons.
34
35 This indeed makes it difficult.
36
37 > I can see the elegance of allowing the portage tree to be a collage of
38 > packages from different sources, but I'm not convinced we really need
39 > this. Users can already accomplish this on their end with overlays.
40 > It seems like we're just making the portage tree an overlay of its
41 > own. I'm not sure what it really buys us. Just using git in the
42 > first place already simplifies distributed development. If you took
43 > this idea to an extreme you might not have the rsync server assemble
44 > the tree at all, but just push out the official list as a
45 > "recommended" list of overlays, and let the users put their own trees
46 > together (with the ability to override parts of it).
47
48 I don't feel users should be playing with these things in general. I
49 see the tree assembling thing more as a technical way to deal with some
50 given legacy and limitations. Admittedly, it isn't perfect, and many
51 people seem to intend doing things with a git-based tree that cannot be
52 done with now CVS, and an assembled tree wouldn't really support it out
53 of the box either.
54
55
56 --
57 Fabian Groffen
58 Gentoo on a different level