1 |
On Tue, 25 Sep 2012 15:46:14 -0700 |
2 |
Brian Harring <ferringb@×××××.com> wrote: |
3 |
> Fun fact; peoples usage of labels in exherbo is thus: |
4 |
> |
5 |
> build+run: |
6 |
> set of deps |
7 |
> run: |
8 |
> set of deps/conditionals/etc |
9 |
|
10 |
That's largely because there are a lot of former Gentoo developers |
11 |
there who all said "oh, yeah, I forgot we could do it the other way" |
12 |
when this was pointed out... |
13 |
|
14 |
> > Specification in terms of rendering has a huge problem, though. |
15 |
> > Remembering the crazy rules Gentoo has for || ( flag? ( ) ), what |
16 |
> > does this do? |
17 |
> > |
18 |
> > || ( dep:build? ( a ) dep:run? ( b ) ) |
19 |
> |
20 |
> Honestly, I was waiting for you to bring this up :) |
21 |
> |
22 |
> You're conflating two different things here; |
23 |
> 1) someone being a dumb ass and writing what's effectively a || ( |
24 |
> atom) block, just doing so in a manner w/out any reason to do so. |
25 |
> |
26 |
> 2) Your ongoing jihad against || (), specifically the occasionally |
27 |
> valid complaint that build/rdepend different means the resolver can |
28 |
> get stuck in certain pathways when slots are involved, abi, etc. |
29 |
> |
30 |
> Either way, in my proposal, I'm not going to single that out and try |
31 |
> blocking it. The rendered version of it is still stable, albeit if |
32 |
> it's build/run it's unlikely to be desired if there is ABI involved |
33 |
> (for non ABI, specifically self-bootstrapping codebases, I suspect |
34 |
> someone could come up with a valid construct- sed has something |
35 |
> similar if memory serves). |
36 |
|
37 |
The rendered version ends up as ( a b ), in effect... It doesn't end up |
38 |
as || ( a (at build time) b (at runtime) ). |
39 |
|
40 |
> Which is stupid, but syntactically correct. Nor is this a new issue, |
41 |
> thus I don't particularly agree with your approach of trying to sink |
42 |
> the proposal via an orthogonal problem. |
43 |
|
44 |
No, you're introducing a new kind of weirdness for || ( ) here. |
45 |
|
46 |
> Either way, via |
47 |
> http://dev.gentoo.org/~ferringb/unified-dependencies/labels/translated-to-use-deps.txt |
48 |
> , I think it's pretty clear labels in real world usage aren't |
49 |
> bringing anything to the tabel that we wouldn't have via my proposal; |
50 |
> that leaves labels as just a different syntax (perhaps aesthetically |
51 |
> more pleasing at first glance, but the label stacking bit via exheres |
52 |
> analysis is proven to be something people explicitly go out of their |
53 |
> way to protect against; meaning the aesthetics have a mental |
54 |
> model cost). |
55 |
|
56 |
It's not "go out of their way to protect against". It's "there's an |
57 |
easy way of making sure everything is composable". Your |
58 |
misappropriation of use flags doesn't have that. |
59 |
|
60 |
-- |
61 |
Ciaran McCreesh |