emerge -u lilo: ~~~~~~~~~~~~~~ [...] >>> Install lilo-22.5.8-r1 into /var/tmp/portage/lilo-22.5.8-r1/image/ category sys-boot if [ -x /usr/bin/bcc -o -x /usr/local/bin/bcc ]; then make diagnostic; fi if [ ! -d $ROOT/sbin ]; then mkdir $ROOT/sbin; fi if [ ! -d $ROOT/etc ]; then mkdir $ROOT/etc; fi if [ ! -d $ROOT/boot ]; then mkdir $ROOT/boot; fi if [ ! -d $ROOT/usr/sbin ]; then \ mkdir -p $ROOT/usr/sbin; fi if [ ! -d $ROOT`if [ -f /usr/bin/manpath ]; then manpath | <<< sed "s/:.*//" >>>;else echo /usr/man; fi` ]; then mkdir $ROOT`if [ -f /usr/bin/manpath ]; then manpath | sed "s/:.*//"; else echo /usr/man; fi`; fi manpath: warning: $MANPATH set, ignoring /etc/man_db.conf manpath: warning: $MANPATH set, ignoring /etc/man_db.conf mkdir: cannot create directory `/var/tmp/portage/lilo-22.5.8-r1/image//usr/share/man': No such file or directory make: *** [install] Error 1 !!! ERROR: sys-boot/lilo-22.5.8-r1 failed. !!! Function src_install, Line 61, Exitcode 2 !!! (no error message) ------------------------------ the end --------------------------- shouldn't <<< that >>> be sed "s/:.*\/" ? Bill Reproducible: Always Steps to Reproduce: emerge -u lilo Actual Results: !!! ERROR: sys-boot/lilo-22.5.8-r1 failed. Expected Results: compiled Gentoo Base System version 1.4.3.10p1 Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.20-gentoo-r9) ================================================================= System uname: 2.4.20-gentoo-r9 i586 AMD-K6(tm) 3D+ Processor ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=k6-3 -mmmx -m3dnow -Os -pipe" CHOST="i586-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=k6-3 -mmmx -m3dnow -Os -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X apm arts avi berkdb crypt cups encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 guile imlib jpeg libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib"
Wrong fix. The sed command isn't what is barfing, although it would if the substitute delimiter character were only effectively listed once, like you are suggesting. The mkdir should have a -p option specified before the directory; I suspect this is only necessary for people creating images, as otherwise dependency checking will ensure that other packages which would've created that directory are already present at the target location. My guess is that this hasn't been caught yet, because it works in most cases; it only fails for unusual installs. I should have a patch to attach shortly. Note that this does not appear to be a problem with the ebuild, but with the lilo Makefile. As such, my patch will probably be applied to the existing lilo patch file.
Created attachment 25046 [details, diff] lilo-22.5.8/Makefile patch Then again, I may find that the other patch was specific enough that this change wouldn't fit in it. I also might find that I'd previously created a gentoo bugzilla account in a different browser. Note: This change is more significant than I'd originally intended, as I've realized that the code I'm fixing was doing work an existing wheel could do better. (Normally, a file test in make is quicker than making a shell call. But making three shell calls that do the whole job is quicker than making three shell calls that only do part of the task, and conditionally making nine more. It's also much easier to read, which is the important bit.
Seems sane. Anyhow, applied.
*** Bug 40893 has been marked as a duplicate of this bug. ***