#!/bin/sh -e runit_live() { if [ ! -L /var/service ]; then echo >&2 " Skipped: Current root is not booted." exit 0 fi } svc_help(){ echo " ==> Start/stop/restart a service:" echo " sv " } svc_add_help(){ echo " ==> Add a service:" echo " ln -s /etc/sv/ /var/service" svc_help } svc_del_help(){ echo " ==> Remove a service:" echo " rm /var/service/" svc_help } each_conf() { while read -r f; do "$@" "/$f" done } op="$1"; shift case $op in sysctl) runit_live; each_conf /sbin/sysctl -q -p ;; # For use by other packages reload) runit_live; /usr/bin/sv "$@" reload ;; add) svc_add_help ;; del) svc_del_help ;; *) echo >&2 " Invalid operation '$op'"; exit 1 ;; esac exit 0