fix debian init script

- use start-stop-daemon's chuid feature insted of su
  - using `su -c` breaks if the git user has no usable shell
  - this fixes #1025
- put --test before --exec, instead it gets passed to gogs
- set cwd via --chdir
This commit is contained in:
Björn 2015-05-13 14:15:05 +02:00
parent 0647645948
commit 6eecbf17cd

View File

@ -49,10 +49,12 @@ do_start()
# 1 if daemon was already running # 1 if daemon was already running
# 2 if daemon could not be started # 2 if daemon could not be started
sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\ sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
--exec $DAEMON -- $DAEMON_ARGS --test > /dev/null \\ --test --chdir $WORKINGDIR --chuid $USER \\
--exec $DAEMON -- $DAEMON_ARGS > /dev/null \\
|| return 1" || return 1"
sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\ sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
--background --exec /bin/su -- - $USER -c \"cd \\\"$WORKINGDIR\\\" && $DAEMON -- $DAEMON_ARGS\" \\ --background --chdir $WORKINGDIR --chuid $USER \\
--exec $DAEMON -- $DAEMON_ARGS \\
|| return 2" || return 2"
} }