1 |
On Thu, Feb 02, 2017 at 09:11:26AM -0500, Michael Orlitzky wrote: |
2 |
> IUSE defaults are used in a few different ways: |
3 |
> |
4 |
> 1 To ensure that critical functionality is enabled. |
5 |
> |
6 |
> * Example: force the "unix" module for apache. |
7 |
|
8 |
Why provide a flag for something that is required anyway? And if it's a |
9 |
case of "you *really* should have this, but if you want to break it, |
10 |
here's how", then why not put it in package.use.force instead? An IUSE |
11 |
default for this doesn't make sense. |
12 |
|
13 |
> 2 To avoid an unsatisfied REQUIRED_USE by default. |
14 |
> |
15 |
> * Example: having a non-empty RUBY_TARGETS by default. |
16 |
|
17 |
This seems reasonable - two mutually exclusive options, of which one is |
18 |
preferred. That being said, I do see it as akin to 3 and 4. |
19 |
|
20 |
> 3 To make Gentoo defaults the upstream defaults. |
21 |
> |
22 |
> * Example: right now the defaults for dev-lang/php build |
23 |
> you a "normal" PHP installation. |
24 |
> |
25 |
> 4 To make the default build agree with the maintainer's personal |
26 |
> preferences. |
27 |
> |
28 |
|
29 |
The way I see it, IUSE defaults are provided by the maintainer as a way |
30 |
to offer a package with "what you probably would want enabled" to |
31 |
facilitate users who either aren't interested in ricing their system or |
32 |
aren't experienced enough with Gentoo to tweak all the flags. |
33 |
|
34 |
Consider: a new user, coming from Ubuntu or Fedora or Windows, starts |
35 |
building their system. They start installing packages they want, only to |
36 |
find that half of the package isn't there because no USE flags were |
37 |
enabled. They have to enable these flags for almost every package they |
38 |
want because there's no defaults, you must manually specify anything |
39 |
that's not a direct dependency or forced by profile. |
40 |
|
41 |
Conversely, users who want a minimal system are ones who are much more |
42 |
likely to inspect emerge's output before committing to a build. They are |
43 |
likely more willing to tweak the flags to have the system provide only |
44 |
the things they want. Often they'll have USE="-*", accepting that |
45 |
they'll probably have to enabled a bunch of things to get their desired |
46 |
functionality. |
47 |
|
48 |
IUSE defaults are a convenience for those either inexperienced with |
49 |
Gentoo or uncaring of cruft. Certainly maintainers should put some |
50 |
forethought into which flags they default to enabled, but I see the end |
51 |
goal as helping the users who need the help most (not to discount more |
52 |
advanced users, but they are more likely to *want* to tweak than one for |
53 |
whom this is their first CLI). |
54 |
|
55 |
That's my two cents, at least. |
56 |
|
57 |
-- |
58 |
Sam Jorna (wraeth) |
59 |
GnuPG Key: D6180C26 |