Gentoo Archives: gentoo-dev

From: Martin Vaeth <martin@×××××.de>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [RFC] Masterplan for solving LINGUAS problems
Date: Wed, 01 Jun 2016 20:24:57
Message-Id: slrnnkuh44.ppj.martin@lounge.imp.fu-berlin.de
In Reply to: Re: [gentoo-dev] Re: [RFC] Masterplan for solving LINGUAS problems by Raymond Jennings
1 Raymond Jennings <shentino@×××××.com> wrote:
2 >
3 > I'd honestly as a minor issue like ot know why we called it linguas in the
4 > first place.
5 > [...]
6 > I think though I should also point out...don't we already have existing
7 > ebuilds that expose LINGUAS options in their USE flags?
8
9 From this posting, it is obvious that the discussion between mgorny
10 and me was not well understandable, so I try to summarize the
11 situation:
12
13 The variable name LINGUAS was not chosen by gentoo:
14 autotools based build systems (and some others) support
15 this variable to control, for which languages some support is
16 installed. The effect can be that simply some files are (not)
17 installed, but the effect can also be much more complex:
18 It really depends on the package.
19
20 Gentoo has chosen this name so that as a side effect of setting
21 USE=linguas_* you also get a correct LINGUAS variable exported
22 (according to the USE-settings and your settings and according
23 to the ebuild's IUSE.)
24 These are the package with LINGUAS options in their USE flags
25 which you mentioned above.
26
27 This had the advantage that no additional code except a correct
28 IUSE is needed for these ebuilds. (That's why gentoo has chosen
29 this name).
30
31 It had the disadvantage that:
32 1. Ebuilds without handling IUSE=linguas_* explicitly (or
33 with wrong values, because maintainers did not care about the
34 values) had problems.
35 2. Some packages which needed a different handling of LINGUAS
36 (like respecting the order) also had problems.
37
38 There are at least the following solutions to these disadvantages:
39
40 a)
41 One _could_ solve problem 1 simply by not touching LINGUAS if
42 IUSE=linguas_* is not in the ebuild. (Main problem with this
43 solution: It is not PMS compatible; one needs e.g.
44 an exception for LINGUAS).
45 In a similar manner, one could solve problem 2 by allowing
46 ebuilds to modify LINGUAS at build time (which is perhaps
47 also not PMS compatible).
48
49 b)
50 Or one could, for all packages with LINGUAS in their USE-flag
51 simply rename IUSE=linguas_* to IUSE=l10n_* and set
52 export LINGUAS=$L10N
53 in these ebuilds (this would require practically no manual ebuild
54 editing if one does it in the l10n.eclass).
55
56 I had originally understood mgorny's suggestion such that b)
57 is meant, and I would complain neither against a) nor b).
58
59 But in his reply, mgorny says that, moreover, he wants to
60 remove the l10n.eclass, more precisely, that he considers
61 it as broken that packages use IUSE=l10n_* for setting
62 LINGUAS.
63
64 This suggestion means that setting LINGUAS can be done
65 *only* in a hackish way by the user, "hidden" from the
66 package manager, not in the clean way as it is currently
67 done by those ebuilds with LINGUAS in their use-falgs.
68
69 I agree with him that a hidden setting is a bad idea.
70 Where our opinions strongly differ is whether a way to
71 cleanly set LINGUAS should be provided (e.g. by allowing
72 IUSE=l10n_* to modify LINGUAS appropriately, and make this
73 the "good" way instead calling it a "broken" way which
74 should be avoided.)
75
76 The INSTALL_MASK is an independent thing which for _many_
77 packages "by accident" can be used with a similar effect as
78 setting LINGUAS (because many packages use LINGUAS only to
79 determine the files which they install).
80 However, it is a different thing, and for some packages
81 it is not a replacement at all.
82 For instance, the default language of mplayer will depend on
83 the first entry of LINGUAS, independent of INSTALL_MASK.
84 That's why I suggested that INSTALL_MASK should actually
85 not be discussed at all in this context.

Replies