Modifications : etc/sv/openerp7_burette/local.sh
[lhc/ateliers.git] / etc / sv / openerp7_burette / local.sh
1 home=/home/"$sv"
2 version=7.0
3
4 "$tool"/local/apt-get-install openerp --force-yes --no-upgrade
5 # XXX: --force-yes car les paquets de nightly.openerp.com
6 # ne sont pas signés par OpenPGP..
7 "$tool"/local/insserv-remove openerp
8
9 "$tool"/local/adduser "$sv" \
10 --disabled-login \
11 --disabled-password \
12 --group \
13 --home "$home" \
14 --shell /bin/false \
15 --system
16 "$tool"/local/adduser "$sv"-addon \
17 --disabled-login \
18 --disabled-password \
19 --group \
20 --home "$home"/addon.d \
21 --shell /bin/sh \
22 --system
23
24 sudo install -d -m 1777 -o root -g root \
25 /etc/openerp \
26 /etc/openerp/$version
27 sudo install -d -m 3771 -o "$sv" -g "$sv" \
28 "$home" \
29 "$home"/etc
30 sudo install -d -m 2750 -o "$sv"-addon -g "$sv"-addon \
31 "$home"/addon.d \
32 "$home"/addon.d/etc
33 sudo ln -fns \
34 /etc/openerp/$version \
35 "$home"/etc/openerp
36
37 while ! sudo -u postgres psql </dev/null
38 do sleep 1; done
39 "$tool"/local/postgresql-user-create "$sv"
40 for db in \
41 atelieretincelle \
42 autourducycle \
43 bretzselle \
44 changedechaine \
45 cyclamaine \
46 cyclesetmanivelles \
47 cyclo_ivry \
48 cyclo_pantin \
49 cyclo_paris_est \
50 cyclofficine_angouleme \
51 dynamo \
52 etudesetchantiersidf \
53 eturecup \
54 heureuxcyclage \
55 labecaneajules \
56 lapetiterennes \
57 laptiterustine \
58 larouelibre \
59 lechatperche \
60 mobilidees \
61 ocivelo \
62 ohcyclo \
63 ptitvelo \
64 recupr \
65 repeyre \
66 rouepet \
67 txirrindola \
68 velocampus_nantes \
69 velorution_idf \
70 velorution_toulouse \
71 velosenville \
72 vieuxbiclou
73 do
74 #"$tool"/local/postgresql-role-create "${sv}_$db"
75 "$tool"/local/postgresql-database-create "${sv}_$db" "$sv"
76 sudo -u postgres psql -AqtX "${sv}_$db" <<-EOF
77 \set ON_ERROR_STOP on
78 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
79 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
80 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
81 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
82 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
83 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
84 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
85 EOF
86 done
87
88 sudo adduser git "$sv"-addon
89 sudo adduser "$sv" "$sv"-addon
90 sudo adduser "$sv" postgres-data
91
92 for addon in \
93 account_analytic_improvement \
94 account_export_csv \
95 account_move_line_nofilters \
96 atelieretincelle \
97 bikecoop \
98 bikecoop_l10n_fr \
99 bikecoop_translations \
100 bretzselle \
101 changedechaine \
102 cyclamaine \
103 cyclesetmanivelles \
104 cyclofficine_angouleme \
105 cyclofficine_ivry \
106 cyclofficine_paris_est \
107 dynamo \
108 etudesetchantiersidf \
109 eturecup \
110 lapetiterennes \
111 laptiterustine \
112 larouelibre \
113 lechatperche \
114 lhc \
115 mobilidees \
116 no_db_management \
117 ocivelo \
118 ohcyclo \
119 pos_membership \
120 ptitvelo \
121 recupr \
122 repeyre \
123 txirrindola \
124 remembership \
125 velocampus_nantes \
126 velorution_idf \
127 velosenville
128 #vieuxbiclou_mpt
129 #cyclofficine_pantin \
130 do
131 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
132 "$home"/addon.d/"$addon"
133 sudo -u git git \
134 --git-dir ~git-data/burette/"$addon".git \
135 --work-tree="$home"/addon.d/"$addon" \
136 checkout -f master
137 sudo -u git git \
138 --git-dir ~git-data/burette/"$addon".git \
139 --work-tree="$home"/addon.d/"$addon" \
140 clean -d -e sec/ -f -f -x
141 sudo chmod a-x \
142 /home/git/data/burette/"$addon".git/hooks/post-update.sample
143 sudo install -m 550 -o git -g git /dev/stdin \
144 /home/git/data/burette/"$addon".git/hooks/post-update <<-EOF
145 #!/bin/sh -efux
146 find . -type f -perm /+x -name 'post-update.*' |
147 while IFS= read -r hook
148 do "\$hook" "\$@"
149 done
150 EOF
151 sudo install -m 550 -o git -g git /dev/stdin \
152 /home/git/data/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
153 #!/bin/sh -efux
154 case \$1 in
155 (refs/heads/master)
156 git \\
157 --git-dir ~git-data/burette/"$addon".git \\
158 --work-tree="$home"/addon.d/"$addon" \\
159 checkout -f master
160 git \\
161 --git-dir ~git-data/burette/"$addon".git \\
162 --work-tree="$home"/addon.d/"$addon" \\
163 clean -d -e sec/ -f -f -x
164 #sv restart "$sv"
165 ;;
166 esac
167 EOF
168 done