Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 117497

Summary: Unexpected installation of xorg-x11
Product: Gentoo Linux Reporter: Mike Green <mikey>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: VERIFIED INVALID    
Severity: normal    
Priority: High    
Version: 2005.1   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mike Green 2006-01-02 14:54:08 UTC
Certain ebuilds are causing xorg-x11 to be considered a dependency when they previously did not, in spite of the -X USE flag.  In a server environment this causes xorg to be needlessly installed.

For examples, updating netpbm without "-opengl" in the USE flags will unexpectedly install xorg as a dependency when it did not in the past, updating imagemagick without "-motif" in the USE flags will also.
Comment 1 Mike Green 2006-01-02 14:55:45 UTC
portage # emerge info
Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.3.5-20050130, glibc-2.3.5-r1, 2.6.13-gentoo-r5 i686)
=================================================================
System uname: 2.6.13-gentoo-r5 i686 Pentium III (Katmai)
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
USE="x86 alsa apache apm arts avi berkdb bitmap-fonts bzip2 cdr crypt cups curl dvd dvdr eds emboss encode exif expat foomaticdb fortran gd gdbm gif gmp gstreamer gtk2 idn imagemagick imap imlib jpeg libg++ libwww live lzw-tiff mad mcal mhash mikmod milter mmx motif mp3 mpeg mysql nas ncurses network nptl ogg oggvorbis opengl oss pdflib perl php png python quicktime readline rtc samba sasl sdl spell sse ssl svga tcpd tiff truetype truetype-fonts type1-fonts udev usb vhosts vorbis xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-01-02 14:57:34 UTC
This has always been the case and won't change anytime soon. X isn't that the only use flag that can pull in Xorg in the dependency chain.
Comment 3 Mike Green 2006-01-02 15:00:09 UTC
netpbm example:

portage # emerge -Dpuv netpbm

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild  N    ] media-libs/jbigkit-1.4  318 kB
[ebuild     U ] sys-devel/gnuconfig-20051113 [20050602] 37 kB
[ebuild     U ] sys-libs/db-4.2.52_p2-r1 [4.2.52_p2] -bootstrap -doc -java -nocxx -tcltk 3,980 kB
[ebuild     U ] dev-lang/perl-5.8.6-r8 [5.8.6-r6] +berkdb -build -debug -doc +gdbm -ithreads -minimal -perlsuid 0 kB
[ebuild     U ] app-crypt/hashalot-0.3-r1 [0.3] 78 kB
[ebuild     U ] sys-apps/util-linux-2.12r-r1 [2.12r] +crypt -nls -old-crypt -pam +perl (-selinux) -static 0 kB
[ebuild     U ] sys-devel/gcc-config-1.3.12-r4 [1.3.12-r3] 0 kB
[ebuild     U ] sys-devel/binutils-config-1.8-r6 [1.8-r5] 0 kB
[ebuild     U ] sys-devel/binutils-2.16.1 [2.15.92.0.2-r10] -multislot -multitarget -nls -test 12,392 kB
[ebuild  N    ] x11-apps/ttmkfdir-3.0.9-r3  19 kB
[ebuild  N    ] x11-base/opengl-update-2.2.1  38 kB
[ebuild  N    ] x11-base/xorg-x11-6.8.2-r6  -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc -font-server -insecure-drivers -ipv6 -minimal +mmx -nls -nocxx +opengl -pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 44,705 kB
[ebuild  N    ] media-libs/jasper-1.701.0  +jpeg +opengl 1,329 kB
[ebuild     U ] app-arch/cpio-2.6-r5 [2.6-r4] -nls 437 kB
[ebuild  N    ] app-arch/rpm2targz-9.0-r3  2 kB
[ebuild  N    ] sys-apps/utempter-0.5.5.6  20 kB
[ebuild  N    ] x11-terms/xterm-204  -Xaw3d -toolbar +truetype -unicode 698 kB
[ebuild  N    ] app-misc/pax-utils-0.1.4  -caps 43 kB
[ebuild     U ] sys-apps/portage-2.0.53 [2.0.51.22-r3] -build (-selinux) 229 kB
*** Portage will stop merging at this point and reload itself,
    recalculate dependencies, and complete the merge.
