X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dev.git/blobdiff_plain/19faa90db18df9055561485184f2c72784be9dd7..7f8e250069417ac186bdd601c3b2857e34fe8434:/debian/invirt-dev.init diff --git a/debian/invirt-dev.init b/debian/invirt-dev.init index fbdc103..bb3527c 100755 --- a/debian/invirt-dev.init +++ b/debian/invirt-dev.init @@ -13,9 +13,14 @@ # Do NOT "set -e" -NAME=invirt-dev +NAME=invirtibuilder +DESC="the Invirt build daemon" +DAEMON="/usr/bin/$NAME" +PIDFILE="/var/run/$NAME.pid" GEN_FILES=/srv/repository/conf/distributions +[ -x "$DAEMON" ] || exit 0 + . /lib/init/std-init.sh . /lib/init/gen-files.sh @@ -26,31 +31,52 @@ do_start() # 1 if daemon was already running # 2 if daemon could not be started ret=0 + gen_files || ret=2 + for d in db dists lists pool; do + dir="/srv/repository/$d" + mkdir -p "$dir" + chown -R repository:nogroup "$dir" + done reprepro-env export || ret=2 + invirt-build-conf || ret=2 - daemon -n invirt-dev-git-daemon -- git daemon \ - --user=git \ - --group=nogroup \ - --syslog \ - --verbose \ - --reuseaddr \ - --export-all \ - --base-path=/srv/git \ - /srv/git || ret=$? + if [ "$ret" = 0 ]; then + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + log_daemon_msg "Starting $DESC" "$NAME" + if daemon --running -n $NAME; then + log_daemon_msg "$NAME is already running!" + return 1 + fi + daemon -r -O daemon.info -E daemon.err -n $NAME -U $DAEMON || return 2 + fi return $ret } do_stop() { - daemon -n invirt-dev-git-daemon --stop - return $? + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + log_daemon_msg "Stopping $DESC" "$NAME" + daemon --stop -n $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + # rm -f $PIDFILE + return "$RETVAL" } do_reload() { + do_stop do_start } -std_init \ No newline at end of file +std_init "$@"