On E, 2012-01-30 at 06:56 -0500, Philip Webb wrote:
> 120130 Mart Raudsepp wrote:
> > Do you even have LINGUAS set in /etc/make.conf or something?
> > Because at least evince, gdk-pixbuf, xkeyboard-config and
> > gnome-doc-utils DO honor LINGUAS.
> > 
> > All GNOME packages that use intltool (that is pretty much everything
> > except a few low-level libraries) honor LINGUAS much more than
> > localepurge would ever be able clean afterwards. For example, .desktop
> > files only have translation lines for languages listed in LINGUAS. Same
> > for gconf and dconf schemas. Also all end-user documentation
> > in /usr/share/gnome/help/appname/lang_code/
> > 
> > Per above, we would close at least 4 of those bugs as INVALID or at
> > least OBSOLETE (if some older version had it wrong).
> > At least in GNOME we feel quite strong about things properly honoring
> > LINGUAS per old standard GNU conventions. This means installing ALL
> > translations if LINGUAS is unset, and none if LINGUAS is set to an empty
> > string.
> > 
> > Above said, I also do find a use on some systems for localepurge, to
> > catch the packages that don't honor it.
> > Though for embedded deployments I might as well not include the
> > non-interesting language directories in the image.
> 
> Thanks for the useful & polite response.  I will look into LINGUAS.
> How to set it is not mentioned in  make.conf.example  or in  man make.conf :
> where is it documented ?

http://www.gentoo.org/doc/en/guide-localization.xml#doc_chap3 covers
this.

I presume you only have things set in /etc/locale.nopurge or so then,
and wrongly expect packages to honor it. Specific packages do not and
can not look at that file, as it's localepurge specific and upstream
projects shouldn't have any knowledge of it.
LINGUAS is the standard environment variable for this with gettext based
systems, and intltool honors it as well. I remember a longer description
of it in some info file, but right now only found
http://www.gnu.org/software/gettext/manual/html_node/Installers.html

Bugs are hopefully appreciated by maintainers for packages that don't
honor that environment variable (set via /etc/make.conf). If an upstream
doesn't honor it, they are probably just not using the standard
autoconf/automake glue for it correctly (or use a different build system
support for it wrongly or the build system is suboptimal on this).

Some Gentoo packages also have a LINGUAS USE_EXPAND, so show up in
emerge --verbose --ask world and similar outputs. This is typically used
when extra downloads are necessary for the languages (e.g firefox or
libreoffice per-language packs), and often don't honor the "LINGUAS
unset == all languages" convention.
Packages that don't need any extra downloads or long building time do
not expose this as USE_EXPAND USE flags and just silently work it out in
their build system, and that's the most reasonable approach for us.


Hope this helps,
Mart Raudsepp


Reply via email to