From 732482d3c7da7a51f899d9e561b0bae96147a285 Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Thu, 20 Oct 2005 03:00:29 +0000
Subject: [PATCH] update fuse to new upstream release (v2.4.1) (thanks to
 Christian Magnusson)

SVN-Revision: 2186
---
 openwrt/package/fuse/Makefile                 |   5 +-
 .../fuse/patches/102-cflags-configure.patch   |  22 ----
 .../fuse/patches/111-uclibc_changes.patch     | 104 +-----------------
 .../fuse/patches/112-no_break_on_mknod.patch  |  12 ++
 openwrt/target/linux/package/fuse/Makefile    |  60 +++++-----
 .../fuse/patches/102-cflags_configure.patch   |  22 ----
 6 files changed, 50 insertions(+), 175 deletions(-)
 delete mode 100644 openwrt/package/fuse/patches/102-cflags-configure.patch
 create mode 100644 openwrt/package/fuse/patches/112-no_break_on_mknod.patch
 delete mode 100644 openwrt/target/linux/package/fuse/patches/102-cflags_configure.patch

diff --git a/openwrt/package/fuse/Makefile b/openwrt/package/fuse/Makefile
index 35d096a5a7..d5e3222e52 100644
--- a/openwrt/package/fuse/Makefile
+++ b/openwrt/package/fuse/Makefile
@@ -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 $@
 
diff --git a/openwrt/package/fuse/patches/102-cflags-configure.patch b/openwrt/package/fuse/patches/102-cflags-configure.patch
deleted file mode 100644
index b358ab4ecd..0000000000
--- a/openwrt/package/fuse/patches/102-cflags-configure.patch
+++ /dev/null
@@ -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,
diff --git a/openwrt/package/fuse/patches/111-uclibc_changes.patch b/openwrt/package/fuse/patches/111-uclibc_changes.patch
index 2c85e988e6..69730758e6 100644
--- a/openwrt/package/fuse/patches/111-uclibc_changes.patch
+++ b/openwrt/package/fuse/patches/111-uclibc_changes.patch
@@ -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)
diff --git a/openwrt/package/fuse/patches/112-no_break_on_mknod.patch b/openwrt/package/fuse/patches/112-no_break_on_mknod.patch
new file mode 100644
index 0000000000..96ed70f291
--- /dev/null
+++ b/openwrt/package/fuse/patches/112-no_break_on_mknod.patch
@@ -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; \
diff --git a/openwrt/target/linux/package/fuse/Makefile b/openwrt/target/linux/package/fuse/Makefile
index 02148cabd4..0240bdc717 100644
--- a/openwrt/target/linux/package/fuse/Makefile
+++ b/openwrt/target/linux/package/fuse/Makefile
@@ -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 $@
 
diff --git a/openwrt/target/linux/package/fuse/patches/102-cflags_configure.patch b/openwrt/target/linux/package/fuse/patches/102-cflags_configure.patch
deleted file mode 100644
index b358ab4ecd..0000000000
--- a/openwrt/target/linux/package/fuse/patches/102-cflags_configure.patch
+++ /dev/null
@@ -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,
-- 
2.30.2