summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/fuse/README16
-rw-r--r--system/fuse/doinst.sh24
-rw-r--r--system/fuse/fuse.SlackBuild53
-rw-r--r--system/fuse/fuse.info10
-rw-r--r--system/fuse/slack-desc10
5 files changed, 71 insertions, 42 deletions
diff --git a/system/fuse/README b/system/fuse/README
index 335b691f4c..0f2c12cd22 100644
--- a/system/fuse/README
+++ b/system/fuse/README
@@ -1,17 +1,9 @@
-FUSE - Filesystem in Userspace
-
FUSE is a simple interface for userspace programs to export
a virtual filesystem to the Linux kernel. FUSE also aims to
provide a secure method for non privileged users to create
and mount their own filesystem implementations.
-NOTE:
-- To use FUSE with ntfs-3g, it is necessary to configure it as
-a module (--enable-kernel-module), and each time you install
-a new kernel(and obviously it's modules), you should rerun this
-slackbuild to make a package that fits with the modules of
-your new kernel.
-
-- It has a "KERNEL" variable to add it in the name of the final
-package, so you can identify the kernel who was used to build
-fuse.
+You'll need to start fuse from rc.local with something like this:
+ if [ -x /etc/rc.d/rc.fuse ]; then
+ /etc/rc.d/rc.fuse start
+ fi
diff --git a/system/fuse/doinst.sh b/system/fuse/doinst.sh
new file mode 100644
index 0000000000..cbb9562449
--- /dev/null
+++ b/system/fuse/doinst.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.fuse.new:
+if [ -e etc/rc.d/rc.fuse ]; then
+ cp -a etc/rc.d/rc.fuse etc/rc.d/rc.fuse.new.incoming
+ cat etc/rc.d/rc.fuse.new > etc/rc.d/rc.fuse.new.incoming
+ mv etc/rc.d/rc.fuse.new.incoming etc/rc.d/rc.fuse.new
+fi
+
+config etc/rc.d/rc.fuse.new
+
diff --git a/system/fuse/fuse.SlackBuild b/system/fuse/fuse.SlackBuild
index b5ab390cdc..658723c7c8 100644
--- a/system/fuse/fuse.SlackBuild
+++ b/system/fuse/fuse.SlackBuild
@@ -3,16 +3,16 @@
# Slackware build script for fuse
# Written by core <eroc@linuxmail.org>
-
-set -e
+# Thanks to Helo Athena, Michiel van Wessem
+# and Robby Workman for ideas behind ./configure :)
PRGNAM=fuse
-VERSION=2.6.5
-KERNEL=${KERNEL:-`uname -r`}
+VERSION=2.7.3
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-CWD=`pwd`
+
+CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -23,12 +23,13 @@ elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi
+set -e
+
rm -rf $PKG
-mkdir -p $TMP $PKG/usr $OUTPUT
+mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xzvf $CWD/$PRGNAM-$VERSION.tar.gz
-
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R a-s,u+rw,go-w .
@@ -37,39 +38,43 @@ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- --sysconfdir=/etc \
+ --bindir=/bin \
+ --sbindir=/sbin \
+ --libdir=/lib \
+ --with-pkgconfigdir=/usr/lib/pkgconfig \
+ --includedir=/usr/include \
--localstatedir=/var \
- --enable-kernel-module \
- --enable-shared=yes \
- --enable-static=no \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-lib \
- --enable-util
+ --enable-util \
+ --disable-static \
+ --disable-kernel-module
-# ARCH creates a conflict with make, so...
-ARCHTMP="$ARCH"
-unset -v ARCH && make
+make
make install DESTDIR=$PKG
-ARCH="$ARCHTMP"
( cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Move the start|stop script of fuse to the right place.
mv $PKG/etc/init.d $PKG/etc/rc.d
-mv $PKG/etc/rc.d/fuse $PKG/etc/rc.d/rc.fuse
-chmod +x $PKG/etc/rc.d/rc.fuse
-sed -r -i 's/(SCRIPTNAME=).*/\1\/etc\/rc.d\/rc.fuse/' $PKG/etc/rc.d/rc.fuse || exit 1
+mv $PKG/etc/rc.d/fuse $PKG/etc/rc.d/rc.fuse.new
+
+# udev handles device node creation
+rm -rf $PKG/dev
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS ChangeLog COPYING COPYING.LIB FAQ Filesystems \
- INSTALL NEWS README README.NFS doc/* \
- $PKG/usr/doc/$PRGNAM-$VERSION
+ INSTALL NEWS README README.NFS doc/how-fuse-works doc/kernel.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION\_$KERNEL-$ARCH-$BUILD$TAG.tgz
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/system/fuse/fuse.info b/system/fuse/fuse.info
index de0366dfbe..04c7a93de5 100644
--- a/system/fuse/fuse.info
+++ b/system/fuse/fuse.info
@@ -1,8 +1,8 @@
PRGNAM="fuse"
-VERSION="2.6.5"
-HOMEPAGE="http://fuse.sourceforge.net/"
-DOWNLOAD="http://dl.sourceforge.net/fuse/fuse-2.6.5.tar.gz"
-MD5SUM="66bd30503df55a87b9868835ca5a45bc"
+VERSION="2.7.3"
+HOMEPAGE="http://fuse.sourceforge.net"
+DOWNLOAD="http://downloads.sourceforge.net/fuse/fuse-2.7.3.tar.gz"
+MD5SUM="98563fc7b265b7479a3178181cbcf59a"
MAINTAINER="core"
EMAIL="eroc@linuxmail.org"
-APPROVED="BP{k}"
+APPROVED="rworkman"
diff --git a/system/fuse/slack-desc b/system/fuse/slack-desc
index a7462617d9..4501cc73a4 100644
--- a/system/fuse/slack-desc
+++ b/system/fuse/slack-desc
@@ -1,4 +1,12 @@
-fuse: FUSE - Filesystem in Userspace
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+fuse: FUSE (Filesystem in Userspace)
fuse:
fuse: FUSE is a simple interface for userspace programs to export
fuse: a virtual filesystem to the Linux kernel. FUSE also aims to