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.
This commit is contained in:
parent
7daa3c4b5a
commit
00f4a8c7f8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=10412
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user