PERFORCE change 102291 for review
Gabor Kovesdan
gabor at FreeBSD.org
Mon Jul 24 15:35:04 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=102291
Change 102291 by gabor at gabor_spitfire on 2006/07/24 15:34:01
Move the code that fetches patches. This doesn't actually work so far,
more environmental variables have to be moved, since they can't be passed
through FETCH_SCRIPT_ENV.
Affected files ...
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#57 edit
.. //depot/projects/soc2006/gabor_ports/Tools/scripts/do-fetch.sh#2 edit
Differences ...
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#57 (text+ko) ====
@@ -2125,7 +2125,9 @@
_MASTER_SITE_OVERRIDE="${MASTER_SITE_OVERRIDE}" \
_MASTER_SITE_BACKUP="${_MASTER_SITE_BACKUP}" MASTER_SORT_AWK="${MASTER_SORT_AWK}" \
SORTED_MASTER_SITES_DEFAULT_CMD="${SORTED_MASTER_SITES_DEFAULT_CMD}" \
- _RANDOMIZE_SITES="${_RANDOMIZE_SITES}"
+ _RANDOMIZE_SITES="${_RANDOMIZE_SITES}" \
+ PATCHFILES="${PATCHFILES}" \
+ SORTED_PATCH_SITES_DEFAULT_CMD="${SORTED_PATCH_SITES_DEFAULT_CMD}"
.if exists(/usr/bin/fetch)
@@ -3316,62 +3318,6 @@
.if !target(do-fetch)
do-fetch:
${SETENV} ${FETCH_SCRIPT_ENV} ${SH} -x ${FETCH_SCRIPT}
-
-.if defined(PATCHFILES)
- @(cd ${_DISTDIR}; \
- ${_PATCH_SITES_ENV} ; \
- for _file in ${PATCHFILES}; do \
- file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
- select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
- force_fetch=false; \
- filebasename=`${BASENAME} $$file`; \
- for afile in ${FORCE_FETCH}; do \
- afile=`${BASENAME} $$afile`; \
- if [ "x$$afile" = "x$$filebasename" ]; then \
- force_fetch=true; \
- fi; \
- done; \
- if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \
- if [ -L $$file -o -L `${BASENAME} $$file` ]; then \
- ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \
- ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \
- ${ECHO_MSG} "=> Please correct this problem and try again."; \
- exit 1; \
- fi ; \
- ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \
- if [ ! -z "$$select" ] ; then \
- __PATCH_SITES_TMP= ; \
- for group in $$select; do \
- if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \
- eval ___PATCH_SITES_TMP="\$${_PATCH_SITES_$${group}}" ; \
- __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \
- fi \
- done; \
- ___PATCH_SITES_TMP= ; \
- SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
- else \
- SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
- fi ; \
- for site in `eval $$SORTED_PATCH_SITES_CMD_TMP`; do \
- ${ECHO_MSG} "=> Attempting to fetch from $${site}."; \
- DIR=${DIST_SUBDIR}; \
- pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \
- CKSIZE=`${GREP} "^SIZE ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
- case $${file} in \
- */*) ${MKDIR} $${file%/*}; \
- args="-o $${file} $${site}$${file}";; \
- *) args=$${site}$${file};; \
- esac; \
- if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \
- continue 2; \
- fi \
- done; \
- ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\
- ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \
- exit 1; \
- fi \
- done)
-.endif
.endif
# Extract
==== //depot/projects/soc2006/gabor_ports/Tools/scripts/do-fetch.sh#2 (text+ko) ====
@@ -67,3 +67,61 @@
exit 1
fi
done
+
+if [ -z "${PATCHFILES}" ] ; then
+ cd ${_DISTDIR}
+ ${_PATCH_SITES_ENV}
+ for _file in ${PATCHFILES}; do
+ file=`${ECHO_CMD} $_file | ${SED} -E -e 's/:[^:]+$$//'`
+ select=`${ECHO_CMD} ${_file#${file}} | ${SED} -e 's/^://' -e 's/,/ /g'`
+ force_fetch=false
+ filebasename=`${BASENAME} $file`
+ for afile in ${FORCE_FETCH}; do
+ afile=`${BASENAME} $afile`
+ if [ "x$afile" = "x$filebasename" ]; then
+ force_fetch=true
+ fi
+ done
+ if [ ! -f $file -a ! -f $filebasename -o "$force_fetch" = "true" ]; then
+ if [ -L $file -o -L `${BASENAME} $file` ]; then
+ ${ECHO_MSG} "=> ${_DISTDIR}/$file is a broken symlink."
+ ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"
+ ${ECHO_MSG} "=> Please correct this problem and try again."
+ exit 1
+ fi
+ ${ECHO_MSG} "=> $file doesn't seem to exist in ${_DISTDIR}."
+ if [ ! -z "$select" ] ; then
+ __PATCH_SITES_TMP=
+ for group in $select; do
+ if [ ! -z $${_PATCH_SITES_${group}} ] ; then
+ eval ___PATCH_SITES_TMP="$${_PATCH_SITES_${group}}"
+ __PATCH_SITES_TMP="${__PATCH_SITES_TMP} ${___PATCH_SITES_TMP}"
+ fi
+ done
+ ___PATCH_SITES_TMP=
+ SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} ${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}"
+ else
+ SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}"
+ fi
+ for site in `eval $SORTED_PATCH_SITES_CMD_TMP`; do
+ ${ECHO_MSG} "=> Attempting to fetch from ${site}."
+ DIR=${DIST_SUBDIR}
+ pattern="${DIR:+$DIR/}`${ECHO_CMD} $file | ${SED} -e 's/\./\\\\./g'`"
+ CKSIZE=`${GREP} "^SIZE ($pattern)" ${MD5_FILE} | ${AWK} '{print $4}'`
+ case ${file} in
+ */*)
+ ${MKDIR} ${file%/*}; \
+ args="-o ${file} ${site}${file}";;
+ *)
+ args=${site}${file};;
+ esac
+ if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${args} ${FETCH_AFTER_ARGS}; then
+ continue 2
+ fi
+ done
+ ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this"
+ ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."
+ exit 1
+ fi
+ done
+fi
More information about the p4-projects
mailing list