aboutsummaryrefslogtreecommitdiff
path: root/src/poweroff/poweroff.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/poweroff/poweroff.in')
-rw-r--r--src/poweroff/poweroff.in28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/poweroff/poweroff.in b/src/poweroff/poweroff.in
new file mode 100644
index 00000000..4e944bdc
--- /dev/null
+++ b/src/poweroff/poweroff.in
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+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
+
+script_args="$@"
+if [ -z "${script_args}" ]; then
+ script_args=now
+fi
+
+exec @SBINDIR@/openrc-shutdown ${option_arg} ${poweroff_arg} "${script_args}"