diff options
author | Janne Heß <janne@hess.ooo> | 2022-04-14 14:59:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-14 14:59:14 +0200 |
commit | 910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318 (patch) | |
tree | 47baa5c93e1d0a13e439f44701213a7e61462976 /pkgs | |
parent | b825f6db5610529c3a7d178d26b49395d00b21ed (diff) | |
parent | e633d427477c310891553b4218648e05da1db56c (diff) | |
download | nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar.gz nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar.bz2 nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar.lz nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar.xz nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.tar.zst nixpkgs-910b3d28a5a9a6e9fae9f60c7c76d6b4298e6318.zip |
Merge pull request #168623 from Ma27/bump-grafana
grafana: add update-script, (no-op) update 8.4.5 -> 8.4.6
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/servers/monitoring/grafana/default.nix | 11 | ||||
-rwxr-xr-x | pkgs/servers/monitoring/grafana/update.sh | 39 |
2 files changed, 46 insertions, 4 deletions
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index c541c74d5be..22b886b2d24 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "grafana"; - version = "8.4.5"; + version = "8.4.6"; excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ]; @@ -10,12 +10,12 @@ buildGoModule rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "sha256-CdGg979c7XD5V3jZbVeHUGylAarGc+cR+bFi5FngKtU="; + sha256 = "sha256-BXAvsHP6bDMrSk5jMCJmvrS1w/d+Mmym+OMCqO2YozY="; }; srcStatic = fetchurl { url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; - sha256 = "sha256-PjDTEmzjDmT1WQGqF3GwojJ6mG2whBoPK0KWfXI8AB4="; + sha256 = "1af0277kb2msjqjv2kxajpxia4q4y2bslf009fx13h2c0grv8j7f"; }; vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4="; @@ -66,7 +66,10 @@ buildGoModule rec { cp ./conf/defaults.ini $out/share/grafana/conf/ ''; - passthru.tests = { inherit (nixosTests) grafana; }; + passthru = { + tests = { inherit (nixosTests) grafana; }; + updateScript = ./update.sh; + }; meta = with lib; { description = "Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB"; diff --git a/pkgs/servers/monitoring/grafana/update.sh b/pkgs/servers/monitoring/grafana/update.sh new file mode 100755 index 00000000000..8fce8433388 --- /dev/null +++ b/pkgs/servers/monitoring/grafana/update.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts jq nix nix-prefetch-scripts moreutils + +set -euxo pipefail + +FILE="$(nix-instantiate --eval -E 'with import ./. {}; (builtins.unsafeGetAttrPos "version" grafana).file' | tr -d '"')" +replaceHash() { + old="${1?old hash missing}" + new="${2?new hash missing}" + awk -v OLD="$old" -v NEW="$new" '{ + if (i=index($0, OLD)) { + $0 = substr($0, 1, i-1) NEW substr($0, i+length(OLD)); + } + print $0; + }' "$FILE" | sponge "$FILE" +} +extractVendorHash() { + original="${1?original hash missing}" + result="$(nix-build -A grafana.go-modules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)" + [ -z "$result" ] && { echo "$original"; } || { echo "$result"; } +} + +oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion grafana" | tr -d '"')" +latest="$(curl https://api.github.com/repos/grafana/grafana/releases/latest | jq '.tag_name' -r | tr -d 'v')" + +targetVersion="${1:-$latest}" +if [ ! "${oldVersion}" = "${targetVersion}" ]; then + update-source-version grafana "${targetVersion#v}" + oldStaticHash="$(nix-instantiate --eval -A grafana.srcStatic.outputHash | tr -d '"')" + newStaticHash="$(nix-prefetch-url "https://dl.grafana.com/oss/release/grafana-${targetVersion#v}.linux-amd64.tar.gz")" + replaceHash "$oldStaticHash" "$newStaticHash" + goHash="$(nix-instantiate --eval -A grafana.vendorSha256 | tr -d '"')" + emptyHash="$(nix-instantiate --eval -A lib.fakeSha256 | tr -d '"')" + replaceHash "$goHash" "$emptyHash" + replaceHash "$emptyHash" "$(extractVendorHash "$goHash")" + nix-build -A grafana +else + echo "grafana is already up-to-date" +fi |