commit:     7e0f76e0adc545c74a8332a6ef0811d2aa62cb81
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Tue Jul 11 16:09:52 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 16:10:46 2017 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=7e0f76e0

fix sysvinit compatibility for poweroff wrapper

 scripts/poweroff.in | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/scripts/poweroff.in b/scripts/poweroff.in
index 91736605..5632f679 100644
--- a/scripts/poweroff.in
+++ b/scripts/poweroff.in
@@ -1,3 +1,23 @@
 #!@SHELL@
 
-exec @SBINDIR@/openrc-shutdown --poweroff "$@"
+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) ;;
+               [?]) 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} "$@"

Reply via email to