Gentoo Archives: gentoo-dev

From: Martin Vaeth <martin@×××××.de>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [RFC] Masterplan for solving LINGUAS problems
Date: Wed, 01 Jun 2016 16:27:34
Message-Id: slrnnku374.bjs.martin@lounge.imp.fu-berlin.de
In Reply to: Re: [gentoo-dev] Re: [RFC] Masterplan for solving LINGUAS problems by "Michał Górny"
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.

Replies

Subject Author
Re: [gentoo-dev] Re: [RFC] Masterplan for solving LINGUAS problems "Michał Górny" <mgorny@g.o>