use new make feature :QL for safer quoting.

helps getting past shell quoting errors, so that the infrastructure
will report actual trouble (is also simpler than :S/<...>/ for pkgspecs).

REQUIRES CURRENT MAKE TO WORK!!!
This commit is contained in:
espie 2010-07-24 10:35:38 +00:00
parent 5d0efe2198
commit 43c7b1a093
2 changed files with 12 additions and 12 deletions

View File

@ -1,6 +1,6 @@
#-*- mode: Makefile; tab-width: 4; -*-
# ex:ts=4 sw=4 filetype=make:
# $OpenBSD: bsd.port.mk,v 1.1024 2010/07/21 17:11:48 steven Exp $
# $OpenBSD: bsd.port.mk,v 1.1025 2010/07/24 10:35:38 espie Exp $
# $FreeBSD: bsd.port.mk,v 1.264 1996/12/25 02:27:44 imp Exp $
# $NetBSD: bsd.port.mk,v 1.62 1998/04/09 12:47:02 hubertf Exp $
#
@ -1854,14 +1854,14 @@ ${_DEP${_m}WANTLIB_COOKIE}: ${_DEP${_m}LIBSPECS_COOKIES} \
${_DEP${_m}LIB_COOKIES} ${_DEPBUILD_COOKIES} ${_WRKDIR_COOKIE}
. if !empty(_DEP${_m}LIBS)
@${ECHO_MSG} "===> Verifying specs: ${_DEP${_m}LIBS}"
@libs=`for i in ${_LIB4:S/>/\>/g:S/</\</g}; do echo "$$i"| { \
@libs=`for i in ${_LIB4:QL}; do echo "$$i"| { \
IFS=:; read dep pkg subdir target; \
${_flavor_fragment}; \
eval $$toset ${MAKE} print-plist-libs; \
}; \
done;`; \
listlibs="echo $$libs; echo ${LOCALBASE}/lib/lib* /usr/lib/lib* ${X11BASE}/lib/lib*"; \
for d in ${_DEP${_m}LIBS:S/>/\>/g}; do \
for d in ${_DEP${_m}LIBS:QL}; do \
case "$$d" in \
/*) listlibs="$$listlibs $${d%/*}/lib*";; \
*/*) listlibs="$$listlibs ${DEPBASE}/$${d%/*}/lib*";; \
@ -1869,7 +1869,7 @@ ${_DEP${_m}WANTLIB_COOKIE}: ${_DEP${_m}LIBSPECS_COOKIES} \
done; \
if found=`eval $$listlibs 2>/dev/null| \
LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} perl \
${PORTSDIR}/infrastructure/build/resolve-lib ${_noshared} ${_DEP${_m}LIBS:S/>/\>/g}`; then \
${PORTSDIR}/infrastructure/build/resolve-lib ${_noshared} ${_DEP${_m}LIBS:QL}`; then \
line="===> found"; \
for k in $$found; do line="$$line $$k"; done; \
${ECHO_MSG} "$$line"; \
@ -2933,7 +2933,7 @@ _print-package-args:
esac; \
done; \
exec 3>&2; \
unset IFS; for d in ${_DEPRUNLIBS:S/>/\>/g}; do \
unset IFS; for d in ${_DEPRUNLIBS:QL}; do \
if $$needed; then continue; fi; \
exec 2>/dev/null; \
${_libresolve_fragment}; \
@ -2952,7 +2952,7 @@ _print-package-args:
fi; \
}
. endfor
@libs=`for i in ${_LIB4${SUBPACKAGE}:S/>/\>/g:S/</\</g}; do echo "$$i"| { \
@libs=`for i in ${_LIB4${SUBPACKAGE}:QL}; do echo "$$i"| { \
IFS=:; read dep pkg subdir target; \
${_flavor_fragment}; \
if ! eval $$toset ${MAKE} print-plist-libs; \
@ -2962,7 +2962,7 @@ _print-package-args:
fi; }; \
done;`; \
listlibs="echo $$libs; echo ${LOCALBASE}/lib/lib* /usr/lib/lib* ${X11BASE}/lib/lib*"; \
for d in ${_DEPRUNLIBS:S/>/\>/g}; do \
for d in ${_DEPRUNLIBS:QL}; do \
case "$$d" in \
/*) listlibs="$$listlibs $${d%/*}/lib*";; \
*/*) listlibs="$$listlibs ${LOCALBASE}/$${d%/*}/lib*";; \
@ -2970,7 +2970,7 @@ _print-package-args:
done; \
if found=`eval $$listlibs 2>/dev/null| \
LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} perl \
${PORTSDIR}/infrastructure/build/resolve-lib ${_noshared} ${_DEPRUNLIBS:S/>/\>/g}`; then \
${PORTSDIR}/infrastructure/build/resolve-lib ${_noshared} ${_DEPRUNLIBS:QL}`; then \
for k in $$found; do \
case $$k in *.a) ;; \
*) echo "-W $$k";; \
@ -3017,7 +3017,7 @@ _print-package-signature-run:
.endfor
_print-package-signature-lib:
@echo $$LIST_LIBS| LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} perl ${PORTSDIR}/infrastructure/build/resolve-lib ${_DEPRUNLIBS:S/>/\>/g}
@echo $$LIST_LIBS| LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} perl ${PORTSDIR}/infrastructure/build/resolve-lib ${_DEPRUNLIBS:QL}
.for _i in ${LIB_DEPENDS${SUBPACKAGE}}
@echo '${_i}' |{ \
IFS=:; read dep pkg subdir target; \

View File

@ -1,7 +1,7 @@
#-*- mode: Makefile; tab-width: 4; -*-
# ex:ts=4 sw=4 filetype=make:
# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
# $OpenBSD: bsd.port.subdir.mk,v 1.97 2010/07/18 18:49:01 naddy Exp $
# $OpenBSD: bsd.port.subdir.mk,v 1.98 2010/07/24 10:35:38 espie Exp $
# FreeBSD Id: bsd.port.subdir.mk,v 1.20 1997/08/22 11:16:15 asami Exp
#
# The include file <bsd.port.subdir.mk> contains the default targets
@ -97,13 +97,13 @@ README = ${TEMPLATES}/README.category
_subdir_fragment = \
: $${echo_msg:=${ECHO_MSG:Q}}; \
: $${target:=${.TARGET}}; \
for i in ${_SKIPPED}; do \
for i in ${_SKIPPED:QL}; do \
eval $${echo_msg} "===\> $$i skipped"; \
done; \
_STARTDIR_SEEN=${_STARTDIR_SEEN}; \
unset SUBDIR SUBDIRLIST || true; \
export _STARTDIR_SEEN; \
for subdir in ${_FULLSUBDIR}; do \
for subdir in ${_FULLSUBDIR:QL}; do \
if ! $${_STARTDIR_SEEN}; then \
case "${STARTDIR}" in \
$$subdir) \