On Fri, Sep 20, 2019 at 4:03 PM Michał Górny <mgo...@gentoo.org> wrote:
>
> On Fri, 2019-09-20 at 13:24 -0400, Mike Gilbert wrote:
> > On Fri, Sep 20, 2019 at 12:55 PM Michał Górny <mgo...@gentoo.org> wrote:
> > > On Fri, 2019-09-20 at 12:41 -0400, Mike Gilbert wrote:
> > > > On Fri, Sep 20, 2019 at 12:11 PM Michał Górny <mgo...@gentoo.org> wrote:
> > > > > On Fri, 2019-09-20 at 11:46 -0400, Mike Gilbert wrote:
> > > > > > Recently, a large number of bugs were filed against packages that 
> > > > > > have
> > > > > > USE flag names which contain underscores. Apparently PMS prohibits
> > > > > > this except when the USE flag is part of a USE_EXPAND variable.
> > > > > >
> > > > > > https://projects.gentoo.org/pms/7/pms.html#x1-200003.1.4
> > > > > >
> > > > > > I'm not certain when this text was added to PMS, or how many of the
> > > > > > affected USE flags pre-date this policy.
> > > > > >
> > > > > > Portage seems to have no issue dealing with underscores, so this
> > > > > > doesn't seem to be solving any technical problem.
> > > > > >
> > > > > > I am pretty sure that renaming a bunch of USE flags will cause some
> > > > > > amount of end-user confusion, for very little benefit. Is enforcing
> > > > > > this part of PMS really worth it?
> > > > >
> > > > > And having packages with pretended-USE_EXPAND-that-does-not-work-as-
> > > > > USE_EXPAND is less confusing to the users?
> > > >
> > > > I doubt users immediately think "USE_EXPAND" when they see an 
> > > > underscore.
> > > >
> > > > Portage's seems fairly unambiguous to me. For example:
> > > >
> > > > % emerge -pv1O app-misc/foo
> > > >
> > > > These are the packages that would be merged, in order:
> > > >
> > > > [ebuild  N     ] app-misc/foo-0::local  USE="-modern_kernel"
> > > > PYTHON_TARGETS="python3_7" VIDEO_CARDS="radeon" 0 KiB
> > > >
> > > > Total: 1 package (1 new), Size of downloads: 0 KiB
> > > >
> > > > I don't think anyone would mistake "modern_kernel" for a USE_EXPAND
> > > > value  given the above.
> > > >
> > >
> > > Look at the humongous list of flags on dev-libs/aws-sdk-cpp.  They all
> > > start with 'aws_targets' which is a clear attempt to emulate USE_EXPAND.
> > > Expect that they won't work as USE_EXPAND, user typing:
> > >
> > >   AWS_TARGETS="foo bar baz"
> > >
> > > will just wildly confused, and in the end this prefixing is just silly
> > > and causes the flag names to become awfully long.
> >
> > Ok, so you chery-picked one particularly horrible example. The Portage
> > output still puts them in USE="" section, though the user probably
> > won't see that given the massive USE flag list.
> >
> > My point still stands for many of the other packages in the repo that
> > don't have several dozen flags.
> >
>
> I'm sorry to say but you can't expect automated software to be able to
> distinguish a 'not horrible' vs 'horrible' use.  The test catches both
> cases.  The latter case deserves fixing, the former usually involves 1-2
> flag, so there's no harm in changing it.  If for no other reason, then
> to improve consistency in USE flags and save shift key a bit.
>
> The hyphen variant is already in the majority in global flags.  What's
> the harm in having local flags match that?

I'm just trying to minimize pain for people who have flags set in
make.conf and package.use.

Reply via email to