Gentoo Archives: gentoo-dev

From: Alexandre Rostovtsev <tetromino@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: l10n.eclass
Date: Fri, 20 Jul 2012 17:44:38
Message-Id: 1342806195.9434.24.camel@rook
In Reply to: Re: [gentoo-dev] RFC: l10n.eclass by Ciaran McCreesh
1 On Fri, 2012-07-20 at 18:09 +0100, Ciaran McCreesh wrote:
2 > On Fri, 20 Jul 2012 12:39:21 -0400
3 > Mike Gilbert <floppym@g.o> wrote:
4 > > On Fri, Jul 20, 2012 at 2:54 AM, Ciaran McCreesh
5 > > <ciaran.mccreesh@××××××××××.com> wrote:
6 > > > On Thu, 19 Jul 2012 18:34:41 -0400
7 > > > Mike Gilbert <floppym@g.o> wrote:
8 > > >> On Thu, Jul 19, 2012 at 5:13 PM, Zac Medico <zmedico@g.o>
9 > > >> wrote:
10 > > >> > On 07/19/2012 06:14 AM, Ralph Sennhauser wrote:
11 > > >> >> Could be that Portage re-exports a sanitized
12 > > >> >> LINGUAS tough, but I doubt it.
13 > > >> >
14 > > >> > Portage does sanitize it if there are any linguas_* flags in
15 > > >> > IUSE, otherwise it lets the variable pass through without
16 > > >> > sanitizing it.
17 > > >>
18 > > >> That's good; we definitely don't want to "sanitize" it if there
19 > > >> are no linuguas_* flags in IUSE. This would break LINUGUAS support
20 > > >> for many autotools/gettext based packages, where the autotools
21 > > >> code parses LINGUAS directly and the ebuild does nothing with it.
22 > > >
23 > > > If there aren't any linguas_* flags in IUSE, LINGUAS should be
24 > > > empty, and will be in future EAPIs. Without that, USE dependencies
25 > > > on USE_EXPAND variables don't work.
26 > >
27 > > How do you figure that?
28 >
29 > If you dep upon foo[linguas_en(+)] and linguas_en isn't in IUSE, what
30 > happens?
31
32 Fatal error. If a package installs its translations implicitly via
33 gettext's rules depending on the value of LINGUAS at configure time,
34 then obviously other packages must rely on that package having installed
35 any particular translation.
36
37 > > The current portage behavior works well enough; if linugas_* is in
38 > > IUSE, LINGUAS is treated as a USE_EXPAND, and use-deps should work
39 > > fine.
40 > >
41 > > Otherwise, it is treated just like a normal environment variable, and
42 > > portage doesn't touch it.
43 >
44 > It's not a normal environment variable, and it never has been.
45
46 LINGUAS has been an environment variable with a special meaning for
47 gettext-based build systems, which are rather popular in the free
48 software world, since, oh, at least the year 2002 or so, when
49 gettext-0.11 was released. Maybe even earlier.
50
51 > > For most gettext packages, there is absolutely no reason that the
52 > > ebuild maintainer should have to keep track of every translation
53 > > available in a given package across version bumps. If you change this
54 > > behavior in a future EAPI, you will break this.
55 >
56 > Don't use a USE_EXPAND variable if you don't want USE_EXPAND behaviour.
57
58 Thousands of packages rely on a particular interpretation of LINGUAS
59 that has been standard across all distros for a decade. If that behavior
60 changed in EAPI5, then EAPI5 is not suitable for adoption in Gentoo.
61
62 -Alexandre.

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] RFC: l10n.eclass Alexandre Rostovtsev <tetromino@g.o>
Re: [gentoo-dev] RFC: l10n.eclass Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>