diff options
Diffstat (limited to 'pkgs/by-name/ta/tails-iso/update.sh')
| -rwxr-xr-x | pkgs/by-name/ta/tails-iso/update.sh | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/pkgs/by-name/ta/tails-iso/update.sh b/pkgs/by-name/ta/tails-iso/update.sh index 10336449..3f31e7d2 100755 --- a/pkgs/by-name/ta/tails-iso/update.sh +++ b/pkgs/by-name/ta/tails-iso/update.sh @@ -2,6 +2,10 @@ set -e +root="$(git rev-parse --show-toplevel)" + +cd "$root/pkgs/by-name/ta/tails-iso/" + tmpHomePath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-url-XXXXXXXXXX")" cleanup() { chmod -R u+w "$tmpHomePath" @@ -43,22 +47,28 @@ get_sha256() { echo "$hash" } -old_version="$(jq .version --raw-output <./files.json)" new_version="$(curl --follow https://download.tails.net/tails/stable/ 2>/dev/null | html2text -links | grep --regexp='\s*[0-9]\. tails-amd64-' | sed 's/\s*[0-9]\. tails-amd64-\(.*\)\//\1/')" -if [ "$old_version" = "$new_version" ]; then - # No need to update. - exit 0 +# The `files.json` file might not be present, if a previous update failed. +if test -f ./files.json; then + old_version="$(jq .version --raw-output <./files.json)" + + if [ "$old_version" = "$new_version" ]; then + # No need to update. + exit 0 + fi fi final_version="amd64-$new_version" +iso_sig="$(get_sha256 "https://tails.net/torrents/files/tails-$final_version.iso.sig")" +iso="$(get_sha256 "https://download.tails.net/tails/stable/tails-$final_version/tails-$final_version.iso")" cat <<EOF | jq . | tee ./files.json { "version": "$new_version", "files": { - "iso.sig": "$(get_sha256 "https://tails.net/torrents/files/tails-$final_version.iso.sig")", - "iso": "$(get_sha256 "https://download.tails.net/tails/stable/tails-$final_version/tails-$final_version.iso")" + "iso.sig": "$iso_sig", + "iso": "$iso" } } EOF |
