Modification : vm_hosted -> etc/sv/*/{,log/}run .
[lhc/ateliers.git] / etc / sv / cyclo_paris_est__openerp / run
index f930bc6..4074f4d 100755 (executable)
@@ -1,9 +1,95 @@
 #!/bin/sh -eux
 exec 2>&1
 sv=${PWD#/etc/sv/}
+home=/home/"$sv"
+cd /
+
 /usr/bin/sv -w 3 start postgres
-eval "home=~$sv"
+~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