Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: qa@g.o
Subject: [gentoo-dev] [RFC] How to deal with LINGUAS mess?
Date: Sat, 21 May 2016 07:41:48
Message-Id: 20160521094128.0a7c7766.mgorny@gentoo.org
1 Hello,
2
3
4 Those of you who read my blog post on LINGUAS [1] may already know
5 what's going on. For those who didn't, short summary:
6
7 In EAPI 5 and newer, all variables listed in USE_EXPAND are supposed to
8 be unconditionally exported with their values reduced to enabled USE
9 flags listed in IUSE. In particular, this means that if ebuild does not
10 list any linguas_* flags in IUSE, PM exports *empty* LINGUAS (i.e.
11 disables all localizations with the implicit gettext behavior).
12
13 Portage had so far some ugly hack-logic that tried to keep LINGUAS
14 working somehow in place. However, the patches to enable PMS-compliant
15 behavior are on their way, so it's about time to decide what to do
16 about LINGUAS.
17
18
19 I see the following possibilities:
20
21 1. We start explicitly listing linguas_* in all ebuilds, no matter how
22 tiny they are. Maintainers are required to keep IUSE up-to-date
23 and users are forced to rebuild a lot. This is also a QA violation
24 in terms of invalid use of USE flags.
25
26 2. We hack-unset LINGUAS in ebuilds. This is a lot of effort, easy to
27 miss and probably would need to repeated for every single phase anyway
28 due to how global variables are handled in PMS. Additionally, it may
29 break at some point since those variables are likely expected to be
30 read-only anyway.
31
32 3. We remove LINGUAS from USE_EXPAND and stop using it. If ebuilds have
33 a good reason to use flags for localization, we introduce a new,
34 non-colliding USE_EXPAND for that. We also ask users to replace LINGUAS
35 with the new flag in their make.conf files. LINGUAS gets the original
36 upstream behavior back, and we eventually discourage it in favor of new
37 INSTALL_MASK features (WiP) [2].
38
39 4. We fix build systems not to do magic depending on whether LINGUAS
40 is unset or set-to-empty. Instead, we could some special special value
41 like '-' to signify not installing localizations at all. But that's
42 upstream thing to do, and breaks backwards compatibility with existing
43 systems disabling localizations.
44
45
46 Your thoughts?
47
48
49 [1]:https://blogs.gentoo.org/mgorny/2016/05/16/how-linguas-are-thrice-wrong/
50 [2]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:INSTALL_MASK
51
52 --
53 Best regards,
54 Michał Górny
55 <http://dev.gentoo.org/~mgorny/>

Replies

Subject Author
Re: [gentoo-dev] [RFC] How to deal with LINGUAS mess? Kent Fredric <kentfredric@×××××.com>
[gentoo-dev] Re: [RFC] How to deal with LINGUAS mess? Ulrich Mueller <ulm@g.o>
Re: [gentoo-dev] [RFC] How to deal with LINGUAS mess? Michael Orlitzky <mjo@g.o>
Re: [gentoo-dev] [RFC] How to deal with LINGUAS mess? waltdnes@××××××××.org