Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F131695462
D5997.id15314.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
23 KB
Referenced Files
None
Subscribers
None
D5997.id15314.diff
View Options
Index: Mk/Scripts/check-vulnerable.sh
===================================================================
--- /dev/null
+++ Mk/Scripts/check-vulnerable.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_ECHO_MSG dp_PKG_BIN dp_PORTNAME
+
+set -u
+
+# If the package is pkg, disable these checks, it fails while
+# upgrading when pkg is not there.
+# FIXME: check is this is still true
+if [ "${dp_PORTNAME}" = "pkg" ]; then
+ exit 0
+fi
+
+if [ -x "${dp_PKG_BIN}" ]; then
+ vlist=$(${dp_PKG_BIN} audit "${dp_PKGNAME}" || :)
+ if [ "${vlist}" = "0 problem(s) in the installed packages found." ]; then
+ vlist=""
+ fi
+fi
+
+if [ -n "$vlist" ]; then
+ ${dp_ECHO_MSG} "===> ${dp_PKGNAME} has known vulnerabilities:"
+ ${dp_ECHO_MSG} "$vlist"
+ ${dp_ECHO_MSG} "=> Please update your ports tree and try again."
+ ${dp_ECHO_MSG} "=> Note: Vulnerable ports are marked as such even if there is no update available."
+ ${dp_ECHO_MSG} "=> If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'"
+ exit 1
+fi
Index: Mk/Scripts/do-fetch.sh
===================================================================
--- /dev/null
+++ Mk/Scripts/do-fetch.sh
@@ -0,0 +1,142 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_DISABLE_SIZE dp_DISTDIR dp_DISTINFO_FILE dp_DIST_SUBDIR \
+ dp_ECHO_MSG dp_FETCH_AFTER_ARGS dp_FETCH_BEFORE_ARGS dp_FETCH_CMD \
+ dp_FETCH_ENV dp_FORCE_FETCH_ALL dp_FORCE_FETCH_LIST \
+ dp_MASTER_SITE_BACKUP dp_MASTER_SITE_OVERRIDE dp_MASTER_SORT_AWK \
+ dp_NO_CHECKSUM dp_RANDOMIZE_SITES dp_SCRIPTSDIR \
+ dp_SORTED_MASTER_SITES_DEFAULT_CMD dp_TARGET
+
+set -u
+
+mkdir -p "${dp_DISTDIR}"
+cd "${dp_DISTDIR}"
+
+for _file in "${@}"; do
+ file=${_file%%:*}
+
+ # If this files has groups
+ if [ "$_file" = "$file" ]; then
+ select=''
+ else
+ select=$(echo "${_file##*:}" | sed -e 's/,/ /g')
+ fi
+
+ filebasename=${file##*/}
+ if [ -n "${dp_FORCE_FETCH_ALL}" ]; then
+ force_fetch=true
+ else
+ force_fetch=false
+ for afile in ${dp_FORCE_FETCH_LIST}; do
+ afile=${afile##*/}
+ if [ "x$afile" = "x$filebasename" ]; then
+ force_fetch=true
+ fi
+ done
+ fi
+ if [ ! -f "$file" -a ! -f "$filebasename" -o "$force_fetch" = "true" ]; then
+ if [ -L "$file" -o -L "$filebasename" ]; then
+ ${dp_ECHO_MSG} "=> ${dp_DISTDIR}/$file is a broken symlink."
+ ${dp_ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"
+ ${dp_ECHO_MSG} "=> Please correct this problem and try again."
+ exit 1
+ fi
+ if [ -f "${dp_DISTINFO_FILE}" -a -z "${dp_NO_CHECKSUM}" ]; then
+ _sha256sum=$(distinfo_data SHA256 "${file}")
+ if [ -z "$_sha256sum" ]; then
+ ${dp_ECHO_MSG} "=> ${DIR:+$DIR/}$file is not in ${dp_DISTINFO_FILE}."
+ ${dp_ECHO_MSG} "=> Either ${dp_DISTINFO_FILE} is out of date, or"
+ ${dp_ECHO_MSG} "=> ${DIR:+$DIR/}$file is spelled incorrectly."
+ exit 1
+ fi
+ fi
+ case ${dp_TARGET} in
+ do-fetch)
+ ${dp_ECHO_MSG} "=> $file doesn't seem to exist in ${dp_DISTDIR}."
+ ;;
+ esac
+ if [ ! -w "${dp_DISTDIR}" ]; then
+ ${dp_ECHO_MSG} "=> ${dp_DISTDIR} is not writable by you; cannot fetch."
+ exit 1
+ fi
+ if [ -n "$select" ] ; then
+ __MASTER_SITES_TMP=
+ for group in $select; do
+ eval ___MASTER_SITES_TMP="\${_MASTER_SITES_${group}}"
+ if [ -n "${___MASTER_SITES_TMP}" ] ; then
+ __MASTER_SITES_TMP="${__MASTER_SITES_TMP} ${___MASTER_SITES_TMP}"
+ fi
+ done
+ ___MASTER_SITES_TMP=
+ SORTED_MASTER_SITES_CMD_TMP="echo ${dp_MASTER_SITE_OVERRIDE} $(echo -n "${__MASTER_SITES_TMP}" | awk "${dp_MASTER_SORT_AWK}") ${dp_MASTER_SITE_BACKUP}"
+ else
+ SORTED_MASTER_SITES_CMD_TMP="${dp_SORTED_MASTER_SITES_DEFAULT_CMD}"
+ fi
+ case ${dp_TARGET} in
+ fetch-list)
+ echo -n "mkdir -p ${dp_DISTDIR} && "
+ echo -n "cd ${dp_DISTDIR} && { "
+ ;;
+ esac
+ sites_remaining=0
+ sites="$(eval "${SORTED_MASTER_SITES_CMD_TMP} ${dp_RANDOMIZE_SITES}")"
+ for site in ${sites}; do
+ sites_remaining=$((sites_remaining + 1))
+ done
+ for site in ${sites}; do
+ sites_remaining=$((sites_remaining - 1))
+ CKSIZE=$(distinfo_data SIZE "${file}")
+ case ${file} in
+ */*)
+ mkdir -p "${file%/*}"
+ args="-o ${file} ${site}${file}"
+ ;;
+ *)
+ args=${site}${file}
+ ;;
+ esac
+ _fetch_cmd=$(eval "echo ${dp_FETCH_ENV} ${dp_FETCH_CMD} ${dp_FETCH_BEFORE_ARGS} \\\"${args}\\\" ${dp_FETCH_AFTER_ARGS}")
+ case ${dp_TARGET} in
+ do-fetch)
+ ${dp_ECHO_MSG} "=> Attempting to fetch ${site}${file}"
+ if eval "env ${_fetch_cmd}"; then
+ actual_size=$(stat -f %z "${file}")
+ if [ -n "${dp_DISABLE_SIZE}" ] || [ -z "${CKSIZE}" ] || [ "${actual_size}" -eq "${CKSIZE}" ]; then
+ continue 2
+ else
+ ${dp_ECHO_MSG} "=> Fetched file size mismatch (expected ${CKSIZE}, actual ${actual_size})"
+ if [ ${sites_remaining} -gt 0 ]; then
+ ${dp_ECHO_MSG} "=> Trying next site"
+ rm -f "${file}"
+ fi
+ fi
+ fi
+ ;;
+ fetch-list)
+ echo -n "env ${_fetch_cmd} || "
+ ;;
+ fetch-url-list-int)
+ echo "${args}"
+ ;;
+ esac
+ done
+ case ${dp_TARGET} in
+ do-fetch)
+ ${dp_ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this"
+ ${dp_ECHO_MSG} "=> port manually into ${dp_DISTDIR} and try again."
+ exit 1
+ ;;
+ fetch-list)
+ echo "echo ${file} not fetched; }" ; \
+ ;;
+ esac
+ fi
+done
+
Index: Mk/Scripts/functions.sh
===================================================================
--- Mk/Scripts/functions.sh
+++ Mk/Scripts/functions.sh
@@ -216,3 +216,17 @@
fi
done
}
+
+# Keep in sync with DISTINFO_DATA in Mk/bsd.port.mk
+distinfo_data() {
+ local alg file
+
+ alg=$1
+ file=$2
+
+ if [ \( -n "${dp_DISABLE_SIZE}" -a -n "${dp_NO_CHECKSUM}" \) -o ! -f "${dp_DISTINFO_FILE}" ]; then
+ exit
+ fi
+ awk -v alg="$alg" -v file="${dp_DIST_SUBDIR:+${dp_DIST_SUBDIR}/}${file}" \
+ '$1 == alg && $2 == "(" file ")" {print $4}' "${dp_DISTINFO_FILE}"
+}
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -3037,194 +3037,99 @@
AUDITFILE?= ${PKG_DBDIR}/vuln.xml
check-vulnerable:
-.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING)
- @if [ -f "${AUDITFILE}" ]; then \
- if [ -x "${PKG_BIN}" ]; then \
- vlist=`${PKG_BIN} audit "${PKGNAME}" || :`; \
- if [ "$${vlist}" = "0 problem(s) in the installed packages found." ]; then \
- vlist=""; \
- fi; \
- elif [ "${PORTNAME}" = "pkg" ]; then \
- vlist=""; \
- fi; \
- if [ -n "$$vlist" ]; then \
- ${ECHO_MSG} "===> ${PKGNAME} has known vulnerabilities:"; \
- ${ECHO_MSG} "$$vlist"; \
- ${ECHO_MSG} "=> Please update your ports tree and try again."; \
- ${ECHO_MSG} "=> Note: Vulnerable ports are marked as such even if there is no update available."; \
- ${ECHO_MSG} "=> If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'"; \
- exit 1; \
- fi; \
- fi
+.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) \
+ && exists(${AUDITFILE})
+ @${SETENV} \
+ dp_ECHO_MSG="${ECHO_MSG}" \
+ dp_PKG_BIN="${PKG_BIN}" \
+ dp_PORTNAME="${PORTNAME}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ ${SH} ${SCRIPTSDIR}/check-vulnerable.sh
.endif
# set alg to any of SIZE, SHA256 (or any other checksum algorithm):
+# XXX: until all occurences here are gone, keep in sync with the distinfo_data
+# function in Mk/Scripts/functions.sh
DISTINFO_DATA?= if [ \( -n "${DISABLE_SIZE}" -a -n "${NO_CHECKSUM}" \) -o ! -f "${DISTINFO_FILE}" ]; then exit; fi; \
DIR=${DIST_SUBDIR}; ${AWK} -v alg=$$alg -v file=$${DIR:+$$DIR/}$${file} \
'$$1 == alg && $$2 == "(" file ")" {print $$4}' ${DISTINFO_FILE}
+_DO_FETCH_ENV= \
+ dp_DISABLE_SIZE='${DISABLE_SIZE}' \
+ dp_DISTDIR='${_DISTDIR}' \
+ dp_DISTINFO_FILE='${DISTINFO_FILE}' \
+ dp_DIST_SUBDIR='${DIST_SUBDIR}' \
+ dp_ECHO_MSG='${ECHO_MSG}' \
+ dp_FETCH_AFTER_ARGS='${FETCH_AFTER_ARGS}' \
+ dp_FETCH_BEFORE_ARGS='${FETCH_BEFORE_ARGS}' \
+ dp_FETCH_CMD='${FETCH_CMD}' \
+ dp_FETCH_ENV='${FETCH_ENV}' \
+ dp_FORCE_FETCH_ALL='${FORCE_FETCH_ALL}' \
+ dp_FORCE_FETCH_LIST='${FORCE_FETCH_LIST}' \
+ dp_MASTER_SITE_BACKUP='${_MASTER_SITE_BACKUP}' \
+ dp_MASTER_SITE_OVERRIDE='${_MASTER_SITE_OVERRIDE}' \
+ dp_MASTER_SORT_AWK='${MASTER_SORT_AWK}' \
+ dp_NO_CHECKSUM='${NO_CHECKSUM}' \
+ dp_RANDOMIZE_SITES='${_RANDOMIZE_SITES}' \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ dp_SORTED_MASTER_SITES_DEFAULT_CMD='${SORTED_MASTER_SITES_DEFAULT_CMD}' \
+ dp_TARGET='${.TARGET}'
+
# Fetch
.if !target(do-fetch)
do-fetch:
- @${MKDIR} ${_DISTDIR}
- @cd ${_DISTDIR};\
- ${_MASTER_SITES_ENV} ; \
- for _file in ${DISTFILES}; do \
- file=$${_file%%:*}; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- force_fetch=false; \
- filebasename=$${file##*/}; \
- for afile in ${FORCE_FETCH}; do \
- afile=$${afile##*/}; \
- if [ "x$$afile" = "x$$filebasename" ]; then \
- force_fetch=true; \
- fi; \
- done; \
- if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \
- if [ -L $$file -o -L $$filebasename ]; then \
- ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \
- ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \
- ${ECHO_MSG} "=> Please correct this problem and try again."; \
- exit 1; \
- fi; \
- if [ -f ${DISTINFO_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \
- _sha256sum=`alg=SHA256; ${DISTINFO_DATA}`; \
- if [ -z "$$_sha256sum" ]; then \
- ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is not in ${DISTINFO_FILE}."; \
- ${ECHO_MSG} "=> Either ${DISTINFO_FILE} is out of date, or"; \
- ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \
- exit 1; \
- fi; \
- fi; \
- ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \
- if [ ! -w ${_DISTDIR} ]; then \
- ${ECHO_MSG} "=> ${_DISTDIR} is not writable by you; cannot fetch."; \
- exit 1; \
- fi; \
- if [ ! -z "$$select" ] ; then \
- __MASTER_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \
- eval ___MASTER_SITES_TMP="\$${_MASTER_SITES_$${group}}" ; \
- __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \
- fi; \
- done; \
- ___MASTER_SITES_TMP= ; \
- SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \
- fi; \
- sites_remaining=0; \
- sites="`eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`"; \
- for site in $${sites}; do \
- sites_remaining=$$(($${sites_remaining} + 1)); \
- done; \
- for site in $${sites}; do \
- sites_remaining=$$(($${sites_remaining} - 1)); \
- ${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \
- CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \
- case $${file} in \
- */*) ${MKDIR} $${file%/*}; \
- args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \
- actual_size=`stat -f %z "$${file}"`; \
- if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \
- continue 2; \
- else \
- ${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \
- if [ $${sites_remaining} -gt 0 ]; then \
- ${ECHO_MSG} "=> Trying next site"; \
- ${RM} -f $${file}; \
- fi; \
- fi; \
- fi; \
- done; \
- ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\
- ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \
- exit 1; \
- fi; \
- done
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
.if defined(PATCHFILES)
- @cd ${_DISTDIR};\
- ${_PATCH_SITES_ENV} ; \
- for _file in ${PATCHFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \
- force_fetch=false; \
- filebasename=$${file##*/}; \
- for afile in ${FORCE_FETCH}; do \
- afile=$${afile##*/}; \
- if [ "x$$afile" = "x$$filebasename" ]; then \
- force_fetch=true; \
- fi; \
- done; \
- if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \
- if [ -L $$file -o -L $${file##*/} ]; then \
- ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \
- ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \
- ${ECHO_MSG} "=> Please correct this problem and try again."; \
- exit 1; \
- fi; \
- ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \
- if [ ! -z "$$select" ] ; then \
- __PATCH_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \
- eval ___PATCH_SITES_TMP="\$${_PATCH_SITES_$${group}}" ; \
- __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \
- fi; \
- done; \
- ___PATCH_SITES_TMP= ; \
- SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
- fi; \
- sites_remaining=0; \
- sites="`eval $$SORTED_PATCH_SITES_CMD_TMP`"; \
- for site in $${sites}; do \
- sites_remaining=$$(($${sites_remaining} + 1)); \
- done; \
- for site in $${sites}; do \
- sites_remaining=$$(($${sites_remaining} - 1)); \
- ${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \
- CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \
- case $${file} in \
- */*) ${MKDIR} $${file%/*}; \
- args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \
- actual_size=`stat -f %z "$${file}"`; \
- if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \
- continue 2; \
- else \
- ${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \
- if [ $${sites_remaining} -gt 1 ]; then \
- ${ECHO_MSG} "=> Trying next site"; \
- ${RM} -f $${file}; \
- fi; \
- fi; \
- fi; \
- done; \
- ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\
- ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \
- exit 1; \
- fi; \
- done
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/.*/'&'/}
.endif
.endif
+#
+# Prints out a list of files to fetch (useful to do a batch fetch)
+
+.if !target(fetch-list)
+fetch-list:
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.if defined(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/.*/'&'/}
+.endif
+.endif
+
+# Used by fetch-urlall-list and fetch-url-list
+
+.if !target(fetch-url-list-int)
+fetch-url-list-int:
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.if defined(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/.*/'&'/}
+.endif
+.endif
+
+# Prints out all the URL for all the DISTFILES and PATCHFILES.
+
+.if !target(fetch-urlall-list)
+fetch-urlall-list:
+ @cd ${.CURDIR} && ${SETENV} FORCE_FETCH_ALL=yes ${MAKE} fetch-url-list-int
+.endif
+
+# Prints the URL for all the DISTFILES and PATCHFILES that are not here
+
+.if !target(fetch-url-list)
+fetch-url-list: fetch-url-list-int
+.endif
+
# Extract
@@ -3943,176 +3848,6 @@
.endif
.endif
-# Prints out a list of files to fetch (useful to do a batch fetch)
-
-.if !target(fetch-list)
-fetch-list:
- @${MKDIR} ${_DISTDIR}
- @(cd ${_DISTDIR}; \
- ${_MASTER_SITES_ENV} ; \
- for _file in ${DISTFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- if [ ! -f $$file -a ! -f $${file##*/} ]; then \
- if [ ! -z "$$select" ] ; then \
- __MASTER_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \
- eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \
- __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \
- fi; \
- done; \
- ___MASTER_SITES_TMP= ; \
- SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \
- fi; \
- ${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \
- ${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \
- for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \
- if [ ! -z "`${ECHO_CMD} ${NOFETCHFILES} | ${GREP} -w $${file}`" ]; then \
- if [ -z "`${ECHO_CMD} ${MASTER_SITE_OVERRIDE} | ${GREP} -w $${site}`" ]; then \
- continue; \
- fi; \
- fi; \
- CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \
- case $${file} in \
- */*) args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \
- done; \
- ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \
- fi; \
- done)
-.if defined(PATCHFILES)
- @(cd ${_DISTDIR}; \
- ${_PATCH_SITES_ENV} ; \
- for _file in ${PATCHFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \
- if [ ! -f $$file -a ! -f $${file##*/} ]; then \
- if [ ! -z "$$select" ] ; then \
- __PATCH_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \
- eval ___PATCH_SITES_TMP=\$${_PATCH_SITES_$${group}} ; \
- __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \
- fi; \
- done; \
- ___PATCH_SITES_TMP= ; \
- SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
- fi; \
- ${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \
- ${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \
- for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \
- CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \
- case $${file} in \
- */*) args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \
- done; \
- ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \
- fi; \
- done)
-.endif
-.endif
-
-.if !target(fetch-url-list-int)
-fetch-url-list-int:
- @${MKDIR} ${_DISTDIR}
- @(cd ${_DISTDIR}; \
- ${_MASTER_SITES_ENV}; \
- for _file in ${DISTFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
- fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \
- if [ ! -z "$$select" ] ; then \
- __MASTER_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \
- eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \
- __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \
- fi \
- done; \
- ___MASTER_SITES_TMP= ; \
- SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \
- fi ; \
- for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \
- case $${file} in \
- */*) args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- ${ECHO_CMD} $${args} ; \
- done; \
- fi \
- done)
-.if defined(PATCHFILES)
- @(cd ${_DISTDIR}; \
- ${_PATCH_SITES_ENV} ; \
- for _file in ${PATCHFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \
- if [ $$_file = $$file ]; then \
- select=''; \
- else \
- select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \
- fi; \
- file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \
- fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \
- if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \
- if [ ! -z "$$select" ] ; then \
- __PATCH_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \
- eval ___PATCH_SITES_TMP=\$${_PATCH_SITES_$${group}} ; \
- __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \
- fi \
- done; \
- ___PATCH_SITES_TMP= ; \
- SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
- fi ; \
- for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \
- case $${file} in \
- */*) args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- ${ECHO_CMD} $${args} ; \
- done; \
- fi \
- done)
-.endif
-.endif
-
-.if !target(fetch-urlall-list)
-fetch-urlall-list:
- @cd ${.CURDIR} && LISTALL=yes ${MAKE} fetch-url-list-int
-.endif
-
-.if !target(fetch-url-list)
-fetch-url-list: fetch-url-list-int
-.endif
-
# Generates patches.
update-patches:
@@ -4223,7 +3958,7 @@
if [ "$${OK:=true}" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \
${ECHO_MSG} "===> Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \
if ( cd ${.CURDIR} && \
- ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \
+ ${MAKE} ${.MAKEFLAGS} FORCE_FETCH_LIST="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \
if ( cd ${.CURDIR} && \
${MAKE} ${.MAKEFLAGS} FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" checksum ); then \
OK="true"; \
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 11, 10:16 AM (18 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23573054
Default Alt Text
D5997.id15314.diff (23 KB)
Attached To
Mode
D5997: Extract "long" make target into scripts.
Attached
Detach File
Event Timeline
Log In to Comment