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
                        --disable-example \
                        --disable-auto-modprobe \
                        --with-kernel=$(LINUX_DIR) \
+                       --disable-mtab \
        );
        touch $@
 
 
+++ /dev/null
---- 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 -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"
 +#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)
 
--- /dev/null
+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; \
 
 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
                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 $@
 
 
+++ /dev/null
---- 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,