Ajout: etc/sv/odoo8_burette
[lhc/ateliers.git] / etc / sv / odoo8_burette / local.sh
diff --git a/etc/sv/odoo8_burette/local.sh b/etc/sv/odoo8_burette/local.sh
new file mode 100644 (file)
index 0000000..ad849ed
--- /dev/null
@@ -0,0 +1,105 @@
+home=/home/"$sv"
+version=8.0
+
+while ! sudo -u postgres psql </dev/null
+do sleep 1; done
+"$tool"/local/postgresql-user-create     "$sv"
+for db in \
+       heureuxcyclage
+ do
+       "$tool"/local/postgresql-database-create "${sv}_$db" "$sv"
+sudo -u postgres psql -AqtX "${sv}_$db" <<-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
+ done
+
+"$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/odoo
+sudo install -d -m 3771 -o "$sv" -g "$sv" \
+ "$home"
+sudo -u "$sv" wget -c http://nightly.odoo.com/8.0/nightly/src/odoo_8.0.20171001.tar.gz -O /tmp/odoo8_burette.tar.gz
+sudo -u "$sv" tar -xf /tmp/odoo8_burette.tar.gz -C "$home"
+
+"$tool"/local/apt-get-install python-decorator python-pypdf python-passlib --force-yes
+
+sudo install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/var/ \
+ "$home"/var/filestore
+
+sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
+ "$home"/addon.d
+sudo install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/etc \
+ /etc/odoo/"${sv#odoo_}"
+sudo ln -fns \
+ /etc/odoo/"${sv#odoo_}" \
+ "$home"/etc/odoo
+
+sudo adduser git   "$sv"-addon
+sudo adduser "$sv" "$sv"-addon
+sudo adduser "$sv" postgres-data
+
+for addon in \
+       lhc
+ do
+       sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
+        "$home"/addon.d/"$addon"
+       sudo ln -s "$home"/addon.d/"$addon" "$home"/addon.d/lhc_custom_oe
+       sudo -u git git \
+        --git-dir ~git-data/burette/"$addon".git \
+        --work-tree="$home"/addon.d/"$addon" \
+        checkout -f $version
+       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/$version)
+                       git \\
+                        --git-dir ~git-data/burette/"$addon".git \\
+                        --work-tree="$home"/addon.d/"$addon" \\
+                        checkout -f $version
+                       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