Subject: PKG_DEBUG_LEVEL>=1 breaks some targets
To: None <tech-pkg@NetBSD.org>
From: Kouichirou Hiratsuka <hira@po6.nsk.ne.jp>
List: tech-pkg
Date: 10/01/2004 18:18:40
Hello,
With PKG_DEBUG_LEVEL>=1, some targets (clean-depends, etc.) do
not work properly because mk/bsd.pkg.mk uses output of make(1)
at several places. An expected output (e.g. directory list
which depends on the package) is mixed with a debug output.
In this case, make(1) needs to call with `PKG_DEBUG_LEVEL=0',
I think. A following patch may fix this problem. It works
fine for me. However, some debug outputs disappear...
Any other ideas?
best regards.
--
Kouichirou Hiratsuka
hira@po6.nsk.ne.jp
P.S. This problem was reported in PR pkg/24377.
Index: bsd.pkg.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bsd.pkg.mk,v
retrieving revision 1.1504
diff -u -r1.1504 bsd.pkg.mk
--- bsd.pkg.mk 1 Oct 2004 00:23:18 -0000 1.1504
+++ bsd.pkg.mk 1 Oct 2004 08:16:10 -0000
@@ -623,6 +623,8 @@
_PKG_DEBUG_SCRIPT= ${SH} -x
.endif
+_MAKE_WITHOUT_DEBUG= ${MAKE} PKG_DEBUG_LEVEL=0
+
WRKSRC?= ${WRKDIR}/${DISTNAME}
.if defined(NO_WRKSUBDIR)
@@ -901,7 +903,7 @@
PKG_ARGS_COMMON= -v -c -${COMMENT:Q}" " -d ${DESCR} -f ${PLIST}
PKG_ARGS_COMMON+= -l -b ${BUILD_VERSION_FILE} -B ${BUILD_INFO_FILE}
PKG_ARGS_COMMON+= -s ${SIZE_PKG_FILE} -S ${SIZE_ALL_FILE}
-PKG_ARGS_COMMON+= -P "`${MAKE} ${MAKEFLAGS} run-depends-list | ${SORT} -u`"
+PKG_ARGS_COMMON+= -P "`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} run-depends-list | ${SORT} -u`"
. if defined(CONFLICTS) && (${PKG_INSTALLATION_TYPE} == "overwrite")
PKG_ARGS_COMMON+= -C "${CONFLICTS}"
. endif
@@ -1642,7 +1644,7 @@
${_PKG_SILENT}${_PKG_DEBUG} \
if [ -f ${PKGVULNDIR}/pkg-vulnerabilities ]; then \
${ECHO_MSG} "${_PKGSRC_IN}> Checking for vulnerabilities in ${PKGNAME}"; \
- vul=`${MAKE} ${MAKEFLAGS} check-vulnerable`; \
+ vul=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} check-vulnerable`; \
case "$$vul" in \
"") ;; \
*) ${ECHO} "$$vul"; \
@@ -1722,7 +1724,7 @@
#
_RECURSE_DEPENDS_DIRS= \
function append_dirs(dir) { \
- command = "cd ../../" dir " && ${MAKE} show-depends-dirs"; \
+ command = "cd ../../" dir " && ${_MAKE_WITHOUT_DEBUG} show-depends-dirs"; \
command | getline tmp_dirs; \
close(command); \
if (tmp_dirs ~ /^$$/) \
@@ -1823,10 +1825,10 @@
show-needs-update:
. if defined(DEPENDS)
${_PKG_SILENT}${_PKG_DEBUG} \
- for i in `${MAKE} show-all-depends-dirs`; do \
+ for i in `${_MAKE_WITHOUT_DEBUG} show-all-depends-dirs`; do \
cd ${_PKGSRCDIR}/$$i; \
- want=`${MAKE} show-var VARNAME=PKGNAME`; \
- wild=`${MAKE} show-var VARNAME=PKGWILDCARD`; \
+ want=`${_MAKE_WITHOUT_DEBUG} show-var VARNAME=PKGNAME`; \
+ wild=`${_MAKE_WITHOUT_DEBUG} show-var VARNAME=PKGWILDCARD`; \
have=`${PKG_BEST_EXISTS} "$$wild" || ${TRUE}`; \
if [ -z "$$have" ]; then \
${ECHO} "$$i => (none) => needs install of $$want"; \
@@ -2849,7 +2851,7 @@
${_PKG_SILENT}${_PKG_DEBUG} \
sos=`${EGREP} -h '^.*/lib[^/]+\.so$$' ${PLIST} || ${TRUE}`; \
if [ "$$sos" != "" ]; then \
- shlib_type=`${MAKE} ${MAKEFLAGS} show-shlib-type`; \
+ shlib_type=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-shlib-type`; \
if [ "${SHLIB_PLIST_MODE}" = "0" ]; then \
${ECHO_MSG} "${_PKGSRC_IN}> [Automatic $$shlib_type shared object handling]"; \
fi; \
@@ -3608,7 +3610,7 @@
clean-depends:
. if defined(BUILD_DEPENDS) || defined(DEPENDS)
${_PKG_SILENT}${_PKG_DEBUG} \
- for i in `${MAKE} ${MAKEFLAGS} show-all-depends-dirs-excl` ;\
+ for i in `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-all-depends-dirs-excl`; \
do \
cd ${.CURDIR}/../../$$i && \
${MAKE} ${MAKEFLAGS} CLEANDEPENDS=NO clean; \
@@ -3663,9 +3665,9 @@
fetch-list-recursive:
${_PKG_SILENT}${_PKG_DEBUG} \
- for dir in `${MAKE} ${MAKEFLAGS} show-all-depends-dirs`; do \
+ for dir in `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-all-depends-dirs`; do \
(cd ../../$$dir && \
- ${MAKE} ${MAKEFLAGS} fetch-list-one-pkg \
+ ${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} fetch-list-one-pkg \
| ${AWK} ' \
/^[^#]/ { FoundSomething = 1 } \
/^unsorted/ { gsub(/[[:space:]]+/, " \\\n\t") } \
@@ -4034,7 +4036,7 @@
dir="${dep:C/[^:]*://:C/:.*$//}"; \
found=`${PKG_BEST_EXISTS} "$$pkg" || ${TRUE}`; \
if [ "X$$REBUILD_DOWNLEVEL_DEPENDS" != "X" ]; then \
- pkgname=`cd $$dir ; ${MAKE} ${MAKEFLAGS} show-var VARNAME=PKGNAME`; \
+ pkgname=`cd $$dir ; ${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-var VARNAME=PKGNAME`; \
if [ "X$$found" != "X" -a "X$$found" != "X$${pkgname}" ]; then \
${ECHO_MSG} "ignoring old installed package \"$$found\""; \
found=""; \
@@ -4076,7 +4078,7 @@
.PHONY: build-depends-list
.if !target(build-depends-list)
build-depends-list:
- @for dir in `${MAKE} ${MAKEFLAGS} show-all-depends-dirs-excl`; \
+ @for dir in `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-all-depends-dirs-excl`; \
do \
(cd ../../$$dir && \
${MAKE} ${MAKEFLAGS} package-name) \
@@ -4167,11 +4169,11 @@
${ECHO_N} "|${MAINTAINER}|${CATEGORIES}|"; \
case "A${BUILD_DEPENDS}B${DEPENDS}C" in \
ABC) ;; \
- *) cd ${.CURDIR} && ${ECHO_N} `${MAKE} ${MAKEFLAGS} build-depends-list | ${SORT} -u`;; \
+ *) cd ${.CURDIR} && ${ECHO_N} `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} build-depends-list | ${SORT} -u`;; \
esac; \
${ECHO_N} "|"; \
if [ "${DEPENDS}" != "" ]; then \
- cd ${.CURDIR} && ${ECHO_N} `${MAKE} ${MAKEFLAGS} run-depends-list | ${SORT} -u`; \
+ cd ${.CURDIR} && ${ECHO_N} `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} run-depends-list | ${SORT} -u`; \
fi; \
${ECHO_N} "|"; \
if [ "${ONLY_FOR_ARCHS}" = "" ]; then \
@@ -4303,7 +4305,7 @@
print-build-depends-list:
. if defined(BUILD_DEPENDS) || defined(DEPENDS)
@${ECHO_N} 'This package requires package(s) "'
- @${ECHO_N} `${MAKE} ${MAKEFLAGS} build-depends-list | ${SORT} -u`
+ @${ECHO_N} `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} build-depends-list | ${SORT} -u`
@${ECHO} '" to build.'
. endif
.endif
@@ -4313,7 +4315,7 @@
print-run-depends-list:
. if defined(DEPENDS)
@${ECHO_N} 'This package requires package(s) "'
- @${ECHO_N} `${MAKE} ${MAKEFLAGS} run-depends-list | ${SORT} -u`
+ @${ECHO_N} `${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} run-depends-list | ${SORT} -u`
@${ECHO} '" to run.'
. endif
.endif
@@ -4394,7 +4396,7 @@
# dependencies are all installed.
.PHONY: print-pkg-size-depends
print-pkg-size-depends:
- @pkglist=`${MAKE} ${MAKEFLAGS} run-depends-list`; \
+ @pkglist=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} run-depends-list`; \
if [ "X$${pkglist}" != "X" ]; then \
${ECHO} $${pkglist} \
| ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS} \
@@ -4522,7 +4524,7 @@
${_PKG_SILENT}${_PKG_DEBUG}\
${ECHO} '@comment $$'NetBSD'$$'
${_PKG_SILENT}${_PKG_DEBUG}\
- shlib_type=`${MAKE} ${MAKEFLAGS} show-shlib-type`; \
+ shlib_type=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} show-shlib-type`; \
case $$shlib_type in \
"a.out") genlinks=1 ;; \
*) genlinks=0 ;; \
@@ -4695,8 +4697,8 @@
${_PKG_SILENT}${_PKG_DEBUG} \
${ECHO} "_PKGTOOLS_VER=${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE}
${_PKG_SILENT}${_PKG_DEBUG} \
- size_this=`${MAKE} ${MAKEFLAGS} print-pkg-size-this`; \
- size_depends=`${MAKE} ${MAKEFLAGS} print-pkg-size-depends`; \
+ size_this=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} print-pkg-size-this`; \
+ size_depends=`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} print-pkg-size-depends`; \
${ECHO} $$size_this >${SIZE_PKG_FILE}; \
${ECHO} $$size_this $$size_depends + p | ${DC} >${SIZE_ALL_FILE}
${_PKG_SILENT}${_PKG_DEBUG} \
@@ -4742,7 +4744,7 @@
${CP} ${MESSAGE} ${_PKG_DBDIR}/${PKGNAME}/+DISPLAY; \
fi; \
fi; \
- list="`${MAKE} ${MAKEFLAGS} run-depends-list ECHO_MSG=${TRUE} | ${SORT} -u`" ; \
+ list="`${_MAKE_WITHOUT_DEBUG} ${MAKEFLAGS} run-depends-list ECHO_MSG=${TRUE} | ${SORT} -u`" ; \
for realdep in `${ECHO} $$list | ${XARGS} -n 1 ${SETENV} ${PKG_BEST_EXISTS} | ${SORT} -u`; do \
if ${TEST} -z "$$realdep"; then \
${ECHO} "$$dep not installed - dependency NOT registered" ; \