Lines 1-7
Link Here
|
1 |
#-*- tab-width: 4; -*- |
1 |
#-*- tab-width: 4; -*- |
2 |
# ex:ts=4 |
2 |
# ex:ts=4 |
3 |
# |
3 |
# |
4 |
# $FreeBSD: head/Mk/bsd.port.mk 415851 2016-05-25 18:41:21Z bapt $ |
4 |
# $FreeBSD$ |
5 |
# $NetBSD: $ |
5 |
# $NetBSD: $ |
6 |
# |
6 |
# |
7 |
# bsd.port.mk - 940820 Jordan K. Hubbard. |
7 |
# bsd.port.mk - 940820 Jordan K. Hubbard. |
Lines 1064-1070
Link Here
|
1064 |
SRC_BASE?= /usr/src |
1064 |
SRC_BASE?= /usr/src |
1065 |
USESDIR?= ${PORTSDIR}/Mk/Uses |
1065 |
USESDIR?= ${PORTSDIR}/Mk/Uses |
1066 |
SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts |
1066 |
SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts |
1067 |
LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib |
1067 |
LIB_DIRS?= ${X_SYSROOT}/lib ${X_SYSROOT}/usr/lib ${X_SYSROOT}/${LOCALBASE}/lib |
1068 |
STAGEDIR?= ${WRKDIR}/stage |
1068 |
STAGEDIR?= ${WRKDIR}/stage |
1069 |
NOTPHONY?= |
1069 |
NOTPHONY?= |
1070 |
MINIMAL_PKG_VERSION= 1.6.0 |
1070 |
MINIMAL_PKG_VERSION= 1.6.0 |
Lines 1083-1095
Link Here
|
1083 |
HOSTCC:= ${CC} |
1083 |
HOSTCC:= ${CC} |
1084 |
HOSTCXX:= ${CXX} |
1084 |
HOSTCXX:= ${CXX} |
1085 |
.endif |
1085 |
.endif |
|
|
1086 |
|
1087 |
.if !defined(X_BUILD_FOR && DESTDIR) |
1088 |
.error "You must define DESTDIR when using X_BUILD_FOR or your installed packages will get overwritten!" |
1089 |
.if !defined(X_SYSROOT) |
1090 |
X_SYSROOT= ${DESTDIR} |
1086 |
.if !exists(/usr/${X_BUILD_FOR}/usr/bin/cc) |
1091 |
.if !exists(/usr/${X_BUILD_FOR}/usr/bin/cc) |
1087 |
X_SYSROOT= ${LOCALBASE}/${X_BUILD_FOR} |
1092 |
X_SYSROOT= ${LOCALBASE}/${X_BUILD_FOR} |
1088 |
.else |
1093 |
.else |
1089 |
X_SYSROOT= /usr/${X_BUILD_FOR} |
1094 |
#X_SYSROOT= /usr/${X_BUILD_FOR} |
|
|
1095 |
.endif |
1090 |
.endif |
1096 |
.endif |
1091 |
CC= ${X_SYSROOT}/usr/bin/cc |
1097 |
CC= /usr/${X_BUILD_FOR}/usr/bin/cc |
1092 |
CXX= ${X_SYSROOT}/usr/bin/c++ |
1098 |
CXX= /usr/${X_BUILD_FOR}/usr/bin/c++ |
|
|
1099 |
|
1100 |
#LD= ${X_BUILD_FOR}-ld |
1093 |
NM= ${X_BUILD_FOR}-nm |
1101 |
NM= ${X_BUILD_FOR}-nm |
1094 |
STRIP_CMD= ${X_BUILD_FOR}-strip |
1102 |
STRIP_CMD= ${X_BUILD_FOR}-strip |
1095 |
# only bmake support the below |
1103 |
# only bmake support the below |
Lines 1521-1528
Link Here
|
1521 |
"STRIP=${STRIP}" \ |
1529 |
"STRIP=${STRIP}" \ |
1522 |
TMPPLIST=${TMPPLIST} \ |
1530 |
TMPPLIST=${TMPPLIST} \ |
1523 |
LDCONFIG_DIR="${LDCONFIG_DIR}" \ |
1531 |
LDCONFIG_DIR="${LDCONFIG_DIR}" \ |
1524 |
PKGORIGIN=${PKGORIGIN} \ |
|
|
1525 |
LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \ |
1526 |
PKGBASE=${PKGBASE} |
1532 |
PKGBASE=${PKGBASE} |
1527 |
.if !empty(USES:Mdesktop-file-utils) |
1533 |
.if !empty(USES:Mdesktop-file-utils) |
1528 |
QA_ENV+= USESDESKTOPFILEUTILS=yes |
1534 |
QA_ENV+= USESDESKTOPFILEUTILS=yes |
Lines 1550-1561
Link Here
|
1550 |
PORTSDIR="${PORTSDIR}" |
1556 |
PORTSDIR="${PORTSDIR}" |
1551 |
|
1557 |
|
1552 |
.if defined(X_BUILD_FOR) |
1558 |
.if defined(X_BUILD_FOR) |
1553 |
BUILD_DEPENDS+= ${X_BUILD_FOR}-cc:devel/${X_BUILD_FOR}-xdev |
1559 |
#BUILD_DEPENDS+= ${X_BUILD_FOR}-gcc:devel/${X_BUILD_FOR}-binutils |
1554 |
PKG_ENV+= ABI_FILE=${X_SYSROOT}/usr/lib/crt1.o |
1560 |
PKG_ENV+= ABI_FILE=${X_SYSROOT}/usr/lib/crt1.o |
1555 |
MAKE_ENV+= NM=${NM} \ |
1561 |
MAKE_ENV+= INCLUDE=/usr/src/10.3.0/include \ |
|
|
1562 |
NM=${NM} \ |
1556 |
STRIPBIN=${X_BUILD_FOR}-strip \ |
1563 |
STRIPBIN=${X_BUILD_FOR}-strip \ |
1557 |
PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" |
1564 |
PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" |
1558 |
CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" |
1565 |
CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}" |
|
|
1566 |
PKG_DBDIR= ${X_SYSROOT}/var/db/pkg |
1567 |
PORT_DBDIR= ${X_SYSROOT}/var/db/ports |
1568 |
|
1569 |
|
1559 |
.endif |
1570 |
.endif |
1560 |
|
1571 |
|
1561 |
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work |
1572 |
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work |
Lines 1640-1659
Link Here
|
1640 |
|
1651 |
|
1641 |
# XXX PIE support to be added here |
1652 |
# XXX PIE support to be added here |
1642 |
MAKE_ENV+= NO_PIE=yes |
1653 |
MAKE_ENV+= NO_PIE=yes |
1643 |
# We prefer to pass MK_*=no but it was only supported after a certain |
|
|
1644 |
# revision. Passing WITHOUT_* may conflict with a make.conf or src.conf's |
1645 |
# WITH_* value. Note that ports *do* pull in src.conf. |
1646 |
.if (${OSVERSION} >= 903510 && ${OSVERSION} < 1000000) || \ |
1647 |
(${OSVERSION} >= 1003503 && ${OSVERSION} < 1100000) || \ |
1648 |
${OSVERSION} >= 1100000 |
1649 |
# We will control debug files. Don't let builds that use /usr/share/mk |
1654 |
# We will control debug files. Don't let builds that use /usr/share/mk |
1650 |
# split out debug symbols since the plist won't know to expect it. |
1655 |
# split out debug symbols since the plist won't know to expect it. |
1651 |
MAKE_ENV+= MK_DEBUG_FILES=no |
|
|
1652 |
MAKE_ENV+= MK_KERNEL_SYMBOLS=no |
1653 |
.else |
1654 |
MAKE_ENV+= WITHOUT_DEBUG_FILES=yes |
1656 |
MAKE_ENV+= WITHOUT_DEBUG_FILES=yes |
1655 |
MAKE_ENV+= WITHOUT_KERNEL_SYMBOLS=yes |
1657 |
MAKE_ENV+= WITHOUT_KERNEL_SYMBOLS=yes |
1656 |
.endif |
|
|
1657 |
|
1658 |
|
1658 |
.if defined(NOPORTDOCS) |
1659 |
.if defined(NOPORTDOCS) |
1659 |
PLIST_SUB+= PORTDOCS="@comment " |
1660 |
PLIST_SUB+= PORTDOCS="@comment " |
Lines 2013-2019
Link Here
|
2013 |
.if !defined(WITHOUT_NO_STRICT_ALIASING) |
2014 |
.if !defined(WITHOUT_NO_STRICT_ALIASING) |
2014 |
.if ${CC} != "icc" |
2015 |
.if ${CC} != "icc" |
2015 |
.if empty(CFLAGS:M-fno-strict-aliasing) |
2016 |
.if empty(CFLAGS:M-fno-strict-aliasing) |
2016 |
CFLAGS+= -fno-strict-aliasing |
2017 |
CFLAGS+= "-fno-strict-aliasing" |
2017 |
.endif |
2018 |
.endif |
2018 |
.endif |
2019 |
.endif |
2019 |
.endif |
2020 |
.endif |
Lines 2065-2072
Link Here
|
2065 |
.if defined(RANDOMIZE_MASTER_SITES) |
2066 |
.if defined(RANDOMIZE_MASTER_SITES) |
2066 |
.if exists(/usr/games/random) |
2067 |
.if exists(/usr/games/random) |
2067 |
RANDOM_CMD?= /usr/games/random |
2068 |
RANDOM_CMD?= /usr/games/random |
2068 |
RANDOM_ARGS?= -w -f - |
2069 |
RANDOM_ARGS?= "-w -f -" |
2069 |
_RANDOMIZE_SITES= |${RANDOM_CMD} ${RANDOM_ARGS} |
2070 |
_RANDOMIZE_SITES= " |${RANDOM_CMD} ${RANDOM_ARGS}" |
2070 |
.endif |
2071 |
.endif |
2071 |
.endif |
2072 |
.endif |
2072 |
|
2073 |
|
Lines 3062-3176
Link Here
|
3062 |
AUDITFILE?= ${PKG_DBDIR}/vuln.xml |
3063 |
AUDITFILE?= ${PKG_DBDIR}/vuln.xml |
3063 |
|
3064 |
|
3064 |
check-vulnerable: |
3065 |
check-vulnerable: |
3065 |
.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) \ |
3066 |
.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) |
3066 |
&& exists(${AUDITFILE}) |
3067 |
@if [ -f "${AUDITFILE}" ]; then \ |
3067 |
@${SETENV} \ |
3068 |
if [ -x "${PKG_BIN}" ]; then \ |
3068 |
dp_ECHO_MSG="${ECHO_MSG}" \ |
3069 |
vlist=`${PKG_BIN} audit "${PKGNAME}" || :`; \ |
3069 |
dp_PKG_BIN="${PKG_BIN}" \ |
3070 |
if [ "$${vlist}" = "0 problem(s) in the installed packages found." ]; then \ |
3070 |
dp_PORTNAME="${PORTNAME}" \ |
3071 |
vlist=""; \ |
3071 |
dp_PKGNAME="${PKGNAME}" \ |
3072 |
fi; \ |
3072 |
dp_SCRIPTSDIR="${SCRIPTSDIR}" \ |
3073 |
elif [ "${PORTNAME}" = "pkg" ]; then \ |
3073 |
${SH} ${SCRIPTSDIR}/check-vulnerable.sh |
3074 |
vlist=""; \ |
|
|
3075 |
fi; \ |
3076 |
if [ -n "$$vlist" ]; then \ |
3077 |
${ECHO_MSG} "===> ${PKGNAME} has known vulnerabilities:"; \ |
3078 |
${ECHO_MSG} "$$vlist"; \ |
3079 |
${ECHO_MSG} "=> Please update your ports tree and try again."; \ |
3080 |
${ECHO_MSG} "=> Note: Vulnerable ports are marked as such even if there is no update available."; \ |
3081 |
${ECHO_MSG} "=> If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'"; \ |
3082 |
exit 1; \ |
3083 |
fi; \ |
3084 |
fi |
3074 |
.endif |
3085 |
.endif |
3075 |
|
3086 |
|
3076 |
# Quote simply quote all variables, except FETCH_ENV, some ports are creative |
3087 |
# set alg to any of SIZE, SHA256 (or any other checksum algorithm): |
3077 |
# with it, and it needs to be quoted twice to pass through the echo/eval in |
3088 |
DISTINFO_DATA?= if [ \( -n "${DISABLE_SIZE}" -a -n "${NO_CHECKSUM}" \) -o ! -f "${DISTINFO_FILE}" ]; then exit; fi; \ |
3078 |
# do-fetch. |
3089 |
DIR=${DIST_SUBDIR}; ${AWK} -v alg=$$alg -v file=$${DIR:+$$DIR/}$${file} \ |
3079 |
_DO_FETCH_ENV= \ |
3090 |
'$$1 == alg && $$2 == "(" file ")" {print $$4}' ${DISTINFO_FILE} |
3080 |
dp_DISABLE_SIZE='${DISABLE_SIZE}' \ |
|
|
3081 |
dp_DISTDIR='${_DISTDIR}' \ |
3082 |
dp_DISTINFO_FILE='${DISTINFO_FILE}' \ |
3083 |
dp_DIST_SUBDIR='${DIST_SUBDIR}' \ |
3084 |
dp_ECHO_MSG='${ECHO_MSG}' \ |
3085 |
dp_FETCH_AFTER_ARGS='${FETCH_AFTER_ARGS}' \ |
3086 |
dp_FETCH_BEFORE_ARGS='${FETCH_BEFORE_ARGS}' \ |
3087 |
dp_FETCH_CMD='${FETCH_CMD}' \ |
3088 |
dp_FETCH_ENV=${FETCH_ENV:Q:Q} \ |
3089 |
dp_FORCE_FETCH_ALL='${FORCE_FETCH_ALL}' \ |
3090 |
dp_FORCE_FETCH_LIST='${FORCE_FETCH_LIST}' \ |
3091 |
dp_MASTER_SITE_BACKUP='${_MASTER_SITE_BACKUP}' \ |
3092 |
dp_MASTER_SITE_OVERRIDE='${_MASTER_SITE_OVERRIDE}' \ |
3093 |
dp_MASTER_SORT_AWK='${MASTER_SORT_AWK}' \ |
3094 |
dp_NO_CHECKSUM='${NO_CHECKSUM}' \ |
3095 |
dp_RANDOMIZE_SITES='${_RANDOMIZE_SITES}' \ |
3096 |
dp_SCRIPTSDIR='${SCRIPTSDIR}' \ |
3097 |
dp_SORTED_MASTER_SITES_DEFAULT_CMD='${SORTED_MASTER_SITES_DEFAULT_CMD}' \ |
3098 |
dp_SORTED_PATCH_SITES_DEFAULT_CMD='${SORTED_PATCH_SITES_DEFAULT_CMD}' \ |
3099 |
dp_TARGET='${.TARGET}' |
3100 |
.if defined(DEVELOPER) |
3101 |
_DO_FETCH_ENV+= dp_DEVELOPER=yes |
3102 |
.else |
3103 |
_DO_FETCH_ENV+= dp_DEVELOPER= |
3104 |
.endif |
3105 |
|
3091 |
|
3106 |
# Fetch |
3092 |
# Fetch |
3107 |
|
3093 |
|
3108 |
.if !target(do-fetch) |
3094 |
.if !target(do-fetch) |
3109 |
do-fetch: |
3095 |
do-fetch: |
3110 |
.if !empty(DISTFILES) |
3096 |
@${MKDIR} ${_DISTDIR} |
3111 |
@${SETENV} \ |
3097 |
@cd ${_DISTDIR};\ |
3112 |
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ |
3098 |
${_MASTER_SITES_ENV} ; \ |
3113 |
dp_SITE_FLAVOR=MASTER \ |
3099 |
for _file in ${DISTFILES}; do \ |
3114 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} |
3100 |
file=$${_file%%:*}; \ |
3115 |
.endif |
3101 |
if [ $$_file = $$file ]; then \ |
3116 |
.if defined(PATCHFILES) && !empty(PATCHFILES) |
3102 |
select=''; \ |
3117 |
@${SETENV} \ |
3103 |
else \ |
3118 |
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ |
3104 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
3119 |
dp_SITE_FLAVOR=PATCH \ |
3105 |
fi; \ |
3120 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} |
3106 |
force_fetch=false; \ |
3121 |
.endif |
3107 |
filebasename=$${file##*/}; \ |
3122 |
.endif |
3108 |
for afile in ${FORCE_FETCH}; do \ |
3123 |
# |
3109 |
afile=$${afile##*/}; \ |
3124 |
# Prints out a list of files to fetch (useful to do a batch fetch) |
3110 |
if [ "x$$afile" = "x$$filebasename" ]; then \ |
3125 |
|
3111 |
force_fetch=true; \ |
3126 |
.if !target(fetch-list) |
3112 |
fi; \ |
3127 |
fetch-list: |
3113 |
done; \ |
3128 |
.if !empty(DISTFILES) |
3114 |
if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \ |
3129 |
@${SETENV} \ |
3115 |
if [ -L $$file -o -L $$filebasename ]; then \ |
3130 |
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ |
3116 |
${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ |
3131 |
dp_SITE_FLAVOR=MASTER \ |
3117 |
${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ |
3132 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} |
3118 |
${ECHO_MSG} "=> Please correct this problem and try again."; \ |
3133 |
.endif |
3119 |
exit 1; \ |
3134 |
.if defined(PATCHFILES) && !empty(PATCHFILES) |
3120 |
fi; \ |
3135 |
@${SETENV} \ |
3121 |
if [ -f ${DISTINFO_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \ |
3136 |
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ |
3122 |
_sha256sum=`alg=SHA256; ${DISTINFO_DATA}`; \ |
3137 |
dp_SITE_FLAVOR=PATCH \ |
3123 |
if [ -z "$$_sha256sum" ]; then \ |
3138 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} |
3124 |
${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is not in ${DISTINFO_FILE}."; \ |
3139 |
.endif |
3125 |
${ECHO_MSG} "=> Either ${DISTINFO_FILE} is out of date, or"; \ |
3140 |
.endif |
3126 |
${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \ |
3141 |
|
3127 |
exit 1; \ |
3142 |
# Used by fetch-urlall-list and fetch-url-list |
3128 |
fi; \ |
3143 |
|
3129 |
fi; \ |
3144 |
.if !target(fetch-url-list-int) |
3130 |
${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ |
3145 |
fetch-url-list-int: |
3131 |
if [ ! -w ${_DISTDIR} ]; then \ |
3146 |
.if !empty(DISTFILES) |
3132 |
${ECHO_MSG} "=> ${_DISTDIR} is not writable by you; cannot fetch."; \ |
3147 |
@${SETENV} \ |
3133 |
exit 1; \ |
3148 |
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ |
3134 |
fi; \ |
3149 |
dp_SITE_FLAVOR=MASTER \ |
3135 |
if [ ! -z "$$select" ] ; then \ |
3150 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} |
3136 |
__MASTER_SITES_TMP= ; \ |
3151 |
.endif |
3137 |
for group in $$select; do \ |
3152 |
.if defined(PATCHFILES) && !empty(PATCHFILES) |
3138 |
if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ |
3153 |
@${SETENV} \ |
3139 |
eval ___MASTER_SITES_TMP="\$${_MASTER_SITES_$${group}}" ; \ |
3154 |
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ |
3140 |
__MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ |
3155 |
dp_SITE_FLAVOR=PATCH \ |
3141 |
fi; \ |
3156 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} |
3142 |
done; \ |
3157 |
.endif |
3143 |
___MASTER_SITES_TMP= ; \ |
|
|
3144 |
SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
3145 |
else \ |
3146 |
SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ |
3147 |
fi; \ |
3148 |
sites_remaining=0; \ |
3149 |
sites="`eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`"; \ |
3150 |
for site in $${sites}; do \ |
3151 |
sites_remaining=$$(($${sites_remaining} + 1)); \ |
3152 |
done; \ |
3153 |
for site in $${sites}; do \ |
3154 |
sites_remaining=$$(($${sites_remaining} - 1)); \ |
3155 |
${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \ |
3156 |
CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ |
3157 |
case $${file} in \ |
3158 |
*/*) ${MKDIR} $${file%/*}; \ |
3159 |
args="-o $${file} $${site}$${file}";; \ |
3160 |
*) args=$${site}$${file};; \ |
3161 |
esac; \ |
3162 |
if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \ |
3163 |
actual_size=`stat -f %z "$${file}"`; \ |
3164 |
if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \ |
3165 |
continue 2; \ |
3166 |
else \ |
3167 |
${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \ |
3168 |
if [ $${sites_remaining} -gt 0 ]; then \ |
3169 |
${ECHO_MSG} "=> Trying next site"; \ |
3170 |
${RM} -f $${file}; \ |
3171 |
fi; \ |
3172 |
fi; \ |
3173 |
fi; \ |
3174 |
done; \ |
3175 |
${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ |
3176 |
${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ |
3177 |
exit 1; \ |
3178 |
fi; \ |
3179 |
done |
3180 |
.if defined(PATCHFILES) |
3181 |
@cd ${_DISTDIR};\ |
3182 |
${_PATCH_SITES_ENV} ; \ |
3183 |
for _file in ${PATCHFILES}; do \ |
3184 |
file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ |
3185 |
if [ $$_file = $$file ]; then \ |
3186 |
select=''; \ |
3187 |
else \ |
3188 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
3189 |
fi; \ |
3190 |
file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ |
3191 |
force_fetch=false; \ |
3192 |
filebasename=$${file##*/}; \ |
3193 |
for afile in ${FORCE_FETCH}; do \ |
3194 |
afile=$${afile##*/}; \ |
3195 |
if [ "x$$afile" = "x$$filebasename" ]; then \ |
3196 |
force_fetch=true; \ |
3197 |
fi; \ |
3198 |
done; \ |
3199 |
if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \ |
3200 |
if [ -L $$file -o -L $${file##*/} ]; then \ |
3201 |
${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ |
3202 |
${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ |
3203 |
${ECHO_MSG} "=> Please correct this problem and try again."; \ |
3204 |
exit 1; \ |
3205 |
fi; \ |
3206 |
${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ |
3207 |
if [ ! -z "$$select" ] ; then \ |
3208 |
__PATCH_SITES_TMP= ; \ |
3209 |
for group in $$select; do \ |
3210 |
if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \ |
3211 |
eval ___PATCH_SITES_TMP="\$${_PATCH_SITES_$${group}}" ; \ |
3212 |
__PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \ |
3213 |
fi; \ |
3214 |
done; \ |
3215 |
___PATCH_SITES_TMP= ; \ |
3216 |
SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
3217 |
else \ |
3218 |
SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ |
3219 |
fi; \ |
3220 |
sites_remaining=0; \ |
3221 |
sites="`eval $$SORTED_PATCH_SITES_CMD_TMP`"; \ |
3222 |
for site in $${sites}; do \ |
3223 |
sites_remaining=$$(($${sites_remaining} + 1)); \ |
3224 |
done; \ |
3225 |
for site in $${sites}; do \ |
3226 |
sites_remaining=$$(($${sites_remaining} - 1)); \ |
3227 |
${ECHO_MSG} "=> Attempting to fetch $${site}$${file}"; \ |
3228 |
CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ |
3229 |
case $${file} in \ |
3230 |
*/*) ${MKDIR} $${file%/*}; \ |
3231 |
args="-o $${file} $${site}$${file}";; \ |
3232 |
*) args=$${site}$${file};; \ |
3233 |
esac; \ |
3234 |
if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \ |
3235 |
actual_size=`stat -f %z "$${file}"`; \ |
3236 |
if [ -n "${DISABLE_SIZE}" ] || [ -z "$${CKSIZE}" ] || [ $${actual_size} -eq $${CKSIZE} ]; then \ |
3237 |
continue 2; \ |
3238 |
else \ |
3239 |
${ECHO_MSG} "=> Fetched file size mismatch (expected $${CKSIZE}, actual $${actual_size})"; \ |
3240 |
if [ $${sites_remaining} -gt 1 ]; then \ |
3241 |
${ECHO_MSG} "=> Trying next site"; \ |
3242 |
${RM} -f $${file}; \ |
3243 |
fi; \ |
3244 |
fi; \ |
3245 |
fi; \ |
3246 |
done; \ |
3247 |
${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ |
3248 |
${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ |
3249 |
exit 1; \ |
3250 |
fi; \ |
3251 |
done |
3158 |
.endif |
3252 |
.endif |
3159 |
|
|
|
3160 |
# Prints out all the URL for all the DISTFILES and PATCHFILES. |
3161 |
|
3162 |
.if !target(fetch-urlall-list) |
3163 |
fetch-urlall-list: |
3164 |
@cd ${.CURDIR} && ${SETENV} FORCE_FETCH_ALL=yes ${MAKE} fetch-url-list-int |
3165 |
.endif |
3253 |
.endif |
3166 |
|
3254 |
|
3167 |
# Prints the URL for all the DISTFILES and PATCHFILES that are not here |
|
|
3168 |
|
3169 |
.if !target(fetch-url-list) |
3170 |
fetch-url-list: fetch-url-list-int |
3171 |
.endif |
3172 |
|
3173 |
|
3174 |
# Extract |
3255 |
# Extract |
3175 |
|
3256 |
|
3176 |
clean-wrkdir: |
3257 |
clean-wrkdir: |
Lines 3888-3893
Link Here
|
3888 |
.endif |
3969 |
.endif |
3889 |
.endif |
3970 |
.endif |
3890 |
|
3971 |
|
|
|
3972 |
# Prints out a list of files to fetch (useful to do a batch fetch) |
3973 |
|
3974 |
.if !target(fetch-list) |
3975 |
fetch-list: |
3976 |
@${MKDIR} ${_DISTDIR} |
3977 |
@(cd ${_DISTDIR}; \ |
3978 |
${_MASTER_SITES_ENV} ; \ |
3979 |
for _file in ${DISTFILES}; do \ |
3980 |
file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ |
3981 |
if [ $$_file = $$file ]; then \ |
3982 |
select=''; \ |
3983 |
else \ |
3984 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
3985 |
fi; \ |
3986 |
if [ ! -f $$file -a ! -f $${file##*/} ]; then \ |
3987 |
if [ ! -z "$$select" ] ; then \ |
3988 |
__MASTER_SITES_TMP= ; \ |
3989 |
for group in $$select; do \ |
3990 |
if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ |
3991 |
eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \ |
3992 |
__MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ |
3993 |
fi; \ |
3994 |
done; \ |
3995 |
___MASTER_SITES_TMP= ; \ |
3996 |
SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
3997 |
else \ |
3998 |
SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ |
3999 |
fi; \ |
4000 |
${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \ |
4001 |
${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \ |
4002 |
for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ |
4003 |
if [ ! -z "`${ECHO_CMD} ${NOFETCHFILES} | ${GREP} -w $${file}`" ]; then \ |
4004 |
if [ -z "`${ECHO_CMD} ${MASTER_SITE_OVERRIDE} | ${GREP} -w $${site}`" ]; then \ |
4005 |
continue; \ |
4006 |
fi; \ |
4007 |
fi; \ |
4008 |
CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ |
4009 |
case $${file} in \ |
4010 |
*/*) args="-o $${file} $${site}$${file}";; \ |
4011 |
*) args=$${site}$${file};; \ |
4012 |
esac; \ |
4013 |
${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ |
4014 |
done; \ |
4015 |
${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \ |
4016 |
fi; \ |
4017 |
done) |
4018 |
.if defined(PATCHFILES) |
4019 |
@(cd ${_DISTDIR}; \ |
4020 |
${_PATCH_SITES_ENV} ; \ |
4021 |
for _file in ${PATCHFILES}; do \ |
4022 |
file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ |
4023 |
if [ $$_file = $$file ]; then \ |
4024 |
select=''; \ |
4025 |
else \ |
4026 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
4027 |
fi; \ |
4028 |
file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ |
4029 |
if [ ! -f $$file -a ! -f $${file##*/} ]; then \ |
4030 |
if [ ! -z "$$select" ] ; then \ |
4031 |
__PATCH_SITES_TMP= ; \ |
4032 |
for group in $$select; do \ |
4033 |
if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \ |
4034 |
eval ___PATCH_SITES_TMP=\$${_PATCH_SITES_$${group}} ; \ |
4035 |
__PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \ |
4036 |
fi; \ |
4037 |
done; \ |
4038 |
___PATCH_SITES_TMP= ; \ |
4039 |
SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
4040 |
else \ |
4041 |
SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ |
4042 |
fi; \ |
4043 |
${ECHO_CMD} -n ${MKDIR} ${_DISTDIR} '&& ' ; \ |
4044 |
${ECHO_CMD} -n cd ${_DISTDIR} '&& { ' ; \ |
4045 |
for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ |
4046 |
CKSIZE=`alg=SIZE; ${DISTINFO_DATA}`; \ |
4047 |
case $${file} in \ |
4048 |
*/*) args="-o $${file} $${site}$${file}";; \ |
4049 |
*) args=$${site}$${file};; \ |
4050 |
esac; \ |
4051 |
${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ |
4052 |
done; \ |
4053 |
${ECHO_CMD} "${ECHO_CMD} $${file} not fetched; }" ; \ |
4054 |
fi; \ |
4055 |
done) |
4056 |
.endif |
4057 |
.endif |
4058 |
|
4059 |
.if !target(fetch-url-list-int) |
4060 |
fetch-url-list-int: |
4061 |
@${MKDIR} ${_DISTDIR} |
4062 |
@(cd ${_DISTDIR}; \ |
4063 |
${_MASTER_SITES_ENV}; \ |
4064 |
for _file in ${DISTFILES}; do \ |
4065 |
file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ |
4066 |
fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \ |
4067 |
if [ $$_file = $$file ]; then \ |
4068 |
select=''; \ |
4069 |
else \ |
4070 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
4071 |
fi; \ |
4072 |
if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \ |
4073 |
if [ ! -z "$$select" ] ; then \ |
4074 |
__MASTER_SITES_TMP= ; \ |
4075 |
for group in $$select; do \ |
4076 |
if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ |
4077 |
eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \ |
4078 |
__MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ |
4079 |
fi \ |
4080 |
done; \ |
4081 |
___MASTER_SITES_TMP= ; \ |
4082 |
SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
4083 |
else \ |
4084 |
SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ |
4085 |
fi ; \ |
4086 |
for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ |
4087 |
case $${file} in \ |
4088 |
*/*) args="-o $${file} $${site}$${file}";; \ |
4089 |
*) args=$${site}$${file};; \ |
4090 |
esac; \ |
4091 |
${ECHO_CMD} $${args} ; \ |
4092 |
done; \ |
4093 |
fi \ |
4094 |
done) |
4095 |
.if defined(PATCHFILES) |
4096 |
@(cd ${_DISTDIR}; \ |
4097 |
${_PATCH_SITES_ENV} ; \ |
4098 |
for _file in ${PATCHFILES}; do \ |
4099 |
file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^-:][^:]*$$//'` ; \ |
4100 |
if [ $$_file = $$file ]; then \ |
4101 |
select=''; \ |
4102 |
else \ |
4103 |
select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ |
4104 |
fi; \ |
4105 |
file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ |
4106 |
fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \ |
4107 |
if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \ |
4108 |
if [ ! -z "$$select" ] ; then \ |
4109 |
__PATCH_SITES_TMP= ; \ |
4110 |
for group in $$select; do \ |
4111 |
if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \ |
4112 |
eval ___PATCH_SITES_TMP=\$${_PATCH_SITES_$${group}} ; \ |
4113 |
__PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \ |
4114 |
fi \ |
4115 |
done; \ |
4116 |
___PATCH_SITES_TMP= ; \ |
4117 |
SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ |
4118 |
else \ |
4119 |
SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ |
4120 |
fi ; \ |
4121 |
for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ |
4122 |
case $${file} in \ |
4123 |
*/*) args="-o $${file} $${site}$${file}";; \ |
4124 |
*) args=$${site}$${file};; \ |
4125 |
esac; \ |
4126 |
${ECHO_CMD} $${args} ; \ |
4127 |
done; \ |
4128 |
fi \ |
4129 |
done) |
4130 |
.endif |
4131 |
.endif |
4132 |
|
4133 |
.if !target(fetch-urlall-list) |
4134 |
fetch-urlall-list: |
4135 |
@cd ${.CURDIR} && LISTALL=yes ${MAKE} fetch-url-list-int |
4136 |
.endif |
4137 |
|
4138 |
.if !target(fetch-url-list) |
4139 |
fetch-url-list: fetch-url-list-int |
4140 |
.endif |
4141 |
|
3891 |
# Generates patches. |
4142 |
# Generates patches. |
3892 |
|
4143 |
|
3893 |
update-patches: |
4144 |
update-patches: |
Lines 3903-3964
Link Here
|
3903 |
|
4154 |
|
3904 |
# Checksumming utilities |
4155 |
# Checksumming utilities |
3905 |
|
4156 |
|
3906 |
# List all algorithms here, all the variables name must begin with dp_ |
4157 |
check-checksum-algorithms: |
3907 |
_CHECKSUM_INIT_ENV= \ |
4158 |
@ \ |
3908 |
dp_SHA256=${SHA256} |
4159 |
${checksum_init} \ |
|
|
4160 |
\ |
4161 |
for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ |
4162 |
eval alg_executable=\$$$$alg; \ |
4163 |
if [ -z "$$alg_executable" ]; then \ |
4164 |
${ECHO_MSG} "Checksum algorithm $$alg: Couldn't find the executable."; \ |
4165 |
${ECHO_MSG} "Set $$alg=/path/to/$$alg in /etc/make.conf and try again."; \ |
4166 |
exit 1; \ |
4167 |
fi; \ |
4168 |
done; \ |
4169 |
|
4170 |
checksum_init=\ |
4171 |
SHA256=${SHA256}; |
3909 |
|
4172 |
|
3910 |
.if !target(makesum) |
4173 |
.if !target(makesum) |
3911 |
# Some port change the options with OPTIONS_*_FORCE when make(makesum) to be |
4174 |
makesum: check-checksum-algorithms |
3912 |
# able to add all distfiles in one go. |
4175 |
@cd ${.CURDIR} && ${MAKE} fetch NO_CHECKSUM=yes \ |
3913 |
# For this to work, we need to call the do-fetch script directly here so that |
4176 |
DISABLE_SIZE=yes |
3914 |
# the options consistent when fetching and when makesum'ing. |
4177 |
@if [ -f ${DISTINFO_FILE} ]; then ${CAT} /dev/null > ${DISTINFO_FILE}; fi |
3915 |
# As we're fetching new distfiles, that are not in the distinfo file, disable |
4178 |
@( \ |
3916 |
# checksum and sizes checks. |
4179 |
cd ${DISTDIR}; \ |
3917 |
makesum: |
4180 |
\ |
3918 |
.if !empty(DISTFILES) |
4181 |
${checksum_init} \ |
3919 |
@${SETENV} \ |
4182 |
\ |
3920 |
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \ |
4183 |
for file in ${_CKSUMFILES}; do \ |
3921 |
dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \ |
4184 |
for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ |
3922 |
dp_SITE_FLAVOR=MASTER \ |
4185 |
eval alg_executable=\$$$$alg; \ |
3923 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/} |
4186 |
\ |
3924 |
.endif |
4187 |
if [ $$alg_executable != "NO" ]; then \ |
3925 |
.if defined(PATCHFILES) && !empty(PATCHFILES) |
4188 |
$$alg_executable $$file >> ${DISTINFO_FILE}; \ |
3926 |
@${SETENV} \ |
4189 |
fi; \ |
3927 |
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \ |
4190 |
done; \ |
3928 |
dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \ |
4191 |
${ECHO_CMD} "SIZE ($$file) = `${STAT} -f \"%z\" $$file`" >> ${DISTINFO_FILE}; \ |
3929 |
dp_SITE_FLAVOR=PATCH \ |
4192 |
done \ |
3930 |
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/} |
4193 |
) |
3931 |
.endif |
|
|
3932 |
@${SETENV} \ |
3933 |
${_CHECKSUM_INIT_ENV} \ |
3934 |
dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \ |
3935 |
dp_CKSUMFILES='${_CKSUMFILES}' \ |
3936 |
dp_DISTDIR='${DISTDIR}' \ |
3937 |
dp_DISTINFO_FILE='${DISTINFO_FILE}' \ |
3938 |
dp_ECHO_MSG='${ECHO_MSG}' \ |
3939 |
dp_SCRIPTSDIR='${SCRIPTSDIR}' \ |
3940 |
${SH} ${SCRIPTSDIR}/makesum.sh ${DISTFILES:C/.*/'&'/} |
3941 |
.endif |
4194 |
.endif |
3942 |
|
4195 |
|
3943 |
.if !target(checksum) |
4196 |
.if !target(checksum) |
3944 |
checksum: fetch |
4197 |
checksum: fetch check-checksum-algorithms |
3945 |
.if !empty(_CKSUMFILES) |
4198 |
@set -e ; \ |
3946 |
@${SETENV} \ |
4199 |
${checksum_init} \ |
3947 |
${_CHECKSUM_INIT_ENV} \ |
4200 |
if [ -f ${DISTINFO_FILE} ]; then \ |
3948 |
dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \ |
4201 |
cd ${DISTDIR}; OK="";\ |
3949 |
dp_CURDIR='${.CURDIR}' \ |
4202 |
for file in ${_CKSUMFILES}; do \ |
3950 |
dp_DISTDIR='${DISTDIR}' \ |
4203 |
ignored="true"; \ |
3951 |
dp_DISTINFO_FILE='${DISTINFO_FILE}' \ |
4204 |
_file=$${file#${DIST_SUBDIR}/*}; \ |
3952 |
dp_DIST_SUBDIR='${DIST_SUBDIR}' \ |
4205 |
for alg in ${CHECKSUM_ALGORITHMS:tu}; do \ |
3953 |
dp_ECHO_MSG='${ECHO_MSG}' \ |
4206 |
ignore="false"; \ |
3954 |
dp_FETCH_REGET='${FETCH_REGET}' \ |
4207 |
eval alg_executable=\$$$$alg; \ |
3955 |
dp_MAKE='${MAKE}' \ |
4208 |
\ |
3956 |
dp_MAKEFLAGS='${.MAKEFLAGS}' \ |
4209 |
if [ $$alg_executable != "NO" ]; then \ |
3957 |
dp_SCRIPTSDIR='${SCRIPTSDIR}' \ |
4210 |
MKSUM=`$$alg_executable < $$file`; \ |
3958 |
dp_DISABLE_SIZE='${DISABLE_SIZE}' \ |
4211 |
CKSUM=`file=$$_file; ${DISTINFO_DATA}`; \ |
3959 |
dp_NO_CHECKSUM='${NO_CHECKSUM}' \ |
4212 |
else \ |
3960 |
${SH} ${SCRIPTSDIR}/checksum.sh ${_CKSUMFILES:C/.*/'&'/} |
4213 |
ignore="true"; \ |
3961 |
.endif |
4214 |
fi; \ |
|
|
4215 |
\ |
4216 |
if [ $$ignore = "false" -a -z "$$CKSUM" ]; then \ |
4217 |
${ECHO_MSG} "=> No $$alg checksum recorded for $$file."; \ |
4218 |
ignore="true"; \ |
4219 |
fi; \ |
4220 |
\ |
4221 |
if [ $$ignore = "false" ]; then \ |
4222 |
match="false"; \ |
4223 |
for chksum in $$CKSUM; do \ |
4224 |
if [ "$$chksum" = "$$MKSUM" ]; then \ |
4225 |
match="true"; \ |
4226 |
break; \ |
4227 |
fi; \ |
4228 |
done; \ |
4229 |
if [ $$match = "true" ]; then \ |
4230 |
${ECHO_MSG} "=> $$alg Checksum OK for $$file."; \ |
4231 |
ignored="false"; \ |
4232 |
else \ |
4233 |
${ECHO_MSG} "=> $$alg Checksum mismatch for $$file."; \ |
4234 |
refetchlist="$$refetchlist$$file "; \ |
4235 |
OK="$${OK:-retry}"; \ |
4236 |
[ "$${OK}" = "retry" -a ${FETCH_REGET} -gt 0 ] && ${RM} -f $${file}; \ |
4237 |
ignored="false"; \ |
4238 |
fi; \ |
4239 |
fi; \ |
4240 |
done; \ |
4241 |
\ |
4242 |
if [ $$ignored = "true" ]; then \ |
4243 |
${ECHO_MSG} "=> No suitable checksum found for $$file."; \ |
4244 |
OK="${FALSE}"; \ |
4245 |
fi; \ |
4246 |
\ |
4247 |
done; \ |
4248 |
\ |
4249 |
if [ "$${OK:=true}" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \ |
4250 |
${ECHO_MSG} "===> Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \ |
4251 |
if ( cd ${.CURDIR} && \ |
4252 |
${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \ |
4253 |
if ( cd ${.CURDIR} && \ |
4254 |
${MAKE} ${.MAKEFLAGS} FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" checksum ); then \ |
4255 |
OK="true"; \ |
4256 |
fi; \ |
4257 |
fi; \ |
4258 |
fi; \ |
4259 |
\ |
4260 |
if [ "$$OK" != "true" -a ${FETCH_REGET} -eq 0 ]; then \ |
4261 |
${ECHO_MSG} "===> Giving up on fetching files: $$refetchlist"; \ |
4262 |
${ECHO_MSG} "Make sure the Makefile and distinfo file (${DISTINFO_FILE})"; \ |
4263 |
${ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"; \ |
4264 |
${ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."; \ |
4265 |
exit 1; \ |
4266 |
fi; \ |
4267 |
if [ "$$OK" != "true" ]; then \ |
4268 |
exit 1; \ |
4269 |
fi; \ |
4270 |
elif [ -n "${_CKSUMFILES:M*}" ]; then \ |
4271 |
${ECHO_MSG} "=> No checksum file (${DISTINFO_FILE})."; \ |
4272 |
exit 1; \ |
4273 |
fi |
3962 |
.endif |
4274 |
.endif |
3963 |
|
4275 |
|
3964 |
################################################################ |
4276 |
################################################################ |
Lines 4938-4945
Link Here
|
4938 |
@${ECHO_MSG} "===> No options to configure" |
5250 |
@${ECHO_MSG} "===> No options to configure" |
4939 |
.else |
5251 |
.else |
4940 |
@optionsdir=${OPTIONS_FILE:H}; \ |
5252 |
@optionsdir=${OPTIONS_FILE:H}; \ |
4941 |
if [ ! -w "${PORT_DBDIR}" -a "`stat -f %u ${PORT_DBDIR:H}`" = 0 ]; \ |
5253 |
if [ ${UID} != 0 -a -z "${INSTALL_AS_USER}" -a ! -w "${PORT_DBDIR}" ] ; then \ |
4942 |
then \ |
|
|
4943 |
${ECHO_MSG} "===> Switching to root credentials to create $${optionsdir}"; \ |
5254 |
${ECHO_MSG} "===> Switching to root credentials to create $${optionsdir}"; \ |
4944 |
(${SU_CMD} "${SH} -c \"${MKDIR} $${optionsdir} 2> /dev/null\"") || \ |
5255 |
(${SU_CMD} "${SH} -c \"${MKDIR} $${optionsdir} 2> /dev/null\"") || \ |
4945 |
(${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \ |
5256 |
(${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \ |
Lines 4975-4982
Link Here
|
4975 |
${ECHO_CMD} "OPTIONS_FILE_UNSET+=$${i}" >> $${TMPOPTIONSFILE}; \ |
5286 |
${ECHO_CMD} "OPTIONS_FILE_UNSET+=$${i}" >> $${TMPOPTIONSFILE}; \ |
4976 |
fi; \ |
5287 |
fi; \ |
4977 |
done; \ |
5288 |
done; \ |
4978 |
if [ ! -w "${OPTIONS_FILE:H}" -a "`stat -f %u ${OPTIONS_FILE:H}`" != ${UID} ]; \ |
5289 |
if [ ${UID} != 0 -a -z "${INSTALL_AS_USER}" -a ! -w "${OPTIONS_FILE:H}" ]; then \ |
4979 |
then \ |
|
|
4980 |
${ECHO_MSG} "===> Switching to root credentials to write ${OPTIONS_FILE}"; \ |
5290 |
${ECHO_MSG} "===> Switching to root credentials to write ${OPTIONS_FILE}"; \ |
4981 |
${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}"; \ |
5291 |
${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}"; \ |
4982 |
${ECHO_MSG} "===> Returning to user credentials"; \ |
5292 |
${ECHO_MSG} "===> Returning to user credentials"; \ |