On Fri, 2019-09-20 at 12:41 -0400, Mike Gilbert wrote: > On Fri, Sep 20, 2019 at 12:11 PM Michał Górny 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. -- Best regards, Michał Górny