From 4e065419beb99c93093dda74740dd58cc8f424f3 Mon Sep 17 00:00:00 2001 From: Chris Abela Date: Fri, 16 Nov 2018 14:47:41 +0000 Subject: system/runit: Updated for version 2.1.2 + new maintainer. Signed-off-by: David Spencer --- system/runit/README | 61 +++++++++++++++++++++++++++++++++++++++--- system/runit/config.tar | Bin 0 -> 30720 bytes system/runit/runit.SlackBuild | 56 +++++++++++++++++++++++++------------- system/runit/runit.info | 10 +++---- 4 files changed, 99 insertions(+), 28 deletions(-) create mode 100644 system/runit/config.tar diff --git a/system/runit/README b/system/runit/README index 8182586e4d..a48d34bcc1 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 0000000000..342cc163ce Binary files /dev/null and b/system/runit/config.tar differ diff --git a/system/runit/runit.SlackBuild b/system/runit/runit.SlackBuild index f9b83ed6fd..f9b9be5823 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, 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 f0c93f3b19..0af0d7fc8f 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" -- cgit v1.2.3