Modification: etc/sv/openerp_lhc_demo/local.sh
[lhc/ateliers.git] / etc / sv / openerp_lhc_demo / 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 while ! sudo -u postgres psql </dev/null
10 do sleep 1; done
11 "$tool"/local/postgresql-user-create "$sv"
12 "$tool"/local/postgresql-database-create "$sv"
13 sudo -u postgres psql -AqtX "$sv" <<-EOF
14 \set ON_ERROR_STOP on
15 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
16 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
17 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
18 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
19 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
20 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
21 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
22 EOF
23
24 "$tool"/local/adduser "$sv" \
25 --disabled-login \
26 --disabled-password \
27 --group \
28 --home "$home" \
29 --shell /bin/false \
30 --system
31 "$tool"/local/adduser "$sv"-addon \
32 --disabled-login \
33 --disabled-password \
34 --group \
35 --home "$home"/addon.d \
36 --shell /bin/false \
37 --system
38
39 sudo install -d -m 1777 -o root -g root \
40 /etc/openerp
41 sudo install -d -m 3771 -o "$sv" -g "$sv" \
42 "$home"
43 sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
44 "$home"/addon.d
45 sudo install -d -m 750 -o "$sv" -g "$sv" \
46 "$home"/etc \
47 /etc/openerp/"${sv#openerp_}"
48 sudo ln -fns \
49 /etc/openerp/"${sv#openerp_}" \
50 "$home"/etc/openerp
51 sudo install -m 640 -o root -g root \
52 "$tool"/etc/cron.d/openerp_lhc_demo-restore \
53 /etc/cron.d/openerp_lhc_demo-restore
54
55 sudo adduser git "$sv"-addon
56 sudo adduser "$sv" "$sv"-addon
57 sudo adduser "$sv" postgres-data
58
59 for addon in \
60 bikecoop \
61 bikecoop_demo \
62 bikecoop_l10n_fr \
63 bikecoop_l10n_fr_demo \
64 bikecoop_translations \
65 no_db_management \
66 nrt_point_of_sale \
67 pos_membership \
68 remembership
69 do
70 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
71 "$home"/addon.d/"$addon"
72 sudo -u git git \
73 --git-dir ~git-data/burette/"$addon".git \
74 --work-tree="$home"/addon.d/"$addon" \
75 checkout -f master
76 sudo -u git git \
77 --git-dir ~git-data/burette/"$addon".git \
78 --work-tree="$home"/addon.d/"$addon" \
79 clean -d -f -f -x
80 sudo chmod a-x \
81 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
82 sudo install -m 550 -o git -g git /dev/stdin \
83 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
84 #!/bin/sh -efux
85 find . -type f -perm /+x -name 'post-update.*' |
86 while IFS= read -r hook
87 do "\$hook" "\$@"
88 done
89 EOF
90 sudo install -m 550 -o git -g git /dev/stdin \
91 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
92 #!/bin/sh -efux
93 case \$1 in
94 (refs/heads/$version)
95 git \\
96 --git-dir ~git-data/burette/"$addon".git \\
97 --work-tree="$home"/addon.d/"$addon" \\
98 checkout -f $version
99 git \\
100 --git-dir ~git-data/burette/"$addon".git \\
101 --work-tree="$home"/addon.d/"$addon" \\
102 clean -d -f -f -x
103 #sv restart "$sv"
104 ;;
105 esac
106 EOF
107 done