From def0fdbebb33fcd5c51a78f687779abde1e7db20 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 21 Apr 2020 10:37:10 +0200 Subject: checkVersions: *really* repair sourceforge --- checkVersions | 104 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 42 deletions(-) (limited to 'checkVersions') diff --git a/checkVersions b/checkVersions index 4b286dab..82c1b6cc 100755 --- a/checkVersions +++ b/checkVersions @@ -87,6 +87,26 @@ latest_version() { | tail -n1 } +extract_sourceforge_file_list() { + local verzeichnis + verzeichnis="$1" + curl_it "${verzeichnis}" \ + | sed -n ' + /^\s*\s*$/,/^\s*<\/table>\s*$/p + ' \ + | sed -n ' + /^\s*\s*$/,/^\s*<\/tbody>\s*$/p + ' \ + | sed -n ' + /^\s*
/ p + ' \ + | sed ' + s@^.*]*-devel/@,\@@ d - ' - fi | \ - sed -n ' - \@]* href="[^"<>]*/latest/download"@,\@@ { - s@^.*\(\('"${pkgname}"'\|'"${_pkgname}"'\)\([-.]\|%20\)\)\?\([0-9.]\+\)\(\.tar\.\([xgl]z\|bz2\)\|\.zip\|-win-dist\.msi\)\( [^<>]*\)\?.*$@0 \4@ - T - p - } - s@^.*"'"${quVer#*sourceforge.net}"'\('"${pkgname}"'\([-.]\|%20\)\)\?\([0-9.-]\+[^"/%]*\)["/%].*$@2 \3@ - T - p - ' | \ - sed ' - s/-$// - s/\.$// - ' | \ - if [ "${pkgname}" = 'qwt5' ]; then - grep '^\S\+ 5\.' - else - cat - fi | \ - sort -k1n,1 | \ - sed ' - /^0/ a 1 cut - ' | \ - sort -k1n,1 | \ - sed ' - /^1 cut$/ q - ' | \ - sed ' - /^1 cut$/ d - s/^\S\+ // - ' | \ - latest_version - ) + for ver in $( + extract_sourceforge_file_list "${quVer}" \ + | sed ' + s@/$@@ + t + d + ' \ + | sed ' + s@^\(\('"${pkgname}"'\|'"${_pkgname}"'\)\([-.]\|%20\)\)\(.*\)@\0 \4@ + t + s@^.*$@\0 \0@ + ' \ + | sort -k2Vr,2 \ + | if [ "${pkgname}" = 'qwt5' ]; then + grep ' 5' + else + cat + fi \ + | cut -d' ' -f1 + ); do \ + remVer=$( \ + extract_sourceforge_file_list "${quVer}${ver}/" \ + | sed ' + s@/download$@@ + t + d + ' \ + | sed ' + s@^\(\('"${pkgname}"'\|'"${_pkgname}"'\)\([-.]\|%20\|\)\)\?\([0-9.][-0-9.]*\)\(\.tar\.\([xgl]z\|bz2\)\|\.tgz\|\.zip\|-win-dist\.msi\)$@\4@ + t + d + ' \ + | tr '-' '.' \ + | latest_version + ) + if [ -n "${remVer}" ]; then + break + fi + done elif echo "${src}" | \ grep -q '//support\.hdfgroup\.org/' then -- cgit v1.2.3-54-g00ecf