blob: e56f792fe13975da82504f3679ee9c6e851b470a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#! /bin/bash
function branch {
url="$1"
bzr branch "$url"
}
if [ ! -d /adei/src -o ! -d /adei/tmp -o ! -d /adei/sys -o ! -d /adei/cfg ]; then
echo "Incorrect volume configration, we expect /adei folder with populated docker volumes"
exit 1
fi
LOCK_FILE=.lock
#(
# flock -x 10
# if [ ! -f /adei/sys/adei.cron.sh ]; then
# cp -a /opt/configs/*.cron.sh /adei/sys
# fi
#) 10> /adei/sys/$LOCK_FILE
(
flock -x 10
flock -x 11
if [ ! -f /adei/cfg/config.actual.php ]; then
cp -a /opt/configs/config.*.php /adei/cfg/
fi
if [ ! -f /adei/src/VERSION ]; then
bzr branch -r $ADEI_REVISION --use-existing-dir http://darksoft.org/bzr/adei/trunk/ /adei/src
(
cd /adei/src
make
[ -n "$ADEI_REPOSITORY" ] && bzr config push_location=${ADEI_REPOSITORY}/adei
[ -d tmp ] && rm tmp
ln -s ../tmp tmp
chmod 0777 /adei/tmp
# Additional setups are clonned based on the environment for adei container creation
# but can be easily added in future. We cache all non-excluded setups. The .exclude
# file is removed afterwards from all
ln -s ../cfg/config.actual.php config.actual.php
ln -s ../cfg/config.override.php config.override.php
)
fi
(
cd /adei/src
for setup in $ADEI_ENABLED_SETUPS $ADEI_SETUP; do
if [[ ! -a setups/$setup ]]; then
if [[ ! -a /adei/cfg/$setup ]]; then
(
cd /adei/cfg/
if [[ "$setup" == *-logs ]]; then
branch "http://darksoft.org/bzr/adei/setups/$setup" &> /dev/null
[ $? -eq 0 ] || cp -ar /adei/src/setups/logs $setup
else
branch "http://darksoft.org/bzr/adei/setups/$setup"
fi
(
cd $setup
[ -n "$ADEI_REPOSITORY" -a -d .bzr ] && bzr config push_location=${ADEI_REPOSITORY}/adei-setups/$setup
)
)
fi
if [ -d ../cfg/$setup ]; then
ln -s ../../cfg/$setup setups/$setup
fi
fi
done
)
touch /adei/cfg/.ready
) 10> /adei/cfg/$LOCK_FILE 11> /adei/src/$LOCK_FILE
|