2006-07-19 01:27:14 +02:00
|
|
|
# $NetBSD: fetch-list.mk,v 1.2 2006/07/18 23:27:14 jlam Exp $
|
2006-07-19 00:41:06 +02:00
|
|
|
|
|
|
|
# Prints out a script to fetch all needed files (no checksumming).
|
|
|
|
.PHONY: fetch-list
|
|
|
|
.if !target(fetch-list)
|
|
|
|
|
|
|
|
fetch-list:
|
|
|
|
@${ECHO} '#!/bin/sh'
|
|
|
|
@${ECHO} '#'
|
|
|
|
@${ECHO} '# This is an auto-generated script, the result of running'
|
|
|
|
@${ECHO} '# `${MAKE} fetch-list'"'"' in directory "'"`${PWD_CMD}`"'"'
|
|
|
|
@${ECHO} '# on host "'"`${UNAME} -n`"'" on "'"`date`"'".'
|
|
|
|
@${ECHO} '#'
|
|
|
|
@${MAKE} ${MAKEFLAGS} fetch-list-recursive
|
|
|
|
.endif # !target(fetch-list)
|
|
|
|
|
|
|
|
.PHONY: fetch-list-recursive
|
|
|
|
.if !target(fetch-list-recursive)
|
|
|
|
|
|
|
|
fetch-list-recursive:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
for dir in `${MAKE} ${MAKEFLAGS} show-all-depends-dirs`; do \
|
|
|
|
(cd ../../$$dir && \
|
|
|
|
${MAKE} ${MAKEFLAGS} fetch-list-one-pkg \
|
|
|
|
| ${AWK} ' \
|
|
|
|
/^[^#]/ { FoundSomething = 1 } \
|
|
|
|
/^unsorted/ { gsub(/[[:space:]]+/, " \\\n\t") } \
|
|
|
|
/^echo/ { gsub(/;[[:space:]]+/, "\n") } \
|
|
|
|
{ block[line_c++] = $$0 } \
|
|
|
|
END { if (FoundSomething) \
|
|
|
|
for (line = 0; line < line_c; line++) \
|
|
|
|
print block[line] } \
|
|
|
|
') \
|
|
|
|
done
|
|
|
|
.endif # !target(fetch-list-recursive)
|
|
|
|
|
|
|
|
.PHONY: fetch-list-one-pkg
|
|
|
|
.if !target(fetch-list-one-pkg)
|
|
|
|
|
|
|
|
fetch-list-one-pkg:
|
|
|
|
. if !empty(_ALLFILES)
|
|
|
|
@${ECHO}
|
|
|
|
@${ECHO} '#'
|
|
|
|
@location=`${PWD_CMD} | ${AWK} -F / '{ print $$(NF-1) "/" $$NF }'`; \
|
|
|
|
${ECHO} '# Need additional files for ${PKGNAME} ('$$location')...'
|
|
|
|
. for fetchfile in ${_ALLFILES}
|
2006-07-19 01:27:14 +02:00
|
|
|
. if defined(DYNAMIC_MASTER_SITES)
|
2006-07-19 00:41:06 +02:00
|
|
|
@(if [ ! -f ${_DISTDIR}/${fetchfile:T} ]; then \
|
|
|
|
${ECHO}; \
|
|
|
|
filesize=`${AWK} ' \
|
|
|
|
/^Size/ && $$2 == "(${fetchfile})" { print $$4 } \
|
|
|
|
' ${DISTINFO_FILE}` || true; \
|
|
|
|
${ECHO} '# Fetch ${fetchfile} ('$${filesize-???}' bytes):'; \
|
|
|
|
${ECHO} '#'; \
|
|
|
|
${ECHO} '${SH} -s ${fetchfile:T} <<"EOF" |('; \
|
|
|
|
${CAT} ${FILESDIR}/getsite.sh; \
|
|
|
|
${ECHO} EOF; \
|
|
|
|
${ECHO} read unsorted_sites; \
|
|
|
|
${ECHO} 'unsorted_sites="$${unsorted_sites} ${_MASTER_SITE_BACKUP}"'; \
|
|
|
|
${ECHO} sites='"'${ORDERED_SITES:Q}'"'; \
|
|
|
|
${ECHO} "${MKDIR} ${_DISTDIR}"; \
|
|
|
|
${ECHO} 'cd ${_DISTDIR} && [ -f ${fetchfile} -o -f ${fetchfile:T} ] ||'; \
|
|
|
|
${ECHO} 'for site in $$sites; do'; \
|
|
|
|
${ECHO} ' ${FETCH_CMD} ${FETCH_BEFORE_ARGS} "$${site}${fetchfile:T}" ${FETCH_AFTER_ARGS} && break ||'; \
|
|
|
|
${ECHO} ' ${ECHO} ${fetchfile:T} not fetched'; \
|
|
|
|
${ECHO} done; \
|
|
|
|
${ECHO} ')'; \
|
|
|
|
fi)
|
|
|
|
. else
|
|
|
|
@(if [ ! -f ${_DISTDIR}/${fetchfile:T} ]; then \
|
|
|
|
${ECHO}; \
|
|
|
|
filesize=`${AWK} ' \
|
|
|
|
/^Size/ && $$2 == "(${fetchfile})" { print $$4 } \
|
|
|
|
' ${DISTINFO_FILE}` || true; \
|
|
|
|
${ECHO} '# Fetch ${fetchfile} ('$${filesize-???}' bytes):'; \
|
|
|
|
${ECHO} '#'; \
|
|
|
|
${ECHO} 'unsorted_sites="${SITES.${fetchfile:T:S/=/--/}} ${_MASTER_SITE_BACKUP}"'; \
|
|
|
|
${ECHO} sites='"'${ORDERED_SITES:Q}'"'; \
|
|
|
|
${ECHO} "${MKDIR} ${_DISTDIR}"; \
|
|
|
|
${ECHO} 'cd ${_DISTDIR} && [ -f ${fetchfile} -o -f ${fetchfile:T} ] ||'; \
|
|
|
|
${ECHO} 'for site in $$sites; do'; \
|
|
|
|
${ECHO} ' ${FETCH_CMD} ${FETCH_BEFORE_ARGS} "$${site}${fetchfile:T}" ${FETCH_AFTER_ARGS} && break ||'; \
|
|
|
|
${ECHO} ' ${ECHO} ${fetchfile:T} not fetched'; \
|
|
|
|
${ECHO} done; \
|
|
|
|
fi)
|
2006-07-19 01:27:14 +02:00
|
|
|
. endif # defined(DYNAMIC_MASTER_SITES)
|
2006-07-19 00:41:06 +02:00
|
|
|
. endfor
|
|
|
|
. endif # !empty(_ALLFILES)
|
|
|
|
.endif # !target(fetch-list-one-pkg)
|