diff --git a/pkgs/by-name/ge/geoserver/update.sh b/pkgs/by-name/ge/geoserver/update.sh index e3b2f25fbaa4..a172161e1a91 100755 --- a/pkgs/by-name/ge/geoserver/update.sh +++ b/pkgs/by-name/ge/geoserver/update.sh @@ -2,7 +2,7 @@ #!nix-shell -I ./. -i bash -p common-updater-scripts jq set -eEuo pipefail -test ${DEBUG:-0} -eq 1 && set -x +test "${DEBUG:-0}" -eq 1 && set -x # Current version. LATEST_NIXPKGS_VERSION=$(nix eval --raw .#geoserver.version 2>/dev/null) @@ -12,7 +12,7 @@ UPDATE_NIX_OLD_VERSION=${UPDATE_NIX_OLD_VERSION:-$LATEST_NIXPKGS_VERSION} LATEST_GITHUB_VERSION=$(curl -s "https://api.github.com/repos/geoserver/geoserver/releases/latest" | jq -r '.tag_name') UPDATE_NIX_NEW_VERSION=${UPDATE_NIX_NEW_VERSION:-$LATEST_GITHUB_VERSION} -SMALLEST_VERSION=$(printf "$UPDATE_NIX_OLD_VERSION\n$UPDATE_NIX_NEW_VERSION" | sort --version-sort | head -n 1) +SMALLEST_VERSION=$(printf "%s\n%s" "$UPDATE_NIX_OLD_VERSION" "$UPDATE_NIX_NEW_VERSION" | sort --version-sort | head -n 1) if [[ "$SMALLEST_VERSION" == "$UPDATE_NIX_NEW_VERSION" ]]; then echo "geoserver is up-to-date: $SMALLEST_VERSION" @@ -24,18 +24,18 @@ update-source-version geoserver "$UPDATE_NIX_NEW_VERSION" cd "$(dirname "$(readlink -f "$0")")" -EXT_NAMES=($(grep -o -E "hash = .*?; # .*$" ./extensions.nix | sed 's/.* # //' | sort)) +mapfile -t EXT_NAMES < <(grep -o -E "hash = .*?; # .*$" ./extensions.nix | sed 's/.* # //' | sort) -if [[ $# -gt 0 ]] ; then - EXT_NAMES=(${@:1}) +if [[ $# -gt 0 ]]; then + EXT_NAMES=("${@:1}") fi -for EXT_NAME in "${EXT_NAMES[@]}" ; do - echo "Updating extension $EXT_NAME..." - URL="mirror://sourceforge/geoserver/GeoServer/${UPDATE_NIX_NEW_VERSION}/extensions/geoserver-${UPDATE_NIX_NEW_VERSION}-${EXT_NAME}-plugin.zip" - HASH=$(nix-hash --to-sri --type sha256 $(nix-prefetch-url --unpack "$URL")) - sed -i "s@version = \".*\"; # $EXT_NAME@version = \"$UPDATE_NIX_NEW_VERSION\"; # $EXT_NAME@" ./extensions.nix - sed -i "s@hash = \".*\"; # $EXT_NAME@hash = \"$HASH\"; # $EXT_NAME@" ./extensions.nix +for EXT_NAME in "${EXT_NAMES[@]}"; do + echo "Updating extension $EXT_NAME..." + URL="mirror://sourceforge/geoserver/GeoServer/${UPDATE_NIX_NEW_VERSION}/extensions/geoserver-${UPDATE_NIX_NEW_VERSION}-${EXT_NAME}-plugin.zip" + HASH=$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --unpack "$URL")") + sed -i "s@version = \".*\"; # $EXT_NAME@version = \"$UPDATE_NIX_NEW_VERSION\"; # $EXT_NAME@" ./extensions.nix + sed -i "s@hash = \".*\"; # $EXT_NAME@hash = \"$HASH\"; # $EXT_NAME@" ./extensions.nix done cd -