Gentoo Archives: gentoo-dev

From: Michael Orlitzky <mjo@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] How to deal with LINGUAS mess?
Date: Sat, 21 May 2016 12:21:16
Message-Id: 57405296.1090506@gentoo.org
In Reply to: [gentoo-dev] [RFC] How to deal with LINGUAS mess? by "Michał Górny"
1 On 05/21/2016 03:41 AM, Michał Górny wrote:
2 >
3 > I see the following possibilities:
4 >
5
6 #2 is ugly and requires a special case due to a bad choice of variable
7 name; #4 will never work.
8
9
10 > 3. We remove LINGUAS from USE_EXPAND and stop using it. If ebuilds have
11 > a good reason to use flags for localization, we introduce a new,
12 > non-colliding USE_EXPAND for that. We also ask users to replace LINGUAS
13 > with the new flag in their make.conf files. LINGUAS gets the original
14 > upstream behavior back, and we eventually discourage it in favor of new
15 > INSTALL_MASK features (WiP) [2].
16 >
17
18 This is probably the best option because it fixes the real problem: we
19 tried to repurpose somebody else's environment variable for our package
20 manager. If we try to keep the name "LINGUAS", we may run into some
21 other problem down the line.
22
23
24 > 1. We start explicitly listing linguas_* in all ebuilds, no matter how
25 > tiny they are. Maintainers are required to keep IUSE up-to-date
26 > and users are forced to rebuild a lot. This is also a QA violation
27 > in terms of invalid use of USE flags.
28
29 This isn't as bad as you make it sound... the rebuilds would happen once
30 on a revision bump. The QA violation (I'm guessing) is that USE flags
31 shouldn't be used to control the installation of small text files.
32
33 I prefer a looser interpretation of that rule: maintainers don't have to
34 waste their time and complicate their ebuilds with USE flags to control
35 the installation of small text files if they don't want to. Basically an
36 "it's OK to install systemd unit files unconditionally" rule. Or in
37 other words, the rule is "it's OK not to do it" rather than "it's not OK
38 to do it."
39
40 I think if someone /wants/ to have a bunch of logic controlling the
41 installation of localization files, that's fine. But, this option would
42 force everyone to do it in order to work around an unfortunate choice of
43 variable name. It also adds some eternal mental overhead in that we have
44 to collectively remember that LINGUAS is special somehow and teach that
45 to everyone.
46
47 For those reasons I think #3 is a better long-term solution.