Solving lazy bindings bug 76423, addressing unknown symbol in kernel 2.6.10 bug 76438...
authorStefan Schweizer <genstef@gentoo.org>
Mon, 3 Jan 2005 08:00:45 +0000 (08:00 +0000)
committerStefan Schweizer <genstef@gentoo.org>
Mon, 3 Jan 2005 08:00:45 +0000 (08:00 +0000)
sys-fs/encfs/Manifest
sys-fs/fuse/ChangeLog
sys-fs/fuse/Manifest
sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch [new file with mode: 0644]
sys-fs/fuse/files/fuse-fix-lazy-binding.patch [new file with mode: 0644]
sys-fs/fuse/fuse-1.4.ebuild
sys-fs/fuse/fuse-2.1.ebuild

index 74292d4f6f1c03547ceb26bde28a9c4cc867a24e..1bf9059e39be030f9939e261f9674be535fb250c 100644 (file)
@@ -1,4 +1,4 @@
-MD5 bc2f75d6048625634e98135c009f88b0 encfs-1.1.10.ebuild 516
-MD5 824c95e7ffe02d7ddd6c2eba9ede2f6a ChangeLog 448
+MD5 0103c7401bd4b75a4435dfd8fecb0ab1 encfs-1.1.10.ebuild 515
+MD5 8193248e310123de9d13999d714e90c8 ChangeLog 645
 MD5 7a820ed09b03431681c1025e70acaa3a metadata.xml 372
 MD5 714c450406fd70a0a5f8aa7136a6241c files/digest-encfs-1.1.10 63
index ecf7b0c43ae2eca5392718c81195263895c38e46..71ff6c890f36aa5106d1be295947800314281781 100644 (file)
@@ -1,6 +1,12 @@
 # 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.7 2005/01/02 16:26:32 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/ChangeLog,v 1.8 2005/01/03 08:00:45 genstef Exp $
+
+  03 Jan 2005; Stefan Schweizer <genstef@gentoo.org>
+  +files/fuse-1.4-kernel-2.6.10.patch, +files/fuse-fix-lazy-binding.patch,
+  fuse-1.4.ebuild, fuse-2.1.ebuild:
+  Solving lazy bindings bug 76423, addressing unknown symbol in kernel 2.6.10
+  bug 76438, changing 1.4 version to also install module in /lib/modules//fs
 
   02 Jan 2005; Stefan Schweizer <genstef@gentoo.org> fuse-1.4.ebuild:
   Back to the old fuse-1.4.ebuild, 1.4 has obviously a more broken
index 6835e79b2abb0e335f738656a7cec1f2c8a74e5e..f4274bbea52309e7dea04b8fa139f82acc3d2ff8 100644 (file)
@@ -1,6 +1,8 @@
-MD5 142e50f5c21cbfda30880029b739e887 fuse-1.4.ebuild 1372
-MD5 b013f85dfbc6a56f0c407b1c5a6df29c fuse-2.1.ebuild 1156
-MD5 8045c8199b553d1e00cdcffbcc8a1317 ChangeLog 1265
+MD5 d9443f8a72726d8e779c1a9064122fa7 fuse-1.4.ebuild 1555
+MD5 61f3c8ddc1e887be58825483427d13ff fuse-2.1.ebuild 1250
+MD5 0ba2e58dc93adfdea28413318c8670a3 ChangeLog 1585
 MD5 6e89ba8198764bfd079a0cfa18dca593 metadata.xml 264
+MD5 a24d5bc33d0d36527f183fce45e5c78e files/fuse-1.4-kernel-2.6.10.patch 1052
 MD5 86c18e0aa1b9961decf250349afc0fdc files/digest-fuse-1.4 60
 MD5 fd5c3c8819559265b221879ca45deae3 files/digest-fuse-2.1 60
