diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2020-04-25 07:53:37 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2020-04-25 07:53:37 +0200 |
commit | bb10352242dceb863069797bb92131944b0ac62f (patch) | |
tree | d3f5ceea6723e3d6c901652146e41ffe45100c9b /pkgs/applications/virtualization/virtualbox/update.sh | |
parent | 7fb1ff90031c59cbc9ef79224516a74bc138c7a6 (diff) | |
parent | 5c70040db2dd2123f7728f1bdcd40d5018de0ef9 (diff) | |
download | nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar.gz nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar.bz2 nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar.lz nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar.xz nixlib-bb10352242dceb863069797bb92131944b0ac62f.tar.zst nixlib-bb10352242dceb863069797bb92131944b0ac62f.zip |
Merge staging-next into staging
Diffstat (limited to 'pkgs/applications/virtualization/virtualbox/update.sh')
-rwxr-xr-x | pkgs/applications/virtualization/virtualbox/update.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/virtualbox/update.sh b/pkgs/applications/virtualization/virtualbox/update.sh new file mode 100755 index 000000000000..fcd02ae8a27b --- /dev/null +++ b/pkgs/applications/virtualization/virtualbox/update.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts nix-prefetch-scripts jq + +set -xeuo pipefail + +nixpkgs="$(git rev-parse --show-toplevel)" + +attr=virtualbox +oldVersion="$(nix-instantiate --eval -E "with import $nixpkgs {}; $attr.version or (builtins.parseDrvName $attr.name).version" | tr -d '"')" +latestVersion="$(curl -sS https://download.virtualbox.org/virtualbox/LATEST.TXT)" + +function fileShaSum() { + echo "$1" | grep -w $2 | cut -f1 -d' ' +} +function oldHash() { + nix-instantiate --eval --strict -A "$1.drvAttrs.outputHash" | tr -d '"' +} +function nixFile() { + nix-instantiate --eval --strict -A "${1}.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/' +} + +if [ ! "$oldVersion" = "$latestVersion" ]; then + shaSums=$(curl -sS https://download.virtualbox.org/virtualbox/$latestVersion/SHA256SUMS) + + virtualBoxShaSum=$(fileShaSum "$shaSums" "VirtualBox-$latestVersion.tar.bz2") + extpackShaSum=$(fileShaSum "$shaSums" "Oracle_VM_VirtualBox_Extension_Pack-$latestVersion.vbox-extpack") + guestAdditionsShaSum=$(fileShaSum "$shaSums" "*VBoxGuestAdditions_$latestVersion.iso") + + virtualboxNixFile=$(nixFile ${attr}) + extpackNixFile=$(nixFile ${attr}Extpack) + guestAdditionsNixFile=$(nixFile linuxPackages.${attr}GuestAdditions) + + extpackOldShaSum=$(oldHash ${attr}Extpack) + guestAdditionsOldShaSum=$(oldHash linuxPackages.${attr}GuestAdditions.src) + + update-source-version $attr $latestVersion $virtualBoxShaSum + sed -i -e 's|value = "'$extpackOldShaSum'"|value = "'$extpackShaSum'"|' $extpackNixFile + sed -i -e 's|sha256 = "'$guestAdditionsOldShaSum'"|sha256 = "'$guestAdditionsShaSum'"|' $guestAdditionsNixFile + + git add $virtualboxNixFile $extpackNixFile $guestAdditionsNixFile + git commit -m "$attr: ${oldVersion} -> ${latestVersion}" +else + echo "$attr is already up-to-date" +fi |