summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorStefan Schweizer <genstef@gentoo.org>2005-12-04 00:06:31 +0000
committerStefan Schweizer <genstef@gentoo.org>2005-12-04 00:06:31 +0000
commit30f342bc5bd917f983b1a1e11d5b2a117a02b5ad (patch)
treefccb4e48f37c9f0353e4dd3998af4ffe53193d08 /sys-fs
parentstable on x86 to work with new apache layout. bug #114395. (diff)
downloadgentoo-2-30f342bc5bd917f983b1a1e11d5b2a117a02b5ad.tar.gz
gentoo-2-30f342bc5bd917f983b1a1e11d5b2a117a02b5ad.tar.bz2
gentoo-2-30f342bc5bd917f983b1a1e11d5b2a117a02b5ad.zip
New version thanks to Radek Podgorny <radek@podgorny.cz> and Peter Hyman <pete4abw@comcast.net> in bug 113747
(Portage version: 2.0.53)
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/fuse/ChangeLog9
-rw-r--r--sys-fs/fuse/files/digest-fuse-2.4.21
-rw-r--r--sys-fs/fuse/files/fuse-fix-memleak.patch21
-rw-r--r--sys-fs/fuse/fuse-2.4.2.ebuild52
4 files changed, 82 insertions, 1 deletions
diff --git a/sys-fs/fuse/ChangeLog b/sys-fs/fuse/ChangeLog
index 349edfeb035f..8d06f539b944 100644
--- a/sys-fs/fuse/ChangeLog
+++ b/sys-fs/fuse/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/fuse
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/ChangeLog,v 1.34 2005/11/20 19:30:33 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/ChangeLog,v 1.35 2005/12/04 00:06:31 genstef Exp $
+
+*fuse-2.4.2 (04 Dec 2005)
+
+ 04 Dec 2005; Stefan Schweizer <genstef@gentoo.org>
+ +files/fuse-fix-memleak.patch, +fuse-2.4.2.ebuild:
+ New version thanks to Radek Podgorny <radek@podgorny.cz> and Peter Hyman
+ <pete4abw@comcast.net> in bug 113747
20 Nov 2005; Mark Loeser <halcy0n@gentoo.org> fuse-2.4.1-r1.ebuild:
Stable on x86
diff --git a/sys-fs/fuse/files/digest-fuse-2.4.2 b/sys-fs/fuse/files/digest-fuse-2.4.2
new file mode 100644
index 000000000000..6b0a385e7b25
--- /dev/null
+++ b/sys-fs/fuse/files/digest-fuse-2.4.2
@@ -0,0 +1 @@
+MD5 6e3d9a580c45ddf4a06558c135c158c2 fuse-2.4.2.tar.gz 384993
diff --git a/sys-fs/fuse/files/fuse-fix-memleak.patch b/sys-fs/fuse/files/fuse-fix-memleak.patch
new file mode 100644
index 000000000000..f982f32ae112
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-fix-memleak.patch
@@ -0,0 +1,21 @@
+diff -ur fuse fuseold
+--- fuse/lib/fuse.c 2005-12-03 18:19:33.000000000 -0500
++++ fuseold/lib/fuse.c 2005-12-03 18:19:33.000000000 -0500
+@@ -1656,6 +1656,7 @@
+ void fuse_process_cmd(struct fuse *f, struct fuse_cmd *cmd)
+ {
+ fuse_session_process(f->se, cmd->buf, cmd->buflen, cmd->ch);
++ free_cmd(cmd);
+ }
+
+ int fuse_exited(struct fuse *f)
+@@ -1693,6 +1694,8 @@
+ int res = fuse_chan_receive(ch, cmd->buf, bufsize);
+ if (res <= 0) {
+ free_cmd(cmd);
++ if (res == -1)
++ fuse_exit(f);
+ return NULL;
+ }
+ cmd->buflen = res;
+
diff --git a/sys-fs/fuse/fuse-2.4.2.ebuild b/sys-fs/fuse/fuse-2.4.2.ebuild
new file mode 100644
index 000000000000..009f2e6b0f19
--- /dev/null
+++ b/sys-fs/fuse/fuse-2.4.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/fuse-2.4.2.ebuild,v 1.1 2005/12/04 00:06:31 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}
+
+CONFIG_CHECK="@FUSE_FS:fuse"
+MODULE_NAMES="fuse(fs:${S}/kernel)"
+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-fix-memleak.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
+}