Emerging of Eix-0.9.9 fails due to a failed patch (eix-0.9.8-gcc-3.patch). The patch itself is present in the files directory. Output of /var/tmp/portage/app-portage/eix-0.9.9/temp/eix-0.9.8-gcc-3.patch-12688.out: ---- ***** eix-0.9.8-gcc-3.patch ***** ================================= PATCH COMMAND: patch -p0 -g0 -E --no-backup-if-mismatch < /usr/portage/app-portage/eix/files/eix-0.9.8-gcc-3.patch ================================= patching file src/portage/keywords.h Hunk #1 FAILED at 96. 1 out of 1 hunk FAILED -- saving rejects to file src/portage/keywords.h.rej ================================= PATCH COMMAND: patch -p1 -g0 -E --no-backup-if-mismatch < /usr/portage/app-portage/eix/files/eix-0.9.8-gcc-3.patch ================================= can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |--- src/portage/keywords.h |+++ src/portage/keywords.h -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored ================================= PATCH COMMAND: patch -p2 -g0 -E --no-backup-if-mismatch < /usr/portage/app-portage/eix/files/eix-0.9.8-gcc-3.patch ================================= can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |--- src/portage/keywords.h |+++ src/portage/keywords.h -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored ================================= PATCH COMMAND: patch -p3 -g0 -E --no-backup-if-mismatch < /usr/portage/app-portage/eix/files/eix-0.9.8-gcc-3.patch ================================= missing header for unified diff at line 3 of patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |--- src/portage/keywords.h |+++ src/portage/keywords.h -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored ================================= PATCH COMMAND: patch -p4 -g0 -E --no-backup-if-mismatch < /usr/portage/app-portage/eix/files/eix-0.9.8-gcc-3.patch ================================= missing header for unified diff at line 3 of patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |--- src/portage/keywords.h |+++ src/portage/keywords.h -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored Reproducible: Always Steps to Reproduce: 1. Just emerge eix-0.9.9 2. 3. Portage 2.1.3_rc2 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.21-gentoo-r3 i686) ================================================================= System uname: 2.6.21-gentoo-r3 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ Gentoo Base System release 1.12.10 Timestamp of tree: Fri, 15 Jun 2007 14:50:01 +0000 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -Wall -fomit-frame-pointer -msse3" 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" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon64 -O2 -pipe -Wall -fomit-frame-pointer -msse3" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans" GENTOO_MIRRORS="http://gentoo.virginmedia.com" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en nl" MAKEOPTS="-j3" 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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl acpi alsa arts bash-completion berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread encode esd fam firefox fortran gdbm gif glitz gphoto2 gpm gstreamer gtk hal iconv jpeg kde kerberos ldap libg++ mad midi mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdf perl png python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification svg tcpd tiff truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xml xorg xv zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" CAMERAS="fuji ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en nl" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I dug the 0.9.9 sources and confirmed this patch is no need to apply anymore. Trimming the epatch line works for me.
Eix indeed builds fine without the patch for me on GCC-4.1.2. But seeing the patch-name I guess that it was included to solve a compilation-issue with GCC3.
Yes, the patch is only needed for eix-0.9.8 (and gcc-3). The patch is already contained in eix-0.9.9, that's why the patch command fails... It would be nice if somebody with portage tree access could remove the whole src_unpack function of the eix-0.9.9.ebuild. Thanks.
dito!
Fixed in CVS.