Correction : openerp_cyclofficines : ne supprime pas les données secrètes à chaque...
[lhc/ateliers.git] / etc / sv / openerp_cyclofficines / local.sh
1 home=/home/"$sv"
2
3 "$tool"/local/apt-get-install openerp --force-yes --no-upgrade
4 # XXX: --force-yes car les paquets de nightly.openerp.com
5 # ne sont pas signés par OpenPGP..
6 "$tool"/local/insserv-remove openerp
7
8 "$tool"/local/adduser "$sv" \
9 --disabled-login \
10 --disabled-password \
11 --group \
12 --home "$home" \
13 --shell /bin/false \
14 --system
15 "$tool"/local/adduser "$sv"-addon \
16 --disabled-login \
17 --disabled-password \
18 --group \
19 --home "$home"/addon.d \
20 --shell /bin/false \
21 --system
22
23 sudo install -d -m 1777 -o root -g root \
24 /etc/openerp
25 sudo install -d -m 3771 -o "$sv" -g "$sv" \
26 "$home"
27 sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
28 "$home"/addon.d
29 sudo ln -fns \
30 /etc/openerp \
31 "$home"/etc/openerp
32
33 while ! sudo -u postgres psql </dev/null
34 do sleep 1; done
35 "$tool"/local/postgresql-user-create "$sv"
36 for db in \
37 openerp_cyclo_ivry \
38 openerp_cyclo_paris_est
39 do
40 #"$tool"/local/postgresql-role-create "$db"
41 "$tool"/local/postgresql-database-create "$db" "$sv"
42 sudo install -d -m 750 -o "$sv" -g "$sv" \
43 "$home"/etc \
44 /etc/openerp/"$db"
45 sudo -u postgres psql -AqtX "$db" <<-EOF
46 \set ON_ERROR_STOP on
47 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
48 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
49 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
50 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
51 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
52 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
53 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
54 EOF
55 done
56
57 sudo adduser git "$sv"-addon
58 sudo adduser "$sv" "$sv"-addon
59 sudo adduser "$sv" postgres-data
60
61 for addon in \
62 bikecoop \
63 bikecoop_l10n_fr \
64 pos_membership \
65 remembership \
66 cyclofficine_ivry \
67 cyclofficine_paris_est
68 do
69 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
70 "$home"/addon.d/"$addon"
71 sudo -u git git \
72 --git-dir ~git-data/burette/"$addon".git \
73 --work-tree="$home"/addon.d/"$addon" \
74 checkout -f master
75 sudo -u git git \
76 --git-dir ~git-data/burette/"$addon".git \
77 --work-tree="$home"/addon.d/"$addon" \
78 clean -d -e sec/ -f -f -x
79 sudo chmod a-x \
80 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
81 sudo install -m 550 -o git -g git /dev/stdin \
82 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
83 #!/bin/sh -efux
84 find . -type f -perm /+x -name 'post-update.*' |
85 while IFS= read -r hook
86 do "\$hook" "\$@"
87 done
88 EOF
89 sudo install -m 550 -o git -g git /dev/stdin \
90 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
91 #!/bin/sh -efux
92 case \$1 in
93 (refs/heads/master)
94 git \\
95 --git-dir ~git-data/burette/"$addon".git \\
96 --work-tree="$home"/addon.d/"$addon" \\
97 checkout -f master
98 git \\
99 --git-dir ~git-data/burette/"$addon".git \\
100 --work-tree="$home"/addon.d/"$addon" \\
101 clean -d -e sec/ -f -f -x
102 #sv restart "$sv"
103 ;;
104 esac
105 EOF
106 done