Gentoo Archives: gentoo-dev

From: Sam Jorna <wraeth@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Guidelines for IUSE defaults
Date: Fri, 03 Feb 2017 02:00:23
Message-Id: 20170203015959.GA15643@cerberus.civica.com.au
In Reply to: [gentoo-dev] Guidelines for IUSE defaults by Michael Orlitzky
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

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] Guidelines for IUSE defaults Michael Orlitzky <mjo@g.o>