1 |
On Sun, 30 Sep 2012 13:14:53 -0700 |
2 |
Brian Harring <ferringb@×××××.com> wrote: |
3 |
> > That's largely because there are a lot of former Gentoo developers |
4 |
> > there who all said "oh, yeah, I forgot we could do it the other way" |
5 |
> > when this was pointed out... |
6 |
> |
7 |
> I analyzed *all* exheres on git.exherbo. |
8 |
> |
9 |
> To be crystal clear, these include your packages. |
10 |
> |
11 |
> You yourself didn't use nested labels. So either the author of |
12 |
> labels 'forgot' he could use it, or just didn't find the nesting |
13 |
> actually useful. |
14 |
|
15 |
That's a rather disingenuous claim, considering how none of the |
16 |
packages I maintain have any non-trivial dependencies... You could |
17 |
equally well say that every single package I maintain makes use of |
18 |
nested labels in every single place where they're relevant. |
19 |
|
20 |
> So... real world usage removes one of the core arguments of labels, |
21 |
> leaving it just as "it's a new syntax/aesthetically more pleasing" in |
22 |
> comparison to dep:build? ( blah ) form. |
23 |
> |
24 |
> Not expecting you'll agree with that statement based on the facts of |
25 |
> y'alls own repo... so if you're going to retort, bust out actual |
26 |
> examples from eithe trees, where nesting would be preferable to the |
27 |
> form people use now please; else just drop it (-your- own usage of |
28 |
> labels disproves your claim; thus why I want actual examples now if |
29 |
> that point will be debated any further). |
30 |
|
31 |
It's not just that it's more aesthetically pleasing. There are two |
32 |
arguments favouring labels over use abuse. |
33 |
|
34 |
The first is that it doesn't have perverse behaviour associated with it |
35 |
like your misappropriation of use conditionals does. If you put labels |
36 |
deep in a tree, it's well defined. If you put your conditionals |
37 |
anywhere except the top level, crazy stuff happens. |
38 |
|
39 |
The second is that it starts the conceptual shift from "cat/pkg is a |
40 |
build dep, and cat/pkg is a run dep" to "cat/pkg is a dep that is |
41 |
required for build and run". |
42 |
|
43 |
> Bluntly, you want something that is academically possible, but |
44 |
> pragmatically/realistically unneeded- meaning the gains are basically |
45 |
> not there, but the costs most definitely are. |
46 |
|
47 |
No, I want something where things that are different look different. |
48 |
Dependency types are nothing like use flags, so they shouldn't look the |
49 |
same. |
50 |
|
51 |
> Either way, this is gentoo, we're talking about the ebuild format; |
52 |
> just the same as everyone shredded mgorny's ass for proposing we |
53 |
> mangle atom syntax w/out gain, and proposal you push for the deptree |
54 |
> changing, has to have significant gains for changing the existing |
55 |
> form; aesthetics at a cost aren't enough. |
56 |
|
57 |
The gain is that you have a syntax designed for what's being |
58 |
represented, not an existing syntax abused to sort of (but not |
59 |
quite, because it's still defined in terms of rendering down) do new |
60 |
things. |
61 |
|
62 |
Really, all it takes to see that your syntax is bad is one tiny little |
63 |
example: |
64 |
|
65 |
dep:build? ( dep:run? ( cat/pkg ) ) |
66 |
|
67 |
There shouldn't be any need to add in a repoman check to catch that |
68 |
kind of thing. The problem is entirely caused by bad syntax design. |
69 |
Implementing labels is not difficult, and the extra cost is worth it to |
70 |
get a good design. |
71 |
|
72 |
-- |
73 |
Ciaran McCreesh |