From e4a0953ac70143f12ce192cda31711455d010743 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Jan 2020 21:58:48 +0100 Subject: [PATCH] common-updater-scripts: move destructive changes further in the script We can check some things before the modifications take place. --- .../scripts/update-source-version | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version index f152877e098..7fb5e413a26 100755 --- a/pkgs/common-updater/scripts/update-source-version +++ b/pkgs/common-updater/scripts/update-source-version @@ -117,21 +117,6 @@ else die "Couldn't figure out where out where to patch in new version in '$attr'!" fi -# Replace new version -sed -i.bak "$nixFile" -re "$pattern" -if cmp -s "$nixFile" "$nixFile.bak"; then - die "Failed to replace version '$oldVersion' to '$newVersion' in '$attr'!" -fi - -# Replace new URL -if [[ -n "$newUrl" ]]; then - sed -i "$nixFile" -re "s|\"$oldUrlEscaped\"|\"$newUrl\"|" - - if cmp -s "$nixFile" "$nixFile.bak"; then - die "Failed to replace source URL '$oldUrl' to '$newUrl' in '$attr'!" - fi -fi - if [[ "$oldHash" =~ ^(sha256|sha512)[:-] ]]; then # Handle the possible SRI-style hash attribute (in the form ${type}${separator}${hash}) # True SRI uses dash as a separator and only supports base64, whereas Nix’s SRI-style format uses a colon and supports all the same encodings like regular hashes (16/32/64). @@ -159,6 +144,21 @@ if [[ -n "$sri" ]]; then tempHash="$(nix to-sri --type "$oldHashAlgo" "$tempHash")" fi +# Replace new version +sed -i.bak "$nixFile" -re "$pattern" +if cmp -s "$nixFile" "$nixFile.bak"; then + die "Failed to replace version '$oldVersion' to '$newVersion' in '$attr'!" +fi + +# Replace new URL +if [[ -n "$newUrl" ]]; then + sed -i "$nixFile" -re "s|\"$oldUrlEscaped\"|\"$newUrl\"|" + + if cmp -s "$nixFile" "$nixFile.bak"; then + die "Failed to replace source URL '$oldUrl' to '$newUrl' in '$attr'!" + fi +fi + sed -i "$nixFile" -re "s|\"$oldHash\"|\"$tempHash\"|" if cmp -s "$nixFile" "$nixFile.bak"; then die "Failed to replace source hash of '$attr' to a temporary hash!"