From 4e065419beb99c93093dda74740dd58cc8f424f3 Mon Sep 17 00:00:00 2001 From: Chris Abela Date: Fri, 16 Nov 2018 14:47:41 +0000 Subject: [PATCH] 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 0000000000000000000000000000000000000000..342cc163ce4775d44a658a3e7365c774852ee22b GIT binary patch literal 30720 zcmeHPZExa65YA`+imAgLAr*(;Fcnd*tyG<^A9{`YqE=@B#Y#R0q0U=o8%js?z2cB{_>_?6Ci*;4u9YEJO}Z& zU3Gux2>)@EL~^pl!Joz79q9P)y9NH< zz_kv*+Tt9Z?CLX*|A$}nE~BI;Cx&=0LYU{%nG`v6Z-HWg@ub>V@c+=jn)sj1lkKkU zS^xLFRsVPT9{c}xQCQ#GivOeU%V-2WNkO3?1>k<=S(XY15J$=UJqLyLs{BuuKJtHi zPxv3+|2hAw-=x;yzZd+^@j3q2kN&~IO8kGw|7;HRO<=IgG1mD1e(*oc|2hAw-!fMG ze~@4T z{=Xmm5C8wi{$IastoZ*%{^v9Qs~?btM|kA_{XOA-xc|@lfAt%~8vOTz|8f3bKlnJp zO8kGw|N6}T8UbO4gRJrY{osGR|KEsJtoZ*%{?}*z*9ay}4)VzVoju`yHuJwG>|hQ4 zd%^!4&i|W$e>4AcnEy2b!VU*nK zAyk?hhWsBLKFYUG`^rT;d;Y69|37g0?!Z^)e;v!?^Z%v(>b$7%cWN8v8T@VA>KEt# z2Da@Z@Rse^HtzrO?|*88r0lqg|Hj$3zq~!|h3Rw}B%@((F0)>ohCxgRgqOe4*}!2@ zSX@%gvQAa>yKVpElfW=A!pNI&GKw-7iE%KGb9mhwiJM+Bk7J`adMuI~=z^L=i{9an zq8T;np5c*1k=;b0fOec-4dE5P_C*72&Js#@`p;cd@!zd&?$5-3%PZplz!~@shW;Y{ z^ZD=E@L2A+ivQ~Q56Z=H^V!H?@DVRUalO#&6Ku+fQD7{TUhFLVr zp=AwCLse=27DPE!8K)WOU@jp~LFVZUV_DmfHzW&1mrBZj-#aFOcpv4sb!3#&pCco+OwCtzQ)mi2Lhamr!xtKzl2*{%;z6J7HequBz+)=yS&&GqVKNv=y&cn&F z&yuT0xe-pL=?JVflBXulrb1Hn3pG2njr}J+ys(%64s<(-VgdMQ%XF4Y2(Giq+1v4( zB+Q3^B_}XSu@XQSNP+XiA`@`8ii!Y&yX5X|2lTAkT@tq;l8|7E5lv^Yn2ID9BlF}$ zx5ztCUXMGN*(j*sAFP3x~HxvsAZDk?qQS^ zv;2ZGNVy_d>K!1PK9H*ZFkhr@i?p{`#llaDDaK-SZ^9ki2DrDWs$%Yn7uXQrwOOoA z7MyBB6z=X8cJ~gAO(g03Y63HnO(QAMI8@e5>H0hu%2CiyXsv2Wtrl*ruJ%p?Ybz&2 zN;6N=TeL>P$kKp+d8`XsAE^BB%X=+29->5hLvSh6mMnspg05>3o%=4XjEO{Rt8YGJ31=V)78uCXnR!6 z$cf-csZYy0a16c$=ub3HlAwlYk)Pt8ek2u23P~E0oDL(;4{|1KMUFxZ~y=R literal 0 HcmV?d00001 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"