1 |
On Thu, 6 Sep 2012 09:00:40 +0100 |
2 |
Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
3 |
|
4 |
> On Thu, 6 Sep 2012 09:39:25 +0200 |
5 |
> Michał Górny <mgorny@g.o> wrote: |
6 |
> > On Thu, 6 Sep 2012 06:58:51 +0100 |
7 |
> > Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
8 |
> > > On Wed, 5 Sep 2012 18:15:43 +0200 |
9 |
> > > Michał Górny <mgorny@g.o> wrote: |
10 |
> > > > If we really want to go this route, then please at least require |
11 |
> > > > explicit label at start of DEPENDENCIES. And the same when |
12 |
> > > > appending to DEPENDENCIES -- just so 'unlikely' mistakes will |
13 |
> > > > leave us with hours of debugging. |
14 |
> > > |
15 |
> > > We should take the exheres-0 rules for labels and eclasses, which |
16 |
> > > limit labels' scopes to blocks, and which introduce an extra ( ) |
17 |
> > > block around the outside when doing eclass variable merging. |
18 |
> > |
19 |
> > Because? I believe we should take 'Gentoo rules', including required |
20 |
> > explicit build+run at the start. |
21 |
> |
22 |
> You mean, you want to invent some new rules that don't quite work, |
23 |
> rather than using the ones that do... The whole "initial labels" thing |
24 |
> isn't an issue for exheres-0, since rather than appending, the |
25 |
> resulting metadata variable ends up with extra ( ) blocks like this: |
26 |
> |
27 |
> ( |
28 |
> stuff/from-the-exheres |
29 |
> ) |
30 |
> ( |
31 |
> stuff/from-exlib-1 |
32 |
> ) |
33 |
> ( |
34 |
> stuff/from-exlib-2 |
35 |
> ) |
36 |
> |
37 |
> so there's no possibility of labels ending up applied to the wrong |
38 |
> thing. |
39 |
> |
40 |
> If you just append, you'd have to have some way of validating that |
41 |
> eclasses all individually specify an initial label. That's not |
42 |
> something that can easily be done. |
43 |
|
44 |
In that format there is not a single thing which *can be done easily*. |
45 |
|
46 |
But what I was saying is that I dislike the implicit 'no label == |
47 |
build+run'. It's unclear, very unclear. |
48 |
|
49 |
Why the heck: |
50 |
|
51 |
( foo/bar ) |
52 |
|
53 |
introduces another label than: |
54 |
|
55 |
use? ( foo/bar ) |
56 |
|
57 |
? |
58 |
|
59 |
> > > > Remember that this requirement will actually cause migration to |
60 |
> > > > EAPI 5 to be even harder than to any previous EAPIs. Migrating a |
61 |
> > > > single ebuild will require rewriting the dependencies, and |
62 |
> > > > migrating an eclass will require adding a lot of dirty code. |
63 |
> > > |
64 |
> > > Migrating to EAPI 5 requires rewriting dependencies anyway if |
65 |
> > > we're adding in HDEPEND. Also, earlier EAPIs have introduced new |
66 |
> > > phase functions, which is a far ickier change for ebuilds than |
67 |
> > > this. |
68 |
> > |
69 |
> > Do you really believe in HDEPEND in EAPI 5? I've already postponed |
70 |
> > this in my mind. Also, not every single ebuild will actually need |
71 |
> > it. |
72 |
> |
73 |
> *shrug* if all the new *DEPEND stuff ends up in EAPI 6, then there's |
74 |
> no point in DEPENDENCIES for EAPI 5. But we'll have to sort this out |
75 |
> sooner or later... |
76 |
|
77 |
Yes, there's more time for a meaningful discussion without switching |
78 |
everything upside-down just because you did it. |
79 |
|
80 |
-- |
81 |
Best regards, |
82 |
Michał Górny |