|
1
|
#!/bin/bash |
|
2
|
FOSSIL=fossil |
|
3
|
PGARGS="-P 1" |
|
4
|
OLDPID=`pgrep -P 1 fossil` |
|
5
|
SITE=https://example.com |
|
6
|
PORT=12345 |
|
7
|
|
|
8
|
if [ "$1" = "-f" ] ; then PGARGS= ; shift ; fi |
|
9
|
|
|
10
|
if [ -n "$OLDPID" ] |
|
11
|
then |
|
12
|
echo "Killing running Fossil server first..." |
|
13
|
pkill $PGARGS fossil |
|
14
|
|
|
15
|
for i in $(seq 30) |
|
16
|
do |
|
17
|
if [ -n "$(pgrep $PGARGS fossil)" ] |
|
18
|
then |
|
19
|
if [ $i -eq 1 ] |
|
20
|
then |
|
21
|
echo -n "Waiting for it to die..." |
|
22
|
else |
|
23
|
echo -n . |
|
24
|
fi |
|
25
|
sleep '0.1' |
|
26
|
else |
|
27
|
break |
|
28
|
fi |
|
29
|
echo |
|
30
|
done |
|
31
|
|
|
32
|
killall -9 fossil 2> /dev/null |
|
33
|
fi |
|
34
|
|
|
35
|
if [ -x ./fossil ] |
|
36
|
then |
|
37
|
# We're running from a build tree, so use that version instead |
|
38
|
FOSSIL=./fossil |
|
39
|
fi |
|
40
|
|
|
41
|
function start_one() { |
|
42
|
bn=$1 |
|
43
|
ln="$2" |
|
44
|
|
|
45
|
$FOSSIL server $extra \ |
|
46
|
--scgi \ |
|
47
|
--localhost \ |
|
48
|
--port $PORT \ |
|
49
|
--jsmode bundled \ |
|
50
|
--baseurl ${SITE}/$bn \ |
|
51
|
--errorlog ~/log/fossil/$bn-errors.log \ |
|
52
|
~/museum/$bn.fossil > ~/log/fossil/$bn-stdout.log & |
|
53
|
echo Started $ln Fossil server, port $PORT, PID $!. |
|
54
|
PORT=$(($PORT + 1)) |
|
55
|
} |
|
56
|
|
|
57
|
start_one first "First Project" |
|
58
|
start_one second "Second Project" |
|
59
|
start_one third "Third Project" |
|
60
|
|