Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: How to easily find out what USE flags are redundant in make.conf and package.use?
Date: Sun, 02 Oct 2011 17:17:52
Message-Id: 20111002191628.42e21d79@rohan.example.com
In Reply to: Re: [gentoo-user] Re: How to easily find out what USE flags are redundant in make.conf and package.use? by Michael Mol
1 On Sun, 2 Oct 2011 10:53:46 -0400
2 Michael Mol <mikemol@×××××.com> wrote:
3
4 > On Sun, Oct 2, 2011 at 7:58 AM, Alan McKinnon
5 > <alan.mckinnon@×××××.com> wrote:
6 > > On Sun, 02 Oct 2011 06:36:54 -0500
7 > > Dale <rdalek1967@×××××.com> wrote:
8 > >> Alan McKinnon wrote:
9 > >> > On Sun, 02 Oct 2011 05:13:49 -0500
10 > >> > Dale<rdalek1967@×××××.com>  wrote:
11 > > You often mention the attraction of Gentoo is you get only what you
12 > > want. But, consider this; if you put flags routinely in make.conf
13 > > you lose most of that benefit. You end up with the equivalent of
14 > > Mandrake where you complied it yourself, not the binary distro.
15 > >
16 > > USE="<every possible flag enabled>" emerge something and
17 > > yum install something and pretty much equivalent in terms of end
18 > > result.
19 >
20 > I'm actually very much in Dale's usage pattern here. If there's a
21 > feature I want, and it's a globally-valid USE flag (such as, say,
22 > ipv6), I put it in make.conf. If there's a feature I want, and it's
23 > package-specific, it goes in package.use. If there's a feature I want,
24 > it's a globally-valid USE flag, but I *don't* want it in a particular
25 > package (say, X in vim), the enabler goes in make.conf, the disabler
26 > goes in packages.use; for 90% of packages, I want that support.
27 >
28 > So that's not USE=<every possible flag enable>, that's USE=<all the
29 > global flags I want enabled>.
30
31
32 As with all things in life, USE flags require intelligence, common
33 sense and familiarity to use to best advantage. Not all global USE
34 flags are equal or used in the same way!
35
36 USE="ipv6" is mostly global and single-meaning. ipv6 support means
37 just that - ipv6 support. For a daemon, that would be listen on an
38 ipv6 interface and talk it back. For config tools, it's " set up
39 interfaces and routes ipv6 style". It's hard to come up with a meaning
40 for the flag that's outside that narrow range; it's equally hard to
41 come up with a reason to use in package.use. Maybe disable it for a
42 package that supports ipv6 but is known to be broken in it's support.
43
44 USE="perl python" is a very different kettle of fish. While also
45 global (i.e. used in a similar way by more than x number of ebuilds),
46 the meaning in use can differ wildly. It can mean to build support
47 for extra tools written in perl|python, or build language bindings, or
48 use language bindings and possibly many things. These flags can benefit
49 from being used in package.use - whereas you probably want ipv6 support
50 everywhere if used, perl|python isn't used the same way.
51
52 Your post indicates you already know this :-)
53
54 I mentioned it to Dale to illuminate that just because a flag is
55 *defined* globally doesn't mean you have to *use* it globally. And the
56 reverse is also true - overlays often have flags used in many ebuilds,
57 always with the same meaning (e17 is like this), but are not global in
58 use.desc. My own make.conf has many of these flags.
59
60 Sometimes I wish Gentoo would express these distinctions. Then I think
61 about what it would take to do that, and shelf the idea :-)
62
63 --
64 Alan McKinnnon
65 alan.mckinnon@×××××.com

Replies