1 |
On Sun, 28 Sep 2008 15:11:42 -0700 |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
> > GLEP 37 effectively abolishes virtuals. It doesn't try to overload |
4 |
> > new behaviour onto packages. |
5 |
> |
6 |
> Well, PROPERTIES=set doesn't necessarily need overload new behavior |
7 |
> onto packages any more that virtual ebuilds do. If set-property |
8 |
> ebuilds are mapped into set space then the overloaded behavior will |
9 |
> come from them being referenced as sets, which won't overload their |
10 |
> ebuild behavior since they can simply behave like existing |
11 |
> meta-packages already do. |
12 |
|
13 |
Ok, so say we have cat/foo-1: |
14 |
|
15 |
PROPERTIES="" |
16 |
DEPEND="cat/one cat/two cat/three" |
17 |
RDEPEND="cat/two cat/four" |
18 |
|
19 |
and cat/foo-2: |
20 |
|
21 |
PROPERTIES="set" |
22 |
DEPEND="cat/one cat/two cat/three" |
23 |
RDEPEND="cat/two cat/four" |
24 |
|
25 |
Then what does this do in package.use? |
26 |
|
27 |
cat/foo monkey |
28 |
|
29 |
What does this do in package.mask? |
30 |
|
31 |
cat/foo |
32 |
|
33 |
What about this? |
34 |
|
35 |
>=cat/foo-2 |
36 |
|
37 |
What about this? |
38 |
|
39 |
<cat/foo-2 |
40 |
|
41 |
What does this do? |
42 |
|
43 |
emerge -uDpv cat/foo |
44 |
|
45 |
What about this? |
46 |
|
47 |
emerge -uDpv \>=cat/foo-2 |
48 |
|
49 |
What about this? |
50 |
|
51 |
emerge -uDpv \<cat/foo-2 |
52 |
|
53 |
Now let's introduce cat/bar-1: |
54 |
|
55 |
DEPEND="cat/foo" |
56 |
|
57 |
and cat/bar-2: |
58 |
|
59 |
DEPEND="=cat/foo-1" |
60 |
|
61 |
What does this do? |
62 |
|
63 |
emerge -e cat/bar |
64 |
|
65 |
What about: |
66 |
|
67 |
emerge -e =cat/bar-1 |
68 |
|
69 |
And how is this anything other than highly weird? |
70 |
|
71 |
Here's an alternate proposal: Repositories can ship sets via files in |
72 |
sets/*.conf. The format is as described in [1]. In configuration files, |
73 |
operations applied to a set are applied to anything matching any spec |
74 |
listed in that set (or any set that set contains, and so on). On the |
75 |
command line, sets and non-sets cannot be mixed, and multiple sets |
76 |
cannot be specified. |
77 |
|
78 |
[1]: http://paludis.pioto.org/configuration/sets.html |
79 |
|
80 |
-- |
81 |
Ciaran McCreesh |