1 |
Michał Górny <mgorny@g.o> wrote: |
2 |
>> |
3 |
>>Therefore, I suggest to put this line in l10n.eclass |
4 |
>>(perhaps with a mechanism to avoid it for some exceptional packages |
5 |
>>which have to treat LINGUAS differently.) |
6 |
>>This way, none of these ebuilds inheriting l10n needs to be patched. |
7 |
> |
8 |
> This eclass should be killed with fire as ugly nonsense that |
9 |
> makes some packages useless for binary packages. |
10 |
|
11 |
Exactly the opposite is the case: |
12 |
Letting a variabe like LINGUAS "hiddden from the package manager" |
13 |
decide about the actual content of the package makes any handling |
14 |
of binary packages broken. |
15 |
The introduction of linguas_* (and of the l10n eclass to make this |
16 |
handable for the ebuild writer) was finally fixing this long-broken |
17 |
behaviour of ebuilds. |
18 |
You now want to revert this fix and return to the earlier broken |
19 |
state without any need. |
20 |
If the only reason for the "need" is a badly |
21 |
formulated/thought-through EAPI=5/6 specification to clean |
22 |
LINGUAS for packages not having it in its IUSE, then please |
23 |
fix this specification or make at least an exception for LINGUAS, |
24 |
but don't break the working solution. |
25 |
|
26 |
> As for LINGUAS, it should be left as a toy for advanced users |
27 |
|
28 |
Selecting the languages which a package supports is an option |
29 |
only for advanced users? You must be kidding! |
30 |
|
31 |
> and not presented as a recommended solution. |
32 |
|
33 |
The "recommended solution" is to rely on a hack which removs |
34 |
files behind the back of upstreams installation program (which |
35 |
likely installs other random language data in random files for |
36 |
various languages)? |
37 |
You are kidding again! |
38 |
|
39 |
>>1) In contrast to packages with L10N, the user cannot see with |
40 |
>>tools like eix for which linguas a certain package is installed. |
41 |
>>In fact, the user would have to analyze the compressed environment |
42 |
>>file find this out (this is also very package manager specific): |
43 |
> |
44 |
> What's the use of this? |
45 |
|
46 |
That the package manager (and the user) is well aware of the |
47 |
options actually used to compile/install the package. Not hiding |
48 |
the user-selected configuration behind the package manager and |
49 |
the user in some random variable. |
50 |
|
51 |
> Most of the packages don't have the flags anyway. |
52 |
|
53 |
Then fix the package not handling LINGUAS in a sane way yet. |
54 |
|
55 |
> For those who have, you can't trust them being up-to-date. |
56 |
|
57 |
That's a non-argument. No ebuild you can trust being |
58 |
up-to-date as well as all ebuilds. |
59 |
|
60 |
> As for installed package, all files are listed in vdb |
61 |
> (including those masked), so you can easily figure out the |
62 |
> differences. |
63 |
|
64 |
So to find out whether a binary package is valid for the |
65 |
current configuration (i.e. the current LINGUAS), the package |
66 |
manager or user "just" has to recompile it and compare |
67 |
the files and checksums. Great! |
68 |
And because this reinstallation-solution is possible, it |
69 |
is ok to rely on a hack instead of a solution visible to |
70 |
the package manager and user. |
71 |
|
72 |
>>2) Even worse for binary packages. |
73 |
> |
74 |
> Wrong. All localizations are included in the binary package, |
75 |
|
76 |
but not in the metadata. |
77 |
|
78 |
> Of course, as long as maintainer doesn't start playing with LINGUAS. |
79 |
|
80 |
That's the point: As long as all systems and all packages have |
81 |
the same LINGUAS settings. Which is not the case for many |
82 |
users having various systems. E.g. for a laptop, it is very |
83 |
natural to have different LINGUAS than for a desktop, even |
84 |
if you likely compile for the laptop on the desktop. |
85 |
|
86 |
>>3) The package manager cannot see after a change of LINGUAS, |
87 |
>>which packages need a recompilaten. |
88 |
> |
89 |
> Wrong, as already explained above. |
90 |
|
91 |
So? How can you see it? By checking hackishly the existence |
92 |
of random files in */po/* while e.g. the actual effect of |
93 |
LINGUAS is in some error message provided by the package |
94 |
in god-knows-what manner? |
95 |
|
96 |
*If* you want to keep only LINGUAS and not introduce L10N, |
97 |
*then* at least you should make LINGUAS a metadata variable |
98 |
to be stored in /var/db so that the user and package manager |
99 |
can easily access it. |