From 9812ce5b8dc22fe36cc7bf75cf6e62db204ece3d Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Mon, 10 Jul 2017 18:23:01 -0500 Subject: [PATCH] fix halt wrapper so it is sysvinit compatible This makes the halt wrapper sysvinit compatible. It ignores several command line switches which are not currently implemented; however, those can be implemented if we need to do so. This fixes https://github.com/openrc/openrc/issues/146. --- scripts/halt.in | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/scripts/halt.in b/scripts/halt.in index 68b13be1..257cc2a7 100644 --- a/scripts/halt.in +++ b/scripts/halt.in @@ -1,3 +1,24 @@ #!@SHELL@ -exec @SBINDIR@/openrc-shutdown --halt "$@" +option_arg= +poweroff_arg= +while getopts :nwdfiph opt; do + case "$opt" in + n) ;; + w) poweroff_arg=--write-only ;; + d) option_arg=--no-write ;; + f) ;; + i) ;; + p) poweroff_arg=--poweroff ;; + [?]) printf "%s\n" "${0##*/}: invalid command line option" >&2 + exit 1 + ;; + esac +done +shift $((OPTIND-1)) + +if [ -z "${poweroff_arg}" ]; then + poweroff_arg=--poweroff +fi + +exec @SBINDIR@/openrc-shutdown ${option_arg} ${poweroff_arg} "$@"