From 4caee5e3808bb98d4b1b73ec334e914b2e834451 Mon Sep 17 00:00:00 2001 From: Mogeko Date: Mon, 15 Jul 2024 14:57:03 +0800 Subject: [PATCH] rke2: set the correct working directory for the update script --- .../networking/cluster/rke2/update-script.sh | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/networking/cluster/rke2/update-script.sh b/pkgs/applications/networking/cluster/rke2/update-script.sh index 608f49bb6490..029933b8f802 100755 --- a/pkgs/applications/networking/cluster/rke2/update-script.sh +++ b/pkgs/applications/networking/cluster/rke2/update-script.sh @@ -5,7 +5,9 @@ set -x -eu -o pipefail CHANNEL_NAME="${1:?Must provide a release channel, like 'stable', as the only argument}" -mkdir --parents --verbose ./${CHANNEL_NAME} +WORKDIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd -P) + +mkdir --parents --verbose "${WORKDIR}/${CHANNEL_NAME}" LATEST_TAG_NAME=$(curl --silent --fail https://update.rke2.io/v1-release/channels | \ yq eval ".data[] | select(.id == \"${CHANNEL_NAME}\").latest" - | \ @@ -35,9 +37,9 @@ KUBERNETES_EOL=$(curl --silent --fail \ https://endoflife.date/api/kubernetes/${KUBERNETES_CYCLES}.json | \ yq eval ".eol" -) -FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" -cat > ./${CHANNEL_NAME}/versions.nix << EOF +cat << EOF > "${WORKDIR}/${CHANNEL_NAME}/versions.nix" { rke2Version = "${RKE2_VERSION}"; rke2RepoSha256 = "${RKE2_REPO_SHA256}"; @@ -54,15 +56,13 @@ cat > ./${CHANNEL_NAME}/versions.nix << EOF } EOF -NIXPKGS_ROOT=$(git rev-parse --show-toplevel) - set +e -RKE2_VENDOR_HASH=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} \ - "{ sha256 }: (import ${NIXPKGS_ROOT}/. {}).rke2_${CHANNEL_NAME}.goModules.overrideAttrs (_: { vendorHash = sha256; })") +RKE2_VENDOR_HASH=$(nix-prefetch -I nixpkgs=$(git rev-parse --show-toplevel) \ + "{ sha256 }: rke2_${CHANNEL_NAME}.goModules.overrideAttrs (_: { vendorHash = sha256; })") set -e if [ -n "${RKE2_VENDOR_HASH:-}" ]; then - sed -i "s#${FAKE_HASH}#${RKE2_VENDOR_HASH}#g" ./${CHANNEL_NAME}/versions.nix + sed -i "s#${FAKE_HASH}#${RKE2_VENDOR_HASH}#g" ${WORKDIR}/${CHANNEL_NAME}/versions.nix else echo "Update failed. 'RKE2_VENDOR_HASH' is empty." exit 1 @@ -70,17 +70,15 @@ fi # Implement commit # See: https://nixos.org/manual/nixpkgs/stable/#var-passthru-updateScript-commit -OLD_VERSION=$(nix-instantiate --eval -E \ - "with import ${NIXPKGS_ROOT}/. {}; rke2.version or (builtins.parseDrvName rke2.name).version" | \ - tr -d '"') - cat << EOF -[{ - "attrPath": "rke2_${CHANNEL_NAME}", - "oldVersion": "${OLD_VERSION}", - "newVersion": "${RKE2_VERSION}", - "files": [ - "${PWD}/${CHANNEL_NAME}/versions.nix" - ] -}] +[ + { + "attrPath": "rke2_${CHANNEL_NAME}", + "oldVersion": "${UPDATE_NIX_OLD_VERSION}", + "newVersion": "${RKE2_VERSION}", + "files": [ + "${WORKDIR}/${CHANNEL_NAME}/versions.nix" + ] + } +] EOF