update fuse to new upstream release (v2.4.1) (thanks to Christian Magnusson)

SVN-Revision: 2186
This commit is contained in:
Nicolas Thill 2005-10-20 03:00:29 +00:00
parent d8c0bde813
commit 732482d3c7
6 changed files with 50 additions and 175 deletions

View File

@ -3,9 +3,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fuse
PKG_VERSION:=2.3.0
PKG_VERSION:=2.4.1
PKG_RELEASE:=1
PKG_MD5SUM:=0bee98df5b2a29841f75fc188975eabc
PKG_MD5SUM:=553bd9c5a4f3cd27f3e2b93844711e4c
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@ -58,6 +58,7 @@ $(PKG_BUILD_DIR)/.configured:
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(LINUX_DIR) \
--disable-mtab \
);
touch $@

View File

@ -1,22 +0,0 @@
--- fuse-2.2.1-orig/configure 2005-03-08 15:48:57.000000000 +0100
+++ fuse-2.2.1-1/configure 2005-04-06 14:39:18.000000000 +0200
@@ -9354,7 +9354,7 @@
fi
-CFLAGS="-Wall -W -g -O2"
+[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
# Check whether --enable-kernel-module or --disable-kernel-module was given.
--- fuse-2.2.1-orig/configure.in 2005-03-08 15:39:23.000000000 +0100
+++ fuse-2.2.1-1/configure.in 2005-04-06 14:39:20.000000000 +0200
@@ -13,7 +13,7 @@
AC_SUBST(mkdir_p)
fi
-CFLAGS="-Wall -W -g -O2"
+[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
AC_ARG_ENABLE(kernel-module,

View File

@ -1,57 +1,7 @@
diff -ruw fuse-2.3.0.org/lib/mount.c fuse-2.3.0/lib/mount.c
--- fuse-2.3.0.org/lib/mount.c 2005-02-02 12:14:44.000000000 +0100
+++ fuse-2.3.0/lib/mount.c 2005-08-26 09:23:11.000000000 +0200
@@ -6,6 +6,13 @@
See the file COPYING.LIB.
*/
+#include <config.h>
+#ifdef HAVE_FEATURES_H
+#include <features.h>
+#endif
+/* Remove this when config.h is updated with HAVE_FEATURES_H */
+#include <features.h>
+
#include "fuse.h"
#include "fuse_compat.h"
@@ -92,10 +99,11 @@
return -1;
}
-#ifndef USE_UCLIBC
- pid = fork();
-#else
+#if defined(__UCLIBC__) && \
+ (!defined(__ARCH_HAS_MMU__) && !defined(__UCLIBC_HAS_MMU__))
pid = vfork();
+#else
+ pid = fork();
#endif
if(pid == -1) {
perror("fuse: fork() failed");
diff -ruw fuse-2.3.0.org/util/fusermount.c fuse-2.3.0/util/fusermount.c
--- fuse-2.3.0.org/util/fusermount.c 2005-05-17 18:54:17.000000000 +0200
+++ fuse-2.3.0/util/fusermount.c 2005-08-26 09:20:12.000000000 +0200
@@ -17,6 +17,17 @@
*/
#include <config.h>
+#ifdef HAVE_FEATURES_H
+#include <features.h>
+#endif
+/* Remove this when config.h is updated with HAVE_FEATURES_H */
+#include <features.h>
+
+#ifdef __UCLIBC__
+/* Most embedded systems with uclibc have read-only root filesystem. Should
+ * replace this into a parameter --disable-mtab instead */
+#define READONLY_MTAB 1
+#endif
#include <stdio.h>
#include <stdlib.h>
@@ -40,7 +51,12 @@
diff -ruw fuse-2.4.0/util/fusermount.c.org fuse-2.4.0/util/fusermount.c
--- fuse-2.4.0/util/fusermount.c.org 2005-10-14 11:34:06.000000000 +0200
+++ fuse-2.4.0/util/fusermount.c 2005-10-14 11:56:26.000000000 +0200
@@ -42,7 +42,12 @@
#define FUSE_COMMFD_ENV "_FUSE_COMMFD"
#define FUSE_DEV_OLD "/proc/fs/fuse/dev"
@ -63,50 +13,4 @@ diff -ruw fuse-2.3.0.org/util/fusermount.c fuse-2.3.0/util/fusermount.c
+#endif
#define FUSE_VERSION_FILE_OLD "/proc/fs/fuse/version"
#define FUSE_CONF "/etc/fuse.conf"
#define FUSE_MAJOR 10
@@ -89,7 +105,7 @@
return res;
}
-#ifndef USE_UCLIBC
+#ifndef READONLY_MTAB
/* use a lock file so that multiple fusermount processes don't try and
modify the mtab file at once! */
static int lock_mtab()
@@ -701,7 +717,12 @@
return fd;
}
+#ifdef __UCLIBC__
+/* /dev is writeable on openwrt distribution */
+#define FUSE_TMP_DIRNAME "/dev/.fuse_devXXXXXX"
+#else
#define FUSE_TMP_DIRNAME "/tmp/.fuse_devXXXXXX"
+#endif
#define FUSE_TMP_DEVNAME "/fuse"
static int try_open_new_temp(dev_t devnum, char **devp)
@@ -761,17 +782,19 @@
pid_t pid;
fd = try_open_fuse_device(devp);
+ //fprintf(stderr, "open_fuse_device: try_open_fuse_device() ret=%d\n", fd);
if (fd >= 0)
return fd;
-#ifndef USE_UCLIBC
- pid = fork();
-#else
+#if defined(__UCLIBC__) && \
+ (!defined(__ARCH_HAS_MMU__) && !defined(__UCLIBC_HAS_MMU__))
pid = vfork();
+#else
+ pid = fork();
#endif
if (pid == 0) {
setuid(0);
- execl("/sbin/modprobe", "/sbin/modprobe", "fuse", NULL);
+ execl("/sbin/insmod", "/sbin/insmod", "fuse", NULL);
exit(1);
}
if (pid != -1)

View File

@ -0,0 +1,12 @@
diff -ruN fuse-2.4.1-old/util/Makefile.in fuse-2.4.1-new/util/Makefile.in
--- fuse-2.4.1-old/util/Makefile.in 2005-10-17 12:29:20.000000000 +0200
+++ fuse-2.4.1-new/util/Makefile.in 2005-10-19 17:11:13.000000000 +0200
@@ -445,7 +445,7 @@
install-exec-hook:
-chown root $(DESTDIR)$(bindir)/fusermount
-chmod u+s $(DESTDIR)$(bindir)/fusermount
- @if test ! -e $(DESTDIR)/dev/fuse; then \
+ -@if test ! -e $(DESTDIR)/dev/fuse; then \
$(mkdir_p) $(DESTDIR)/dev; \
echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229"; \
mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229; \

View File

@ -4,9 +4,9 @@ include $(TOPDIR)/rules.mk
include ../../rules.mk
PKG_NAME:=fuse
PKG_VERSION:=2.3.0
PKG_VERSION:=2.4.1
PKG_RELEASE:=1
PKG_MD5SUM:=0bee98df5b2a29841f75fc188975eabc
PKG_MD5SUM:=553bd9c5a4f3cd27f3e2b93844711e4c
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@ -33,33 +33,35 @@ $(PKG_BUILD_DIR)/.configured:
touch configure ; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
--enable-shared \
--enable-static \
--enable-kernel-module \
--disable-lib \
--disable-util \
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(KERNEL_DIR) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
--enable-shared \
--enable-static \
--disable-rpath \
--enable-kernel-module \
--disable-lib \
--disable-util \
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(KERNEL_DIR) \
--disable-mtab \
);
touch $@

View File

@ -1,22 +0,0 @@
--- fuse-2.2.1-orig/configure 2005-03-08 15:48:57.000000000 +0100
+++ fuse-2.2.1-1/configure 2005-04-06 14:39:18.000000000 +0200
@@ -9354,7 +9354,7 @@
fi
-CFLAGS="-Wall -W -g -O2"
+[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
# Check whether --enable-kernel-module or --disable-kernel-module was given.
--- fuse-2.2.1-orig/configure.in 2005-03-08 15:39:23.000000000 +0100
+++ fuse-2.2.1-1/configure.in 2005-04-06 14:39:20.000000000 +0200
@@ -13,7 +13,7 @@
AC_SUBST(mkdir_p)
fi
-CFLAGS="-Wall -W -g -O2"
+[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
AC_ARG_ENABLE(kernel-module,