summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-01-20 15:51:50 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-01-20 15:53:25 +0000
commit7a0b6bcc0bc61677944d7ab3f8e635347fd32353 (patch)
treefe30af7d9fffc65291d2cc84832315e8cd50f94d
parent8ead7a5dd2a21b3c51cab6f740c6f63c9fe31896 (diff)
downloadaports-7a0b6bcc0bc61677944d7ab3f8e635347fd32353.tar.bz2
aports-7a0b6bcc0bc61677944d7ab3f8e635347fd32353.tar.xz
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)
-rw-r--r--testing/fuse/APKBUILD62
-rw-r--r--testing/fuse/fuse-iconv.patch24
-rw-r--r--testing/fuse/fuse.initd35
3 files changed, 121 insertions, 0 deletions
diff --git a/testing/fuse/APKBUILD b/testing/fuse/APKBUILD
new file mode 100644
index 000000000..5ce32a06b
--- /dev/null
+++ b/testing/fuse/APKBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+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 000000000..4710f576f
--- /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 000000000..30b512e8d
--- /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 ${?}
+
+}