Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: Jason Zaman <perfinion@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] net-misc/strongswan USE_EXPAND
Date: Wed, 24 Jun 2015 20:47:26
Message-Id: 20150624224659.68ec1446@pomiot
In Reply to: Re: [gentoo-dev] net-misc/strongswan USE_EXPAND by Jason Zaman
1 Dnia 2015-06-23, o godz. 10:33:58
2 Jason Zaman <perfinion@g.o> napisał(a):
3
4 > On Tue, Jun 23, 2015 at 08:05:35AM +0200, Michał Górny wrote:
5 > > Then perhaps you go and fix the rules instead of ignoring them?
6 > >
7 > > But please also remember to provide the ability to describe those flags
8 > > per-package rather than globally, like they are done now. Would be good
9 > > to also avoid declaring them globally, like having >50 groups listed in
10 > > USE_EXPAND.
11 > >
12 > > When you're done with that, and get all package managers to support it
13 > > in a reasonably long stable version, then we can discuss about changing
14 > > the rules.
15 >
16 > I dont quite follow, the useflags are described in the packages
17 > metadata.xml, are not conflicting and are supported by everything.
18 >
19 > Is there a rule that everything that is USE_EXPAND'd is a global
20 > useflag? I see no such rule and I dont understand why it would even make
21 > sense. USE_EXPAND arnt useflags, it is just a variable to make useflags
22 > look nicer, they shouldnt all have to be global. What if one and only
23 > one package supports a specific video_card? Should that use-flag be made
24 > global?
25 >
26 > Adding use_expand's for foo_plugins makes things a lot easier to manage
27 > and understand tho. The only possible downside I can see is that there
28 > are a lot of entries in it, but we have a lot of useflags so thats hardly
29 > an issue.
30
31 It's not a rule, policy or magic. It's simply how Portage and some
32 other tools were designed.
33
34 You declare USE_EXPAND globally. If you declared it globally but all
35 flags were local, how would the global declaration really fit?
36
37 You describe those flags globally. Sure, there's probably no rule
38 prohibiting you from describing them via metadata.xml. However, most of
39 the tools will not expect USE_EXPAND flags to be declared locally. For
40 a quick test, see 'quse -D radeon' (vs 'quse -D video_cards_radeon').
41
42 The recommended way of setting USE_EXPAND flags was via global
43 make.conf variables so far. Sure, you can override them via
44 package.use, and even it in a convenient way for a few Portage versions
45 already, but still the global nature is strongly highlighted. Not that
46 I like setting anything via make.conf but it's not my decision to make.
47
48 --
49 Best regards,
50 Michał Górny
51 <http://dev.gentoo.org/~mgorny/>