-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 20/07/12 03:13 PM, Ciaran McCreesh wrote: > On Fri, 20 Jul 2012 15:05:35 -0400 Ian Stakenvicius > <[email protected]> wrote: >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 20/07/12 01:54 >> PM, Ciaran McCreesh wrote: >>> On Fri, 20 Jul 2012 13:43:15 -0400 Alexandre Rostovtsev >>> <[email protected]> wrote: >>>>> If you dep upon foo[linguas_en(+)] and linguas_en isn't in >>>>> IUSE, what happens? >>>> >>>> Fatal error. If a package installs its translations >>>> implicitly via gettext's rules depending on the value of >>>> LINGUAS at configure time, then obviously other packages must >>>> rely on that package having installed any particular >>>> translation. >>> >>> Uh, the entire point of the (+) is that it's *not* a fatal >>> error if you have a default. > >> If this doesn't work (assuming foo provides whatever this >> package needs it to have for linguas_en), then the dep is wrong >> in the first place and either (+) shouldn't be set or the use-dep >> on foo shouldn't exist to begin with. > > ...but (+) exists precisely because developers wanted a way of not > having fatal errors when using use dependencies. Non-defaulted use > dependencies are supposed to give errors if there's no match in > IUSE_EFFECTIVE, but unfortunately Portage chose not to make it as > strict as the Council-approved wording required. >
non-fatal doesn't work in this case, because in the situation you described, the dep 'foo' -must- have linguas_en existing and enabled to work. IF foo doesn't -need- to have linguas_en existing and enabled to work, ie, if linguas_en doesn't exist but foo installed the relevant bits anyways, then foo[linguas_en(+)] is valid and works fine. Otherwise, the dep specified is wrong and it SHOULD be a fatal error. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlAJuqAACgkQ2ugaI38ACPApyQD/dtMj1l0KeJByIXXIhS+Y3Xst pj2/eoQ7q1ze2vhfPgQBALA+UatwFysIXRuFCiXrVt4vK0OlMNa58GIRpsonzGMz =cPuz -----END PGP SIGNATURE-----
