diff options
Diffstat (limited to 'user')
-rw-r--r-- | user/fuse/APKBUILD | 45 | ||||
-rw-r--r-- | user/fuse/fix-realpath.patch | 28 |
2 files changed, 73 insertions, 0 deletions
diff --git a/user/fuse/APKBUILD b/user/fuse/APKBUILD new file mode 100644 index 000000000..92840ed41 --- /dev/null +++ b/user/fuse/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=fuse +pkgver=2.9.8 +pkgrel=2 +pkgdesc="Linux Filesystem in Userspace (legacy version)" +url="https://github.com/libfuse/libfuse" +arch="all" +options="suid !check" # No test suite. +license="GPL-2.0-only AND LGPL-2.1-only AND (GPL-2.0-only OR BSD-2-Clause)" +depends="fuse-common" +makedepends="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/libfuse/libfuse/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz + fix-realpath.patch +" + +# secfixes: +# 2.9.8-r0: +# - CVE-2018-10906 + +build() { + cd "$builddir" + UDEV_RULES_PATH='/lib/udev/rules.d' ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-static \ + --disable-example \ + --enable-lib \ + --enable-util + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + rm -r "$pkgdir"/dev "$pkgdir"/etc/init.d +} + +sha512sums="0a9b14d96c6f98f5c903baf00114bfff72f9aeb97224702bbed370516b2b582401d5b436fcef979918ffd85d69ba4a82c8f722c0b35ebd50f7aa5f4ddfdcf8ad fuse-2.9.8.tar.gz +5672ceb35acabb4bd97b6efc30614f22def62882fe198e2a8598a074d45b6b5337c082a5e09b5e399b6e5212dc1fbde9071c2a5051534c32091444c350b9c657 fix-realpath.patch" diff --git a/user/fuse/fix-realpath.patch b/user/fuse/fix-realpath.patch new file mode 100644 index 000000000..1199eb338 --- /dev/null +++ b/user/fuse/fix-realpath.patch @@ -0,0 +1,28 @@ +--- fuse-2.9.3.orig/util/fusermount.c 2015-02-07 08:58:54.000000000 -0200 ++++ fuse-2.9.3/util/fusermount.c 2015-02-09 09:15:16.737367957 -0200 +@@ -1255,19 +1255,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; |