-eval "local home=/home/$sv"
-cd /
-case $(sudo sv status postgres || true) in
- (run:*);;
- (*) set -$- "$@" "$sv"; continue=yes; continue;;
- esac
-case $(sudo sv status "$sv" || true) in
- (run:*) sudo sv stop "$sv";;
- esac
+home=/home/"$sv"
+
+rule runit_sv_configure postgres
+rule runit_sv_start postgres
+while ! sudo -u postgres psql </dev/null
+do sleep 1; done
+rule runit_sv_configure postfix
+rule runit_sv_start postfix
+sudo postfix quiet-reload
+
+rule apt_get_install openerp --force-yes
+ # XXX: --force-yes car les paquets de nightly.openerp.com
+ # ne sont pas signés par OpenPGP..
+rule insserv_remove openerp
+
+sudo -u postgres psql -a -c "DROP USER IF EXISTS openerp;"
+~postgres/bin/createdb "$sv"
+
rule adduser "$sv" \
--disabled-login \
--disabled-password \
--home "$home" \
--shell /bin/false \
--system
-rule adduser log-"$sv"\
- --disabled-login \
- --disabled-password \
- --group \
- --home "$home"/log \
- --shell /bin/false \
- --system
rule adduser "$sv"-addon \
--disabled-login \
--disabled-password \
--home "$home"/addon.d \
--shell /bin/false \
--system
+
+sudo install -d -m 710 -o root -g "$sv" \
+ /etc/sv/"$sv" \
+ /etc/sv/"$sv"/supervise
+sudo install -d -m 1777 -o root -g root \
+ /etc/openerp
sudo install -d -m 3771 -o "$sv" -g "$sv" \
- "$home"/
-sudo install -d -m 770 -o log-"$sv" -g log-"$sv" \
- "$home"/log
+ "$home"
sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
"$home"/addon.d
-sudo adduser git "$sv"-addon
-sudo adduser "$sv" "$sv"-addon
-sudo adduser "$sv" postgres-data
-sudo install -d -m 2770 -o "$sv" -g "$sv" \
- /etc/sv/"$sv" \
- /etc/sv/"$sv"/log
sudo install -d -m 750 -o "$sv" -g "$sv" \
"$home"/etc \
/etc/openerp/"$sv"
sudo ln -fns \
/etc/openerp/"$sv" \
"$home"/etc/openerp
-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
-case $(sudo sv status "$sv" || true) in
- (run:*) sudo sv stop "$sv";;
- esac
-rule postgresql_db_add "$sv" "$sv"
-sudo -u "$sv" 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
+
+sudo adduser git "$sv"-addon
+sudo adduser "$sv" "$sv"-addon
+sudo adduser "$sv" postgres-data