7544baf06adf6c2f43460e6c6e483d1a361906b6
[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 cyclesetmanivelles \
46 cyclo_ivry \
47 cyclo_pantin \
48 cyclo_paris_est \
49 cyclofficine_angouleme \
50 dynamo \
51 etudesetchantiersidf \
52 eturecup \
53 heureuxcyclage \
54 labecaneajules \
55 lapetiterennes \
56 laptiterustine \
57 larouelibre \
58 lechatperche \
59 mobilidees \
60 ohcyclo \
61 ptitvelo \
62 recupr \
63 repeyre \
64 rouepet \
65 txirrindola \
66 velocampus_nantes \
67 velorution_idf \
68 velorution_toulouse \
69 velosenville \
70 vieuxbiclou
71 do
72 #"$tool"/local/postgresql-role-create "${sv}_$db"
73 "$tool"/local/postgresql-database-create "${sv}_$db" "$sv"
74 sudo -u postgres psql -AqtX "${sv}_$db" <<-EOF
75 \set ON_ERROR_STOP on
76 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
77 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
78 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
79 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
80 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
81 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
82 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
83 EOF
84 done
85
86 sudo adduser git "$sv"-addon
87 sudo adduser "$sv" "$sv"-addon
88 sudo adduser "$sv" postgres-data
89
90 for addon in \
91 account_analytic_improvement \
92 account_export_csv \
93 atelieretincelle \
94 bikecoop \
95 bikecoop_l10n_fr \
96 bikecoop_translations \
97 bretzselle \
98 changedechaine \
99 cyclesetmanivelles \
100 cyclofficine_angouleme \
101 cyclofficine_ivry \
102 cyclofficine_paris_est \
103 dynamo \
104 etudesetchantiersidf \
105 eturecup \
106 lapetiterennes \
107 laptiterustine \
108 larouelibre \
109 lechatperche \
110 lhc \
111 mobilidees \
112 no_db_management \
113 ohcyclo \
114 pos_membership \
115 ptitvelo \
116 recupr \
117 repeyre \
118 txirrindola \
119 remembership \
120 velocampus_nantes \
121 velorution_idf \
122 velosenville
123 #vieuxbiclou_mpt
124 #cyclofficine_pantin \
125 do
126 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
127 "$home"/addon.d/"$addon"
128 sudo -u git git \
129 --git-dir ~git-data/burette/"$addon".git \
130 --work-tree="$home"/addon.d/"$addon" \
131 checkout -f master
132 sudo -u git git \
133 --git-dir ~git-data/burette/"$addon".git \
134 --work-tree="$home"/addon.d/"$addon" \
135 clean -d -e sec/ -f -f -x
136 sudo chmod a-x \
137 /home/git/data/burette/"$addon".git/hooks/post-update.sample
138 sudo install -m 550 -o git -g git /dev/stdin \
139 /home/git/data/burette/"$addon".git/hooks/post-update <<-EOF
140 #!/bin/sh -efux
141 find . -type f -perm /+x -name 'post-update.*' |
142 while IFS= read -r hook
143 do "\$hook" "\$@"
144 done
145 EOF
146 sudo install -m 550 -o git -g git /dev/stdin \
147 /home/git/data/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
148 #!/bin/sh -efux
149 case \$1 in
150 (refs/heads/master)
151 git \\
152 --git-dir ~git-data/burette/"$addon".git \\
153 --work-tree="$home"/addon.d/"$addon" \\
154 checkout -f master
155 git \\
156 --git-dir ~git-data/burette/"$addon".git \\
157 --work-tree="$home"/addon.d/"$addon" \\
158 clean -d -e sec/ -f -f -x
159 #sv restart "$sv"
160 ;;
161 esac
162 EOF
163 done