diff options
Diffstat (limited to 'repo/fuse')
-rw-r--r-- | repo/fuse/fix-realpath.patch | 28 | ||||
-rw-r--r-- | repo/fuse/fuse.xibuild | 35 |
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 +} + |