summaryrefslogtreecommitdiffstats
path: root/abs/core/fuse
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/fuse')
-rw-r--r--abs/core/fuse/PKGBUILD38
-rw-r--r--abs/core/fuse/fuse.install14
-rwxr-xr-xabs/core/fuse/fuse.rc.d49
3 files changed, 101 insertions, 0 deletions
diff --git a/abs/core/fuse/PKGBUILD b/abs/core/fuse/PKGBUILD
new file mode 100644
index 0000000..62d8f81
--- /dev/null
+++ b/abs/core/fuse/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Mark Rosenstand <mark@archlinux.org>
+pkgname=fuse
+pkgver=2.7.3
+pkgrel=1
+pkgdesc="A library that makes it possible to implement a filesystem in a userspace program."
+arch=(i686 x86_64)
+url="http://fuse.sourceforge.net/"
+license="GPL2"
+depends=('glibc')
+makedepends=('pkgconfig')
+install=fuse.install
+source=(http://mesh.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+options=(!libtool)
+md5sums=('98563fc7b265b7479a3178181cbcf59a')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr --disable-kernel-module --enable-lib \
+ --enable-util --bindir=/bin
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+
+ # static device nodes will cause collision.
+ rm -rf $startdir/pkg/dev
+ # Remove init script in wrong path
+ # Don't add our own for now, as fusectl fs oopses on 2.6.18
+ rm -rf $startdir/pkg/etc/init.d
+ #install -D -m755 $startdir/src/fuse.rc.d $startdir/pkg/etc/rc.d/fuse
+
+ mkdir -p $startdir/pkg/lib
+ mv $startdir/pkg/usr/lib/libfuse.so.${pkgver} $startdir/pkg/lib/ || return 1
+ ln -s ../../lib/libfuse.so.${pkgver} $startdir/pkg/usr/lib/libfuse.so.${pkgver} || return 1
+ ln -s libfuse.so.${pkgver} $startdir/pkg/lib/libfuse.so.2 || return 1
+ mv $startdir/pkg/usr/lib/libulockmgr.so.1.0.1 $startdir/pkg/lib/ || return 1
+ ln -s ../../lib/libulockmgr.so.1.0.1 $startdir/pkg/usr/lib/libulockmgr.so.1.0.1 || return 1
+ ln -s libulockmgr.so.1.0.1 $startdir/pkg/lib/libulockmgr.so.1 || return 1
+}
diff --git a/abs/core/fuse/fuse.install b/abs/core/fuse/fuse.install
new file mode 100644
index 0000000..595ac7c
--- /dev/null
+++ b/abs/core/fuse/fuse.install
@@ -0,0 +1,14 @@
+post_install() {
+ cat << 'EOM'
+==> You must load the fuse kernel module to use FUSE.
+ -> Run 'modprobe fuse' to load the module now.
+ -> Add fuse to $MODULES in /etc/rc.conf to load on every boot.
+==> You will need a /dev/fuse device node to use FUSE.
+ -> If you use udev, nothing needs to be done
+ -> For a static /dev, run: mknod /dev/fuse -m 0666 c 10 229
+EOM
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/fuse/fuse.rc.d b/abs/core/fuse/fuse.rc.d
new file mode 100755
index 0000000..768da5b
--- /dev/null
+++ b/abs/core/fuse/fuse.rc.d
@@ -0,0 +1,49 @@
+#!/bin/bash
+#
+# fuse Init script for Filesystem in Userspace
+# Based on the script by Miklos Szeredi <miklos@szeredi.hu>
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+FUSECTL=/sys/fs/fuse/connections
+
+case "$1" in
+ start)
+ stat_busy "Starting fuse"
+ if ! grep -qw fuse /proc/filesystems; then
+ modprobe fuse >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ fi
+ if grep -qw fusectl /proc/filesystems && ! grep -qw $FUSECTL /proc/mounts; then
+ mount -t fusectl none $FUSECTL >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ fi
+ add_daemon fuse
+ stat_done
+ ;;
+ stop)
+ stat_busy "Stopping fuse"
+ umount $FUSECTL >/dev/null 2>&1
+ rmmod fuse >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon fuse
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0