diff options
Diffstat (limited to 'src/halt')
-rw-r--r-- | src/halt/halt.in | 29 | ||||
-rw-r--r-- | src/halt/meson.build | 7 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/halt/halt.in b/src/halt/halt.in new file mode 100644 index 00000000..209dc130 --- /dev/null +++ b/src/halt/halt.in @@ -0,0 +1,29 @@ +#!/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) ;; + 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 + +script_args="$@" +if [ -z "${script_args}" ]; then + script_args=now +fi + +exec @SBINDIR@/openrc-shutdown ${option_arg} ${poweroff_arg} "${script_args}" diff --git a/src/halt/meson.build b/src/halt/meson.build new file mode 100644 index 00000000..dde1bca7 --- /dev/null +++ b/src/halt/meson.build @@ -0,0 +1,7 @@ +if os == 'Linux' and get_option('sysvinit') + configure_file(input : 'halt.in', + output : '@BASENAME@', + configuration : script_conf_data, + install_dir: sbindir, + install_mode: 'rwxr-xr-x') +endif |