Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: l10n.eclass
Date: Fri, 20 Jul 2012 20:09:00
Message-Id: 5009BAA0.3060608@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: l10n.eclass by Ciaran McCreesh
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 20/07/12 03:13 PM, Ciaran McCreesh wrote:
5 > On Fri, 20 Jul 2012 15:05:35 -0400 Ian Stakenvicius
6 > <axs@g.o> wrote:
7 >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 20/07/12 01:54
8 >> PM, Ciaran McCreesh wrote:
9 >>> On Fri, 20 Jul 2012 13:43:15 -0400 Alexandre Rostovtsev
10 >>> <tetromino@g.o> wrote:
11 >>>>> If you dep upon foo[linguas_en(+)] and linguas_en isn't in
12 >>>>> IUSE, what happens?
13 >>>>
14 >>>> Fatal error. If a package installs its translations
15 >>>> implicitly via gettext's rules depending on the value of
16 >>>> LINGUAS at configure time, then obviously other packages must
17 >>>> rely on that package having installed any particular
18 >>>> translation.
19 >>>
20 >>> Uh, the entire point of the (+) is that it's *not* a fatal
21 >>> error if you have a default.
22 >
23 >> If this doesn't work (assuming foo provides whatever this
24 >> package needs it to have for linguas_en), then the dep is wrong
25 >> in the first place and either (+) shouldn't be set or the use-dep
26 >> on foo shouldn't exist to begin with.
27 >
28 > ...but (+) exists precisely because developers wanted a way of not
29 > having fatal errors when using use dependencies. Non-defaulted use
30 > dependencies are supposed to give errors if there's no match in
31 > IUSE_EFFECTIVE, but unfortunately Portage chose not to make it as
32 > strict as the Council-approved wording required.
33 >
34
35 non-fatal doesn't work in this case, because in the situation you
36 described, the dep 'foo' -must- have linguas_en existing and enabled
37 to work.
38
39 IF foo doesn't -need- to have linguas_en existing and enabled to work,
40 ie, if linguas_en doesn't exist but foo installed the relevant bits
41 anyways, then foo[linguas_en(+)] is valid and works fine.
42
43 Otherwise, the dep specified is wrong and it SHOULD be a fatal error.
44
45 -----BEGIN PGP SIGNATURE-----
46 Version: GnuPG v2.0.19 (GNU/Linux)
47
48 iF4EAREIAAYFAlAJuqAACgkQ2ugaI38ACPApyQD/dtMj1l0KeJByIXXIhS+Y3Xst
49 pj2/eoQ7q1ze2vhfPgQBALA+UatwFysIXRuFCiXrVt4vK0OlMNa58GIRpsonzGMz
50 =cPuz
51 -----END PGP SIGNATURE-----