diff --git a/scripts/fetch-latest-wireguard.sh b/scripts/fetch-latest-wireguard.sh index 4b00f4304e00..dd6ed4db3ce8 100755 --- a/scripts/fetch-latest-wireguard.sh +++ b/scripts/fetch-latest-wireguard.sh @@ -1,21 +1,28 @@ #!/bin/bash set -e -USER_AGENT="WireGuard-AndroidROMBuild/0.1 ($(uname -a))" +USER_AGENT="WireGuard-AndroidROMBuild/0.2 ($(uname -a))" exec 9>.wireguard-fetch-lock flock -n 9 || exit 0 [[ $(( $(date +%s) - $(stat -c %Y "net/wireguard/.check" 2>/dev/null || echo 0) )) -gt 86400 ]] || exit 0 -[[ $(curl -A "$USER_AGENT" -LSs https://git.zx2c4.com/WireGuard/refs/) =~ snapshot/WireGuard-([0-9.]+)\.tar\.xz ]] +while read -r distro package version _; do + if [[ $distro == upstream && $package == kmodtools ]]; then + VERSION="$version" + break + fi +done < <(curl -A "$USER_AGENT" -LSs https://build.wireguard.com/distros.txt) -if [[ -f net/wireguard/version.h && $(< net/wireguard/version.h) == *${BASH_REMATCH[1]}* ]]; then +[[ -n $VERSION ]] + +if [[ -f net/wireguard/version.h && $(< net/wireguard/version.h) == *$VERSION* ]]; then touch net/wireguard/.check exit 0 fi rm -rf net/wireguard mkdir -p net/wireguard -curl -A "$USER_AGENT" -LsS "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${BASH_REMATCH[1]}.tar.xz" | tar -C "net/wireguard" -xJf - --strip-components=2 "WireGuard-${BASH_REMATCH[1]}/src" +curl -A "$USER_AGENT" -LsS "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-$VERSION.tar.xz" | tar -C "net/wireguard" -xJf - --strip-components=2 "WireGuard-$VERSION/src" sed -i 's/tristate/bool/;s/default m/default y/;' net/wireguard/Kconfig touch net/wireguard/.check