+home=/home/"$sv"
+
+"$tool"/local/apt-get-install openerp --force-yes --no-upgrade
+ # XXX: --force-yes car les paquets de nightly.openerp.com
+ # ne sont pas signés par OpenPGP..
+"$tool"/local/insserv-remove openerp
+
+"$tool"/local/adduser "$sv" \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home" \
+ --shell /bin/false \
+ --system
+"$tool"/local/adduser "$sv"-addon \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home"/addon.d \
+ --shell /bin/false \
+ --system
+
+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 2770 -o "$sv" -g "$sv"-addon \
+ "$home"/addon.d
+sudo ln -fns \
+ /etc/openerp \
+ "$home"/etc/openerp
+
+while ! sudo -u postgres psql </dev/null
+do sleep 1; done
+"$tool"/local/postgresql-role-create "$sv"
+for db in \
+ openerp_cyclo_ivry \
+ openerp_cyclo_paris_est
+ do
+ "$tool"/local/postgresql-user-create "$db"
+ "$tool"/local/postgresql-database-create "$db"
+ sudo install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/etc \
+ /etc/openerp/"$db"
+ done
+
+sudo -u postgres psql -AqtX "$sv" <<-EOF
+ \set ON_ERROR_STOP on
+ GRANT USAGE ON SCHEMA pg_catalog TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
+ EOF
+
+sudo adduser git "$sv"-addon
+sudo adduser "$sv" "$sv"-addon
+sudo 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 chmod a-x \
+ /home/git/pub/burette/"$addon".git/hooks/post-update.sample
+ sudo install -m 550 -o git -g git /dev/stdin \
+ /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
+ #!/bin/sh -efux
+ find . -type f -perm /+x -name 'post-update.*' |
+ while IFS= read -r hook
+ do "\$hook" "\$@"
+ done
+ EOF
+ sudo install -m 550 -o git -g git /dev/stdin \
+ /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
+ #!/bin/sh -efux
+ case \$1 in
+ (refs/heads/master)
+ 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"
+ ;;
+ esac
+ EOF
+ done
+
+exit 42