Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@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:05:52
Message-Id: CAGfcS_kT3KgUdSnYTjGTv3qpteupMR8juNC8sV4i=WKHQzo=BQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] [RFC] gentoo-x86 migration to repo-per-package by Fabian Groffen
1 On Sun, Aug 7, 2011 at 5:12 AM, Fabian Groffen <grobian@g.o> wrote:
2 > On 06-08-2011 20:55:05 +0000, Robin H. Johnson wrote:
3 >> Problems:
4 >> - atomic/well-ordered commits that span packages, eclasses and profiles/
5 >>   directories. (Esp. committing to eclasses and then packages
6 >>   afterwards).
7 >
8 > This can be done with a single commit to the rsync tree script, and it
9 > doesn't necessarily need git repos.
10 >
11
12 What exactly are you thinking about here. How about this use case:
13
14 I have a list of 150 packages/versions. I want to make all of them go
15 from ~x86 to x86 at the same time.
16
17 If they're all in one git repo, then I can use a script or whatever to
18 go through every one at leisure and rekeyword them. Then I can do a
19 repoman scan on the entire repository for an hour or two if I want.
20 When I'm happy I can commit everything atomically.
21
22 How do you envision doing this by just making a single commit to the
23 rsync tree script if the files are in multiple repos? Right now that
24 rsync tree is pulling in all those files already - in the ~x86
25 version. Do you propose cloning all the repos, fixing the arch flag
26 in the new repos, and then re-pointing the rsync tree atomically?
27 That would work, but any commits to the 150 packages by others in the
28 meantime would get lost, and it seems a bit painful to do it this way.
29 I can see how you could atomically add or remove 150 packages
30 entirely, but not how you can tweak individual versions of packages
31 without a fair bit of pain. Admittedly, you could have some clever
32 solution in mind that I'm just not grokking.
33
34 The other thing that was tossed out is having multiple repos, but
35 putting things like kde/gnome in their own bigger repos. I'm not sure
36 this is going to work, since it only works for those particular
37 situations. A package can only be in one repo, so you can't have one
38 repo for kde, and another repo for everything that uses qt, and
39 another for everything that uses pulseaudio, or whatever. Atomic
40 changes to many packages could be required for any number of unforseen
41 reasons.
42
43 I can see the elegance of allowing the portage tree to be a collage of
44 packages from different sources, but I'm not convinced we really need
45 this. Users can already accomplish this on their end with overlays.
46 It seems like we're just making the portage tree an overlay of its
47 own. I'm not sure what it really buys us. Just using git in the
48 first place already simplifies distributed development. If you took
49 this idea to an extreme you might not have the rsync server assemble
50 the tree at all, but just push out the official list as a
51 "recommended" list of overlays, and let the users put their own trees
52 together (with the ability to override parts of it).
53
54 Rich

Replies

Subject Author
Re: [gentoo-dev] [RFC] gentoo-x86 migration to repo-per-package Fabian Groffen <grobian@g.o>