summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schweizer <genstef@gentoo.org>2006-01-20 20:20:27 +0000
committerStefan Schweizer <genstef@gentoo.org>2006-01-20 20:20:27 +0000
commit6e74f21003112365c3356b54236a12ce955eb270 (patch)
tree53a97980174b6cbfcc88ad41dea3758d49e788a1 /sys-fs/fuse
parentStable on sparc wrt #119634 (diff)
downloadgentoo-2-6e74f21003112365c3356b54236a12ce955eb270.tar.gz
gentoo-2-6e74f21003112365c3356b54236a12ce955eb270.tar.bz2
gentoo-2-6e74f21003112365c3356b54236a12ce955eb270.zip
Fix compiling on 2.6.16 thanks to Patrizio Bassi <hetfield666@gmail.com> in bug 119532
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'sys-fs/fuse')
-rw-r--r--sys-fs/fuse/ChangeLog9
-rw-r--r--sys-fs/fuse/Manifest5
-rw-r--r--sys-fs/fuse/files/digest-fuse-2.5.0-r11
-rw-r--r--sys-fs/fuse/files/fuse-2.6.16.patch42
-rw-r--r--sys-fs/fuse/fuse-2.5.0-r1.ebuild52
5 files changed, 107 insertions, 2 deletions
diff --git a/sys-fs/fuse/ChangeLog b/sys-fs/fuse/ChangeLog
index 92effd5cb161..21fe996c199e 100644
--- a/sys-fs/fuse/ChangeLog
+++ b/sys-fs/fuse/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/fuse
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/ChangeLog,v 1.38 2006/01/20 14:42:11 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/ChangeLog,v 1.39 2006/01/20 20:20:26 genstef Exp $
+
+*fuse-2.5.0-r1 (20 Jan 2006)
+
+ 20 Jan 2006; Stefan Schweizer <genstef@gentoo.org>
+ +files/fuse-2.6.16.patch, +fuse-2.5.0-r1.ebuild:
+ Fix compiling on 2.6.16 thanks to Patrizio Bassi <hetfield666@gmail.com> in
+ bug 119532
20 Jan 2006; Daniel Drake <dsd@gentoo.org> fuse-2.4.2.ebuild,
fuse-2.5.0.ebuild:
diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest
index ed9944053913..2fc656a096fe 100644
--- a/sys-fs/fuse/Manifest
+++ b/sys-fs/fuse/Manifest
@@ -1,11 +1,14 @@
-MD5 2193a5f9881f6466f064b6dd5d849aae ChangeLog 5687
+MD5 423898f16145a61e841835bf084bcc78 ChangeLog 5913
MD5 ad233d63810d8501e80affb6e4b8f40f files/digest-fuse-2.4.1-r1 62
MD5 939e1bcac7a96bb8eaef27299f400422 files/digest-fuse-2.4.2 62
MD5 27f3a473a3318158e742b8c4d53b63f0 files/digest-fuse-2.5.0 62
+MD5 27f3a473a3318158e742b8c4d53b63f0 files/digest-fuse-2.5.0-r1 62
+MD5 cd6d8213487f9be260e992e612bd23c4 files/fuse-2.6.16.patch 1328
MD5 c1ef6366ba5892111ddef08887328663 files/fuse-fix-lazy-binding.patch 398
MD5 da9f962a4e5f50406efd2cbda5ce3381 files/fuse-fix-memleak.patch 587
MD5 341eb75e58827ef58b4c5b445c721362 files/fusermount.patch 1300
MD5 f552be18e87f9c498393e7c02013b5ea fuse-2.4.1-r1.ebuild 1355
MD5 19c327c7dcc5f50a5c63a1c2764d4d67 fuse-2.4.2.ebuild 1490
+MD5 ea71ac433ea172beb118622db6df4737 fuse-2.5.0-r1.ebuild 1485
MD5 e2d07e2f65d33d734598f83f57645897 fuse-2.5.0.ebuild 1447
MD5 6e89ba8198764bfd079a0cfa18dca593 metadata.xml 264
diff --git a/sys-fs/fuse/files/digest-fuse-2.5.0-r1 b/sys-fs/fuse/files/digest-fuse-2.5.0-r1
new file mode 100644
index 000000000000..22af0b7d26a5
--- /dev/null
+++ b/sys-fs/fuse/files/digest-fuse-2.5.0-r1
@@ -0,0 +1 @@
+MD5 9d20ae16211475d81c7c5235867e085f fuse-2.5.0.tar.gz 408472
diff --git a/sys-fs/fuse/files/fuse-2.6.16.patch b/sys-fs/fuse/files/fuse-2.6.16.patch
new file mode 100644
index 000000000000..0ae6c3253aa6
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-2.6.16.patch
@@ -0,0 +1,42 @@
+Index: kernel/file.c
+===================================================================
+RCS file: /cvsroot/fuse/fuse/kernel/file.c,v
+retrieving revision 1.94
+retrieving revision 1.94.2.1
+diff -u -r1.94 -r1.94.2.1
+--- kernel/file.c 6 Jan 2006 18:29:39 -0000 1.94
++++ kernel/file.c 18 Jan 2006 12:17:33 -0000 1.94.2.1
+@@ -675,9 +675,15 @@
+ struct inode *inode = file->f_dentry->d_inode;
+ ssize_t res;
+ /* Don't allow parallel writes to the same file */
++#ifdef KERNEL_2_6_16_PLUS
++ mutex_lock(&inode->i_mutex);
++ res = fuse_direct_io(file, buf, count, ppos, 1);
++ mutex_unlock(&inode->i_mutex);
++#else
+ down(&inode->i_sem);
+ res = fuse_direct_io(file, buf, count, ppos, 1);
+ up(&inode->i_sem);
++#endif
+ return res;
+ }
+
+Index: kernel/fuse_i.h
+===================================================================
+RCS file: /cvsroot/fuse/fuse/kernel/fuse_i.h,v
+retrieving revision 1.99
+retrieving revision 1.99.2.1
+diff -u -r1.99 -r1.99.2.1
+--- kernel/fuse_i.h 14 Jan 2006 14:47:21 -0000 1.99
++++ kernel/fuse_i.h 18 Jan 2006 12:17:33 -0000 1.99.2.1
+@@ -40,6 +40,9 @@
+ # if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)
+ # define KERNEL_2_6_13_PLUS
+ # endif
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
++# define KERNEL_2_6_16_PLUS
++# endif
+ #endif
+
+ #include "config.h"
diff --git a/sys-fs/fuse/fuse-2.5.0-r1.ebuild b/sys-fs/fuse/fuse-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..5ca7b78ba913
--- /dev/null
+++ b/sys-fs/fuse/fuse-2.5.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/fuse-2.5.0-r1.ebuild,v 1.1 2006/01/20 20:20:26 genstef Exp $
+
+inherit linux-mod eutils
+
+MY_P=${P/_/-}
+DESCRIPTION="An interface for filesystems implemented in userspace."
+HOMEPAGE="http://fuse.sourceforge.net"
+SRC_URI="mirror://sourceforge/fuse/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+S=${WORKDIR}/${MY_P}
+
+MODULE_NAMES="fuse(fs:${S}/kernel)"
+CONFIG_CHECK="@FUSE_FS:fuse"
+BUILD_PARAMS="majver=${KV_MAJOR}.${KV_MINOR}
+ fusemoduledir=${ROOT}/lib/modules/${KV_FULL}/fs"
+BUILD_TARGETS="all"
+ECONF_PARAMS="--with-kernel=${KV_OUT_DIR}"
+FUSE_FS_ERROR="We have detected FUSE already built into the kernel.
+We will continue, but we wont build the module this time."
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/fuse-fix-lazy-binding.patch
+ epatch ${FILESDIR}/fuse-2.6.16.patch
+}
+
+src_compile() {
+ einfo "Preparing fuse userland"
+ econf --disable-kernel-module --disable-example || \
+ die "econf failed for fuse userland"
+ emake || die "emake failed"
+
+ sed -i 's/.*depmod.*//g' ${S}/kernel/Makefile.in
+ convert_to_m ${S}/kernel/Makefile.in
+ linux-mod_src_compile
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS ChangeLog Filesystems README README-2.4 \
+ README.NFS NEWS doc/how-fuse-works
+ docinto example
+ dodoc example/*
+
+ linux-mod_src_install
+}