Merge pull request #173104 from mkg20001/odoo-update
odoo: add update script
This commit is contained in:
commit
9fbe7a1f09
2 changed files with 40 additions and 6 deletions
|
@ -4,6 +4,7 @@
|
||||||
, python3
|
, python3
|
||||||
, nodePackages
|
, nodePackages
|
||||||
, wkhtmltopdf
|
, wkhtmltopdf
|
||||||
|
, nixosTests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -72,19 +73,18 @@ let
|
||||||
in python.pkgs.buildPythonApplication rec {
|
in python.pkgs.buildPythonApplication rec {
|
||||||
pname = "odoo";
|
pname = "odoo";
|
||||||
|
|
||||||
major = "15";
|
odoo_version = "15.0";
|
||||||
minor = "0";
|
odoo_release = "20220506";
|
||||||
patch = "20220126";
|
|
||||||
|
|
||||||
version = "${major}.${minor}.${patch}";
|
version = "${odoo_version}.${odoo_release}";
|
||||||
|
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
|
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
|
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.tar.gz";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
|
sha256 = "0mwlmfz5nhvg483ldrmlrjhwaf284c0c0pxf0fb0sfx2dnjjj3ib"; # odoo
|
||||||
};
|
};
|
||||||
|
|
||||||
# needs some investigation
|
# needs some investigation
|
||||||
|
@ -140,6 +140,13 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
cd odoo*
|
cd odoo*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = ./update.sh;
|
||||||
|
tests = {
|
||||||
|
inherit (nixosTests) odoo;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Open Source ERP and CRM";
|
description = "Open Source ERP and CRM";
|
||||||
homepage = "https://www.odoo.com/";
|
homepage = "https://www.odoo.com/";
|
||||||
|
|
27
pkgs/applications/finance/odoo/update.sh
Executable file
27
pkgs/applications/finance/odoo/update.sh
Executable file
|
@ -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
|
Loading…
Reference in a new issue