diff options
Diffstat (limited to 'mk/bsd.pkg.mk')
-rw-r--r-- | mk/bsd.pkg.mk | 495 |
1 files changed, 12 insertions, 483 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index fd791ac382e..4976dc1f39b 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.1839 2006/06/05 22:49:44 jlam Exp $ +# $NetBSD: bsd.pkg.mk,v 1.1840 2006/06/06 03:05:48 jlam Exp $ # # This file is in the public domain. # @@ -89,7 +89,6 @@ PKGNAME_NOREV= ${PKGNAME} ##### Others -_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} BUILD_DEPENDS?= # empty BUILD_TARGET?= all COMMENT?= (no description) @@ -98,7 +97,6 @@ CONFIGURE_SCRIPT?= ./configure DEPENDS?= # empty DESCR_SRC?= ${PKGDIR}/DESCR DIGEST_ALGORITHMS?= SHA1 RMD160 -DISTFILES?= ${DISTNAME}${EXTRACT_SUFX} DISTINFO_FILE?= ${PKGDIR}/distinfo INTERACTIVE_STAGE?= none MAINTAINER?= pkgsrc-users@NetBSD.org @@ -430,40 +428,6 @@ ERROR_MSG?= ${ECHO_MSG} 1>&2 "ERROR:" # do something. DO_NADA?= ${TRUE} -# If this host is behind a filtering firewall, use passive ftp(1) -FETCH_BEFORE_ARGS+= ${PASSIVE_FETCH:D-p} - -# Include popular master sites -.include "../../mk/bsd.sites.mk" - -_MASTER_SITE_BACKUP= ${MASTER_SITE_BACKUP:=${DIST_SUBDIR}${DIST_SUBDIR:D/}} -_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE:=${DIST_SUBDIR}${DIST_SUBDIR:D/}} - -# Where to put distfiles that don't have any other master site -MASTER_SITE_LOCAL?= ${MASTER_SITE_BACKUP:=LOCAL_PORTS/} - -ALLFILES?= ${DISTFILES} ${PATCHFILES} -CKSUMFILES?= ${ALLFILES} -.for __tmp__ in ${IGNOREFILES} -CKSUMFILES:= ${CKSUMFILES:N${__tmp__}} -.endfor - -# List of all files, with ${DIST_SUBDIR} in front. Used for fetch and checksum. -.if defined(DIST_SUBDIR) -_CKSUMFILES?= ${CKSUMFILES:S/^/${DIST_SUBDIR}\//} -_DISTFILES?= ${DISTFILES:S/^/${DIST_SUBDIR}\//} -_IGNOREFILES?= ${IGNOREFILES:S/^/${DIST_SUBDIR}\//} -_PATCHFILES?= ${PATCHFILES:S/^/${DIST_SUBDIR}\//} -.else -_CKSUMFILES?= ${CKSUMFILES} -_DISTFILES?= ${DISTFILES} -_IGNOREFILES?= ${IGNOREFILES} -_PATCHFILES?= ${PATCHFILES} -.endif -_ALLFILES?= ${_DISTFILES} ${_PATCHFILES} - -BUILD_DEFS+= _DISTFILES _PATCHFILES - .if defined(GNU_CONFIGURE) HAS_CONFIGURE= yes @@ -572,9 +536,6 @@ USE_TOOLS+= tee tsort USE_TOOLS+= shlock sleep .endif -# Extract -.include "../../mk/bsd.pkg.extract.mk" - # Patch .include "../../mk/bsd.pkg.patch.mk" @@ -806,300 +767,6 @@ _build: configure # adding pre-* or post-* targets/scripts, override these. ################################################################ -### -### _RESUME_TRANSFER: -### -### Macro to resume a previous transfer, needs to have defined -### the following options in mk.conf: -### -### PKG_RESUME_TRANSFERS -### FETCH_RESUME_ARGS (if FETCH_CMD != default) -### FETCH_OUTPUT_ARGS (if FETCH_CMD != default) -### -### For example if you want to use wget (pkgsrc/net/wget): -### -### FETCH_CMD=wget -### FETCH_RESUME_ARGS=-c -### FETCH_OUTPUT_ARGS=-O -### -### How does it work? -### -### FETCH_CMD downloads the file and saves it temporally into $$bfile.temp -### if the checksum match the correct one, $$bfile.temp is renamed to -### the original name. -### - -_RESUME_TRANSFER= \ - ofile="${DISTDIR}/${DIST_SUBDIR}/$$bfile"; \ - tfile="${DISTDIR}/${DIST_SUBDIR}/$$bfile.temp"; \ - tsize=`${AWK} '/^Size/ && $$2 == '"\"($$file)\""' { print $$4 }' ${DISTINFO_FILE}` || ${TRUE}; \ - osize=`${WC} -c < $$ofile`; \ - \ - case "$$tsize" in \ - "") ${ECHO_MSG} "No size in distinfo file (${DISTINFO_FILE})"; \ - break;; \ - esac; \ - \ - if [ "$$osize" -eq "$$tsize" ]; then \ - if [ -f "$$tfile" ]; then \ - ${RM} $$tfile; \ - fi; \ - need_fetch=no; \ - elif [ "$$osize" -lt "$$tsize" -a ! -f "$$tfile" ]; then \ - ${CP} $$ofile $$tfile; \ - dsize=`${WC} -c < $$tfile`; \ - need_fetch=yes; \ - elif [ -f "$$tfile" -a "$$dsize" -gt "$$ossize" ]; then \ - dsize=`${WC} -c < $$tfile`; \ - need_fetch=yes; \ - else \ - if [ -f "$$tfile" ]; then \ - dsize=`${WC} -c < $$tfile`; \ - fi; \ - need_fetch=yes; \ - fi; \ - if [ "$$need_fetch" = "no" ]; then \ - break; \ - elif [ -f "$$tfile" -a "$$dsize" -eq "$$tsize" ]; then \ - ${MV} $$tfile $$ofile; \ - break; \ - elif [ -n "$$ftp_proxy" -o -n "$$http_proxy" ]; then \ - ${ECHO_MSG} "===> Resume is not supported by ftp(1) using http/ftp proxies."; \ - break; \ - elif [ "$$need_fetch" = "yes" -a "$$dsize" -lt "$$tsize" ]; then \ - if [ "${FETCH_CMD:T}" != "ftp" -a -z "${FETCH_RESUME_ARGS}" ]; then \ - ${ECHO_MSG} "=> Resume transfers are not supported, FETCH_RESUME_ARGS is empty."; \ - break; \ - else \ - for res_site in $$sites; do \ - if [ -z "${FETCH_OUTPUT_ARGS}" ]; then \ - ${ECHO_MSG} "=> FETCH_OUTPUT_ARGS has to be defined."; \ - break; \ - fi; \ - ${ECHO_MSG} "=> $$bfile not completed, resuming:"; \ - ${ECHO_MSG} "=> Downloaded: $$dsize Total: $$tsize."; \ - ${ECHO_MSG}; \ - cd ${DISTDIR}; \ - ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${FETCH_RESUME_ARGS} \ - ${FETCH_OUTPUT_ARGS} $${bfile}.temp $${res_site}$${bfile}; \ - if [ $$? -eq 0 ]; then \ - ndsize=`${WC} -c < $$tfile`; \ - if [ "$$tsize" -eq "$$ndsize" ]; then \ - ${MV} $$tfile $$ofile; \ - fi; \ - break; \ - fi; \ - done; \ - fi; \ - elif [ "$$dsize" -gt "$$tsize" ]; then \ - ${ECHO_MSG} "==> Downloaded file larger than the recorded size."; \ - break; \ - fi - -# -# Define the elementary fetch macros. -# -_FETCH_FILE= \ - if [ ! -f $$file -a ! -f $$bfile -a ! -h $$bfile ]; then \ - ${ECHO_MSG} "=> $$bfile doesn't seem to exist on this system."; \ - if [ ! -w ${_DISTDIR}/. ]; then \ - ${ECHO_MSG} "=> Can't download to ${_DISTDIR} (permission denied?)."; \ - exit 1; \ - fi; \ - for site in $$sites; do \ - ${ECHO_MSG} "=> Attempting to fetch $$bfile from $${site}."; \ - if [ -f ${DISTINFO_FILE} ]; then \ - ${AWK} 'NF == 5 && $$1 == "Size" && $$2 == "('$$bfile')" { printf("=> [%s %s]\n", $$4, $$5) }' ${DISTINFO_FILE}; \ - fi; \ - if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${bfile} ${FETCH_AFTER_ARGS}; then \ - if [ -n "${FAILOVER_FETCH}" -a -f ${DISTINFO_FILE} -a -f ${_DISTDIR}/$$bfile ]; then \ - alg=`${AWK} 'NF == 4 && $$2 == "('$$file')" && $$3 == "=" {print $$1; exit}' ${DISTINFO_FILE}`; \ - if [ -z "$$alg" ]; then \ - alg=${PATCH_DIGEST_ALGORITHM};\ - fi; \ - CKSUM=`${DIGEST} $$alg < ${_DISTDIR}/$$bfile`; \ - CKSUM2=`${AWK} '$$1 == "'$$alg'" && $$2 == "('$$file')" {print $$4; exit}' <${DISTINFO_FILE}`; \ - if [ "$$CKSUM" = "$$CKSUM2" -o "$$CKSUM2" = "IGNORE" ]; then \ - break; \ - else \ - ${ECHO_MSG} "=> Checksum failure - trying next site."; \ - fi; \ - elif [ ! -f ${_DISTDIR}/$$bfile ]; then \ - ${ECHO_MSG} "=> FTP didn't fetch expected file, trying next site." ; \ - else \ - break; \ - fi; \ - fi \ - done; \ - if [ ! -f ${_DISTDIR}/$$bfile ]; then \ - ${ECHO_MSG} "=> Couldn't fetch $$bfile - please try to retrieve this";\ - ${ECHO_MSG} "=> file manually into ${_DISTDIR} and try again."; \ - exit 1; \ - fi; \ - fi - -_CHECK_DIST_PATH= \ - if [ "X${DIST_PATH}" != "X" ]; then \ - for d in "" ${DIST_PATH:S/:/ /g}; do \ - case $$d in "" | ${DISTDIR}) continue;; esac; \ - if [ -f $$d/${DIST_SUBDIR}/$$bfile ]; then \ - ${ECHO} "Using $$d/${DIST_SUBDIR}/$$bfile"; \ - ${RM} -f $$bfile; \ - ${LN} -s $$d/${DIST_SUBDIR}/$$bfile $$bfile; \ - break; \ - fi; \ - done; \ - fi - -# -# Set up ORDERED_SITES to work out the exact list of sites for every file, -# using the dynamic sites script, or sorting according to the master site -# list or the patterns in MASTER_SORT or MASTER_SORT_REGEX as appropriate. -# No actual sorting is done until ORDERED_SITES is expanded. -# -.if defined(MASTER_SORT) || defined(MASTER_SORT_REGEX) -MASTER_SORT?= -MASTER_SORT_REGEX?= -MASTER_SORT_REGEX+= ${MASTER_SORT:S/./\\./g:C/.*/:\/\/[^\/]*&\//} - -MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S/\\/\\\\/g}"; } -. for srt in ${MASTER_SORT_REGEX} -MASTER_SORT_AWK+= /${srt:C/\//\\\//g}/ { good["${srt:S/\\/\\\\/g}"] = good["${srt:S/\\/\\\\/g}"] " " $$0 ; next; } -. endfor -MASTER_SORT_AWK+= { rest = rest " " $$0; } END { n=split(gl, gla); for(i=1;i<=n;i++) { print good[gla[i]]; } print rest; } - -SORT_SITES_CMD= ${ECHO} $$unsorted_sites | ${AWK} '${MASTER_SORT_AWK}' -ORDERED_SITES= ${_MASTER_SITE_OVERRIDE} `${SORT_SITES_CMD:S/\\/\\\\/g:C/"/\"/g}` -.else -ORDERED_SITES= ${_MASTER_SITE_OVERRIDE} $$unsorted_sites -.endif - -# -# Associate each file to fetch with the correct site(s). -# -.if defined(DYNAMIC_MASTER_SITES) -. for fetchfile in ${_ALLFILES} -SITES_${fetchfile:T:S/=/--/}?= `${SH} ${FILESDIR}/getsite.sh ${fetchfile:T}` -SITES.${fetchfile:T:S/=/--/}?= ${SITES_${fetchfile:T:S/=/--/}} -. endfor -.endif -.if !empty(_DISTFILES) -. for fetchfile in ${_DISTFILES} -SITES_${fetchfile:T:S/=/--/}?= ${MASTER_SITES} -SITES.${fetchfile:T:S/=/--/}?= ${SITES_${fetchfile:T:S/=/--/}} -. endfor -.endif -.if !empty(_PATCHFILES) -. for fetchfile in ${_PATCHFILES} -SITES_${fetchfile:T:S/=/--/}?= ${PATCH_SITES} -SITES.${fetchfile:T:S/=/--/}?= ${SITES_${fetchfile:T:S/=/--/}} -. endfor -.endif - -# This code is only called in a batch case, to check for the presence of -# the distfiles -.PHONY: batch-check-distfiles -batch-check-distfiles: - ${_PKG_SILENT}${_PKG_DEBUG} \ - gotfiles=yes; \ - for file in "" ${_ALLFILES}; do \ - case "$$file" in \ - "") continue ;; \ - *) if [ ! -f ${DISTDIR}/$$file ]; then \ - gotfiles=no; \ - fi ;; \ - esac; \ - done; \ - case "$$gotfiles" in \ - no) ${ERROR_MSG} "This package requires user intervention to download the distfiles"; \ - ${ERROR_MSG} "Please fetch the distfiles manually and place them in"; \ - ${ERROR_MSG} "${DISTDIR}"; \ - [ ! -z "${MASTER_SITES}" ] && \ - ${ERROR_MSG} "The distfiles are available from ${MASTER_SITES}"; \ - [ ! -z "${HOMEPAGE}" ] && \ - ${ERROR_MSG} "See ${HOMEPAGE} for more details"; \ - ${ECHO}; \ - ${TOUCH} ${_INTERACTIVE_COOKIE}; \ - ${FALSE} ;; \ - esac - -.PHONY: do-fetch -.if !target(do-fetch) -do-fetch: -. if !defined(ALLOW_VULNERABLE_PACKAGES) - ${_PKG_SILENT}${_PKG_DEBUG} \ - if [ -f ${PKGVULNDIR}/pkg-vulnerabilities ]; then \ - ${PHASE_MSG} "Checking for vulnerabilities in ${PKGNAME}"; \ - vul=`${MAKE} ${MAKEFLAGS} check-vulnerable`; \ - case "$$vul" in \ - "") ;; \ - *) ${ECHO} "$$vul"; \ - ${ECHO} "or define ALLOW_VULNERABLE_PACKAGES if this package is absolutely essential"; \ - ${FALSE} ;; \ - esac; \ - else \ - ${WARNING_MSG} "No ${PKGVULNDIR}/pkg-vulnerabilities file found,"; \ - ${WARNING_MSG} "skipping vulnerability checks. To fix, install"; \ - ${WARNING_MSG} "the pkgsrc/security/audit-packages package and run"; \ - ${WARNING_MSG} "'${LOCALBASE}/sbin/download-vulnerability-list'."; \ - fi -. endif -. if !empty(_ALLFILES) - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${TEST} -d ${_DISTDIR} || ${MKDIR} ${_DISTDIR} -. if !empty(INTERACTIVE_STAGE:Mfetch) && defined(BATCH) - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${MAKE} ${MAKEFLAGS} batch-check-distfiles -. else -. for fetchfile in ${_ALLFILES} -. if defined(FETCH_MESSAGE) && !empty(FETCH_MESSAGE) - ${_PKG_SILENT}${_PKG_DEBUG} set -e; \ - ${TEST} -f ${DISTDIR:Q}/${fetchfile:Q} || { \ - h="==============="; h="$$h$$h$$h$$h$$h"; \ - ${ECHO} "$$h"; ${ECHO} ""; \ - for l in ${FETCH_MESSAGE}; do ${ECHO} "$$l"; done; \ - ${ECHO} ""; ${ECHO} "$$h"; \ - exit 1; \ - } -. elif defined(_FETCH_MESSAGE) - ${_PKG_SILENT}${_PKG_DEBUG} \ - file="${fetchfile}"; \ - if [ ! -f ${DISTDIR}/$$file ]; then \ - ${_FETCH_MESSAGE}; \ - fi -. else - ${_PKG_SILENT}${_PKG_DEBUG} \ - cd ${_DISTDIR}; \ - file="${fetchfile}"; \ - bfile="${fetchfile:T}"; \ - unsorted_sites="${SITES.${fetchfile:T:S/=/--/}} ${_MASTER_SITE_BACKUP}"; \ - sites="${ORDERED_SITES}"; \ - ${_CHECK_DIST_PATH}; \ - if ${TEST} "${PKG_RESUME_TRANSFERS:M[Yy][Ee][Ss]}" ; then \ - ${_FETCH_FILE}; ${_RESUME_TRANSFER}; \ - else \ - ${_FETCH_FILE}; \ - fi -. endif # defined(_FETCH_MESSAGE) -. endfor -. endif # INTERACTIVE_STAGE == fetch -. endif # !empty(_ALLFILES) -.endif - -.PHONY: show-distfiles -.if !target(show-distfiles) -show-distfiles: -. if defined(PKG_FAIL_REASON) - ${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA} -. else - ${_PKG_SILENT}${_PKG_DEBUG} \ - for file in "" ${_CKSUMFILES}; do \ - if [ "X$$file" = "X" ]; then continue; fi; \ - ${ECHO} $$file; \ - done -. endif -.endif - # acquire-lock, release-lock are .USE macro targets for acquiring and # release coarse-grained locks. # @@ -1482,6 +1149,12 @@ do-test: # Clean .include "../../mk/bsd.pkg.clean.mk" +# Fetch +.include "${PKGSRCDIR}/mk/fetch/bsd.fetch.mk" + +# Extract +.include "${PKGSRCDIR}/mk/extract/bsd.extract.mk" + # Install .include "${PKGSRCDIR}/mk/install/bsd.install.mk" @@ -1513,12 +1186,6 @@ release-build-lock: release-lock # call the necessary targets/scripts. ################################################################ -.PHONY: fetch -.if !target(fetch) -fetch: - @cd ${.CURDIR} && ${MAKE} ${MAKEFLAGS} real-fetch PKG_PHASE=fetch -.endif - .PHONY: tools .if !target(tools) tools: patch acquire-tools-lock ${_TOOLS_COOKIE} release-tools-lock @@ -1636,7 +1303,6 @@ build-cookie: test-cookie: ${_PKG_SILENT}${_PKG_DEBUG} ${TOUCH} ${TOUCH_FLAGS} ${_TEST_COOKIE} -.ORDER: pre-fetch do-fetch post-fetch .ORDER: tools-message tools-vars pre-tools do-tools post-tools tools-cookie .ORDER: wrapper-message wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie .ORDER: configure-message configure-vars pre-configure pre-configure-override do-configure post-configure configure-cookie @@ -1646,10 +1312,8 @@ test-cookie: # Please note that the order of the following targets is important, and # should not be modified (.ORDER is not recognised by make(1) in a serial # make i.e. without -j n) -.PHONY: real-fetch .PHONY: real-tools real-wrapper .PHONY: real-configure real-build real-test -real-fetch: pre-fetch do-fetch post-fetch real-tools: tools-message tools-vars pre-tools do-tools post-tools tools-cookie real-wrapper: wrapper-message wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie real-configure: configure-message configure-vars pre-configure pre-configure-override do-configure post-configure configure-cookie @@ -1682,7 +1346,7 @@ su-target: .USE # Empty pre-* and post-* targets -.for name in fetch tools wrapper configure build test +.for name in tools wrapper configure build test . if !target(pre-${name}) pre-${name}: @@ -1705,139 +1369,6 @@ post-${name}: lint: ${_PKG_SILENT}${_PKG_DEBUG}${LOCALBASE}/bin/pkglint -# This is for the use of sites which store distfiles which others may -# fetch - only fetch the distfile if it is allowed to be -# re-distributed freely -.PHONY: mirror-distfiles -mirror-distfiles: -.if !defined(NO_SRC_ON_FTP) - @${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${MAKEFLAGS} fetch NO_SKIP=yes -.endif - - -# Cleaning up - -.PHONY: pre-distclean -.if !target(pre-distclean) -pre-distclean: - @${DO_NADA} -.endif - -.PHONY: distclean -.if !target(distclean) -distclean: pre-distclean clean - @${PHASE_MSG} "Dist cleaning for ${PKGNAME}" - ${_PKG_SILENT}${_PKG_DEBUG}if [ -d ${_DISTDIR} ]; then \ - cd ${_DISTDIR} && \ - ${TEST} -z "${DISTFILES}" || ${RM} -f ${DISTFILES}; \ - if [ "${PKG_RESUME_TRANSFERS:M[Yy][Ee][Ss]}" ]; then \ - ${TEST} -z "${DISTFILES}.temp" || ${RM} -f ${DISTFILES}.temp; \ - fi; \ - ${TEST} -z "${PATCHFILES}" || ${RM} -f ${PATCHFILES}; \ - fi -. if defined(DIST_SUBDIR) && exists(DIST_SUBDIR) - -${_PKG_SILENT}${_PKG_DEBUG}${RMDIR} ${_DISTDIR} -. endif - -${_PKG_SILENT}${_PKG_DEBUG}${RM} -f README.html -.endif - -# 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} -. if defined(_FETCH_MESSAGE) - @(if [ ! -f ${_DISTDIR}/${fetchfile:T} ]; then \ - ${ECHO}; \ - filesize=`${AWK} ' \ - /^Size/ && $$2 == "(${fetchfile})" { print $$4 } \ - ' ${DISTINFO_FILE}` || true; \ - ${ECHO} '# Prompt user to get ${fetchfile} ('$${filesize-???}' bytes) manually:'; \ - ${ECHO} '#'; \ - ${ECHO} ${_FETCH_MESSAGE:Q}; \ - fi) -. elif defined(DYNAMIC_MASTER_SITES) - @(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) -. endif # defined(_FETCH_MESSAGE) || defined(DYNAMIC_MASTER_SITES) -. endfor -. endif # !empty(_ALLFILES) -.endif # !target(fetch-list-one-pkg) # Checksumming utilities @@ -2456,14 +1987,13 @@ PKG_ERROR_HANDLER.${_class_}?= { \ # .for _phase_ in ${ALL_PHASES} ${_MAKEVARS_MK.${_phase_}}: ${WRKDIR} -. if !empty(PKG_PHASE:M${_phase_}) ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET}.tmp -. for _var_ in ${MAKEVARS:O:u} -. if defined(${_var_}) +. for _var_ in ${MAKEVARS:O:u} +. if defined(${_var_}) ${_PKG_SILENT}${_PKG_DEBUG} \ ${ECHO} ${_var_}"= "${${_var_}:Q} >> ${.TARGET}.tmp -. endif -. endfor +. endif +. endfor ${_PKG_SILENT}${_PKG_DEBUG} \ if ${TEST} -f ${.TARGET}.tmp; then \ ( ${ECHO} ".if !defined(_MAKEVARS_MK)"; \ @@ -2475,7 +2005,6 @@ ${_MAKEVARS_MK.${_phase_}}: ${WRKDIR} ) > ${.TARGET}; \ ${RM} -f ${.TARGET}.tmp; \ fi -. endif ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${.TARGET} .endfor .undef _phase_ |