Mercurial > kallithea
annotate 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 |
rev | line source |
---|---|
426
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 #!/sbin/runscript |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 ######################################## |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3 #### THIS IS AN GENTOO INIT.D SCRIPT#### |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 ######################################## |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 |
4190
99ad9d0af1a3
Rename init scripts and fix references inside them
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
552
diff
changeset
|
6 APP_NAME="kallithea" |
99ad9d0af1a3
Rename init scripts and fix references inside them
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
552
diff
changeset
|
7 APP_HOMEDIR="username/python_workspace" |
426
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 APP_PATH="/home/$APP_HOMEDIR/$APP_NAME" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
9 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
10 CONF_NAME="production.ini" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 PID_PATH="$APP_PATH/$APP_NAME.pid" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 LOG_PATH="$APP_PATH/$APP_NAME.log" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 PYTHON_PATH="/home/$APP_HOMEDIR/v-env" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 |
4190
99ad9d0af1a3
Rename init scripts and fix references inside them
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
552
diff
changeset
|
17 RUN_AS="username" |
426
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 DAEMON="$PYTHON_PATH/bin/paster" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 DAEMON_OPTS="serve --daemon \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 --user=$RUN_AS \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 --group=$RUN_AS \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24 --pid-file=$PID_PATH \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 --log-file=$LOG_PATH $APP_PATH/$CONF_NAME" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
27 #extra options |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
28 opts="${opts} restartdelay" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
29 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
30 depend() { |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31 need nginx |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 } |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
33 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
34 start() { |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 ebegin "Starting $APP_NAME" |
430
41504f4aa96b
fixed init scripts
Marcin Kuzminski <marcin@python-works.com>
parents:
426
diff
changeset
|
36 start-stop-daemon -d $APP_PATH -e PYTHON_EGG_CACHE="/tmp" \ |
432
90512560ed4d
more with init scripts !
Marcin Kuzminski <marcin@python-works.com>
parents:
431
diff
changeset
|
37 --start --quiet \ |
426
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
38 --pidfile $PID_PATH \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
39 --user $RUN_AS \ |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
40 --exec $DAEMON -- $DAEMON_OPTS |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
41 eend $? |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
42 } |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
43 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44 stop() { |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
45 ebegin "Stopping $APP_NAME" |
431
ccbb7ea2b203
another bugfix to init scripts
Marcin Kuzminski <marcin@python-works.com>
parents:
430
diff
changeset
|
46 start-stop-daemon -d $APP_PATH \ |
ccbb7ea2b203
another bugfix to init scripts
Marcin Kuzminski <marcin@python-works.com>
parents:
430
diff
changeset
|
47 --stop --quiet \ |
426
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
48 --pidfile $PID_PATH || echo "$APP_NAME - Not running!" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
49 if [ -f $PID_PATH ]; then |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
50 rm $PID_PATH |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
51 fi |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
52 eend $? |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
53 } |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
54 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
55 restartdelay() { |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
56 #stop() |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
57 echo "sleep3" |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
58 sleep 3 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
59 |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
60 #start() |
17d5028e055c
updated init scripts to start-stop-daemons
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
61 } |