Hi,
I'd like to get some insight how others see the concept of narrowing the
scope of USE flags in Gentoo.
Taking a quote from devmanual:
> USE flags are to control optional dependencies and settings which
the user may reasonably want to select.
I'd like to focus on the 'reasonably want' here. While it is commonly
agreed on that we interface as USE flags only things that make sense to
be togglable, it is not always the case. It is not uncommon to see
packages that puts every possible option as USE flag which hardly
benefit anyone in some cases.
It creates artificial choice of USE flag that makes as much sense as
building and trying to use solar-powered night vision googles. Possible
to be engineered, but makes absolute no sense to exist, yet, there will
be someone who will go with it and then things will not work in desired
way, bugs will be reported, effort will be wasted on investigation and
patching things up.
As example I'd like to use 'ipv6' USE flag, at the moment of writing
this email there's 351 ebuilds in tree that expose ipv6 as USE flag,
allow it to be disabled.
The thing is, it's 2022, and it does not make any sense to *not* support
IPv6, even if one does not connect to any network with IPv6, there's no
harm to just have it there.
While I am all for choice, I am for choice on things that do make sense.
For instance, Linux kernel can be built with CONFIG_MULTIUSER=n, someone
could argue that since Linux kernel, that is user-configured in Gentoo,
can be built without support for other than UID 0, then Gentoo should
support it. One of the extreme examples of not supporting something that
does not make sense to be supported.
Beside 'ipv6', there are other USE flags that I have on mind. 'pam'
being another of them.
Whats your view on it?
-- Piotr.