aboutsummaryrefslogtreecommitdiff
path: root/system/runit/runit.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/runit/runit.SlackBuild')
-rw-r--r--system/runit/runit.SlackBuild87
1 files changed, 87 insertions, 0 deletions
diff --git a/system/runit/runit.SlackBuild b/system/runit/runit.SlackBuild
new file mode 100644
index 000000000000..225fd48ea7f5
--- /dev/null
+++ b/system/runit/runit.SlackBuild
@@ -0,0 +1,87 @@
+#!/bin/sh
+# slackware package build script for runit
+
+# written by David Miller dave at frop dot net
+
+PRGNAM=runit
+VERSION=${VERSION:-2.0.0}
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+
+mv admin/$PRGNAM-$VERSION $PRGNAM-$VERSION
+rmdir admin
+cd $PRGNAM-$VERSION
+
+echo gcc $SLKCFLAGS -Wall > src/conf-cc
+
+package/compile
+package/check
+
+mkdir -p $PKG/usr/bin
+cp command/* $PKG/usr/bin
+
+mkdir $PKG/sbin
+install -m0750 etc/2 $PKG/sbin/runsvdir-start
+
+mkdir -p $PKG/usr/man/man8
+cp man/*.8 $PKG/usr/man/man8
+
+# Strip binaries and libraries - this can be done with 'make install-strip'
+# in many source trees, and that's usually acceptable if so, but if not,
+# use this:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs str ip --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
+)
+
+# Compress man pages
+# If the man pages are installed to /usr/share/man instead, you'll need to either
+# add the --mandir=/usr/man flag to configure or move them manually after the
+# make install process is run.
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+# Copy program documentation into the package
+# The included documentation varies from one application to another, so be sure
+# to adjust your script as needed
+# Also, include the SlackBuild script in the documentation directory
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a package/CHANGES package/README package/TODO package/COPYING package/THANKS \
+ doc/ etc/ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Make the package; be sure to leave it in $OUTPUT
+# If package symlinks need to be created during install *before*
+# your custom contents of doinst.sh runs, then add the -p switch to
+# the makepkg command below -- see makepkg(8) for details
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
+