Hello,
Those of you who read my blog post on LINGUAS [1] may already know what's going on. For those who didn't, short summary: In EAPI 5 and newer, all variables listed in USE_EXPAND are supposed to be unconditionally exported with their values reduced to enabled USE flags listed in IUSE. In particular, this means that if ebuild does not list any linguas_* flags in IUSE, PM exports *empty* LINGUAS (i.e. disables all localizations with the implicit gettext behavior). Portage had so far some ugly hack-logic that tried to keep LINGUAS working somehow in place. However, the patches to enable PMS-compliant behavior are on their way, so it's about time to decide what to do about LINGUAS. I see the following possibilities: 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. 2. We hack-unset LINGUAS in ebuilds. This is a lot of effort, easy to miss and probably would need to repeated for every single phase anyway due to how global variables are handled in PMS. Additionally, it may break at some point since those variables are likely expected to be read-only anyway. 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]. 4. We fix build systems not to do magic depending on whether LINGUAS is unset or set-to-empty. Instead, we could some special special value like '-' to signify not installing localizations at all. But that's upstream thing to do, and breaks backwards compatibility with existing systems disabling localizations. Your thoughts? [1]:https://blogs.gentoo.org/mgorny/2016/05/16/how-linguas-are-thrice-wrong/ [2]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:INSTALL_MASK -- Best regards, Michał Górny <http://dev.gentoo.org/~mgorny/>
pgpTVRUQKVuVL.pgp
Description: OpenPGP digital signature