summaryrefslogtreecommitdiff
path: root/repo/fuse
diff options
context:
space:
mode:
Diffstat (limited to 'repo/fuse')
-rw-r--r--repo/fuse/fix-realpath.patch28
-rw-r--r--repo/fuse/fuse.xibuild35
2 files changed, 63 insertions, 0 deletions
diff --git a/repo/fuse/fix-realpath.patch b/repo/fuse/fix-realpath.patch
new file mode 100644
index 0000000..0099173
--- /dev/null
+++ b/repo/fuse/fix-realpath.patch
@@ -0,0 +1,28 @@
+--- a/util/fusermount.c
++++ B/util/fusermount.c
+@@ -1322,19 +1322,16 @@
+
+ origmnt = argv[optind];
+
+- drop_privs();
+ mnt = fuse_mnt_resolve_path(progname, origmnt);
+- if (mnt != NULL) {
+- res = chdir("/");
+- if (res == -1) {
+- fprintf(stderr, "%s: failed to chdir to '/'\n", progname);
+- exit(1);
+- }
+- }
+- restore_privs();
+ if (mnt == NULL)
+ exit(1);
+
++ res = chdir("/");
++ if (res == -1) {
++ fprintf(stderr, "%s: failed to chdir to '/'\n", progname);
++ exit(1);
++ }
++
+ umask(033);
+ if (unmount)
+ goto do_unmount;
diff --git a/repo/fuse/fuse.xibuild b/repo/fuse/fuse.xibuild
new file mode 100644
index 0000000..849ac99
--- /dev/null
+++ b/repo/fuse/fuse.xibuild
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+NAME="fuse"
+DESC="A library that makes it possible to implement a filesystem in a userspace program."
+
+MAKEDEPS=" gettext"
+
+PKG_VER=2.9.9
+SOURCE="https://github.com/libfuse/libfuse/releases/download/fuse-$PKG_VER/fuse-$PKG_VER.tar.gz"
+
+ADDITIONAL="
+fix-realpath.patch
+"
+
+prepare () {
+ apply_patches
+}
+
+build() {
+ UDEV_RULES_PATH='/lib/udev/rules.d' ./configure \
+ --prefix=/usr \
+ --enable-static \
+ --enable-shared \
+ --disable-example \
+ --enable-lib \
+ --enable-util \
+ --bindir=/bin
+ make
+}
+
+package() {
+ make DESTDIR="$PKG_DEST" install
+ rm -r "$PKG_DEST"/dev "$PKG_DEST"/etc/init.d
+}
+