#!/bin/sh -e openrc_live() { if [ ! -f /run/openrc/softlevel ]; then echo >&2 " Skipped: Current root is not booted." exit 0 fi } reexec_init() { local init="$(pacman -Qsq ^init$)" if [ $init = openrc-init ]; then /usr/bin/openrc-shutdown -R elif [ $init = sysvinit ]; then /usr/bin/init u else echo >&2 " WARNING: Unidentified init." exit 0 fi } each_conf() { while read -r f; do "$@" "/$f" done } op="$1"; shift case $op in sysctl) openrc_live; each_conf /usr/bin/sysctl -q -p ;; binfmt) openrc_live; each_conf /usr/lib/rc/sh/binfmt.sh ;; reexec) openrc_live; reexec_init ;; # For use by other packages reload) openrc_live; /usr/bin/rc-service "$@" reload ;; *) echo >&2 " Invalid operation '$op'"; exit 1 ;; esac exit 0