Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 147330 - If no languages are specified through LINGUAS, it is set to ""
Summary: If no languages are specified through LINGUAS, it is set to ""
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-12 07:57 UTC by Mikkel Krautz
Modified: 2007-01-07 23:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikkel Krautz 2006-09-12 07:57:22 UTC
(Assigning to gnome@gentoo.org. Unsure if it belongs there.)

# cat /etc/make.conf | grep LING
# emerge --info
Portage 2.1.1 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17.1 x86_64)
=================================================================
System uname: 2.6.17.1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Gentoo Base System version 1.12.4
Last Sync: Tue, 12 Sep 2006 12:30:05 +0000
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r3
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.16
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="da_DK.utf8"
LINGUAS=""
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/xgl /usr/local/portage/wine /usr/local/portage/monodevelop /usr/local/portage/util-linux"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X alsa avi bash-completion beagle berkdb bitmap-fonts branding cdr cli crypt cups curl dbus dlloader dri dvd dvdr eds elibc_glibc emboss encode evo firefox flac foomaticdb fortran gif gnome gpm gstreamer gtk gtk2 hal imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kernel_linux lzw lzw-tiff mad mono mp3 mpeg nautilus ncurses nls nptl nptlonly ogg opengl pam pcre pdflib perl png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spell spl ssl tcpd theora threads tiff truetype-fonts type1-fonts usb userland_GNU userlocales video_cards_fbdev video_cards_nv video_cards_nvidia vorbis xinerama xorg xpm xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

It seems that LINGUAS is set to equal "" somewhere. (No, not in my own make.conf :-))

I was unable to grep me to anything interesting, but I might have missed something.

Apparently some (all?) GNOME packages do not like this, and will not build any locale-data (mo-files) at all when this is the case.

A quick example:

# emerge nautilus
Calculating dependencies... done!

>>> Emerging (1 of 1) gnome-base/nautilus-2.14.1 to /
(...)
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-update-mimedb --enable-beagle --disable-gtk-doc --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
(...)
checking for catalogs to be installed...
^C

As seen here, we get no LINGUAS at all.

In a non-portage environment we see it all boils down to the following:

# mkdir -p  /foobuild/
# tar -jxf /usr/portage/distfiles/nautilus-2.14.1.tar.bz2 -C /foobuild/
# cd /foobuild/nautilus-2.14.1/
# export LINGUAS=""
# ./configure
(...)
checking for catalogs to be installed...
^C
# unset LINGUAS
# ./configure
(...)
checking for catalogs to be installed...  af am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id is it ja ka km ko ku li lt lv mi mk ml mn ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr uk vi wa xh yi zh_CN zh_HK zh_TW zu
^C

So, apparently LINGUAS="" means "build no mo-files at all!".
And if LINGUAS isn't set in make.conf, LINGUAS is automatically set to "".

The effect of this is, of course, that if you do not explicitly declare any languages through the LINGUAS-variable, you do not get any languages at all.

Is this intentional? Did I miss anything?
Comment 1 Saleem Abdulrasool (RETIRED) gentoo-dev 2006-12-29 23:54:33 UTC
Yes, this is proper behavior.  If you do not specify any languages, the language that is used is the one that the app is actually built with.  To add support for any other language, you need to specify the language.
Comment 2 Mart Raudsepp gentoo-dev 2007-01-07 23:09:52 UTC
For clarification:

If LINGUAS is not set anywhere, packages should install all translations, as you (the bug reporter) wants.
If LINGUAS is set, then the translations that are in that set get installed by packages that support this either upstream or with USE_EXPANDed LINGUAS in gentoo ebuilds. That is - package aren't guaranteed to honor this, and localepurge is necessary to rid a system completely clean of other translations.

It works as expected with Saleem Abdulrasool testing this, i.e, he can't reproduce it (assuming I understand the problem right that even though LINGUAS is not set anywhere, no translations are installed as opposed to the expected installation of all provided translations) - we discussed this bug between Saleem and me on IRC a couple days back.

If it doesn't work as expected for you, please double-check you aren't getting LINGUAS set by any means, hopefully provide some more information and reopen the bug