Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] ebuild design issue regarding some {I need the lib and api only}-DEPENDs
Date: Thu, 18 Aug 2005 18:16:43
Message-Id: 20050818181355.GF19947@nightcrawler
In Reply to: Re: [gentoo-dev] ebuild design issue regarding some {I need the lib and api only}-DEPENDs by Ciaran McCreesh
1 On Thu, Aug 18, 2005 at 06:24:03PM +0100, Ciaran McCreesh wrote:
2 > On Thu, 18 Aug 2005 10:56:06 -0500 Brian Harring <ferringb@g.o>
3 > wrote:
4 > | Best solution in my opinon? Two use flags address this, client, and
5 > | server. Regardless of the setting of the two, you get the library;
6 > | from there, you just set client and server as defaulting to on, and
7 > | packages use dep on whatever chunk of it they need (quite likely no
8 > | use dep in this case, since they probably only need the lib).
9 >
10 > We went over this already.
11 Englighten me, since the issues I'm groking from this I'm fairly sure
12 I already stated/covered :)
13
14 > We can't have client and server USE flags
15 > because the meaning is totally different for every package. Plus the
16 > 'probably' really isn't good enough, since there are some packages that
17 > have more specific dependency and the current "die in pkg_setup" stuff
18 > is a real pain -- do we really want to see that becoming a regular
19 > occurrence?
20
21 You're a bit vague in the 'die in pkg_setup' bit; if you're
22 referencing doing the changes now, and sticking a die in, I already
23 explicitly stated the responsible party would need a wedgie if it was
24 done; the "lets check for use flags on our deps in pkg_setup" is evil
25 as hell, and *only* should be used when absolutely explicitly required.
26 iow, wait for use deps unless you've got some damn good reason to
27 fall back to the kludge while waiting.
28
29 Other angle I see is if you're referencing naming the vars in
30 mutually exclusive use flags; if that's the case, I'll just point
31 out that the use flag names in the suggested solution aren't mutually
32 exclusive.
33
34 Re: probably, it's a comment on the packages that depend on mysql;
35 will they 'probably' require the library (meaning no use dep with the
36 flag configuration above), or will they require the client and/or
37 server chunks (requiring use flags on).
38 Not advocating loose depends if that's how you read it, just added
39 bonus for most packages that dep on mysql that it's use configuration
40 wouldn't require use deps.
41
42 > We can't have client and server USE flags
43 > because the meaning is totally different for every package.
44 Meh, I disagree without counter examples provided of where
45 client/server breaks down as a global use flag :)
46 Either way, in this case it *does* make sense, and going with any
47 *only style route makes the flags mutually exclusive (bad). So the
48 alternative names would have to be...?
49
50
51 One comment on mutually exclusive use flags/confutils bit- I've asked
52 before and never gotten a decent response, but I'd like to see mutually
53 exclusive use flags represented somehow in an ebuild- preferably a
54 seperate metadata key, and probably requiring the addition of an
55 xor operator to dep syntax.
56
57 Pretty much just represent the conflicts, and what flags are dependant
58 on one another. Bit ambivalent about that latter part however, since
59 I gtk/gtk2 interaction is a sore point in the tree from where I'm sit.
60 ~harring

Replies