Gentoo Archives: gentoo-dev

From: Mike Gilbert <floppym@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Underscores in USE flags
Date: Fri, 20 Sep 2019 20:18:45
Message-Id: CAJ0EP43aVMrqQraO+N9L2cH4A4+viEr3qmUpGyeOMEaXWs90+w@mail.gmail.com
In Reply to: Re: [gentoo-dev] Underscores in USE flags by "Michał Górny"
1 On Fri, Sep 20, 2019 at 4:03 PM Michał Górny <mgorny@g.o> wrote:
2 >
3 > On Fri, 2019-09-20 at 13:24 -0400, Mike Gilbert wrote:
4 > > On Fri, Sep 20, 2019 at 12:55 PM Michał Górny <mgorny@g.o> wrote:
5 > > > On Fri, 2019-09-20 at 12:41 -0400, Mike Gilbert wrote:
6 > > > > On Fri, Sep 20, 2019 at 12:11 PM Michał Górny <mgorny@g.o> wrote:
7 > > > > > On Fri, 2019-09-20 at 11:46 -0400, Mike Gilbert wrote:
8 > > > > > > Recently, a large number of bugs were filed against packages that have
9 > > > > > > USE flag names which contain underscores. Apparently PMS prohibits
10 > > > > > > this except when the USE flag is part of a USE_EXPAND variable.
11 > > > > > >
12 > > > > > > https://projects.gentoo.org/pms/7/pms.html#x1-200003.1.4
13 > > > > > >
14 > > > > > > I'm not certain when this text was added to PMS, or how many of the
15 > > > > > > affected USE flags pre-date this policy.
16 > > > > > >
17 > > > > > > Portage seems to have no issue dealing with underscores, so this
18 > > > > > > doesn't seem to be solving any technical problem.
19 > > > > > >
20 > > > > > > I am pretty sure that renaming a bunch of USE flags will cause some
21 > > > > > > amount of end-user confusion, for very little benefit. Is enforcing
22 > > > > > > this part of PMS really worth it?
23 > > > > >
24 > > > > > And having packages with pretended-USE_EXPAND-that-does-not-work-as-
25 > > > > > USE_EXPAND is less confusing to the users?
26 > > > >
27 > > > > I doubt users immediately think "USE_EXPAND" when they see an underscore.
28 > > > >
29 > > > > Portage's seems fairly unambiguous to me. For example:
30 > > > >
31 > > > > % emerge -pv1O app-misc/foo
32 > > > >
33 > > > > These are the packages that would be merged, in order:
34 > > > >
35 > > > > [ebuild N ] app-misc/foo-0::local USE="-modern_kernel"
36 > > > > PYTHON_TARGETS="python3_7" VIDEO_CARDS="radeon" 0 KiB
37 > > > >
38 > > > > Total: 1 package (1 new), Size of downloads: 0 KiB
39 > > > >
40 > > > > I don't think anyone would mistake "modern_kernel" for a USE_EXPAND
41 > > > > value given the above.
42 > > > >
43 > > >
44 > > > Look at the humongous list of flags on dev-libs/aws-sdk-cpp. They all
45 > > > start with 'aws_targets' which is a clear attempt to emulate USE_EXPAND.
46 > > > Expect that they won't work as USE_EXPAND, user typing:
47 > > >
48 > > > AWS_TARGETS="foo bar baz"
49 > > >
50 > > > will just wildly confused, and in the end this prefixing is just silly
51 > > > and causes the flag names to become awfully long.
52 > >
53 > > Ok, so you chery-picked one particularly horrible example. The Portage
54 > > output still puts them in USE="" section, though the user probably
55 > > won't see that given the massive USE flag list.
56 > >
57 > > My point still stands for many of the other packages in the repo that
58 > > don't have several dozen flags.
59 > >
60 >
61 > I'm sorry to say but you can't expect automated software to be able to
62 > distinguish a 'not horrible' vs 'horrible' use. The test catches both
63 > cases. The latter case deserves fixing, the former usually involves 1-2
64 > flag, so there's no harm in changing it. If for no other reason, then
65 > to improve consistency in USE flags and save shift key a bit.
66 >
67 > The hyphen variant is already in the majority in global flags. What's
68 > the harm in having local flags match that?
69
70 I'm just trying to minimize pain for people who have flags set in
71 make.conf and package.use.

Replies

Subject Author
Re: [gentoo-dev] Underscores in USE flags "Michał Górny" <mgorny@g.o>