]> TLD Linux GIT Repositories - packages/rpm-build-tools.git/commitdiff
- update .distbcond before processing master
authorMarcin Krol <hawk@tld-linux.org>
Wed, 1 May 2024 11:28:52 +0000 (13:28 +0200)
committerMarcin Krol <hawk@tld-linux.org>
Wed, 1 May 2024 11:28:52 +0000 (13:28 +0200)
builder.sh

index a6eb3d72279dc333a5ca7eff96c3ce7e5fd2e645..b022e1f062c7d1d98c133c620336f424647acae1 100755 (executable)
@@ -121,8 +121,11 @@ PARALLEL_DOWNLOADS=10
 
 WGET_RETRIES=${MAX_WGET_RETRIES:-0}
 
+# .distbcond URL
+DISTBCOND_URL="https://src.tld-linux.org/.distbcond"
+
 # rsync repository with git refs of packages
-PKGREVS_URL="http://pkgrevs.tld-linux.org"
+PKGREVS_URL="https://pkgrevs.tld-linux.org"
 PKGREVS_PREFIX="tld/"
 SETPKGREV="false"
 
@@ -920,6 +923,9 @@ Exit_error() {
                "err_pkgrev_get" )
                        echo >&2 "Error: failed to get package revision for tag ${2}"
                        exit 16 ;;
+               "err_distbcond_update" )
+                       echo >&2 "Error: failed to update .distbcond"
+                       exit 17 ;;
                "err_not_implemented" )
                        remove_build_requires
                        echo >&2 "Error: functionality not yet imlemented"
@@ -1807,17 +1813,23 @@ process_distbcond() {
        # w32codec-installer license_agreement
        # php +mysqli
        # ---
-       if [ -f $HOME/.distbcond ] || ([ -n $HOME_ETC ] && [ -f $HOME_ETC/.distbcond ]); then
-               :
-       else
-               return
+
+       local distbcond=$HOME/.distbcond
+
+       echo "Updating .distbcond"
+       wget -q --no-check-certificate $DISTBCOND_URL -O "$distbcond"
+       if [ $? -ne 0 ]; then
+               Exit_error err_distbcond_update
+       fi
+       DISTBCOND_MD5=$(grep -E "^# MD5 " "$distbcond" | cut -d ' ' -f 3)
+       DISTBCOND_MD5_LOCAL=$(grep -v -E "^#" "$distbcond" | md5sum | cut -d ' ' -f 1)
+       if [ "$DISTBCOND_MD5" != "$DISTBCOND_MD5_LOCAL" ]; then
+               rm -f "$distbcond"
+               Exit_error err_distbcond_update
        fi
 
        SN=${SPECFILE%%\.spec}
 
-       local distbcond=$HOME/.distbcond
-       [ -n $HOME_ETC ] && [ -f $HOME_ETC/.distbcond ] && distbcond=$HOME_ETC/.distbcond
-
        local bcond_avail=$(find_spec_bcond $SPECFILE)
 
        while read pkg flags; do