From owner-p4-projects@FreeBSD.ORG Tue Jul 25 16:48:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98BF716A4E5; Tue, 25 Jul 2006 16:48:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75B4D16A4DA for ; Tue, 25 Jul 2006 16:48:55 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3176043D46 for ; Tue, 25 Jul 2006 16:48:55 +0000 (GMT) (envelope-from gabor@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6PGmoKc078795 for ; Tue, 25 Jul 2006 16:48:50 GMT (envelope-from gabor@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6PGmnp8078792 for perforce@freebsd.org; Tue, 25 Jul 2006 16:48:49 GMT (envelope-from gabor@FreeBSD.org) Date: Tue, 25 Jul 2006 16:48:49 GMT Message-Id: <200607251648.k6PGmnp8078792@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@FreeBSD.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 102390 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jul 2006 16:48:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=102390 Change 102390 by gabor@gabor_spitfire on 2006/07/25 16:48:49 Move another bunch of the code to the script from bsd.port.mk. Affected files ... .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#60 edit .. //depot/projects/soc2006/gabor_ports/Tools/scripts/do-fetch.sh#5 edit Differences ... ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#60 (text+ko) ==== @@ -2376,79 +2376,7 @@ ALLFILES?= ${_DISTFILES} ${_PATCHFILES} -# -# Sort the master site list according to the patterns in MASTER_SORT -# -MASTER_SORT?= -MASTER_SORT_REGEX?= -MASTER_SORT_REGEX+= ${MASTER_SORT:S|.|\\.|g:S|^|://[^/]*|:S|$|/|} - -MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S|\\|\\\\|g}"; } -.for srt in ${MASTER_SORT_REGEX} -MASTER_SORT_AWK+= /${srt:S|/|\\/|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; } - -SORTED_MASTER_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-DEFAULT -SORTED_PATCH_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-DEFAULT -SORTED_MASTER_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-ALL -SORTED_PATCH_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-ALL - -# -# Sort the master site list according to the patterns in MASTER_SORT -# according to grouping rules (:something) -# -# for use in the fetch targets -.for _S in ${MASTER_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/^://:S/,/ /g} -. if !target(master-sites-${_group}) -SORTED_MASTER_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-${_group} -master-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -. endif -. endfor -. endif -.endfor -.for _S in ${PATCH_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/^://:S/,/ /g} -. if !target(patch-sites-${_group}) -SORTED_PATCH_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-${_group} -patch-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -. endif -. endfor -. endif -.endfor - -# -# Hackery to enable simple fetch targets with several dynamic MASTER_SITES -# -_MASTER_SITES_ENV= _MASTER_SITES_DEFAULT="${_MASTER_SITES_DEFAULT}" -.for _F in ${DISTFILES} -_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} -. if !empty(_F_TEMP) -. for _group in ${_F_TEMP:S/,/ /g} -. if defined(_MASTER_SITES_${_group}) -_MASTER_SITES_ENV+= _MASTER_SITES_${_group}="${_MASTER_SITES_${_group}}" -. endif -. endfor -. endif -.endfor -_PATCH_SITES_ENV= _PATCH_SITES_DEFAULT="${_PATCH_SITES_DEFAULT}" -.for _F in ${PATCHFILES} -_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} -. if !empty(_F_TEMP) -. for _group in ${_F_TEMP:S/,/ /g} -. if defined(_PATCH_SITES_${_group}) -_PATCH_SITES_ENV+= _PATCH_SITES_${_group}="${_PATCH_SITES_${_group}}" -. endif -. endfor -. endif -.endfor +### FIXME: shellify these targets, too master-sites-ALL: @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} ==== //depot/projects/soc2006/gabor_ports/Tools/scripts/do-fetch.sh#5 (text+ko) ==== @@ -147,6 +147,51 @@ _G_TEMP_TEMP= ALLFILES= ${_DISTFILES} ${_PATCHFILES} +# +# Sort the master site list according to the patterns in MASTER_SORT +# +MASTER_SORT_REGEX+= ${MASTER_SORT:S|.|\\.|g:S|^|://[^/]*|:S|$|/|} +MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S|\\|\\\\|g}"; } +.for srt in ${MASTER_SORT_REGEX} +MASTER_SORT_AWK+= /${srt:S|/|\\/|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; } + +SORTED_MASTER_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-DEFAULT +SORTED_PATCH_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-DEFAULT +SORTED_MASTER_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-ALL +SORTED_PATCH_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-ALL + +# Sort the master site list according to the patterns in MASTER_SORT +# according to grouping rules (:something) +# +# for use in the fetch targets +for _S in ${MASTER_SITES}; do + _S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} + if [ -n "${_S_TEMP}" ] ; then + for _group in ${_S_TEMP:S/^://:S/,/ /g}; do + SORTED_MASTER_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites--${_group} + ${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} + done + fi +done + +### FIXME: thos should be convert to be done in this script itself +# +# Hackery to enable simple fetch targets with several dynamic MASTER_SITES +# +_MASTER_SITES_ENV= _MASTER_SITES_DEFAULT="${_MASTER_SITES_DEFAULT}" +.for _F in ${DISTFILES} +_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} +. if !empty(_F_TEMP) +. for _group in ${_F_TEMP:S/,/ /g} +. if defined(_MASTER_SITES_${_group}) +_MASTER_SITES_ENV+= _MASTER_SITES_${_group}="${_MASTER_SITES_${_group}}" +. endif +. endfor +. endif +.endfor + ${_MASTER_SITES_ENV} for _file in ${DISTFILES}; do file=`${ECHO_CMD} $_file | ${SED} -E -e 's/:[^:]+$//'` @@ -319,6 +364,30 @@ _PATCHFILES+= ${_P} fi done +for _S in ${PATCH_SITES}; do + _S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} + if [ -n "${_S_TEMP}" ] ; then + for _group in ${_S_TEMP:S/^://:S/,/ /g}; do + SORTED_PATCH_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-${_group} + ${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} + done + fi +done + +### FIXME: this should be convert to be done in this script itself + +_PATCH_SITES_ENV= _PATCH_SITES_DEFAULT="${_PATCH_SITES_DEFAULT}" +.for _F in ${PATCHFILES} +_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} +. if !empty(_F_TEMP) +. for _group in ${_F_TEMP:S/,/ /g} +. if defined(_PATCH_SITES_${_group}) +_PATCH_SITES_ENV+= _PATCH_SITES_${_group}="${_PATCH_SITES_${_group}}" +. endif +. endfor +. endif +.endfor + cd ${_DISTDIR} ${_PATCH_SITES_ENV} for _file in ${PATCHFILES}; do