447683850044f58d69f57d57633ec8d0c7555efe
[lhc/ateliers.git] / etc / sv / openerp7_burette / run
1 #!/bin/sh -eux
2 exec 2>&1
3 sv=${PWD#/etc/sv/}
4 home=/home/"$sv"
5 version=7.0
6 cd /
7 export LOGNAME="$sv"
8 # NOTE: openerp utilise /tmp/oe-sessions-$LOGNAME
9
10 /bin/grep --fixed-strings --quiet --word-regexp HTTP_OPENERP_DB_FILTER \
11 /usr/share/pyshared/openerp/addons/web/controllers/main.py ||
12 /usr/bin/patch --forward --reject-file=- --strip=0 --unified <<-EOF
13 --- /usr/share/pyshared/openerp/addons/web/controllers/main.py 2013-12-01 05:06:50.121954391 +0100
14 +++ /usr/share/pyshared/openerp/addons/web/controllers/main.py 2013-12-01 05:07:44.917954389 +0100
15 @@ -90,6 +90,11 @@
16 h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
17 d = h.split('.')[0]
18 r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d)
19 + try:
20 + f = req.httprequest.environ['HTTP_OPENERP_DB_FILTER']
21 + r = r.replace('%f', f)
22 + except KeyError:
23 + pass
24 dbs = [i for i in dbs if re.match(r, i)]
25 return dbs
26 EOF
27
28 for db in \
29 atelieretincelle \
30 autourducycle \
31 bretzselle \
32 changedechaine \
33 convibicy \
34 cyclo_ivry \
35 cyclo_ivry \
36 cyclo_pantin \
37 cyclo_paris_est \
38 cyclofficine_angouleme \
39 dynamo \
40 labecaneajules \
41 laptitrustine \
42 larouelibre \
43 lechatperche \
44 mobilidees \
45 ohcyclo \
46 ptitvelo \
47 recupr \
48 repeyre \
49 rouepet \
50 txirrindola \
51 velocampus_nantes \
52 velorution_idf \
53 velorution_toulouse \
54 velosenville \
55 vieuxbiclou
56 do
57 test -e /etc/openerp/"$version"/"${sv#openerp7_}"/"$db".ok ||
58 /usr/bin/chpst \
59 -u "$sv":"$sv":"$sv"-addon:postgres-data \
60 /usr/bin/openerp-server \
61 --addons-path="$home"/addon.d \
62 --config /etc/openerp/"$version"/"${sv#openerp7_}"/server.conf \
63 --database="${sv}_$db" \
64 --db_host=/run/postgresql \
65 --db_user="$sv" \
66 --init=remembership,pos_membership,bikecoop,no_db_management \
67 --load-language=fr_FR \
68 --no-xmlrpcs \
69 --osv-memory-age-limit=0.1 \
70 --proxy-mode \
71 --save \
72 --stop-after-init \
73 --timezone="$(cat /etc/timezone)" \
74 --without-demo=base \
75 --workers=0 \
76 --xmlrpc-interface=127.0.0.1 \
77 --xmlrpc-port=8069
78 #--no-database-list \
79 # NOTE: si --workers > 0
80 # --limit-memory-hard=$((300 * 1024 * 1024))
81 # --limit-memory-soft=$((150 * 1024 * 1024))
82 touch /etc/openerp/"$version"/"${sv#openerp7_}"/"$db".ok
83 done
84
85 exec /usr/bin/chpst \
86 -u "$sv":"$sv":"$sv"-addon:postgres-data \
87 /usr/bin/openerp-server \
88 --config /etc/openerp/"$version"/"${sv#openerp7_}"/server.conf \
89 --load-language=fr_FR \
90 --db-filter="^${sv}_%f" \
91 "$@"