diff options
Diffstat (limited to 'package/fuse/patches/111-uclibc_changes.patch')
-rw-r--r-- | package/fuse/patches/111-uclibc_changes.patch | 104 |
1 files changed, 4 insertions, 100 deletions
diff --git a/package/fuse/patches/111-uclibc_changes.patch b/package/fuse/patches/111-uclibc_changes.patch index 2c85e988e6..69730758e6 100644 --- a/package/fuse/patches/111-uclibc_changes.patch +++ b/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) |