On 05/21/2016 03:41 AM, Michał Górny wrote: > > I see the following possibilities: >
#2 is ugly and requires a special case due to a bad choice of variable name; #4 will never work. > 3. We remove LINGUAS from USE_EXPAND and stop using it. If ebuilds have > a good reason to use flags for localization, we introduce a new, > non-colliding USE_EXPAND for that. We also ask users to replace LINGUAS > with the new flag in their make.conf files. LINGUAS gets the original > upstream behavior back, and we eventually discourage it in favor of new > INSTALL_MASK features (WiP) [2]. > This is probably the best option because it fixes the real problem: we tried to repurpose somebody else's environment variable for our package manager. If we try to keep the name "LINGUAS", we may run into some other problem down the line. > 1. We start explicitly listing linguas_* in all ebuilds, no matter how > tiny they are. Maintainers are required to keep IUSE up-to-date > and users are forced to rebuild a lot. This is also a QA violation > in terms of invalid use of USE flags. This isn't as bad as you make it sound... the rebuilds would happen once on a revision bump. The QA violation (I'm guessing) is that USE flags shouldn't be used to control the installation of small text files. I prefer a looser interpretation of that rule: maintainers don't have to waste their time and complicate their ebuilds with USE flags to control the installation of small text files if they don't want to. Basically an "it's OK to install systemd unit files unconditionally" rule. Or in other words, the rule is "it's OK not to do it" rather than "it's not OK to do it." I think if someone /wants/ to have a bunch of logic controlling the installation of localization files, that's fine. But, this option would force everyone to do it in order to work around an unfortunate choice of variable name. It also adds some eternal mental overhead in that we have to collectively remember that LINGUAS is special somehow and teach that to everyone. For those reasons I think #3 is a better long-term solution.
