X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=blobdiff_plain;f=remote%2Frunit-configure;fp=remote%2Frunit-configure;h=0a9a5ea3b96ac2121ee45320ae3f535e2fd6f445;hp=0000000000000000000000000000000000000000;hb=3ad6118386977e346d81042e924e5db9c5f15b7d;hpb=22f04b9fac14adc3d3fc98273ba126c3a51792c3 diff --git a/remote/runit-configure b/remote/runit-configure new file mode 100755 index 0000000..0a9a5ea --- /dev/null +++ b/remote/runit-configure @@ -0,0 +1,31 @@ +#!/bin/sh -eu +# SYNTAX: $sv [...] -- $sv_options +tool=$(readlink -e "${0%/*}/..") +. "$tool"/remote/lib.sh + +if test $# = 0 + then + set +x + "$tool"/remote/ssh sudo sv status \ + $(sudo find /etc/sv \ + -mindepth 1 -maxdepth 1 -type d \ + -printf '%p\n' | sort) + else + services= + while [ $# -gt 0 ] + do case $1 in + (--) shift; break;; + (*) services="$services ${1#etc/sv/}"; shift;; + 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 + ( + test ! -r "$tool"/etc/sv/"$sv"/remote.sh || + . "$tool"/etc/sv/"$sv"/remote.sh || return 1 + ) + done + fi