Ajourt : sv/openerp7_burette/local.sh - Burette Récup'R
[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 autourducycle \
30 bretzselle \
31 changedechaine \
32 cyclo_ivry \
33 cyclo_ivry \
34 cyclo_pantin \
35 cyclo_paris_est \
36 cyclofficine_angouleme \
37 dynamo \
38 labecaneajules \
39 laptitrustine \
40 mobilidees \
41 ohcyclo \
42 ptitvelo \
43 recupr \
44 repeyre \
45 rouepet \
46 txirrindola \
47 velorution_idf \
48 velorution_toulouse \
49 velosenville \
50 vieuxbiclou
51 do
52 test -e /etc/openerp/"$version"/"${sv#openerp7_}"/"$db".ok ||
53 /usr/bin/chpst \
54 -u "$sv":"$sv":"$sv"-addon:postgres-data \
55 /usr/bin/openerp-server \
56 --addons-path="$home"/addon.d \
57 --config /etc/openerp/"$version"/"${sv#openerp7_}"/server.conf \
58 --database="${sv}_$db" \
59 --db_host=/run/postgresql \
60 --db_user="$sv" \
61 --init=remembership,pos_membership,bikecoop,no_db_management \
62 --load-language=fr_FR \
63 --no-xmlrpcs \
64 --osv-memory-age-limit=0.1 \
65 --proxy-mode \
66 --save \
67 --stop-after-init \
68 --timezone="$(cat /etc/timezone)" \
69 --without-demo=base \
70 --workers=0 \
71 --xmlrpc-interface=127.0.0.1 \
72 --xmlrpc-port=8069
73 #--no-database-list \
74 # NOTE: si --workers > 0
75 # --limit-memory-hard=$((300 * 1024 * 1024))
76 # --limit-memory-soft=$((150 * 1024 * 1024))
77 touch /etc/openerp/"$version"/"${sv#openerp7_}"/"$db".ok
78 done
79
80 exec /usr/bin/chpst \
81 -u "$sv":"$sv":"$sv"-addon:postgres-data \
82 /usr/bin/openerp-server \
83 --config /etc/openerp/"$version"/"${sv#openerp7_}"/server.conf \
84 --load-language=fr_FR \
85 --db-filter="^${sv}_%f" \
86 "$@"