FreeBSD Bugzilla – Attachment 170736 Details for
Bug 209803
X_BUILD_FOR nearly complete
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
bsd.port.mk patch for cross compiling
bsd.port.mk.patch (text/plain), 26.98 KB, created by
Michael Kieran Martin Vale
on 2016-05-27 21:51:06 UTC
(
hide
)
Description:
bsd.port.mk patch for cross compiling
Filename:
MIME Type:
Creator:
Michael Kieran Martin Vale
Created:
2016-05-27 21:51:06 UTC
Size:
26.98 KB
patch
obsolete
>--- /usr/ports/Mk/bsd.port.mk 2016-05-26 04:41:21.000000000 +1000 >+++ /home/masked/bsd.port.mk 2016-05-28 07:21:51.543195000 +1000 >@@ -1,7 +1,7 @@ > #-*- tab-width: 4; -*- > # ex:ts=4 > # >-# $FreeBSD: head/Mk/bsd.port.mk 415851 2016-05-25 18:41:21Z bapt $ >+# $FreeBSD$ > # $NetBSD: $ > # > # bsd.port.mk - 940820 Jordan K. Hubbard. >@@ -1064,7 +1064,7 @@ > SRC_BASE?= /usr/src > USESDIR?= ${PORTSDIR}/Mk/Uses > SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts >-LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib >+LIB_DIRS?= ${X_SYSROOT}/lib ${X_SYSROOT}/usr/lib ${X_SYSROOT}/${LOCALBASE}/lib > STAGEDIR?= ${WRKDIR}/stage > NOTPHONY?= > MINIMAL_PKG_VERSION= 1.6.0 >@@ -1083,13 +1083,21 @@ > HOSTCC:= ${CC} > HOSTCXX:= ${CXX} > .endif >+ >+.if !defined(X_BUILD_FOR && DESTDIR) >+.error "You must define DESTDIR when using X_BUILD_FOR or your installed packages will get overwritten!" >+.if !defined(X_SYSROOT) >+X_SYSROOT= ${DESTDIR} > .if !exists(/usr/${X_BUILD_FOR}/usr/bin/cc) > X_SYSROOT= ${LOCALBASE}/${X_BUILD_FOR} > .else >-X_SYSROOT= /usr/${X_BUILD_FOR} >+#X_SYSROOT= /usr/${X_BUILD_FOR} >+.endif > .endif >-CC= ${X_SYSROOT}/usr/bin/cc >-CXX= ${X_SYSROOT}/usr/bin/c++ >+CC= /usr/${X_BUILD_FOR}/usr/bin/cc >+CXX= /usr/${X_BUILD_FOR}/usr/bin/c++ >+ >+#LD= ${X_BUILD_FOR}-ld > NM= ${X_BUILD_FOR}-nm > STRIP_CMD= ${X_BUILD_FOR}-strip > # only bmake support the below >@@ -1521,8 +1529,6 @@ > "STRIP=${STRIP}" \ > TMPPLIST=${TMPPLIST} \ > LDCONFIG_DIR="${LDCONFIG_DIR}" \ >- PKGORIGIN=${PKGORIGIN} \ >- LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \ > PKGBASE=${PKGBASE} > .if !empty(USES:Mdesktop-file-utils) > QA_ENV+= USESDESKTOPFILEUTILS=yes >@@ -1550,12 +1556,17 @@ > PORTSDIR="${PORTSDIR}" > > .if defined(X_BUILD_FOR) >-BUILD_DEPENDS+= ${X_BUILD_FOR}-cc:devel/${X_BUILD_FOR}-xdev >+#BUILD_DEPENDS+= ${X_BUILD_FOR}-gcc:devel/${X_BUILD_FOR}-binutils > PKG_ENV+= ABI_FILE=${X_SYSROOT}/usr/lib/crt1.o >-MAKE_ENV+= NM=${NM} \ >+MAKE_ENV+= INCLUDE=/usr/src/10.3.0/include \ >+ NM=${NM} \ > STRIPBIN=${X_BUILD_FOR}-strip \ > PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" > CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" >+PKG_DBDIR= ${X_SYSROOT}/var/db/pkg >+PORT_DBDIR= ${X_SYSROOT}/var/db/ports >+ >+ > .endif > > WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work >@@ -1640,20 +1651,10 @@ > > # XXX PIE support to be added here > MAKE_ENV+= NO_PIE=yes >-# We prefer to pass MK_*=no but it was only supported after a certain >-# revision. Passing WITHOUT_* may conflict with a make.conf or src.conf's >-# WITH_* value. Note that ports *do* pull in src.conf. >-.if (${OSVERSION} >= 903510 && ${OSVERSION} < 1000000) || \ >- (${OSVERSION} >= 1003503 && ${OSVERSION} < 1100000) || \ >- ${OSVERSION} >= 1100000 > # We will control debug files. Don't let builds that use /usr/share/mk > # split out debug symbols since the plist won't know to expect it. >-MAKE_ENV+= MK_DEBUG_FILES=no >-MAKE_ENV+= MK_KERNEL_SYMBOLS=no >-.else > MAKE_ENV+= WITHOUT_DEBUG_FILES=yes > MAKE_ENV+= WITHOUT_KERNEL_SYMBOLS=yes >-.endif > > .if defined(NOPORTDOCS) > PLIST_SUB+= PORTDOCS="@comment " >@@ -2013,7 +2014,7 @@ > .if !defined(WITHOUT_NO_STRICT_ALIASING) > .if ${CC} != "icc" > .if empty(CFLAGS:M-fno-strict-aliasing) >-CFLAGS+= -fno-strict-aliasing >+CFLAGS+= "-fno-strict-aliasing" > .endif > .endif > .endif >@@ -2065,8 +2066,8 @@ > .if defined(RANDOMIZE_MASTER_SITES) > .if exists(/usr/games/random) > RANDOM_CMD?= /usr/games/random >-RANDOM_ARGS?= -w -f - >-_RANDOMIZE_SITES= |${RANDOM_CMD} ${RANDOM_ARGS} >+RANDOM_ARGS?= "-w -f -" >+_RANDOMIZE_SITES= " |${RANDOM_CMD} ${RANDOM_ARGS}" > .endif > .endif > >@@ -3062,115 +3063,195 @@ > AUDITFILE?= ${PKG_DBDIR}/vuln.xml > > check-vulnerable: >-.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) \ >- && exists(${AUDITFILE}) >- @${SETENV} \ >- dp_ECHO_MSG="${ECHO_MSG}" \ >- dp_PKG_BIN="${PKG_BIN}" \ >- dp_PORTNAME="${PORTNAME}" \ >- dp_PKGNAME="${PKGNAME}" \ >- dp_SCRIPTSDIR="${SCRIPTSDIR}" \ >- ${SH} ${SCRIPTSDIR}/check-vulnerable.sh >+.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) >+ @if [ -f "${AUDITFILE}" ]; then \ >+ if [ -x "${PKG_BIN}" ]; then \ >+ vlist=`${PKG_BIN} audit "${PKGNAME}" || :`; \ >+ if [ "$${vlist}" = "0 problem(s) in the installed packages found." ]; then \ >+ vlist=""; \ >+ fi; \ >+ elif [ "${PORTNAME}" = "pkg" ]; then \ >+ vlist=""; \ >+ fi; \ >+ if [ -n "$$vlist" ]; then \ >+ ${ECHO_MSG} "===> ${PKGNAME} has known vulnerabilities:"; \ >+ ${ECHO_MSG} "$$vlist"; \ >+ ${ECHO_MSG} "=> Please update your ports tree and try again."; \ >+ ${ECHO_MSG} "=> Note: Vulnerable ports are marked as such even if there is no update available."; \ >+ ${ECHO_MSG} "=> If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'"; \ >+ exit 1; \ >+ fi; \ >+ fi > .endif > >-# Quote simply quote all variables, except FETCH_ENV, some ports are creative >-# with it, and it needs to be quoted twice to pass through the echo/eval in >-# do-fetch. >-_DO_FETCH_ENV= \ >- dp_DISABLE_SIZE='${DISABLE_SIZE}' \ >- dp_DISTDIR='${_DISTDIR}' \ >- dp_DISTINFO_FILE='${DISTINFO_FILE}' \ >- dp_DIST_SUBDIR='${DIST_SUBDIR}' \ >- dp_ECHO_MSG='${ECHO_MSG}' \ >- dp_FETCH_AFTER_ARGS='${FETCH_AFTER_ARGS}' \ >- dp_FETCH_BEFORE_ARGS='${FETCH_BEFORE_ARGS}' \ >- dp_FETCH_CMD='${FETCH_CMD}' \ >- dp_FETCH_ENV=${FETCH_ENV:Q:Q} \ >- dp_FORCE_FETCH_ALL='${FORCE_FETCH_ALL}' \ >- dp_FORCE_FETCH_LIST='${FORCE_FETCH_LIST}' \ >- dp_MASTER_SITE_BACKUP='${_MASTER_SITE_BACKUP}' \ >- dp_MASTER_SITE_OVERRIDE='${_MASTER_SITE_OVERRIDE}' \ >- dp_MASTER_SORT_AWK='${MASTER_SORT_AWK}' \ >- dp_NO_CHECKSUM='${NO_CHECKSUM}' \ >- dp_RANDOMIZE_SITES='${_RANDOMIZE_SITES}' \ >- dp_SCRIPTSDIR='${SCRIPTSDIR}' \ >- dp_SORTED_MASTER_SITES_DEFAULT_CMD='${SORTED_MASTER_SITES_DEFAULT_CMD}' \ >- dp_SORTED_PATCH_SITES_DEFAULT_CMD='${SORTED_PATCH_SITES_DEFAULT_CMD}' \ >- dp_TARGET='${.TARGET}' >-.if defined(DEVELOPER) >-_DO_FETCH_ENV+= dp_DEVELOPER=yes >-.else >-_DO_FETCH_ENV+= dp_DEVELOPER= >-.endif >+# set alg to any of SIZE, SHA256 (or any other checksum algorithm): >+DISTINFO_DATA?= if [ \( -n "${DISABLE_SIZE}" -a -n "${NO_CHECKSUM}" \) -o ! -f "${DISTINFO_FILE}" ]; then exit; fi; \ >+ DIR=${DIST_SUBDIR}; ${AWK} -v alg=$$alg -v file=$${DIR:+$$DIR/}$${file} \ >+ '$$1 == alg && $$2 == "(" file ")" {print $$4}' ${DISTINFO_FILE} > > # Fetch > > .if !target(do-fetch) > do-fetch: >-.if !empty(DISTFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ >- dp_SITE_FLAVOR=MASTER \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} >-.endif >-.if defined(PATCHFILES) && !empty(PATCHFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ >- dp_SITE_FLAVOR=PATCH \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} >-.endif >-.endif >-# >-# Prints out a list of files to fetch (useful to do a batch fetch) >- >-.if !target(fetch-list) >-fetch-list: >-.if !empty(DISTFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ >- dp_SITE_FLAVOR=MASTER \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} >-.endif >-.if defined(PATCHFILES) && !empty(PATCHFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ >- dp_SITE_FLAVOR=PATCH \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} >-.endif >-.endif >- >-# Used by fetch-urlall-list and fetch-url-list >- >-.if !target(fetch-url-list-int) >-fetch-url-list-int: >-.if !empty(DISTFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ >- dp_SITE_FLAVOR=MASTER \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} >-.endif >-.if defined(PATCHFILES) && !empty(PATCHFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ >- dp_SITE_FLAVOR=PATCH \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} >-.endif >+ @${MKDIR} ${_DISTDIR} >+ @cd ${_DISTDIR};\ >+ ${_MASTER_SITES_ENV} ; \ >+ for _file in ${DISTFILES}; do \ >+ file=$${_file%%:*}; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ force_fetch=false; \ >+ filebasename=$${file##*/}; \ >+ for afile in ${FORCE_FETCH}; do \ >+ afile=$${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 $$filebasename ]; 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; \ >+ if [ -f ${DISTINFO_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \ >+ _sha256sum=`alg=SHA256; ${DISTINFO_DATA}`; \ >+ if [ -z "$$_sha256sum" ]; then \ >+ ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is not in ${DISTINFO_FILE}."; \ >+ ${ECHO_MSG} "=> Either ${DISTINFO_FILE} is out of date, or"; \ >+ ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \ >+ exit 1; \ >+ fi; \ >+ fi; \ >+ ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ >+ if [ ! -w ${_DISTDIR} ]; then \ >+ ${ECHO_MSG} "=> ${_DISTDIR} is not writable by you; cannot fetch."; \ >+ exit 1; \ >+ fi; \ >+ if [ ! -z "$$select" ] ; then \ >+ __MASTER_SITES_TMP= ; \ >+ for group in $$select; do \ >+ if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ >+ eval ___MASTER_SITES_TMP="\$${_MASTER_SITES_$${group}}" ; \ >+ __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ >+ fi; \ >+ done; \ >+ ___MASTER_SITES_TMP= ; \ >+ SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ >+ else \ >+ SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ >+ fi; \ >+ sites_remaining=0; \ >+ sites="`eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`"; \ >+ for site in $${sites}; do \ >+ sites_remaining=$$(($${sites_remaining} + 1)); \ >+ done; \ >+ for site in $${sites}; do \ >+ sites_remaining=$$(($${sites_remaining} - 1)); \ >+ ${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \ >+ CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ >+ 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 \ >+ actual_size=`stat -f %z "$${file}"`; \ >+ if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \ >+ continue 2; \ >+ else \ >+ ${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \ >+ if [ $${sites_remaining} -gt 0 ]; then \ >+ ${ECHO_MSG} "=> Trying next site"; \ >+ ${RM} -f $${file}; \ >+ fi; \ >+ fi; \ >+ 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 >+.if defined(PATCHFILES) >+ @cd ${_DISTDIR};\ >+ ${_PATCH_SITES_ENV} ; \ >+ for _file in ${PATCHFILES}; do \ >+ file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ >+ force_fetch=false; \ >+ filebasename=$${file##*/}; \ >+ for afile in ${FORCE_FETCH}; do \ >+ afile=$${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 $${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; \ >+ sites_remaining=0; \ >+ sites="`eval $$SORTED_PATCH_SITES_CMD_TMP`"; \ >+ for site in $${sites}; do \ >+ sites_remaining=$$(($${sites_remaining} + 1)); \ >+ done; \ >+ for site in $${sites}; do \ >+ sites_remaining=$$(($${sites_remaining} - 1)); \ >+ ${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \ >+ CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ >+ 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 \ >+ actual_size=`stat -f %z "$${file}"`; \ >+ if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \ >+ continue 2; \ >+ else \ >+ ${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \ >+ if [ $${sites_remaining} -gt 1 ]; then \ >+ ${ECHO_MSG} "=> Trying next site"; \ >+ ${RM} -f $${file}; \ >+ fi; \ >+ fi; \ >+ 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 >- >-# Prints out all the URL for all the DISTFILES and PATCHFILES. >- >-.if !target(fetch-urlall-list) >-fetch-urlall-list: >- @cd ${.CURDIR} && ${SETENV} FORCE_FETCH_ALL=yes ${MAKE} fetch-url-list-int > .endif > >-# Prints the URL for all the DISTFILES and PATCHFILES that are not here >- >-.if !target(fetch-url-list) >-fetch-url-list: fetch-url-list-int >-.endif >- >- > # Extract > > clean-wrkdir: >@@ -3888,6 +3969,176 @@ > .endif > .endif > >+# Prints out a list of files to fetch (useful to do a batch fetch) >+ >+.if !target(fetch-list) >+fetch-list: >+ @${MKDIR} ${_DISTDIR} >+ @(cd ${_DISTDIR}; \ >+ ${_MASTER_SITES_ENV} ; \ >+ for _file in ${DISTFILES}; do \ >+ file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ if [ ! -f $$file -a ! -f $${file##*/} ]; then \ >+ if [ ! -z "$$select" ] ; then \ >+ __MASTER_SITES_TMP= ; \ >+ for group in $$select; do \ >+ if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ >+ eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \ >+ __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ >+ fi; \ >+ done; \ >+ ___MASTER_SITES_TMP= ; \ >+ SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ >+ else \ >+ SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ >+ fi; \ >+ ${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \ >+ ${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \ >+ for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ >+ if [ ! -z "`${ECHO_CMD} ${NOFETCHFILES} | ${GREP} -w $${file}`" ]; then \ >+ if [ -z "`${ECHO_CMD} ${MASTER_SITE_OVERRIDE} | ${GREP} -w $${site}`" ]; then \ >+ continue; \ >+ fi; \ >+ fi; \ >+ CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ >+ case $${file} in \ >+ */*) args="-o $${file} $${site}$${file}";; \ >+ *) args=$${site}$${file};; \ >+ esac; \ >+ ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ >+ done; \ >+ ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \ >+ fi; \ >+ done) >+.if defined(PATCHFILES) >+ @(cd ${_DISTDIR}; \ >+ ${_PATCH_SITES_ENV} ; \ >+ for _file in ${PATCHFILES}; do \ >+ file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ >+ if [ ! -f $$file -a ! -f $${file##*/} ]; then \ >+ 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; \ >+ ${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \ >+ ${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \ >+ for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ >+ CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ >+ case $${file} in \ >+ */*) args="-o $${file} $${site}$${file}";; \ >+ *) args=$${site}$${file};; \ >+ esac; \ >+ ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ >+ done; \ >+ ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \ >+ fi; \ >+ done) >+.endif >+.endif >+ >+.if !target(fetch-url-list-int) >+fetch-url-list-int: >+ @${MKDIR} ${_DISTDIR} >+ @(cd ${_DISTDIR}; \ >+ ${_MASTER_SITES_ENV}; \ >+ for _file in ${DISTFILES}; do \ >+ file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ >+ fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \ >+ if [ ! -z "$$select" ] ; then \ >+ __MASTER_SITES_TMP= ; \ >+ for group in $$select; do \ >+ if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ >+ eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \ >+ __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ >+ fi \ >+ done; \ >+ ___MASTER_SITES_TMP= ; \ >+ SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ >+ else \ >+ SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ >+ fi ; \ >+ for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ >+ case $${file} in \ >+ */*) args="-o $${file} $${site}$${file}";; \ >+ *) args=$${site}$${file};; \ >+ esac; \ >+ ${ECHO_CMD} $${args} ; \ >+ done; \ >+ fi \ >+ done) >+.if defined(PATCHFILES) >+ @(cd ${_DISTDIR}; \ >+ ${_PATCH_SITES_ENV} ; \ >+ for _file in ${PATCHFILES}; do \ >+ file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ >+ if [ $$_file = $$file ]; then \ >+ select=''; \ >+ else \ >+ select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ >+ fi; \ >+ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ >+ fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \ >+ if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \ >+ 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 ${_RANDOMIZE_SITES}`; do \ >+ case $${file} in \ >+ */*) args="-o $${file} $${site}$${file}";; \ >+ *) args=$${site}$${file};; \ >+ esac; \ >+ ${ECHO_CMD} $${args} ; \ >+ done; \ >+ fi \ >+ done) >+.endif >+.endif >+ >+.if !target(fetch-urlall-list) >+fetch-urlall-list: >+ @cd ${.CURDIR} && LISTALL=yes ${MAKE} fetch-url-list-int >+.endif >+ >+.if !target(fetch-url-list) >+fetch-url-list: fetch-url-list-int >+.endif >+ > # Generates patches. > > update-patches: >@@ -3903,62 +4154,123 @@ > > # Checksumming utilities > >-# List all algorithms here, all the variables name must begin with dp_ >-_CHECKSUM_INIT_ENV= \ >- dp_SHA256=${SHA256} >+check-checksum-algorithms: >+ @ \ >+ ${checksum_init} \ >+ \ >+ for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ >+ eval alg_executable=\$$$$alg; \ >+ if [ -z "$$alg_executable" ]; then \ >+ ${ECHO_MSG} "Checksum algorithm $$alg: Couldn't find the executable."; \ >+ ${ECHO_MSG} "Set $$alg=/path/to/$$alg in /etc/make.conf and try again."; \ >+ exit 1; \ >+ fi; \ >+ done; \ >+ >+checksum_init=\ >+ SHA256=${SHA256}; > > .if !target(makesum) >-# Some port change the options with OPTIONS_*_FORCE when make(makesum) to be >-# able to add all distfiles in one go. >-# For this to work, we need to call the do-fetch script directly here so that >-# the options consistent when fetching and when makesum'ing. >-# As we're fetching new distfiles, that are not in the distinfo file, disable >-# checksum and sizes checks. >-makesum: >-.if !empty(DISTFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ >- dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \ >- dp_SITE_FLAVOR=MASTER \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} >-.endif >-.if defined(PATCHFILES) && !empty(PATCHFILES) >- @${SETENV} \ >- ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ >- dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \ >- dp_SITE_FLAVOR=PATCH \ >- ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} >-.endif >- @${SETENV} \ >- ${_CHECKSUM_INIT_ENV} \ >- dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \ >- dp_CKSUMFILES='${_CKSUMFILES}' \ >- dp_DISTDIR='${DISTDIR}' \ >- dp_DISTINFO_FILE='${DISTINFO_FILE}' \ >- dp_ECHO_MSG='${ECHO_MSG}' \ >- dp_SCRIPTSDIR='${SCRIPTSDIR}' \ >- ${SH} ${SCRIPTSDIR}/makesum.sh ${DISTFILES:C/.*/'&'/} >+makesum: check-checksum-algorithms >+ @cd ${.CURDIR} && ${MAKE} fetch NO_CHECKSUM=yes \ >+ DISABLE_SIZE=yes >+ @if [ -f ${DISTINFO_FILE} ]; then ${CAT} /dev/null > ${DISTINFO_FILE}; fi >+ @( \ >+ cd ${DISTDIR}; \ >+ \ >+ ${checksum_init} \ >+ \ >+ for file in ${_CKSUMFILES}; do \ >+ for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ >+ eval alg_executable=\$$$$alg; \ >+ \ >+ if [ $$alg_executable != "NO" ]; then \ >+ $$alg_executable $$file >> ${DISTINFO_FILE}; \ >+ fi; \ >+ done; \ >+ ${ECHO_CMD} "SIZE ($$file) = `${STAT} -f \"%z\" $$file`" >> ${DISTINFO_FILE}; \ >+ done \ >+ ) > .endif > > .if !target(checksum) >-checksum: fetch >-.if !empty(_CKSUMFILES) >- @${SETENV} \ >- ${_CHECKSUM_INIT_ENV} \ >- dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \ >- dp_CURDIR='${.CURDIR}' \ >- dp_DISTDIR='${DISTDIR}' \ >- dp_DISTINFO_FILE='${DISTINFO_FILE}' \ >- dp_DIST_SUBDIR='${DIST_SUBDIR}' \ >- dp_ECHO_MSG='${ECHO_MSG}' \ >- dp_FETCH_REGET='${FETCH_REGET}' \ >- dp_MAKE='${MAKE}' \ >- dp_MAKEFLAGS='${.MAKEFLAGS}' \ >- dp_SCRIPTSDIR='${SCRIPTSDIR}' \ >- dp_DISABLE_SIZE='${DISABLE_SIZE}' \ >- dp_NO_CHECKSUM='${NO_CHECKSUM}' \ >- ${SH} ${SCRIPTSDIR}/checksum.sh ${_CKSUMFILES:C/.*/'&'/} >-.endif >+checksum: fetch check-checksum-algorithms >+ @set -e ; \ >+ ${checksum_init} \ >+ if [ -f ${DISTINFO_FILE} ]; then \ >+ cd ${DISTDIR}; OK="";\ >+ for file in ${_CKSUMFILES}; do \ >+ ignored="true"; \ >+ _file=$${file#${DIST_SUBDIR}/*}; \ >+ for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ >+ ignore="false"; \ >+ eval alg_executable=\$$$$alg; \ >+ \ >+ if [ $$alg_executable != "NO" ]; then \ >+ MKSUM=`$$alg_executable < $$file`; \ >+ CKSUM=`file=$$_file; ${DISTINFO_DATA}`; \ >+ else \ >+ ignore="true"; \ >+ fi; \ >+ \ >+ if [ $$ignore = "false" -a -z "$$CKSUM" ]; then \ >+ ${ECHO_MSG} "=> No $$alg checksum recorded for $$file."; \ >+ ignore="true"; \ >+ fi; \ >+ \ >+ if [ $$ignore = "false" ]; then \ >+ match="false"; \ >+ for chksum in $$CKSUM; do \ >+ if [ "$$chksum" = "$$MKSUM" ]; then \ >+ match="true"; \ >+ break; \ >+ fi; \ >+ done; \ >+ if [ $$match = "true" ]; then \ >+ ${ECHO_MSG} "=> $$alg Checksum OK for $$file."; \ >+ ignored="false"; \ >+ else \ >+ ${ECHO_MSG} "=> $$alg Checksum mismatch for $$file."; \ >+ refetchlist="$$refetchlist$$file "; \ >+ OK="$${OK:-retry}"; \ >+ [ "$${OK}" = "retry" -a ${FETCH_REGET} -gt 0 ] && ${RM} -f $${file}; \ >+ ignored="false"; \ >+ fi; \ >+ fi; \ >+ done; \ >+ \ >+ if [ $$ignored = "true" ]; then \ >+ ${ECHO_MSG} "=> No suitable checksum found for $$file."; \ >+ OK="${FALSE}"; \ >+ fi; \ >+ \ >+ done; \ >+ \ >+ if [ "$${OK:=true}" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \ >+ ${ECHO_MSG} "===> Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \ >+ if ( cd ${.CURDIR} && \ >+ ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \ >+ if ( cd ${.CURDIR} && \ >+ ${MAKE} ${.MAKEFLAGS} FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" checksum ); then \ >+ OK="true"; \ >+ fi; \ >+ fi; \ >+ fi; \ >+ \ >+ if [ "$$OK" != "true" -a ${FETCH_REGET} -eq 0 ]; then \ >+ ${ECHO_MSG} "===> Giving up on fetching files: $$refetchlist"; \ >+ ${ECHO_MSG} "Make sure the Makefile and distinfo file (${DISTINFO_FILE})"; \ >+ ${ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"; \ >+ ${ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."; \ >+ exit 1; \ >+ fi; \ >+ if [ "$$OK" != "true" ]; then \ >+ exit 1; \ >+ fi; \ >+ elif [ -n "${_CKSUMFILES:M*}" ]; then \ >+ ${ECHO_MSG} "=> No checksum file (${DISTINFO_FILE})."; \ >+ exit 1; \ >+ fi > .endif > > ################################################################ >@@ -4938,8 +5250,7 @@ > @${ECHO_MSG} "===> No options to configure" > .else > @optionsdir=${OPTIONS_FILE:H}; \ >- if [ ! -w "${PORT_DBDIR}" -a "`stat -f %u ${PORT_DBDIR:H}`" = 0 ]; \ >- then \ >+ if [ ${UID} != 0 -a -z "${INSTALL_AS_USER}" -a ! -w "${PORT_DBDIR}" ] ; then \ > ${ECHO_MSG} "===> Switching to root credentials to create $${optionsdir}"; \ > (${SU_CMD} "${SH} -c \"${MKDIR} $${optionsdir} 2> /dev/null\"") || \ > (${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \ >@@ -4975,8 +5286,7 @@ > ${ECHO_CMD} "OPTIONS_FILE_UNSET+=$${i}" >> $${TMPOPTIONSFILE}; \ > fi; \ > done; \ >- if [ ! -w "${OPTIONS_FILE:H}" -a "`stat -f %u ${OPTIONS_FILE:H}`" != ${UID} ]; \ >- then \ >+ if [ ${UID} != 0 -a -z "${INSTALL_AS_USER}" -a ! -w "${OPTIONS_FILE:H}" ]; then \ > ${ECHO_MSG} "===> Switching to root credentials to write ${OPTIONS_FILE}"; \ > ${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}"; \ > ${ECHO_MSG} "===> Returning to user credentials"; \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 209803
: 170736