20878: Improve RPM download logic
authorBrett Smith <brett.smith@curii.com>
Thu, 17 Aug 2023 22:27:12 +0000 (18:27 -0400)
committerBrett Smith <brett.smith@curii.com>
Thu, 17 Aug 2023 22:31:17 +0000 (18:31 -0400)
Instead of downloading and parsing a package file listing, just try to
download the package directly, and check whether that succeeds.

Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>

build/run-library.sh

index 57fa49cf74e580d752702ed37660b7c12a2efb94..6d5d0b6535aa13c24fa699531f445e380cb906a4 100755 (executable)
@@ -463,13 +463,10 @@ test_package_presence() {
           return 0
           ;;
       esac
-      local centos_repo="http://rpm.arvados.org/$rpm_root/$arch/"
+      local rpm_url="http://rpm.arvados.org/$rpm_root/$arch/$full_pkgname"
 
-      repo_pkg_list=$(curl -s -o - ${centos_repo})
-      echo ${repo_pkg_list} |grep -q ${full_pkgname}
-      if [ $? -eq 0 ]; then
+      if curl -fs -o "$WORKSPACE/packages/$TARGET/$full_pkgname" "$rpm_url"; then
         echo "Package $full_pkgname exists upstream, not rebuilding, downloading instead!"
-        curl -s -o "$WORKSPACE/packages/$TARGET/${full_pkgname}" ${centos_repo}${full_pkgname}
         return 1
       elif test -f "$WORKSPACE/packages/$TARGET/processed/${full_pkgname}" ; then
         echo "Package $full_pkgname exists, not rebuilding!"