Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 142125 - LINGUAS can't be overridden in package.use if set in make.conf
Summary: LINGUAS can't be overridden in package.use if set in make.conf
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 136244
  Show dependency tree
 
Reported: 2006-07-29 14:26 UTC by Wulf Krueger (RETIRED)
Modified: 2006-08-06 14:54 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 Wulf Krueger (RETIRED) gentoo-dev 2006-07-29 14:26:57 UTC
/etc/make.conf: LINGUAS="en de"
/etc/portage/package.use: app-text/acroread	-linguas_de

emerge --nodeps -pv app-text/acroread

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-text/acroread-7.0.5-r2  USE="cups ldap nls nsplugin" LINGUAS="de* -da -es -fi -fr -it -ja -ko -nl -no -pt -sv -zh_CN -zh_TW" 42,742 kB

Total size of downloads: 42,742 kB

emerge --info:

(But this happens using any Portage >= 2.1.1_pre3-r3. I didn't verify on earlier versions.)

Portage 2.1.1_pre4 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.17-gentoo-r4 i686)
=================================================================
System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(TM) XP 2800+
Gentoo Base System version 1.12.1
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  0.4.2-r1
sys-apps/sandbox:    1.2.18.1
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: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mtune=athlon-xp -march=athlon-xp -O3 -pipe -fprefetch-loop-arrays -mmmx -msse -m3dnow -fomit-frame-pointer -fno-ident -falign-functions=64 -fweb -frename-registers"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /mnt/etc /usr/kde/devel/env /usr/kde/devel/share/config /usr/kde/devel/shutdown /usr/share/X11/xkb /usr/share/config /var/www/localhost /var/www/localhost/cgi-bin /var/www/localhost/htdig /var/www/localhost/htdocs/phpmyadmin"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-mtune=athlon-xp -march=athlon-xp -O3 -pipe -fprefetch-loop-arrays -mmmx -msse -m3dnow -fomit-frame-pointer -fno-ident -falign-functions=64 -fweb -frename-registers -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache confcache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
LINGUAS="en de"
MAKEOPTS="-j2"
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/overlays/portage"
SYNC="rsync://private mirror"
USE="x86 16bit 3dnow 3dnowext 3ds S3TC X X509 Xaw3d a52 aac acl acpi aim alsa apache2 apm arts artswrappersuid artworkextra asf async audiofile avi bash-completion bdf berkdb bitmap-fonts bzip2 bzlib c++ cairo caps cdb cdparanoia cdr cg chroot cli client codecs compiz composite cpdflib cracklib crypt css cups curl curlwrappers dbus dga dio divx4linux djbfft dlloader dmi dri dts dvd dvdr dvdread eds emacs emacs-w3 emboss encode esd ethereal exif expat extensions fam fame fastcgi fb fbcon ffmpeg fftw firefox flac fluidsynth font-server foomaticdb foreign-package foreign-sysvinit fortran fpx freetype gd gdbm german gif glibc-omitfp glitz glut glx gnokii gnutls gpm graphviz gs gtk gtk2 hal iconv icq idea idn ieee1394 imap imlib innodb ipv6 isdnlog java javascript jbig jce joystick jp2 jpeg jpeg2k kde kdeenablefinal latex ldap leim libg++ libwww lm_sensors lzo lzw mad matroska mikmod milter mime mjpeg mmap mmx mmxext mng modplug monkey mono motif mozdevelop mozilla mozsvg mp3 mp4 mpeg mpi mplayer mule multi-tty mysqli ncurses network nls nptl nptlonly nsplugin ntlm nvidia offensive ogg openal opengl oss pam pcntl pcre pdf pdflib perl php pic pie plotutils png posix pppd python qt qt3 qt4 quicktime readline real recode reflection samba sasl scanner sdk sdl session shared sharedmem smime sndfile snmp sockets sox speex spell spl sse ssl svg symbol_visibility sysvipc tcpd tetex theora threads tiff transcode truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vcd vcdimager vdr vdr-net videos vidix vorbis win32codecs wmf wxwindows xanim xchatdccserver xcomposite xface xine xinerama xml xml2 xmlrpc xmms xorg xpm xrandr xscreensaver xsl xv xvid xvmc yv12 zlib zvbi elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en linguas_de userland_GNU video_cards_apm video_cards_nv video_cards_nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2006-07-29 14:59:47 UTC
It's the same with all versions of portage because LINGUAS="de" is expanded to linguas_de at the last moment (after normal USE flags have already been stacked).  I realize that it's not ideal, but if you remove LINGUAS from make.conf and instead put linguas_de in your USE flags then you will be able to override it via package.use.
Comment 2 Wulf Krueger (RETIRED) gentoo-dev 2006-07-29 15:18:34 UTC
Thanks, I know the workaround. Personally, I don't need/use LINGUAS for any ebuild but one.

It's just inconsistent behaviour in Portage and inconvenient for users who rely on localisation. To have to remove LINGUAS from make.conf (global scope) and add individual linguas_xx USE flags (which are TTBOMK even undocumented currently; if not: Where are they documented?) in package.use (local scope) is strange. 

Especially since http://www.gentoo.org/doc/en/guide-localization.xml tells the users explicitly to set LINGUAS in make.conf.

I presume this is considered a bug and will be fixed at some point?
Comment 3 Zac Medico gentoo-dev 2006-07-30 00:43:06 UTC
Yeah, I'm not satisfied with the current behavior either.
Comment 4 SpanKY gentoo-dev 2006-07-30 21:22:33 UTC
maybe this is just a dupe of per-package env ?
Comment 5 Zac Medico gentoo-dev 2006-07-30 21:42:32 UTC
No, the USE flags are handled much differently than most other things that eventually end up as environment variables.
Comment 6 SpanKY gentoo-dev 2006-07-30 22:06:33 UTC
LINGUAS is not an environment variable ?
Comment 7 Zac Medico gentoo-dev 2006-07-30 22:16:20 UTC
LINGUAS is a USE_EXPAND environment variable, which gives it special properties.  Inside portage.py, the config class uses the values of all USE_EXPAND variables to generate USE flags such as linguas_de.  Those generated flags are used in the python side of portage to evaluate conditional expressions in dependencies and such.  The python side of portage finally makes those generated flags available to the ebuild environment in the form of the USE environment variable (ebuilds should check for the generated flags inside USE rather than use LINGUAS directly).
Comment 8 Zac Medico gentoo-dev 2006-08-02 23:34:56 UTC
This is fixed in svn r4112.
Comment 9 Zac Medico gentoo-dev 2006-08-04 14:01:21 UTC
This has been released in 2.1.1_pre4-r3.
Comment 10 Zac Medico gentoo-dev 2006-08-06 14:54:31 UTC
More fixes related to this bug have been released in 2.1.1_pre4-r4.  See bug 142909 for details.