On Sat, Jan 1, 2022 at 2:22 PM Piotr Karbowski <slashbe...@gentoo.org> wrote: > > 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?
I'm trying to understand your principles here. Like on what basis do you remove or add flags (in general). I want to remove: - bash-completion - acl - ldap - policykit - readline - sound (Part of this is just to have a meta discussion so we settle on some driving principles on why we keep one flag over the other.) I can easily craft a narrative for getting rid of ipv6, for example, but I cannot really craft a good narrative for getting rid of pam, or policykit, or ldap as flags. So why do we keep some and remove others? -A > > -- Piotr. >