]> 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
fetchsrc_request.sh

index 587d275c9ba413f0770529a01c0d846a1c6613c0..b022e1f062c7d1d98c133c620336f424647acae1 100755 (executable)
@@ -121,8 +121,11 @@ PARALLEL_DOWNLOADS=10
 
 WGET_RETRIES=${MAX_WGET_RETRIES:-0}
 
 
 WGET_RETRIES=${MAX_WGET_RETRIES:-0}
 
+# .distbcond URL
+DISTBCOND_URL="https://src.tld-linux.org/.distbcond"
+
 # rsync repository with git refs of packages
 # 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"
 
 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_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"
                "err_not_implemented" )
                        remove_build_requires
                        echo >&2 "Error: functionality not yet imlemented"
@@ -1688,7 +1694,7 @@ build_package() {
        local specdir=$(insert_gitlog $SPECFILE)
        ulimit -c unlimited
        # If required exclude directories with systemd related files from package contents
        local specdir=$(insert_gitlog $SPECFILE)
        ulimit -c unlimited
        # If required exclude directories with systemd related files from package contents
-       if grep -q -E '(lib/(systemd|tmpfiles.d)|systemd(unitdir|userunitdir|tmpfilesdir))' $specdir/$SPECFILE; then
+       if grep -q -E '(lib/(systemd|binfmt.d|sysctl.d|sysusers.d|tmpfiles.d)|systemd(unitdir|userunitdir|tmpfilesdir))' $specdir/$SPECFILE; then
                sed -i -e '/^%exclude_systemd_files/d; /^%files/s/$/\n%exclude_systemd_files/g;' $specdir/$SPECFILE
        fi
        # Enable/disable distro wide bconds based on ~/.distbcond
                sed -i -e '/^%exclude_systemd_files/d; /^%files/s/$/\n%exclude_systemd_files/g;' $specdir/$SPECFILE
        fi
        # Enable/disable distro wide bconds based on ~/.distbcond
@@ -1807,17 +1813,23 @@ process_distbcond() {
        # w32codec-installer license_agreement
        # php +mysqli
        # ---
        # 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}
 
        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
        local bcond_avail=$(find_spec_bcond $SPECFILE)
 
        while read pkg flags; do
index 8d3e5e23dd0753d9bc2c7da86ea8d71d285670a6..21296361cc1e47384f01f0cbaa82565f388970a5 100755 (executable)
@@ -1,41 +1,15 @@
 #!/bin/sh
 #!/bin/sh
-# $Id$
-#
-# Sending by
-MAILER='/usr/sbin/sendmail'
-# MAILER='/usr/bin/msmtp'
-# Sending via
-VIA="SENDMAIL"
-#VIA="localhost"
-VIA_ARGS=""
-#VIA_ARGS="some additional flags"
-# e.g. for msmtp:
-# VIA_ARGS='-a gmail'
-#
-# DISTFILES EMAIL
-DMAIL="df@tld-linux.org"
-#
-# CVS LOGIN or fill it by hand :)
+
+# GIT LOGIN or fill it by hand :)
 tmp=$(git config user.email)
 tmp=$(git config user.email)
-LOGIN=${tmp%@*}
-#LOGIN="djrzulf"
-#
-# HOST
-HOST=`hostname -f`
-#HOST="knycz.net"
-#
-# functions
+#LOGIN=${tmp%@*}
+LOGIN="hawk"
+#HOST=`hostname -f`
+HOST="src.tld-linux.org"
 
 
-usage()
-{
+if [ "$#" = 0 ]; then
        echo "Usage: fetchsrc_request file.spec [BRANCH]"
        echo
        echo "Usage: fetchsrc_request file.spec [BRANCH]"
        echo
-}
-
-#------------------
-# main()
-if [ "$#" = 0 ]; then
-       usage
        exit 1
 fi
 if [ "$2" != "" ]; then
        exit 1
 fi
 if [ "$2" != "" ]; then
@@ -49,37 +23,5 @@ fi
 SPEC="$(basename $1)"
 SPEC=${SPEC%.spec}
 
 SPEC="$(basename $1)"
 SPEC=${SPEC%.spec}
 
-if [ "$VIA" = "SENDMAIL" ]; then
-       echo >&2 "Requesting $SPEC:$BRANCH via $MAILER ${VIA_ARGS:+ ($VIA_ARGS)}"
-       cat <<EOF | "$MAILER" -t -i $VIA_ARGS
-To: $DMAIL
-From: $LOGIN <$LOGIN@$HOST>
-Subject: fetchsrc_request notify
-X-distfiles-request: yes
-X-Login: $LOGIN
-X-Package: $SPEC
-X-Branch: $BRANCH
-X-Flags: force-reply
-
-.
-EOF
-else
-       echo >&2 "Requesting $SPEC:$BRANCH via SMTP ($VIA:25)"
-       cat <<EOF | /usr/bin/nc $VIA 25 > /dev/null
-EHLO $HOST
-MAIL FROM: $LOGIN <$LOGIN@$HOST>
-RCPT TO: $DMAIL
-DATA
-To: $DMAIL
-Subject: fetchsrc_request notify
-X-distfiles-request: yes
-X-Login: $LOGIN
-X-Package: $SPEC
-X-Branch: $BRANCH
-X-Flags: force-reply
-
-.
-QUIT
-EOF
-fi
-
+echo >&2 "Requesting $SPEC:$BRANCH"
+curl -d "type=fetchsrc&from=$LOGIN&spec=$SPEC&branch=$BRANCH&flags=force-reply" -H "Content-Type: application/x-www-form-urlencoded" -X POST https://df.tld-linux.org/api/ >&2