+MD5 c1ef6366ba5892111ddef08887328663 files/fuse-fix-lazy-binding.patch 398
diff --git a/sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch b/sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch
new file mode 100644 (file)
index 0000000..ba129d2
--- /dev/null
@@ -0,0 +1,29 @@
+diff -pur fuse-1.4.orig/kernel/dir.c fuse-1.4/kernel/dir.c
+--- fuse-1.4.orig/kernel/dir.c 2005-01-02 21:09:09.908015392 +0100
++++ fuse-1.4/kernel/dir.c      2005-01-02 21:10:21.430142376 +0100
+@@ -417,7 +417,12 @@ static int _fuse_permission(struct inode
+       if(!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->uid)
+               return -EACCES;
+       else if(fc->flags & FUSE_DEFAULT_PERMISSIONS) {
+-              int err = vfs_permission(inode, mask);
++              int err;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
++              err = vfs_permission(inode, mask);
++#else
++              err = generic_permission(inode, mask, NULL);
++#endif
+ 
+               /* If permission is denied, try to refresh file
+                  attributes.  This is also needed, because the root
+@@ -426,7 +431,11 @@ static int _fuse_permission(struct inode
+               if(err == -EACCES) {
+                       err = fuse_do_getattr(inode);
+                       if(!err)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
+                               err = vfs_permission(inode, mask);
++#else
++                              err = generic_permission(inode, mask, NULL);
++#endif
+               }
+ 
+               /* FIXME: Need some mechanism to revoke permissions:
diff --git a/sys-fs/fuse/files/fuse-fix-lazy-binding.patch b/sys-fs/fuse/files/fuse-fix-lazy-binding.patch
new file mode 100644 (file)
index 0000000..2583d1a
--- /dev/null
@@ -0,0 +1,11 @@
+diff -pur fuse-1.4.orig/util/Makefile.in fuse-1.4/util/Makefile.in
+--- fuse-1.4.orig/util/Makefile.in     2005-01-02 21:09:09.000000000 +0100
++++ fuse-1.4/util/Makefile.in  2005-01-03 08:49:25.333258992 +0100
+@@ -36,6 +36,7 @@ NORMAL_UNINSTALL = :
+ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ ACLOCAL = @ACLOCAL@
++AM_CFLAGS=-Wl,-z,now
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
index 8430a986dbd4d82e89800a47935ef393b76d19c4..5749690937a671d75d731973ac8de47dfa1c4e4b 100644 (file)
@@ -1,8 +1,8 @@
 # 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-1.4.ebuild,v 1.4 2005/01/02 16:26:32 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/fuse-1.4.ebuild,v 1.5 2005/01/03 08:00:45 genstef Exp $
 
-inherit kernel-mod
+inherit kernel-mod eutils
 
 MY_P=${P/_/-}
 DESCRIPTION="An interface for filesystems implemented in userspace."
@@ -20,6 +20,13 @@ pkg_setup() {
        kernel-mod_check_modules_supported
 }
 
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/${P}-kernel-2.6.10.patch
+       epatch ${FILESDIR}/fuse-fix-lazy-binding.patch
+}
+
 src_compile() {
        econf --disable-example --with-kernel="${ROOT}/usr/src/linux" || die "econf failed"
 
@@ -38,7 +45,7 @@ src_compile() {
 
 src_install() {
        unset ARCH
-       make DESTDIR="${D}" install || die "make install failed"
+       make DESTDIR="${D}" fusemoduledir=${ROOT}/lib/modules/${KV}/fs install || die "make install failed"
 
        dodoc AUTHORS BUGS ChangeLog Filesystems README README-2.4 \
                README-2.6 README.NFS NEWS doc/how-fuse-works
index ed2d894cd29615ae55622b36eaa1280e8adf52fd..443c9538b77971464c7541b410e651f00ffcc2bb 100644 (file)
@@ -1,8 +1,8 @@
 # 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.1.ebuild,v 1.3 2005/01/01 23:00:13 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/fuse-2.1.ebuild,v 1.4 2005/01/03 08:00:45 genstef Exp $
 
-inherit linux-mod
+inherit linux-mod eutils
 
 MY_P=${P/_/-}
 DESCRIPTION="An interface for filesystems implemented in userspace."
@@ -17,6 +17,11 @@ BUILD_PARAMS="majver=${KV_MAJOR}.${KV_MINOR}
        fusemoduledir=${ROOT}/lib/modules/${KV_FULL}/fs"
 BUILD_TARGETS="all"
 
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/fuse-fix-lazy-binding.patch
+}
 
 src_compile() {
        econf --disable-kernel-module --disable-example || die "econf failed"