aboutsummaryrefslogtreecommitdiff
path: root/src/reboot
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2022-04-06 10:51:55 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2022-04-06 10:51:55 -0500
commit391d12db48754861b5cecac92ee3321597ee02c1 (patch)
treeb42fad5a31ca342de7b7ecf1fb78784194c1400c /src/reboot
parent0efc1b133e4182bd53cde78153bd8b5cc2e99448 (diff)
migrate fully to meson build system
- drop old build system - move shared include and source files to common directory - drop "rc-" prefix from shared include and source files - move executable-specific code to individual directories under src - adjust top-level .gitignore file for new build system This closes #489.
Diffstat (limited to 'src/reboot')
-rw-r--r--src/reboot/meson.build7
-rw-r--r--src/reboot/reboot.in30
2 files changed, 37 insertions, 0 deletions
diff --git a/src/reboot/meson.build b/src/reboot/meson.build
new file mode 100644
index 00000000..a9a4ca54
--- /dev/null
+++ b/src/reboot/meson.build
@@ -0,0 +1,7 @@
+if os == 'Linux' and get_option('sysvinit')
+ configure_file(input : 'reboot.in',
+ output : '@BASENAME@',
+ configuration : script_conf_data,
+ install_dir: sbindir,
+ install_mode: 'rwxr-xr-x')
+endif
diff --git a/src/reboot/reboot.in b/src/reboot/reboot.in
new file mode 100644
index 00000000..bf50967a
--- /dev/null
+++ b/src/reboot/reboot.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+option_arg=
+poweroff_arg=
+while getopts :nwdfhik opt; do
+ case "$opt" in
+ n) ;;
+ w) poweroff_arg=--write-only ;;
+ d) option_arg=--no-write ;;
+ f) ;;
+ h) ;;
+ i) ;;
+ k) poweroff_arg=--kexec ;;
+ [?]) printf "%s\n" "${0##*/}: invalid command line option" >&2
+ exit 1
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
+if [ -z "${poweroff_arg}" ]; then
+ poweroff_arg=--reboot
+fi
+
+script_args="$@"
+if [ -z "${script_args}" ]; then
+ script_args=now
+fi
+
+exec @SBINDIR@/openrc-shutdown ${option_arg} ${poweroff_arg} "${script_args}"