1 |
On Sat, 21 May 2016 11:19:07 -0400 |
2 |
waltdnes@××××××××.org wrote: |
3 |
|
4 |
> On Sat, May 21, 2016 at 09:41:28AM +0200, Micha?? Górny wrote |
5 |
> |
6 |
> > I see the following possibilities: |
7 |
> > |
8 |
> > 1. We start explicitly listing linguas_* in all ebuilds, no matter how |
9 |
> > tiny they are. Maintainers are required to keep IUSE up-to-date |
10 |
> > and users are forced to rebuild a lot. This is also a QA violation |
11 |
> > in terms of invalid use of USE flags. |
12 |
> > |
13 |
> > 2. We hack-unset LINGUAS in ebuilds. This is a lot of effort, easy to |
14 |
> > miss and probably would need to repeated for every single phase anyway |
15 |
> > due to how global variables are handled in PMS. Additionally, it may |
16 |
> > break at some point since those variables are likely expected to be |
17 |
> > read-only anyway. |
18 |
> > |
19 |
> > 3. We remove LINGUAS from USE_EXPAND and stop using it. If ebuilds have |
20 |
> > a good reason to use flags for localization, we introduce a new, |
21 |
> > non-colliding USE_EXPAND for that. We also ask users to replace LINGUAS |
22 |
> > with the new flag in their make.conf files. LINGUAS gets the original |
23 |
> > upstream behavior back, and we eventually discourage it in favor of new |
24 |
> > INSTALL_MASK features (WiP) [2]. |
25 |
> > |
26 |
> > 4. We fix build systems not to do magic depending on whether LINGUAS |
27 |
> > is unset or set-to-empty. Instead, we could some special special value |
28 |
> > like '-' to signify not installing localizations at all. But that's |
29 |
> > upstream thing to do, and breaks backwards compatibility with existing |
30 |
> > systems disabling localizations. |
31 |
> > |
32 |
> > |
33 |
> > Your thoughts? |
34 |
> |
35 |
> 5. An reversed variant of INSTALL_MASK in make.conf, e.g. |
36 |
> LOCALE_ALLOW="foo bar fubar" |
37 |
> |
38 |
> which would block installing files in /usr/share/locale/* and |
39 |
> /usr/share/man/* EXCEPT for... |
40 |
> |
41 |
> /usr/share/locale/foo |
42 |
> /usr/share/locale/bar |
43 |
> /usr/share/locale/fubar |
44 |
> /usr/share/man/foo |
45 |
> /usr/share/man/bar |
46 |
> /usr/share/man/fubar |
47 |
|
48 |
This can be accomplished using inclusion/exclusion logic included in |
49 |
the patches I've recently sent for Portage. |
50 |
|
51 |
INSTALL_MASK="/usr/share/locale -/usr/share/locale/foo" |
52 |
|
53 |
-- |
54 |
Best regards, |
55 |
Michał Górny |
56 |
<http://dev.gentoo.org/~mgorny/> |