aboutsummaryrefslogtreecommitdiff
path: root/system/runit
diff options
context:
space:
mode:
authorChris Abela <kristofru@gmail.com>2018-11-16 14:47:41 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2018-11-17 18:42:49 +0700
commit4e065419beb99c93093dda74740dd58cc8f424f3 (patch)
tree3d93648503f98342c18511ab2ee96970216b0abf /system/runit
parente6b5f6f80c1dda93cfb6c18a3267b2c2f17573d7 (diff)
system/runit: Updated for version 2.1.2 + new maintainer.
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'system/runit')
-rw-r--r--system/runit/README61
-rw-r--r--system/runit/config.tarbin0 -> 30720 bytes
-rw-r--r--system/runit/runit.SlackBuild56
-rw-r--r--system/runit/runit.info10
4 files changed, 99 insertions, 28 deletions
diff --git a/system/runit/README b/system/runit/README
index 8182586e4d83..a48d34bcc101 100644
--- a/system/runit/README
+++ b/system/runit/README
@@ -1,7 +1,60 @@
runit (a UNIX init scheme with service supervision)
-a cross-platform Unix init scheme with service supervision, a
-replacement for sysvinit, and other init schemes.
+A cross-platform Unix init scheme with service supervision, a replacement for
+sysvinit, and other init schemes.
-runit can replace init or its service supervision can be used with
-traditional init. runit is compatible with djb's daemontools
+runit can replace init or its service supervision can be used with traditional
+init. runit is compatible with djb's daemontools.
+
+By default, this slackbuild sets-up a basic configuration to replace init with
+runit. To disable this, pass CONFIG=no to the script.
+
+To use runit with init, just call it
+ /sbin/runsvdir-start &
+
+To replace init with runit, reboot and enter init=/sbin/runit-init in the Lilo
+prompt.
+
+Alternatively, if you do not have a multi boot system, you may append this line
+in /etc/lilo.conf
+
+E.g:
+ append="vt.default_utf8=0 init=/sbin/runit-init"
+
+Then run lilo:
+ # lilo -v
+
+Or just replace /sbin/init with /sbin/runit-init
+ # mv /sbin/init /sbin/init.sysv
+ # cp /sbin/runit-init /sbin/init
+Be warned that if you had booted with the original init, the system may refuse
+to reboot, therefore boot from runit-init first.
+
+To migrate a service to runit, switch it off and disable it as usual, place
+an initialisation script called run under a suitably named directory under
+/etc/sv/ and symlink it to /service.
+
+E.g.:
+ # /etc/rc.d/rc.networkmanager stop
+ # chmod -x /etc/rc.d/rc.networkmanager
+ # mkdir /etc/sv/networkmanager/
+
+Write a script to start the service in /etc/sv/networkmanager/run such as
+ #!/bin/sh
+ exec NetworkManager -n > /dev/null 2>&1
+
+Give it executable permission:
+ # chmod +x /etc/sv/networkmanager/run
+
+Link it to /service and NetworkManager will start in a few seconds and enabled
+under current runlevel
+ # ln -s /etc/sv/networkmanager /service
+
+Hint:
+To Reboot:
+ # runit-init 6
+To Halt:
+ # runit-init 0
+
+A /usr/sbin/shutdown shell script has been included with the configuration
+files if you enabled them.
diff --git a/system/runit/config.tar b/system/runit/config.tar
new file mode 100644
index 000000000000..342cc163ce47
--- /dev/null
+++ b/system/runit/config.tar
Binary files differ
diff --git a/system/runit/runit.SlackBuild b/system/runit/runit.SlackBuild
index f9b83ed6fd7d..f9b9be5823e6 100644
--- a/system/runit/runit.SlackBuild
+++ b/system/runit/runit.SlackBuild
@@ -2,64 +2,83 @@
# slackware package build script for runit
# written by David Miller dave at frop dot net
+# 2018, updated by Chris Abela, Malta, <kristofru@gmail.com>
PRGNAM=runit
-VERSION=${VERSION:-2.1.1}
+VERSION=${VERSION:-2.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
+set -e
+
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
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
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz --strip-components=1
cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
echo gcc $SLKCFLAGS -Wall > src/conf-cc
package/compile
package/check
-install -d $PKG/usr/bin
-install -m 755 command/* $PKG/usr/bin
-install -D -m0750 etc/2 $PKG/sbin/runsvdir-start
+install -d $PKG/{sbin,usr/bin}
+install -m 755 command/{runit*,utmpset} $PKG/sbin
+install -m 755 command/{chpst,runsv*,sv*} $PKG/usr/bin
+install -m 750 etc/2 $PKG/sbin/runsvdir-start
install -d $PKG/usr/man/man8
install -m 644 man/* $PKG/usr/man/man8
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-( 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
-)
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Proceed with the configuration files. By default we install them.
+if [ "${CONFIG:-yes}" != "no" ]; then
+ # Set up the configuration files
+ tar xvf $CWD/config.tar -C $PKG/ --no-same-owner
+ # Set up the runlevels
+ mkdir -p $PKG/etc/runit/runsvdir/{default,single}/
+ ln -s /etc/sv/agetty-tty1 $PKG/etc/runit/runsvdir/single/
+ ln -s default $PKG/etc/runit/runsvdir/current
+ for N in 1 2 3 4 5 6; do
+ ln -s /etc/sv/agetty-tty${N} $PKG/etc/runit/runsvdir/default/
+ done
+ ln -s /etc/runit/runsvdir/current $PKG/service
+fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a package/CHANGES package/README package/TODO package/COPYING package/THANKS \
@@ -71,4 +90,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
-
diff --git a/system/runit/runit.info b/system/runit/runit.info
index f0c93f3b1982..0af0d7fc8f99 100644
--- a/system/runit/runit.info
+++ b/system/runit/runit.info
@@ -1,10 +1,10 @@
PRGNAM="runit"
-VERSION="2.1.1"
+VERSION="2.1.2"
HOMEPAGE="http://smarden.org/runit/"
-DOWNLOAD="http://smarden.org/runit/runit-2.1.1.tar.gz"
-MD5SUM="8fa53ea8f71d88da9503f62793336bc3"
+DOWNLOAD="http://smarden.org/runit/runit-2.1.2.tar.gz"
+MD5SUM="6c985fbfe3a34608eb3c53dc719172c4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="David Miller"
-EMAIL="dave@frop.net"
+MAINTAINER="Chris Abela"
+EMAIL="kristofru@gmail.com"