- rule apt_get_install runit
- local -; set +f
- sudo find /etc/sv -mindepth 1 -maxdepth 1 -type d -name "${1:-*}" -exec \
- /bin/sh -efux -c 'case $(sv stop "$1") in
- (*": runsv not running") true;;
- (*": unable to open supervise/ok: file does not exist") true;;
- ("ok: down:"*) true;;
- (*) false;;
- esac' '' {} +
- for sv in ${1-"$tool"/etc/sv/*}
- do sv=${sv##*/}
- rule runit_sv_configure "$sv"
- rule runit_sv_start "$sv"
- done
- #sleep 3
- #sudo find -L /etc/service -type l -delete
+ #rule apt_get_install runit
+ if test $# = 0
+ then
+ set +x
+ sudo sv status \
+ $(sudo find /etc/sv \
+ -mindepth 1 -maxdepth 1 -type d \
+ -printf '%p\n' | sort)
+ else
+ local services=
+ while [ $# -gt 0 ]
+ do case $1 in
+ (--) shift; break;;
+ (*) services="$services $1"; shift;;
+ esac
+ done
+ #for sv in $(sudo find /etc/sv \
+ # -mindepth 1 -maxdepth 1 -type d \
+ # -false $(printf -- '-or -name %s\n' $services) \
+ # -printf '%f\n')
+ # do
+ # case $(sudo sv stop "$sv" | tee /dev/stderr) in
+ # (*": runsv not running") true;;
+ # (*": unable to open supervise/ok: file does not exist") true;;
+ # ("ok: down:"*) true;;
+ # (*) false;;
+ # esac
+ # done
+ for sv in $(find "$tool"/etc/sv \
+ -mindepth 1 -maxdepth 1 -type d \
+ -false $(printf -- '-or -name %s\n' $services) \
+ -printf '%f\n')
+ do
+ rule runit_sv_configure "$sv" "$@"
+ rule runit_sv_start "$sv"
+ done
+ #sleep 3
+ #sudo find -L /etc/service -type l -delete
+ fi