diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2017-07-10 18:23:01 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2017-07-10 18:36:24 -0500 |
commit | 9812ce5b8dc22fe36cc7bf75cf6e62db204ece3d (patch) | |
tree | 1e3a754475e850963a397e79403a32df9239136f | |
parent | 12f75e4167f84a9a85f69924ebdb28ad36c085cb (diff) |
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.
-rw-r--r-- | scripts/halt.in | 23 |
1 files changed, 22 insertions, 1 deletions
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} "$@" |