summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/unionfs')
-rw-r--r--sys-fs/unionfs/ChangeLog6
-rw-r--r--sys-fs/unionfs/files/1.3-64bit_compile_fix.diff48
-rw-r--r--sys-fs/unionfs/unionfs-1.3.ebuild9
3 files changed, 60 insertions, 3 deletions
diff --git a/sys-fs/unionfs/ChangeLog b/sys-fs/unionfs/ChangeLog
index ba6aabadb342..71c0b3935a5d 100644
--- a/sys-fs/unionfs/ChangeLog
+++ b/sys-fs/unionfs/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-fs/unionfs
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/unionfs/ChangeLog,v 1.25 2006/08/01 10:34:14 satya Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/unionfs/ChangeLog,v 1.26 2006/09/25 02:31:59 dberkholz Exp $
+
+ 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.3-64bit_compile_fix.diff, unionfs-1.3.ebuild:
+ (#142517) Compile on amd64. (#144326) Install man pages to the right place.
*unionfs-1.3 (01 Aug 2006)
*unionfs-1.2 (01 Aug 2006)
diff --git a/sys-fs/unionfs/files/1.3-64bit_compile_fix.diff b/sys-fs/unionfs/files/1.3-64bit_compile_fix.diff
new file mode 100644
index 000000000000..8f8870ab0ba2
--- /dev/null
+++ b/sys-fs/unionfs/files/1.3-64bit_compile_fix.diff
@@ -0,0 +1,48 @@
+Index: super.c
+===================================================================
+RCS file: /home/cvs/unionfs/unionfs/super.c,v
+retrieving revision 1.98
+diff -u -p -r1.98 super.c
+--- super.c 5 Aug 2006 01:28:46 -0000 1.98
++++ super.c 10 Aug 2006 01:01:10 -0000
+@@ -684,18 +684,22 @@ enum {
+ static void do_decode(__u32 * fh, struct dentry **hidden_root,
+ ino_t * hidden_ino, ino_t * hidden_parent_ino)
+ {
+- *hidden_root = (void *)fh[FhHRoot2];
++ unsigned long root;
++
++ root = fh[FhHRoot2];
+ *hidden_ino = fh[FhHIno2];
+ *hidden_parent_ino = fh[FhHPIno2];
+ #if BITS_PER_LONG == 64
+- *hidden_root |= fh[FhHRoot1] << 32;
+- *hidden_ino |= fh[FhHIno1] << 32;
+- *hidden_parent_ino |= fh[FhHPIno1] << 32;
++ root |= ((unsigned long)fh[FhHRoot1]) << 32;
++ *hidden_ino |= ((unsigned long) fh[FhHIno1]) << 32;
++ *hidden_parent_ino |= ((unsigned long) fh[FhHPIno1]) << 32;
+ #elif BITS_PER_LONG == 32
+ /* ok */
+ #else
+ #error unknown size
+ #endif
++
++ *hidden_root = (struct dentry*) root;
+ }
+
+ static int unionfs_encode_fh(struct dentry *dentry, __u32 * fh, int *max_len,
+@@ -739,11 +743,11 @@ static int unionfs_encode_fh(struct dent
+ unlock_dentry(sb->s_root);
+ h_ino = itohi_index(dentry->d_inode, bindex)->i_ino;
+ hp_ino = parent_ino(dtohd(dentry));
+- fh[FhHRoot2] = (__u32) h_root;
++ fh[FhHRoot2] = (unsigned long) h_root;
+ fh[FhHIno2] = h_ino;
+ fh[FhHPIno2] = hp_ino;
+ #if BITS_PER_LONG == 64
+- fh[FhHRoot1] = h_root >> 32;
++ fh[FhHRoot1] = ((unsigned long) h_root) >> 32;
+ fh[FhHIno1] = h_ino >> 32;
+ fh[FhHPIno1] = hp_ino >> 32;
+ #endif
diff --git a/sys-fs/unionfs/unionfs-1.3.ebuild b/sys-fs/unionfs/unionfs-1.3.ebuild
index 2f87b297520b..19a0b177a00a 100644
--- a/sys-fs/unionfs/unionfs-1.3.ebuild
+++ b/sys-fs/unionfs/unionfs-1.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/unionfs/unionfs-1.3.ebuild,v 1.1 2006/08/01 10:34:14 satya Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/unionfs/unionfs-1.3.ebuild,v 1.2 2006/09/25 02:31:59 dberkholz Exp $
inherit eutils linux-mod
@@ -55,6 +55,8 @@ src_unpack() {
echo "EXTRACFLAGS=${EXTRACFLAGS}" >> ${user_Makefile}
einfo EXTRACFLAGS: ${EXTRACFLAGS}
+
+ epatch "${FILESDIR}"/${PV}-64bit_compile_fix.diff
}
src_install() {
@@ -62,7 +64,10 @@ src_install() {
dodoc INSTALL NEWS README ChangeLog patch-kernel.sh
- emake PREFIX="${D}" install-utils # Makefile is bugged
+ emake \
+ PREFIX="${D}" \
+ MANDIR="${D}/usr/share/man" \
+ install-utils # Makefile is bugged
#doman man/unionfs.4 man/unionctl.8 man/uniondbg.8 man/unionimap.8
#into / # ${D}/sbin: usr could be unionfs mounted: bug #129960
#dosbin utils/unionctl utils/uniondbg utils/unionimap