view init.d/kallithea-daemon-gentoo @ 5182:0e2d450feb03

git: run external commands as list of strings so we really get correct quoting (Issue #135) a6dfd14d4b20 from https://bitbucket.org/conservancy/kallithea/pull-request/17/add-quotes-to-repo-urls-for-git-backend fixed that issue but did not make it "safe". The vcs git backend still used command strings but tried to quote them correctly ... but that approach is almost impossible to get right. Instead, pass a string list all the way to the subprocess module and let it do the quoting. This also makes some of the code more simple.
author Mads Kiilerich <madski@unity3d.com>
date Tue, 09 Jun 2015 22:53:24 +0200
parents 99ad9d0af1a3
children e285bb7abb28
line wrap: on
line source

#!/sbin/runscript
########################################
#### THIS IS AN GENTOO INIT.D SCRIPT####
########################################

APP_NAME="kallithea"
APP_HOMEDIR="username/python_workspace"
APP_PATH="/home/$APP_HOMEDIR/$APP_NAME"

CONF_NAME="production.ini"

PID_PATH="$APP_PATH/$APP_NAME.pid"
LOG_PATH="$APP_PATH/$APP_NAME.log"

PYTHON_PATH="/home/$APP_HOMEDIR/v-env"

RUN_AS="username"

DAEMON="$PYTHON_PATH/bin/paster"

DAEMON_OPTS="serve --daemon \
--user=$RUN_AS \
--group=$RUN_AS \
--pid-file=$PID_PATH \
--log-file=$LOG_PATH  $APP_PATH/$CONF_NAME"

#extra options
opts="${opts} restartdelay"

depend() {
    need nginx
}

start() {
    ebegin "Starting $APP_NAME"
    start-stop-daemon -d $APP_PATH -e PYTHON_EGG_CACHE="/tmp" \
        --start --quiet \
        --pidfile $PID_PATH \
        --user $RUN_AS \
        --exec $DAEMON -- $DAEMON_OPTS
    eend $?
}

stop() {
    ebegin "Stopping $APP_NAME"
    start-stop-daemon -d $APP_PATH \
        --stop --quiet \
        --pidfile $PID_PATH || echo "$APP_NAME - Not running!"
    if [ -f $PID_PATH ]; then
        rm $PID_PATH
    fi
    eend $?
}

restartdelay() {
    #stop()
    echo "sleep3"
    sleep 3
    
    #start()
}