[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.14-r5  -build -doc -symlink (-ultra1) 38,435 kB
[ebuild  N    ] media-libs/giflib-4.1.4  -X -rle 591 kB
[ebuild  N    ] media-libs/urt-3.1b-r1  -X +gif -gs +tiff 992 kB
[ebuild     U ] media-libs/netpbm-10.30-r1 [10.29] +jpeg +png +svga +tiff +zlib 2,542 kB


-vs-

portage # USE="-opengl" emerge -Dpuv netpbm

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild  N    ] media-libs/jbigkit-1.4  318 kB
[ebuild     U ] sys-devel/gnuconfig-20051113 [20050602] 37 kB
[ebuild     U ] sys-libs/db-4.2.52_p2-r1 [4.2.52_p2] -bootstrap -doc -java -nocxx -tcltk 3,980 kB
[ebuild     U ] dev-lang/perl-5.8.6-r8 [5.8.6-r6] +berkdb -build -debug -doc +gdbm -ithreads -minimal -perlsuid 0 kB
[ebuild  N    ] media-libs/jasper-1.701.0  +jpeg -opengl 1,329 kB
[ebuild  N    ] app-misc/pax-utils-0.1.4  -caps 43 kB
[ebuild     U ] sys-apps/portage-2.0.53 [2.0.51.22-r3] -build (-selinux) 229 kB
*** Portage will stop merging at this point and reload itself,
    recalculate dependencies, and complete the merge.
[ebuild     U ] sys-devel/binutils-config-1.8-r6 [1.8-r5] 0 kB
[ebuild     U ] sys-devel/binutils-2.16.1 [2.15.92.0.2-r10] -multislot -multitarget -nls -test 12,392 kB
[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.14-r5  -build -doc -symlink (-ultra1) 38,435 kB
[ebuild  N    ] media-libs/giflib-4.1.4  -X -rle 591 kB
[ebuild  N    ] media-libs/urt-3.1b-r1  -X +gif -gs +tiff 992 kB
[ebuild     U ] media-libs/netpbm-10.30-r1 [10.29] +jpeg +png +svga +tiff +zlib 2,542 kB
Comment 4 Mike Green 2006-01-02 15:05:22 UTC
I consider this a serious bug.  If you look at my emerge info, "opengl" is not in the use flags.  If I upgrade netpbm without an explicit (-opengl) in my USE flags, it will install xorg as a dependency, in spite of the fact of no opengl use flag.  If I upgrade netpbm with the explicit -opengl, it will not bring in xorg as a dependency.  

This is wildly inconsistent behavior, this box has been running for over two years without running into an unexpected xorg or motif dependency during updates.  The behavior is new, installation of large unexpected packages is crap.
Comment 5 Carsten Lohrke (RETIRED) gentoo-dev 2006-01-02 15:13:09 UTC
(In reply to comment #4)
> This is wildly inconsistent behavior, this box has been running for over two
> years without running into an unexpected xorg or motif dependency during
> updates.  The behavior is new, installation of large unexpected packages is
> crap.

No. Use flags are for optional stuff. When X is a hard dependency of some ebuild, it will be installed, of course. What you probably want to do, is

echo x11-base/xorg-x11 >> /etc/portage/package.mask

Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-01-02 15:20:26 UTC
(In reply to comment #4)
> If you look at my emerge info, "opengl" is not
> in the use flags.  If I upgrade netpbm without an explicit (-opengl) in my USE
> flags, it will install xorg as a dependency, in spite of the fact of no opengl
> use flag.  If I upgrade netpbm with the explicit -opengl, it will not bring in
> xorg as a dependency.  

That's an entirely different issue than with USE="motif" (see -dev mailing list archive and the discussion on use.defaults), this feature should go away soon. Anyway, it's not a bug either.
Comment 7 Mike Green 2006-01-02 15:22:24 UTC
> No. Use flags are for optional stuff. When X is a hard dependency of some
> ebuild, it will be installed, of course. What you probably want to do, is

If USE flags are for optional stuff, then if they ARE NOT set they should not install "optional" stuff.  I don't have opengl set, it should not be considered an option and therefore pull in xorg when installing netpbm.

I added -opengl -motif to my USE flags in make.conf, fixed the problem.  

Still buggy though.
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-01-02 15:29:18 UTC
(In reply to comment #1)
> mcal mhash mikmod milter mmx motif mp3 mpeg mysql nas ncurses network nptl ogg
> oggvorbis opengl oss pdflib perl php png python quicktime readline rtc samba

^^^ 
Actually, I can't see what's the point of your complaint here, it's not even use.defaults, those are simply default flags for the given profile. Perhaps check your use flags first before filing a bug. 

CLOSING.
Comment 9 Mike Green 2006-01-02 15:36:00 UTC
(In reply to comment #8)

> > mcal mhash mikmod milter mmx motif mp3 mpeg mysql nas ncurses network nptl ogg
> > oggvorbis opengl oss pdflib perl php png python quicktime readline rtc samba

> Actually, I can't see what's the point of your complaint here, it's not even
> use.defaults, those are simply default flags for the given profile. Perhaps
> check your use flags first before filing a bug. 

Thanks for smacking me hard with a stupid stick.  Please accept my apologies for being a complete idiot, hopefully it is not a permanent condition.