From 7a0b6bcc0bc61677944d7ab3f8e635347fd32353 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 20 Jan 2010 15:51:50 +0000 Subject: testing/fuse: new aport A library that makes it possible to implement a filesystem in a userspace program. http://fuse.sourceforge.net/ Needed by sshfs (ref #210) and open-vm-tools (ref #193) --- testing/fuse/APKBUILD | 62 +++++++++++++++++++++++++++++++++++++++++++ testing/fuse/fuse-iconv.patch | 24 +++++++++++++++++ testing/fuse/fuse.initd | 35 ++++++++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 testing/fuse/APKBUILD create mode 100644 testing/fuse/fuse-iconv.patch create mode 100644 testing/fuse/fuse.initd diff --git a/testing/fuse/APKBUILD b/testing/fuse/APKBUILD new file mode 100644 index 00000000..5ce32a06 --- /dev/null +++ b/testing/fuse/APKBUILD @@ -0,0 +1,62 @@ +# Maintainer: Natanael Copa +pkgname=fuse +pkgver=2.8.1 +pkgrel=0 +pkgdesc="A library that makes it possible to implement a filesystem in a userspace program." +url="http://fuse.sourceforge.net/" +license="GPL2" +depends= +makedepends="pkgconfig libiconv-dev + autoconf automake libtool" +install= +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + fuse-iconv.patch + fuse.initd" + + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/fuse-iconv.patch || return 1 + aclocal -I m4 && libtoolize && autoconf && automake +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-lib \ + --enable-util \ + --bindir=/bin \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + rm -rf "$pkgdir"/dev + rm -rf "$pkgdir"/etc/init.d + + install -Dm755 "$srcdir"/fuse.initd "$pkgdir"/etc/init.d/fuse + # create config + install -d "$pkgdir"/etc + cat >"$pkgdir"/etc/fuse.conf << _EOF_ +# Set the maximum number of FUSE mounts allowed to non-root users. +# The default is 1000. +# +#mount_max = 1000 + +# Allow non-root users to specify the 'allow_other' or 'allow_root' +# mount options. +# +#user_allow_other +_EOF_ + +} + +md5sums="0e3505ce90155983f1bc995eb2cf6fa7 fuse-2.8.1.tar.gz +e5183506aabc5bf7795da52953d38888 fuse-iconv.patch +5983726cfabf0830dffbbbf9a3abcddc fuse.initd" diff --git a/testing/fuse/fuse-iconv.patch b/testing/fuse/fuse-iconv.patch new file mode 100644 index 00000000..4710f576 --- /dev/null +++ b/testing/fuse/fuse-iconv.patch @@ -0,0 +1,24 @@ +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 3eec119..c7414ac 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -11,8 +11,10 @@ else + mount_source = mount.c mount_util.c mount_util.h + endif + ++libfuse_la_LDFLAGS = + if ICONV + iconv_source = modules/iconv.c ++libfuse_la_LDFLAGS += -liconv + else + iconv_source = + endif +@@ -35,7 +37,7 @@ libfuse_la_SOURCES = \ + $(iconv_source) \ + $(mount_source) + +-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:1 \ ++libfuse_la_LDFLAGS += @libfuse_libs@ -version-number 2:8:1 \ + -Wl,--version-script,$(srcdir)/fuse_versionscript + + libulockmgr_la_SOURCES = ulockmgr.c diff --git a/testing/fuse/fuse.initd b/testing/fuse/fuse.initd new file mode 100644 index 00000000..30b512e8 --- /dev/null +++ b/testing/fuse/fuse.initd @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MOUNTPOINT=/sys/fs/fuse/connections + +depend() { + need localmount +} + +start() { + + ebegin "Starting fuse" + if ! grep -qw fuse /proc/filesystems; then + modprobe fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module" + fi + if grep -qw fusectl /proc/filesystems && \ + ! grep -qw $MOUNTPOINT /proc/mounts; then + mount -t fusectl none $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error mounting control filesystem" + fi + eend ${?} + +} + +stop() { + + ebegin "Stopping fuse" + if grep -qw $MOUNTPOINT /proc/mounts; then + umount $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error unmounting control filesystem" + fi + eend ${?} + +} -- cgit v1.2.3