system/runit: Updated for version 2.1.2 + new maintainer.

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
Chris Abela 2018-11-16 14:47:41 +00:00 committed by Willy Sudiarto Raharjo
parent e6b5f6f80c
commit 4e065419be
No known key found for this signature in database
GPG key ID: 887B8374D7333381
4 changed files with 99 additions and 28 deletions

View file

@ -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.

BIN
system/runit/config.tar Normal file

Binary file not shown.

View file

@ -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}

View file

@ -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"