about summary refs log tree commit diff
path: root/pkgs/applications/finance
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2022-05-15 08:46:00 +0200
committerMaciej Krüger <mkg20001@gmail.com>2022-05-15 09:07:38 +0200
commitcfb71b45a0512f85e870575ed8563a5d118eed19 (patch)
treef542ebc39bcf3d654780806b9bd243909dc1ce21 /pkgs/applications/finance
parent4e2d2e8e2172a48918112096c73ff696207ae996 (diff)
odoo: add update script
Diffstat (limited to 'pkgs/applications/finance')
-rwxr-xr-xpkgs/applications/finance/odoo/update.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/applications/finance/odoo/update.sh b/pkgs/applications/finance/odoo/update.sh
new file mode 100755
index 0000000000000..3b49727867c0c
--- /dev/null
+++ b/pkgs/applications/finance/odoo/update.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused nix coreutils
+
+set -euo pipefail
+
+DOCKER=$(curl -s https://raw.githubusercontent.com/odoo/docker/master/15.0/Dockerfile)
+
+get_var() {
+  echo "$DOCKER" | grep -E "^[A-Z][A-Z][A-Z] ODOO_$1" | sed -r "s|^[A-Z]{3} ODOO_$1.||g"
+}
+
+VERSION=$(get_var VERSION)
+RELEASE=$(get_var RELEASE)
+
+latestVersion="$VERSION.$RELEASE"
+currentVersion=$(nix-instantiate --eval -E "with import ./. {}; odoo.version or (lib.getVersion odoo)" | tr -d '"')
+
+if [[ "$currentVersion" == "$latestVersion" ]]; then
+  echo "odoo is up-to-date: $currentVersion"
+  exit 0
+fi
+
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+sed -ri "s| sha256.+ # odoo| sha256 = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
+sed -ri "s| odoo_version.+| odoo_version = \"$VERSION\";|" default.nix
+sed -ri "s| odoo_release.+| odoo_release = \"$RELEASE\";|" default.nix