30cf8327d90e48be3ca3b6705b02ed86ab10d3d1
[lhc/ateliers.git] / etc / sv / openerp_server_lhc / local.sh
1 home=/home/"$sv"
2
3 while ! sudo -u postgres psql </dev/null
4 do sleep 1; done
5 "$tool"/local/postgresql-user-create "$sv"
6 "$tool"/local/postgresql-database-create "$sv"
7 sudo -u postgres psql -AqtX "$sv" <<-EOF
8 \set ON_ERROR_STOP on
9 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
10 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
11 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
12 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
13 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
14 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
15 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
16 EOF
17
18 "$tool"/local/adduser "$sv" \
19 --disabled-login \
20 --disabled-password \
21 --group \
22 --home "$home" \
23 --shell /bin/false \
24 --system
25 "$tool"/local/adduser "$sv"-addon \
26 --disabled-login \
27 --disabled-password \
28 --group \
29 --home "$home"/addon.d \
30 --shell /bin/false \
31 --system
32
33 sudo install -d -m 1777 -o root -g root \
34 /etc/openerp
35 sudo install -d -m 3771 -o "$sv" -g "$sv" \
36 "$home"
37 sudo -u "$sv" wget -c http://nightly.openerp.com/6.0/6.0/openerp-server-6.0.4-20130520-r3663.tar.gz -O /tmp/openerp-server.tar.gz
38 sudo -u "$sv" tar -xf /tmp/openerp-server.tar.gz -C "$home"
39 sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
40 "$home"/addon.d
41 sudo install -d -m 750 -o "$sv" -g "$sv" \
42 "$home"/etc \
43 /etc/openerp/"${sv#openerp_}"
44 sudo ln -fns \
45 /etc/openerp/"${sv#openerp_}" \
46 "$home"/etc/openerp
47
48 sudo adduser git "$sv"-addon
49 sudo adduser "$sv" "$sv"-addon
50 sudo adduser "$sv" postgres-data
51
52 for addon in \
53 lhc
54 do
55 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
56 "$home"/addon.d/"$addon"
57 sudo ln -s "$home"/addon.d/lhc_custom_oe "$home"/addon.d/"$addon"
58 sudo -u git git \
59 --git-dir ~git-data/burette/"$addon".git \
60 --work-tree="$home"/addon.d/"$addon" \
61 checkout -f master
62 sudo -u git git \
63 --git-dir ~git-data/burette/"$addon".git \
64 --work-tree="$home"/addon.d/"$addon" \
65 clean -d -f -f -x
66 sudo chmod a-x \
67 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
68 sudo install -m 550 -o git -g git /dev/stdin \
69 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
70 #!/bin/sh -efux
71 find . -type f -perm /+x -name 'post-update.*' |
72 while IFS= read -r hook
73 do "\$hook" "\$@"
74 done
75 EOF
76 sudo install -m 550 -o git -g git /dev/stdin \
77 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
78 #!/bin/sh -efux
79 case \$1 in
80 (refs/heads/master)
81 git \\
82 --git-dir ~git-data/burette/"$addon".git \\
83 --work-tree="$home"/addon.d/"$addon" \\
84 checkout -f master
85 git \\
86 --git-dir ~git-data/burette/"$addon".git \\
87 --work-tree="$home"/addon.d/"$addon" \\
88 clean -d -f -f -x
89 #sv restart "$sv"
90 ;;
91 esac
92 EOF
93 done
94
95 exit 42