sys-fs/unionfs-1.0.13 fails to build due to a bad patch. Perhapes a -p1 needs
to
be passed to EPATCH_OPTS, or the patch remade.
Reproducible: Always
Steps to Reproduce:
1. echo "sys-fs/unionfs ~amd64" >> /etc/portage/package.keywords
2. emerge =unionfs-1.0.13
3.
Actual Results:
* Failed Patch: unionfs-1.0.11-amd64.patch !
* ( /usr/portage/sys-fs/unionfs/files/unionfs-1.0.11-amd64.patch )
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/unionfs-1.0.13/temp/unionfs-1.0.11-amd64.patch-24392.out
Expected Results:
works
Gentoo Base System version 1.6.13
Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.5-r0,
2.6.12-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.12-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3400+
dev-lang/python: 2.3.5
sys-apps/sandbox: 1.2.11
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.5
sys-devel/binutils: 2.15.92.0.2-r10
sys-devel/libtool: 1.5.18-r1
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O3 -march=k8"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-pipe -O3 -march=k8"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X aac alsa avi berkdb bitmap-fonts cdr crypt curl dvd dvdread eds
encode esd fam flac foomaticdb fortran gif gnome gpm gstreamer gtk gtk2 imlib
ipv6 jpeg libvisual lzw lzw-tiff mp3 mpeg ncurses network nls ogg oggvorbis
opengl pam pdflib perl png python quicktime readline samba sdl softmmu speex
spell sqlite ssl tcpd theora tiff truetype-fonts type1-fonts usb userlocales
vorbis xine xml2 xpm xv zlib userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
The problem is that the patch is against unionfs-1.0.11. While the patch may
work, patch won't patch a file within a unionfs-1.0.13 directory witch a patch
from unionfs-1.0.11.
cd unionfs-1.0.13
patch -p1 ...
cd ..
or
sed s/1.0.11/1.0.13/g < file.patch | patch -p0 ...
My original patch is inapropriate for newer versions as the issue was fixed
upstream. From Changelog:
2005-04-18 Markus F.X.J. Oberhumer <markus@oberhumer.com>
* file.c, locks.c: Use #ifdef for 64-bit locking
commands, which are not defined on amd64.
Removing the patch would be fine - except there is another slight breakage with
some debug statments specifying long long unsigned int type for inode, then
passing uint64_t types which makes gcc barf.
unionimap.c:247: warning: long long unsigned int format, uint64_t arg (arg 5)
unionimap.c:296: warning: long long unsigned int format, uint64_t arg (arg 4)
I'll fix those when I get home from work.