Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Guidelines for IUSE defaults
Date: Fri, 03 Feb 2017 02:31:37
Message-Id: CAGfcS_m3BwTpdoi18sBFwkTMWcTJ1COyqfhf23v5PDjWgLqo6g@mail.gmail.com
In Reply to: Re: [gentoo-dev] Guidelines for IUSE defaults by Michael Orlitzky
1 On Thu, Feb 2, 2017 at 9:06 PM, Michael Orlitzky <mjo@g.o> wrote:
2 > On 02/02/2017 09:00 PM, Sam Jorna wrote:
3 >>
4 >> Consider: a new user, coming from Ubuntu or Fedora or Windows, starts
5 >> building their system. They start installing packages they want, only to
6 >> find that half of the package isn't there because no USE flags were
7 >> enabled. They have to enable these flags for almost every package they
8 >> want because there's no defaults, you must manually specify anything
9 >> that's not a direct dependency or forced by profile.
10 >
11 > Desktop profile!!!!!!!!!! We have a desktop profile!!! Why is the base
12 > profile a better location for new-user-with-a-desktop defaults than the
13 > **desktop** profile?
14 >
15
16 The desktop profile is going to do things like enable X11 support by
17 default. It isn't going to do things like enable bzip support in
18 ffmpeg (but not the new experimental codec that causes it to crash 25%
19 of the time, but which apparently works great if you use libav
20 instead), or tools support in tripwire, or e2fsprogs support in
21 libarchive, or threads support in beecrypt, or any of a million other
22 things that aren't desktop-specific. Sure, you can do this with a
23 bazillion package-specific profile settings, but that is a ton of
24 cruft for every profile except a minimal profile.
25
26 USE settings aren't in some kind of natural heirarchy where desktop
27 users want them all on and embedded users want them all off. There
28 are a million often-orthogonal choices, and anybody could potentially
29 need any of them, or not want any of them.
30
31 Take threads support.as a random example. There are lots of packages
32 that default it on, and lots that default it off, and as far as I can
33 tell none of the profiles change it either way, other than for the odd
34 package where the preference is arch-specific. This probably reflects
35 the feature not being equally stable in all packages, or maybe in some
36 cases it pulls in heavyweight dependencies where it isn't worth the
37 tradeoff for a typical user. Just setting the flag on/off globally
38 loses all that nuance, which package maintainers have apparently taken
39 the time to create. And threads support has nothing to do with
40 whether you want desktop vs server vs embedded for the most part,
41 except where it pulls in heavy dependencies, and again that requires
42 nuance.
43
44 I get that there are many people who run Gentoo because it lets them
45 strip down their systems. I want to support that as best we can. I
46 just don't think that we can just abandon the more typical use case
47 (IMO) of upstream defaults just to make setting that up a little
48 easier. Gentoo enables all kinds of exotic configurations, but it
49 does so starting from a baseline that is reasonably close to something
50 like Arch or Debian. That is a pretty sane place to build off of, but
51 Gentoo lets you get a lot further away from that faster if that is
52 what you want. That is why we use openrc+bash as our starting point
53 and not busybox. There are users who swear by busybox mdev and if
54 they're willing to write the wiki pages to make that work more power
55 to them, and I'm fine with having that in a virtual/etc to make life
56 easier on them when that makes sense. I just think as a baseline it
57 makes more sense to start out close to where everybody else starts.
58
59 If this were just about a few global USE flags in the desktop profile,
60 that would be a different matter.
61
62 --
63 Rich

Replies

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