It appears that Portage isn't following the normal rules... emerge -pv ut2004-redorchestra [ebuild N ] games-fps/ut2004-redorchestra-3.3-r2 USE="dedicated opengl" 0 kB So, with the "dedicated" USE flag (even though the ebuild contains IUSE="" *after* the inherit line): !!! ERROR: games-fps/ut2004-redorchestra-3.3-r2 failed. Call stack: ebuild.sh, line 1562: Called dyn_setup ebuild.sh, line 665: Called pkg_setup ebuild.sh, line 1255: Called games-mods_pkg_setup games-mods.eclass, line 110: Called built_with_use 'games-fps/ut2004' 'dedicated' eutils.eclass, line 1617: Called die !!! games-fps/ut2004-3369-r4 does not actually support the dedicated USE flag! Why is the IUSE in the ebuild being ignored? Is ut2004 supposed to have a "dedicated" USE flag? I have app-shells/bash-3.1_p17 My emerge --info: Portage 2.1.1-r2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.19-rc6-git5 i686) ================================================================= System uname: 2.6.19-rc6-git5 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.12.6 Last Sync: Sat, 25 Nov 2006 04:30:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 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.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://mirrors.blueyonder.co.uk/mirrors/gentoo" LANG="en_GB.UTF-8" LC_ALL="en_GB.UTF-8" LINGUAS="en_GB en" MAKEOPTS="-j6" 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" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apache2 asf audacious bash-completion berkdb bitmap-fonts browserplugin bzip2 cairo cddb cdr cli cpudetection cracklib crypt darkplaces dbus dlloader dri dvd dvdr eds elibc_glibc emboss encode fam ffmpeg firefox fortran gdbm gif glitz gnome gnomecanvas gnutls gpm gstreamer gtk gtk2 gtkhtml hal iconv idn input_devices_evdev input_devices_keyboard input_devices_mouse isdnlog joequake jpeg kernel_linux libg++ libnotify linguas_en linguas_en_GB mad mikmod mmx mozilla mp3 mpeg ncurses newspr nls nptl nptlonly nsplugin nvidia offensive ogg opengl pam pcmcia pcre perl png postgres ppds pppd python qrack qt3 qt4 quicktime readline reflection sdl session spl sse ssl startup-notification svg sysfs tcpd tiff timidity truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_nvidia vorbis wifi win32codecs wmf xcomposite xine xml xorg xv zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Well, portage is definitely doing something wrong. Anyway, I've added the dedicated USE flag to ut2004's IUSE for the time being. I'll try to get this fixed properly the first of next week.
*** Bug 158136 has been marked as a duplicate of this bug. ***
I could have sworn I removed that check in the final eclass... anyway... FIXED.
Reopened - if this is considered a dupe of bug #158136, then bug #158136 comment #2 still applies. games-mods_pkg_setup cannot perform checks on a package which is not yet installed. To make it work, it must DEPEND on $GAME rather than RDEPEND. Also, RDEPEND in the eclass has been commented out - why?
Umm... why did you reopen this? It only does built_with_use checks *if* the package is installed. As for RDEPEND, it is commented due to circular dependencies.
(In reply to comment #5) > It only does built_with_use checks *if* the package is installed. Exactly my point. Are these built_with_use checks important? Because they will *not* be performed if ut2004 is installed *after* e.g. ut2004-muralis. Since ut2004-muralis has deps: RDEPEND="${CATEGORY}/${GAME}" (from its ebuild) DEPEND="app-arch/unzip" (from games-mods eclass) Then it is possible that on a fresh installation, a person typing "emerge ut2004-muralis" with his UT2004 DVD ready, has those checks skipped. Which is bad if those checks have any purpose. This bug has not been resolved. So, I should reopen it, yes? Have I misunderstood how bugzilla works?
The behavior is exactly what I intended (now). Please do not REOPEN this bug, as the eclass does exactly what I want it to do.