$ emerge ati-drivers ... * Checking for DRM support disabled ... [ !! ] /etc/init.d/functions.sh: line 321: return: /usr/lib/portage/bin/ebuild.sh: numeric argument required /etc/init.d/functions.sh: line 336: return: /usr/lib/portage/bin/ebuild.sh: numeric argument required * You have DRM support enabled, the direct rendering * will not work. ... $ vi /usr/portage/media-video/ati-drivers/ati-drivers-8.12.10.ebuild ... 47 ebegin "Checking for DRM support disabled" 48 linux_chkconfig_present DRM 49 eend ${!?} ... Shouldn't line 49 be 'eend $?' ? Reproducible: Always Steps to Reproduce: 1. emerge ati-drivers 2. Test DRM support will allways fail Actual Results: No DRM support Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.200 50125-r1, 2.6.11-gentoo-r4 i686) ================================================================= System uname: 2.6.11-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1.50GHz Gentoo Base System version 1.7.0 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 11 2005, 23:51:57)] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.8.5-r3, 1.6.3, 1.7.9-r1, 1.4_p6, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.2-r7 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-pipe -O3 -march=pentium-m -mmmx -msse -msse2 -fomit-frame-pointer -ffas t-math" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share /config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/shar e/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/sh are/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/tex mf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-pipe -O3 -march=pentium-m -mmmx -msse -msse2 -fomit-frame-pointer -ff ast-math" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erla ngen.de/pub/mirrors/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gen too http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gentoo.inode.at/source/ htt p://gentoo.inode.at/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa apm arts audiofile avi bash-completion berkdb bitmap- fonts bzlib calendar cdparanoia cdr crypt cups curl dga dio directfb divx4linux dv dvd dvdr emboss encode esd ethereal exif fam fbcon flac foomaticdb fortran ft p gd gdbm gif gnome gphoto2 gpm gtk gtk2 icq imagemagick imap imlib ipv6 jack ja va jpeg junit kde ldap libg++ libwww mad mikmod mime mmap mmx mng motif mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis openal opengl oss pam pcmcia pdflib per l phppng png pnp posix postgres python qt quicktime readline samba sdl slang snd file spell sse ssl svga tcpd tetex tiff truetype truetype-fonts type1-fonts unic ode usb vorbis wifi xine xinerama xml2 xmms xpm xv xvid zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLA Y
It should error if the $? is true thus ${!?} please update your portage
ok, but the 'return' in the function eend() { local retval=${1:-0} shift _eend ${retval} eerror "$*" LAST_E_CMD=eend return $retval } still needs a numeric argument which ${!?} obviously is not: * Checking for DRM support disabled ... [ !! ] /etc/init.d/functions.sh: line 321: return: /usr/lib/portage/bin/ebuild.sh: numeric argument required /etc/init.d/functions.sh: line 336: return: /usr/lib/portage/bin/ebuild.sh: numeric argument required Is ${!?} some secret undocumented expression or should it be $(( ! $? )) instead?
I start wondering _why_ is working for me and where did I get it. I'll write a replacement soon
hopefully fixed