diff options
author | Robert Hensing <robert@roberthensing.nl> | 2022-04-06 11:16:40 +0200 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2022-04-11 17:25:10 +0200 |
commit | 0038244d60e1fa1da679f6b9e1046fde4325b49c (patch) | |
tree | 831017dd541ac266328a5e7dace4d422324c0158 | |
parent | ab55499253468ea2be69d3760077073c17da9103 (diff) | |
download | nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar.gz nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar.bz2 nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar.lz nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar.xz nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.tar.zst nixpkgs-0038244d60e1fa1da679f6b9e1046fde4325b49c.zip |
cassandra: Make updateScript update individual version
-rw-r--r-- | pkgs/servers/nosql/cassandra/generic.nix | 3 | ||||
-rw-r--r-- | pkgs/servers/nosql/cassandra/update-script.nix | 45 | ||||
-rwxr-xr-x | pkgs/servers/nosql/cassandra/update.sh | 42 |
3 files changed, 47 insertions, 43 deletions
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix index 41d33a497be..9d62279e74e 100644 --- a/pkgs/servers/nosql/cassandra/generic.nix +++ b/pkgs/servers/nosql/cassandra/generic.nix @@ -16,6 +16,7 @@ , version , sha256 , extraMeta ? { } +, callPackage , ... }: @@ -114,7 +115,7 @@ stdenv.mkDerivation rec { test; }; - updateScript = ./update.sh; + updateScript = callPackage ./update-script.nix { inherit generation; }; }; meta = with lib; { diff --git a/pkgs/servers/nosql/cassandra/update-script.nix b/pkgs/servers/nosql/cassandra/update-script.nix new file mode 100644 index 00000000000..fd79d1fb43b --- /dev/null +++ b/pkgs/servers/nosql/cassandra/update-script.nix @@ -0,0 +1,45 @@ +{ git +, lib +, runtimeShell +, writeScript +, generation +}: +let + inherit (lib) makeBinPath; + filename = lib.strings.replaceStrings [ "_" ] [ "." ] generation + ".nix"; + regex = lib.strings.replaceStrings [ "_" ] [ "[.]" ] generation; +in +writeScript "update-cassandra_${generation}" '' + #!${runtimeShell} + set -eux -o pipefail + test -d pkgs -a -d nixos -a -d lib || { + echo >&2 "$0 expects to be run in a nixpkgs checkout" + exit 1 + } + cd pkgs/servers/nosql/cassandra + PATH="${makeBinPath [git]}:$PATH" + + tmp="$(mktemp -d)" + cleanup() { + rm -rf "$tmp" + } + trap cleanup EXIT + + # get numeric-only versions, sort them latest first + git ls-remote --tags https://github.com/apache/cassandra \ + | awk '{ if (match($0, /refs.tags.cassandra-([0-9.]*)$/, m)) print m[1] }' \ + | sort -V \ + | tac >$tmp/versions + + version="$(grep -E '^${regex}' <$tmp/versions | head -n 1)" + hash="$(nix-prefetch-url "mirror://apache/cassandra/$version/apache-cassandra-$version-bin.tar.gz")" + cat >${filename} <<EOF + # GENERATED BY update.sh + { callPackage, ... } @ args: + callPackage ./generic.nix (args // { + version = "$version"; + sha256 = "$hash"; + generation = "${generation}"; + }) + EOF +'' diff --git a/pkgs/servers/nosql/cassandra/update.sh b/pkgs/servers/nosql/cassandra/update.sh deleted file mode 100755 index e4953605117..00000000000 --- a/pkgs/servers/nosql/cassandra/update.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -#!nix-shell -p git - -cd "$(dirname "$0")" -set -eux -o pipefail - -tmp="$(mktemp -d)" -cleanup() { - rm -rf "$tmp" -} -trap cleanup EXIT - -# get numeric-only versions, sort them latest first -git ls-remote --tags https://github.com/apache/cassandra \ - | awk '{ if (match($0, /refs.tags.cassandra-([0-9.]*)$/, m)) print m[1] }' \ - | sort -V \ - | tac >$tmp/versions - -version="$(grep -E '3[.]11[.]' <$tmp/versions | head -n 1)" -hash="$(nix-prefetch-url "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz")" -cat >3.11.nix <<EOF -# GENERATED BY update.sh -{ callPackage, ... } @ args: -callPackage ./generic.nix (args // { - version = "$version"; - sha256 = "$hash"; - generation = "3_11"; -}) -EOF - -version="$(grep -E '3[.]0[.]' <$tmp/versions | head -n 1)" -hash="$(nix-prefetch-url "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz")" -cat >3.0.nix <<EOF -# GENERATED BY update.sh -{ callPackage, ... } @ args: -callPackage ./generic.nix (args // { - version = "$version"; - sha256 = "$hash"; - generation = "3_0"; -}) -EOF |