Corrections : etc/sv/openerp_cyclofficines/local.sh
[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-role-create "$sv"
36 for db in \
37 openerp_cyclo_ivry \
38 openerp_cyclo_paris_est
39 do
40 "$tool"/local/postgresql-user-create "$db"
41 "$tool"/local/postgresql-database-create "$db"
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_paris_est
67 do
68 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
69 "$home"/addon.d/"$addon"
70 sudo -u git git \
71 --git-dir ~git-data/burette/"$addon".git \
72 --work-tree="$home"/addon.d/"$addon" \
73 checkout -f master
74 sudo -u git git \
75 --git-dir ~git-data/burette/"$addon".git \
76 --work-tree="$home"/addon.d/"$addon" \
77 clean -d -f -f -x
78 sudo chmod a-x \
79 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
80 sudo install -m 550 -o git -g git /dev/stdin \
81 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
82 #!/bin/sh -efux
83 find . -type f -perm /+x -name 'post-update.*' |
84 while IFS= read -r hook
85 do "\$hook" "\$@"
86 done
87 EOF
88 sudo install -m 550 -o git -g git /dev/stdin \
89 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
90 #!/bin/sh -efux
91 case \$1 in
92 (refs/heads/master)
93 git \\
94 --git-dir ~git-data/burette/"$addon".git \\
95 --work-tree="$home"/addon.d/"$addon" \\
96 checkout -f master
97 git \\
98 --git-dir ~git-data/burette/"$addon".git \\
99 --work-tree="$home"/addon.d/"$addon" \\
100 clean -d -f -f -x
101 #sv restart "$sv"
102 ;;
103 esac
104 EOF
105 done
106
107 exit 42