commit:     03a461ac0ee34b7900868cdea624c6fd868b1656
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Tue Jul 11 16:53:23 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 16:53:23 2017 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=03a461ac

fix sysvinit compatibility for reboot wrapper

 scripts/reboot.in | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/scripts/reboot.in b/scripts/reboot.in
index 4da78bb7..c805ceb2 100644
--- a/scripts/reboot.in
+++ b/scripts/reboot.in
@@ -1,3 +1,25 @@
 #!@SHELL@
 
-exec @SBINDIR@/openrc-shutdown --reboot "$@"
+option_arg=
+poweroff_arg=
+while getopts :nwdfhik opt; do
+       case "$opt" in
+               n) ;;
+               w) poweroff_arg=--write-only ;;
+               d) option_arg=--no-write ;;
+               f) ;;
+               h) ;;
+               i) ;;
+               k) poweroff_arg=--kexec ;;
+               [?]) printf "%s\n" "${0##*/}: invalid command line option" >&2
+               exit 1
+               ;;
+       esac
+done
+shift $((OPTIND-1))
+
+if [ -z "${poweroff_arg}" ]; then
+       poweroff_arg=--reboot
+fi
+
+exec @SBINDIR@/openrc-shutdown ${option_arg} ${poweroff_arg} "$@"

Reply via email to