Gentoo Archives: gentoo-pms

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: Brian Harring <ferringb@×××××.com>
Cc: gentoo-pms@l.g.o, gentoo-dev@l.g.o
Subject: Re: [gentoo-pms] GLEP: gentoo sync based unified deps proposal
Date: Sun, 30 Sep 2012 20:36:03
Message-Id: 20120930213018.22fe16f3@googlemail.com
In Reply to: Re: [gentoo-pms] GLEP: gentoo sync based unified deps proposal by Brian Harring
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-pms] GLEP: gentoo sync based unified deps proposal Brian Harring <ferringb@×××××.com>