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"
"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"
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
# 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