Index: ports/Mk/bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.490 diff -u -r1.490 bsd.port.mk --- ports/Mk/bsd.port.mk 31 May 2004 18:07:57 -0000 1.490 +++ ports/Mk/bsd.port.mk 1 Jun 2004 07:27:34 -0000 @@ -2066,13 +2066,19 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ MASTER_SITE_BACKUP:= ${MASTER_SITE_BACKUP:S^\${DIST_SUBDIR}/^^} +.if defined(USE_SUBDIR_OVERRIDE) +_MASTER_SUBDIR_OVERRIDE= ${DIST_SUBDIR}/ +.else +_MASTER_SUBDIR_OVERRIDE= +.endif + # If the user has MASTER_SITE_FREEBSD set, go to the FreeBSD repository # for everything, but don't search it twice by appending it to the end. .if defined(MASTER_SITE_FREEBSD) -_MASTER_SITE_OVERRIDE:= ${MASTER_SITE_BACKUP} +_MASTER_SITE_OVERRIDE:= ${MASTER_SITE_BACKUP}${_MASTER_SUBDIR_OVERRIDE} _MASTER_SITE_BACKUP:= # empty .else -_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE} +_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE}${_MASTER_SUBDIR_OVERRIDE} _MASTER_SITE_BACKUP= ${MASTER_SITE_BACKUP} .endif @@ -3815,7 +3821,7 @@ */*) args="-o $${file} $${site}$${file}";; \ *) args=$${site}$${file};; \ esac; \ - ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ + ${ECHO_CMD} ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| \' ; \ done; \ ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \ fi \ @@ -4180,6 +4186,26 @@ fi; \ done | sort -u +full-depends-list: +.if defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS) || defined(RUN_DEPENDS) || defined(DEPENDS) + @${FULL-DEPENDS-LIST} +.endif + +FULL-DEPENDS-LIST= \ + checked="${PARENT_CHECKED}"; \ + for dir in $$(${ECHO_CMD} "${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS}" | ${SED} -e 'y/ /\n/' | ${CUT} -f 2 -d ':') $$(${ECHO_CMD} ${DEPENDS} | ${SED} -e 'y/ /\n/' | ${CUT} -f 1 -d ':'); do \ + if [ -d $$dir ]; then \ + if (${ECHO_CMD} $$checked | ${GREP} -qwv "$$dir"); then \ + child=$$(cd $$dir; ${MAKE} PARENT_CHECKED="$$checked" full-depends-list); \ + for d in $$child; do ${ECHO_CMD} $$d; done; \ + ${ECHO_CMD} $$dir; \ + checked="$$dir $$child $$checked"; \ + fi; \ + else \ + ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ + fi; \ + done | sort -u + .if !target(clean-depends) clean-depends: @for dir in $$(${ALL-DEPENDS-LIST}); do \