Gentoo Archives: gentoo-dev

From: Daniel Campbell <zlg@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Masterplan for solving LINGUAS problems
Date: Tue, 31 May 2016 17:31:49
Message-Id: a4a2441e-9280-4764-2015-9a842f1e261e@gentoo.org
In Reply to: [gentoo-dev] [RFC] Masterplan for solving LINGUAS problems by "Michał Górny"
1 On 05/31/2016 05:49 AM, Michał Górny wrote:
2 > Hello, everyone.
3 >
4 > Since the previous thread doesn't seem to have brought any good
5 > solution to the problem other than stopping to (ab)use LINGUAS
6 > as USE_EXPAND, I would like to start a RFC on a draft solution that
7 > I'd like afterwards to propose to the Council.
8 >
9 >
10 > Rationale
11 > ---------
12 >
13 > The direct reason for this is that LINGUAS is treated as non-standard
14 > special variable by multiple build systems. This includes the following
15 > problems:
16 >
17 > 1. no localizations are installed if it is set to an empty value (which
18 > happens in EAPI 5 when the ebuild does not use the flags),
19 >
20 > 2. there were historical cases where order of LINGUAS mattered.
21 >
22 > Those problems can't be reasonably solved within the scope of
23 > USE_EXPAND. Furthermore, the use of flags to control localizations is
24 > causing the following problems:
25 >
26 > a. maintaining correct flag list is a serious maintenance burden,
27 > especially that differences in build systems make it hard to figure out
28 > the 'most correct' set automatically,
29 >
30 > b. missing flags result in localizations being silently dropped, with
31 > no clear way (i.e. for QA check) to detect that,
32 >
33 > c. large number of additional USE flags make it pretty much impossible
34 > to limit localizations this way when using binary packages.
35 >
36 >
37 > The plan
38 > --------
39 >
40 > 1. Get approval on INSTALL_MASK GLEP [1] and finish implementing it
41 > in Portage.
42 >
43 > 2. Introduce a new USE_EXPAND that can be used to control localizations
44 > whenever this is really required (dependencies, large files, etc.).
45 > Let's use L10N as a draft name for it.
46 >
47 > 3. Fix all packages using LINGUAS as USE_EXPAND, either by converting
48 > to L10N or by removing the needless flags.
49 >
50 > 4. Remove LINGUAS from USE_EXPAND, therefore removing the special EAPI
51 > rules from the variable.
52 >
53 > 5. Release a news item explaining the users the change,
54 > and the necessary action. Request changing LINGUAS to L10N
55 > in make.conf, and make LINGUAS considered an 'advanced variable' for
56 > implicit localization control (i.e. passed through to build systems).
57 > Recommend clean INSTALL_MASK solution instead.
58 >
59 > The example 'new' make.conf would probably look like:
60 >
61 > # controlling e.g. langpacks
62 > L10N="en_US pl"
63 > # stripping unneeded files
64 > INSTALL_MASK="@linguas -@linguas_pl"
65 >
66 >
67 > Your thoughts?
68 >
69 >
70 > [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:INSTALL_MASK
71 >
72
73 I think this idea has some potential, but would there be a way for a
74 user to choose L10N *or* INSTALL_MASK instead of both? If I understand
75 correctly, a person who wanted all of their system to be en_US only, but
76 wanted to take part in translation of some other project, would need to
77 add the other locales directly to L10N, then somehow mask them out for
78 other packages. Or the reverse: leave L10N="en_US" or something, and
79 somehow enable other languages in that specific package.
80
81 Is there a package-level option for this? Users can set their locales in
82 /etc/locale.gen, and that handles things globally, but what about the
83 user that doesn't want to include that for all of their packages? This
84 seems like an all-or-nothing thing, lacking in granularity. If I'm
85 wrong, please clarify so I can understand better.
86
87 --
88 Daniel Campbell - Gentoo Developer
89 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
90 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies