#!/bin/sh -eux
exec 2>&1
sv=${PWD#/etc/sv/}
-eval "home=~$sv"
+home=/home/"$sv"
+cd /
+
+/usr/bin/sv -w 3 start postgres
+~postgres/bin/createdb "$sv"
+
+getent passwd "$sv" >/dev/null ||
+adduser "$sv" \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home" \
+ --shell /bin/false \
+ --system
+getent passwd "$sv" >/dev/null ||
+adduser "$sv"-addon \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home"/addon.d \
+ --shell /bin/false \
+ --system
+
+install -d -m 710 -o root -g "$sv" \
+ /etc/sv/"$sv" \
+ /etc/sv/"$sv"/supervise
+install -d -m 3771 -o "$sv" -g "$sv" \
+ "$home"
+install -d -m 2770 -o "$sv" -g "$sv"-addon \
+ "$home"/addon.d
+install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/etc \
+ /etc/openerp/"$sv"
+ln -fns \
+ /etc/openerp/"$sv" \
+ "$home"/etc/openerp
+
+adduser git "$sv"-addon
+adduser "$sv" "$sv"-addon
+adduser "$sv" postgres-data
+
+for addon in \
+ bikecoop \
+ bikecoop_l10n_fr \
+ pos_membership \
+ remembership \
+ cyclofficine_paris_est
+ do
+ sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
+ "$home"/addon.d/"$addon"
+ sudo -u git git \
+ --git-dir ~git-data/burette/"$addon".git \
+ --work-tree="$home"/addon.d/"$addon" \
+ checkout -f master
+ #sudo -u git git \
+ # --git-dir ~git-data/burette/"$addon".git \
+ # --work-tree="$home"/addon.d/"$addon" \
+ # clean -d -f -f -x
+ sudo install -m 550 -o git -g git /dev/stdin \
+ /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
+ git \
+ --git-dir ~git-data/burette/"$addon".git \
+ --work-tree="$home"/addon.d/"$addon" \
+ checkout -f master
+ #git \
+ # --git-dir ~git-data/burette/"$addon".git \
+ # --work-tree="$home"/addon.d/"$addon" \
+ # clean -d -f -f -x
+ #sv restart "$sv"
+ EOF
+ done
+
+test -e "$home"/etc/openerp/server.conf ||
+/usr/bin/chpst \
+ -u "$sv":"$sv":"$sv"-addon:postgres-data \
+ /usr/bin/openerp-server \
+ --addons-path="$home"/addon.d \
+ --config "$home"/etc/openerp/server.conf \
+ --database="$sv" \
+ --db_user="$sv" \
+ --debug \
+ --init=remembership,pos_membership,bikecoop \
+ --load-language=fr_FR \
+ --save \
+ --stop-after-init \
+ --without-demo=base \
+ --workers=2
+
exec /usr/bin/chpst \
-u "$sv":"$sv":"$sv"-addon:postgres-data \
- openerp-server \
+ /usr/bin/openerp-server \
--config "$home"/etc/openerp/server.conf