From c0121cf68b9f2a0329cb5bd40a65ecef4367fa65 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sat, 20 Aug 2011 10:26:26 -0500
Subject: poweroff-scripts: This pkg contains the scripts used to determine
 which shutdown/poweroff procedure to use  depending on the init system used. 
 Both runit and init are supported  and both pkg's depend on this one.

This pkg also creates two symlinks postinstall
 ln -sf /sbin/halt.init /sbin/reboot.init
 ln -sf /sbin/halt.init /sbin/poweroff.init

These two are used by init, they are not part of the sysvsinit pkg because of two fileconflicts that are symlinks from a previous install.  Instead of requiring a foce install to overwrite the links, they are created here post-install.    If/when we move to x64 there will be no legacy files to worry about so reboot.init and poweroff.init should be moved back into the sysvinit pkg.
---
 abs/core/poweroff-scripts/PKGBUILD                 | 27 +++++++++++++
 abs/core/poweroff-scripts/halt.script              | 16 ++++++++
 abs/core/poweroff-scripts/poweroff-scripts.install | 28 ++++++++++++++
 abs/core/poweroff-scripts/poweroff.script          | 11 ++++++
 abs/core/poweroff-scripts/reboot.script            | 11 ++++++
 abs/core/poweroff-scripts/shutdown.script          | 45 ++++++++++++++++++++++
 6 files changed, 138 insertions(+)
 create mode 100644 abs/core/poweroff-scripts/PKGBUILD
 create mode 100644 abs/core/poweroff-scripts/halt.script
 create mode 100644 abs/core/poweroff-scripts/poweroff-scripts.install
 create mode 100644 abs/core/poweroff-scripts/poweroff.script
 create mode 100644 abs/core/poweroff-scripts/reboot.script
 create mode 100644 abs/core/poweroff-scripts/shutdown.script

diff --git a/abs/core/poweroff-scripts/PKGBUILD b/abs/core/poweroff-scripts/PKGBUILD
new file mode 100644
index 0000000..af2fcd4
--- /dev/null
+++ b/abs/core/poweroff-scripts/PKGBUILD
@@ -0,0 +1,27 @@
+pkgname=poweroff-scripts
+pkgver=1.1
+pkgrel=2
+pkgdesc="replacement scripts to work with sysvinit and runit"
+license=('GPL')
+depends=('sysvinit>=2.88' 'runit>=2.1.1-6')
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+install=poweroff-scripts.install
+source=(halt.script reboot.script poweroff.script shutdown.script)
+arch=('i686')
+
+build() {
+  install -d $pkgdir/sbin/
+  install -m0755 $srcdir/reboot.script $pkgdir/sbin/reboot
+  install -m0755 $srcdir/halt.script  $pkgdir/sbin/halt
+  install -m0755 $srcdir/poweroff.script  $pkgdir/sbin/poweroff
+  install -m0755 $srcdir/shutdown.script  $pkgdir/sbin/shutdown
+
+}
+
+md5sums=('e84d487ebd5c3cccd3477988efad3080'
+         '263198ec006b87891ea0f3ab1d103086'
+         '3ec5f3013dcbd60b6b957d17ba220585'
+         '953653da83f5188d51373abf4a42ba05')
diff --git a/abs/core/poweroff-scripts/halt.script b/abs/core/poweroff-scripts/halt.script
new file mode 100644
index 0000000..cfc05aa
--- /dev/null
+++ b/abs/core/poweroff-scripts/halt.script
@@ -0,0 +1,16 @@
+#!/bin/bash
+. /etc/profile
+INIT=`ps -p 1 -o comm=`
+if [ x$1 = x-w ]
+then
+	/sbin/halt.init -w
+	exit 0
+fi
+chvt 1
+if [ x$INIT = xrunit ]
+then
+ 	 /sbin/halt-runit $@
+else
+     	/sbin/halt.init $@
+fi
+
diff --git a/abs/core/poweroff-scripts/poweroff-scripts.install b/abs/core/poweroff-scripts/poweroff-scripts.install
new file mode 100644
index 0000000..b066f1d
--- /dev/null
+++ b/abs/core/poweroff-scripts/poweroff-scripts.install
@@ -0,0 +1,28 @@
+# arg 1:  the new package version
+
+pre_install () {
+	echo ""
+}
+
+
+pre_upgrade () {
+	echo ""
+}
+
+post_install () {
+
+	[ -e /sbin/halt.init ] || ln -sf /sbin/halt.init /sbin/reboot.init
+	[ -e /sbin/halt.init ] || ln -sf /sbin/halt.init /sbin/poweroff.init 
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+
+post_upgrade(){
+    post_install
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/abs/core/poweroff-scripts/poweroff.script b/abs/core/poweroff-scripts/poweroff.script
new file mode 100644
index 0000000..99779eb
--- /dev/null
+++ b/abs/core/poweroff-scripts/poweroff.script
@@ -0,0 +1,11 @@
+#!/bin/bash
+. /etc/profile
+INIT=`ps -p 1 -o comm=`
+chvt 1
+if [ x$INIT = xrunit ]
+then
+ 	 /sbin/halt-runit $@
+else
+     	/sbin/poweroff.init $@
+fi
+
diff --git a/abs/core/poweroff-scripts/reboot.script b/abs/core/poweroff-scripts/reboot.script
new file mode 100644
index 0000000..fcce679
--- /dev/null
+++ b/abs/core/poweroff-scripts/reboot.script
@@ -0,0 +1,11 @@
+#!/bin/bash
+. /etc/profile
+INIT=`ps -p 1 -o comm=`
+chvt 1
+if [ x$INIT = xrunit ]
+then
+ 	 /sbin/reboot-runit $@
+else
+     	/sbin/reboot.init $@
+fi
+
diff --git a/abs/core/poweroff-scripts/shutdown.script b/abs/core/poweroff-scripts/shutdown.script
new file mode 100644
index 0000000..09245ef
--- /dev/null
+++ b/abs/core/poweroff-scripts/shutdown.script
@@ -0,0 +1,45 @@
+#!/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
+	    delay=0
+    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

