From 52e7c7e6d99e3d515936d9c51f9fbe65179e5153 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 16 Feb 2009 22:54:11 -0600
Subject: Quick replacment shutdown command for runit. it accepts the -t -r -h
 commands like init shutdown and errors out for all others.

---
 abs/core-testing/runit/PKGBUILD        |  5 ++--
 abs/core-testing/runit/runit.install   | 12 +++++++--
 abs/core-testing/runit/shutdown.script | 46 ++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+), 4 deletions(-)
 create mode 100755 abs/core-testing/runit/shutdown.script

diff --git a/abs/core-testing/runit/PKGBUILD b/abs/core-testing/runit/PKGBUILD
index c0863bb..1303167 100755
--- a/abs/core-testing/runit/PKGBUILD
+++ b/abs/core-testing/runit/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=runit
 pkgver=1.8.0
-pkgrel=57
+pkgrel=61
 pkgdesc="A replacement for sysvinit, and other init schemes, with service supervision"
 url="http://smarden.org/runit/"
 license="BSD"
@@ -10,7 +10,7 @@ conflicts=()
 replaces=()
 backup=()
 install=runit.install
-source=(http://smarden.org/runit/$pkgname-$pkgver.tar.gz add_service.sh remove_service.sh halt.script reboot.script poweroff.script)
+source=(http://smarden.org/runit/$pkgname-$pkgver.tar.gz add_service.sh remove_service.sh halt.script reboot.script poweroff.script shutdown.script)
 arch=('i686')
 
 build() {
@@ -35,6 +35,7 @@ build() {
   install -m0755 $startdir/src/reboot.script $startdir/pkg/sbin
   install -m0755 $startdir/src/halt.script  $startdir/pkg/sbin
   install -m0755 $startdir/src/poweroff.script  $startdir/pkg/sbin
+  install -m0755 $startdir/src/shutdown.script  $startdir/pkg/sbin
 
   for i in `cat ../package/commands`; do
     install -m0755 $i $startdir/pkg/sbin/
diff --git a/abs/core-testing/runit/runit.install b/abs/core-testing/runit/runit.install
index 977841b..b6fcb07 100755
--- a/abs/core-testing/runit/runit.install
+++ b/abs/core-testing/runit/runit.install
@@ -4,9 +4,10 @@ pre_install () {
 if [ ! -f /sbin/halt-init ]
 then
    mv /sbin/halt  /sbin/halt-init
+   mv /sbin/shutdown  /sbin/shutdown-init
+fi
    rm -f /sbin/reboot
    rm -f /sbin/poweroff
-fi
 
 }
 
@@ -14,9 +15,14 @@ pre_upgrade () {
 if [ ! -f /sbin/halt-init ]
 then
    mv /sbin/halt  /sbin/halt-init
+fi
+
+if [ ! -f /sbin/shutdown-init ]
+then
+   mv /sbin/shutdown  /sbin/shutdown-init
+fi
    rm -f /sbin/reboot
    rm -f /sbin/poweroff
-fi
 
 }
 
@@ -28,6 +34,7 @@ post_install () {
   ln -s /sbin/poweroff.script /sbin/poweroff
   ln -s /sbin/halt-init /sbin/reboot.init
   ln -s /sbin/halt-init /sbin/poweroff.init
+  ln -s /sbin/shutdown.script /sbin/shutdown
 
 
 }
@@ -41,6 +48,7 @@ post_upgrade(){
   ln -s /sbin/poweroff.script /sbin/poweroff
   ln -s /sbin/halt-init /sbin/reboot.init
   ln -s /sbin/halt-init /sbin/poweroff.init
+  ln -s /sbin/shutdown.script /sbin/shutdown
 
 }
 
diff --git a/abs/core-testing/runit/shutdown.script b/abs/core-testing/runit/shutdown.script
new file mode 100755
index 0000000..3bcc5d3
--- /dev/null
+++ b/abs/core-testing/runit/shutdown.script
@@ -0,0 +1,46 @@
+#!/bin/bash
+. /etc/profile
+INIT=`ps -p 1 -o comm=`
+if [ x$INIT = xrunit ]
+then
+	reboot=""
+	halt=""
+	delay=""
+ 	while getopts rht:  name
+	do
+        	case $name in
+                  r)    reboot=1 ;;
+                  h)    halt=1 ;;
+                  t) delay="$OPTARG"
+                        if [ x$delay = "xnow" ]
+                        then
+                                delay=0
+                        fi
+                        ;;
+                *)
+                      exit 2;;
+                        esac
+	done
+	if [ x$delay = x ]
+	then
+	        echo "-t is mandatory"
+        	exit 4
+	fi
+
+	if [ x$reboot = x1 ]
+	then
+         wall "System will reboot in $delay seconds"
+                sleep $delay
+               /sbin/runit-init 6
+	fi
+
+	if [ x$halt = x1 ]
+	then
+                wall "System will poweroff  in $delay seconds"
+                sleep $delay
+               /sbin/runit-init 0
+	fi
+
+else
+     	/sbin/shutdown-init $@
+fi
-- 
cgit v0.12

