diff --git a/sbin/reboot b/sbin/reboot deleted file mode 100755 index 707a820..0000000 Binary files a/sbin/reboot and /dev/null differ diff --git a/sbin/shutdown b/sbin/shutdown deleted file mode 100755 index 9b6bba4..0000000 --- a/sbin/shutdown +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh -# shutdown - shutdown(8) lookalike for runit - -single() { - runsvchdir single -} - -abort() { - printf '%s\n' "$1" >&2 - exit 1 -} - -usage() { - abort "Usage: ${0##*/} [-fF] [-kchPr] time [warning message]" -} - -action=single - -while getopts akrhPHfFnct: opt; do - case "$opt" in - a|n|H) abort "'-$opt' is not implemented";; - t) ;; - f) touch /fastboot;; - F) touch /forcefsck;; - k) action=true;; - c) action=cancel;; - h|P) action=halt;; - r) action=reboot;; - [?]) usage;; - esac -done -shift $((OPTIND - 1)) - -[ $# -eq 0 ] && usage - -time=$1; shift -message="${*:-system is going down}" - -if [ "$action" = "cancel" ]; then - kill "$(cat /run/runit/shutdown.pid)" - if [ -e /etc/nologin ] && ! [ -s /etc/nologin ]; then - rm /etc/nologin - fi - echo "${*:-shutdown cancelled}" | wall - exit -fi - -touch /run/runit/shutdown.pid 2>/dev/null || abort "Not enough permissions to execute ${0#*/}" -echo $$ >/run/runit/shutdown.pid - -case "$time" in - now) time=0;; - +*) time=${time#+};; - *:*) abort "absolute time is not implemented";; - *) abort "invalid time";; -esac - -for break in 5 0; do - [ "$time" -gt "$break" ] || continue - [ "$break" = 0 ] && touch /etc/nologin - - printf '%s in %s minutes\n' "$message" "$time" | wall - printf 'shutdown: sleeping for %s minutes... ' "$(( time - break ))" - sleep $(( (time - break) * 60 )) - time="$break" - printf '\n' - - [ "$break" = 0 ] && rm /etc/nologin -done - -printf '%s NOW\n' "$message" | wall - -$action