Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: RFC: split up media-sound/ category
Date: Sun, 26 Jun 2011 01:48:00
Message-Id: BANLkTinxV6T__ZeuCmqNBLTgt+wf42Owdw@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: RFC: split up media-sound/ category by Ulrich Mueller
1 On 26 June 2011 05:29, Ulrich Mueller <ulm@g.o> wrote:
2 >>>>>> On Sat, 25 Jun 2011, Maciej Mrozowski wrote:
3 >
4 >> Assuming package names are unique identifiers, tags are not
5 >> necessary to be available for ebuild.sh so metadata.xml is the best
6 >> place.
7 >
8 > But we know that package names are _not_ unique. There are many cases
9 > in the Portage tree where two or even more packages have the same
10 > name. Categories are there to avoid such collisions.
11 >
12 > With multiple overlays/repositories instead of one monolithic Portage
13 > tree, the collision issue gets even worse if you have a flat
14 > namespace.
15 >
16 > Ulrich
17 >
18 >
19
20 At present, this exists because we use categories as a the primary way
21 for a *user* to find the package. Our current collision avoidance
22 strategy is targeted at not confusing our *user*.
23
24 However, in the proposed strategy, package names themselves are not
25 *users* primary interface. "tags" and other metadata are intended as
26 the users primary interface.
27
28 Package names themselves can be thusly arbitrary , and could be a SHA
29 sum or something obscure, as long as all internals and dependencies
30 used the same arbitrary name, things would work as intended.
31
32 There is one remaining downside to the flat topology however, and that
33 is it may hamper our move to git.
34
35 I was thinking that what could be done is have seperate submodules or
36 whathave you for various categories to somewhat ease the load of "A
37 full checkout of the tree going back for all time can be bloody huge
38 and slow" , but without categorical subtrees that approach will be
39 less viable.
40
41 Although, this what currently seems like a disadvantage could be used
42 to an advantage perhaps, with the possible idea of "meta trees" of
43 some description. If we relinquish the hold we have on symlinks, a few
44 interesting options become available.
45
46 Different Herds could have their own subtrees in
47
48 /projects/herd/<x>
49
50 and a tool could be used to symlink the contents of herd specific
51 subtrees to the ebuilds folder.
52
53 /ebuild/<pn> --> /projects/herd/<herdname>/<pn>
54
55 And the tool can inform herds when they add a new package that
56 conflicts with the name of an existing one so it can be disambiguated
57 before the tree propagates to users.
58
59 Continuing on that line of thought and you get even more interesting
60 ideas, like introducing a "merge mask" file, which allows people to
61 work on stuff in the herd tree , and indicate that their
62 files/packages are not fit for integration with the main-tree yet,
63 somewhat bridging the gap we presently have between "Development"
64 overlays and the current main tree.
65
66 This could in turn make collaboration even easier, as dev branches
67 will be able to go nuts with all sorts of random contributions, and
68 when its deemed fit for public consumption and testing remove the
69 package from the merge mask and its there.
70
71 </early morning coffee fuelled idea session>
72
73 --
74 Kent
75
76 perl -e  "print substr( \"edrgmaM  SPA NOcomil.ic\\@tfrken\", \$_ * 3,
77 3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"
78
79 http://kent-fredric.fox.geek.nz

Replies

Subject Author
Re: [gentoo-dev] Re: RFC: split up media-sound/ category Wyatt Epp <wyatt.epp@×××××.com>