summaryrefslogtreecommitdiff
path: root/Mk/bsd.port.mk
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>1995-08-29 11:57:40 +0000
committerSatoshi Asami <asami@FreeBSD.org>1995-08-29 11:57:40 +0000
commitbfd86d4a3764d8ff1246f71965e3756250052aad (patch)
tree6eaad6c18f18c9b4f68d51c77adf51d0c7aaeec6 /Mk/bsd.port.mk
parentClean up EXTRACT_ONLY logic a bit. Instead of branching in the (diff)
Don't trust ncftp's exit status, they are not indicative of whether
the file is fetched or not. Apparently Jordan fixed it a long time ago but it was broken again at import of the new version of ncftp. Which means even if we fix it, it may break again and we may need to fix it again, and (imagination here, please).... Instead, move the file existence check into the for loop for MASTER_SITES/PATCH_SITES and break out with "continue 2" when the file is found. This is actually a cleaner logic than before if you ask me, because instead of assuming the file is fetched on a 0 exit status from ncftp AND checking for the existence of the file after the loop, the check is done exactly once for each iteration and nowhere else.
Notes
Notes: svn path=/head/; revision=2129
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r--Mk/bsd.port.mk26
1 files changed, 12 insertions, 14 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index b6b416752de4..312c0a482e9a 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -456,15 +456,14 @@ do-fetch:
${ECHO_MSG} ">> $$file doesn't seem to exist on this system."; \
for site in ${MASTER_SITES}; do \
${ECHO_MSG} ">> Attempting to fetch from $${site}"; \
- if ${NCFTP} ${NCFTPFLAGS} $${site}$${file}; then \
- break; \
+ (${NCFTP} ${NCFTPFLAGS} $${site}$${file} || true); \
+ if [ -f $$file -o -f `/usr/bin/basename $$file` ]; then \
+ continue 2; \
fi \
done; \
- if [ ! -f $$file -a ! -f `/usr/bin/basename $$file` ]; then \
- ${ECHO_MSG} ">> Couldn't fetch it - please try to retreive this";\
- ${ECHO_MSG} ">> port manually into ${DISTDIR} and try again."; \
- exit 1; \
- fi; \
+ ${ECHO_MSG} ">> Couldn't fetch it - please try to retreive this";\
+ ${ECHO_MSG} ">> port manually into ${DISTDIR} and try again."; \
+ exit 1; \
fi \
done)
.if defined(PATCHFILES)
@@ -475,15 +474,14 @@ do-fetch:
${ECHO_MSG} ">> $$file doesn't seem to exist on this system."; \
for site in ${PATCH_SITES}; do \
${ECHO_MSG} ">> Attempting to fetch from $${site}."; \
- if ${NCFTP} ${NCFTPFLAGS} $${site}$${file}; then \
- break; \
+ (${NCFTP} ${NCFTPFLAGS} $${site}$${file} || true); \
+ if [ -f $$file -o -f `/usr/bin/basename $$file` ]; then \
+ continue 2; \
fi \
done; \
- if [ ! -f $$file -a ! -f `/usr/bin/basename $$file` ]; then \
- ${ECHO_MSG} ">> Couldn't fetch it - please try to retreive this";\
- ${ECHO_MSG} ">> port manually into ${PATCHDIST} and try again."; \
- exit 1; \
- fi; \
+ ${ECHO_MSG} ">> Couldn't fetch it - please try to retreive this";\
+ ${ECHO_MSG} ">> port manually into ${PATCHDIST} and try again."; \
+ exit 1; \
fi \
done)
.endif