diff options
-rw-r--r-- | mk/bsd.pkg.mk | 70 | ||||
-rw-r--r-- | mk/bsd.prefs.mk | 4 | ||||
-rw-r--r-- | mk/bulk/bsd.bulk-pkg.mk | 4 | ||||
-rw-r--r-- | mk/defs.Darwin.mk | 3 | ||||
-rw-r--r-- | mk/defs.SunOS.mk | 4 | ||||
-rw-r--r-- | mk/gcc.buildlink2.mk | 6 | ||||
-rw-r--r-- | mk/install/install-info | 7 |
7 files changed, 59 insertions, 39 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index 9cf807968a2..d5d3ed1fd28 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.1216.2.30 2003/08/23 09:35:30 jlam Exp $ +# $NetBSD: bsd.pkg.mk,v 1.1216.2.31 2003/08/23 09:45:53 jlam Exp $ # # This file is in the public domain. # @@ -2601,7 +2601,7 @@ real-su-install: ${MESSAGE} do-shlib-handling: .if ${SHLIB_HANDLING} == "YES" ${_PKG_SILENT}${_PKG_DEBUG} \ - sos=`${EGREP} -h -x '.*/lib[^/]+\.so\.[0-9]+(\.[0-9]+)+' ${PLIST} || ${TRUE}`; \ + sos=`${EGREP} -h -x '.*/lib[^/]+\.so' ${PLIST} || ${TRUE}`; \ if [ "$$sos" != "" ]; then \ shlib_type=`${MAKE} ${MAKEFLAGS} show-shlib-type`; \ if [ "${SHLIB_PLIST_MODE}" = "0" ]; then \ @@ -2648,7 +2648,7 @@ do-shlib-handling: } \ { lines[NR] = $$0 } \ END { \ - for (i = 1 ; i <= linkc ; i++) \ + for (i = 0 ; i <= linkc ; i++) \ for (j = 1 ; j < NR ; j++) \ if (lines[j] == links[i]) \ lines[j] = "@comment " lines[j]; \ @@ -2741,7 +2741,7 @@ do-shlib-handling: } \ { lines[NR] = $$0 } \ END { \ - for (i = 1 ; i <= linkc ; i++) \ + for (i = 0 ; i <= linkc ; i++) \ for (j = 1 ; j <= NR ; j++) \ if (lines[j] == links[i]) \ lines[j] = "@comment " lines[j]; \ @@ -2803,24 +2803,28 @@ check-shlibs: bins=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/(bin|sbin|libexec)/' || ${TRUE}; }`; \ if [ "${OBJECT_FMT}" = "ELF" ]; then \ shlibs=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/lib/lib.*.so' || ${TRUE}; }`; \ + elif [ "${OBJECT_FMT}" = "Mach-O" ]; then \ + shlibs=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/lib/lib.*.dylib' || ${TRUE}; }`; \ else \ shlibs=""; \ fi; \ - if [ X${LDD} = X ]; then \ - ldd=`${TYPE} ldd | ${AWK} '{ print $$NF }'`; \ + if [ "X${LDD}" = X ]; then \ + ldd=`${TYPE} ldd 2>/dev/null | ${AWK} '{ print $$NF }'`;\ else \ ldd="${LDD}"; \ fi; \ - for i in $${bins} $${shlibs}; do \ - err=`{ $$ldd $$i 2>&1 || ${TRUE}; } | { ${GREP} "not found" || ${TRUE}; }`; \ - if [ "${PKG_VERBOSE}" != "" ]; then \ - ${ECHO} "$$ldd $$i"; \ - fi; \ - if [ "$$err" != "" ]; then \ - ${ECHO} "$$i: $$err"; \ - error=1; \ - fi; \ - done; \ + if [ -x "$$ldd" ]; then \ + for i in $${bins} $${shlibs}; do \ + err=`{ $$ldd $$i 2>&1 || ${TRUE}; } | { ${GREP} "not found" || ${TRUE}; }`; \ + if [ "${PKG_VERBOSE}" != "" ]; then \ + ${ECHO} "$$ldd $$i"; \ + fi; \ + if [ "$$err" != "" ]; then \ + ${ECHO} "$$i: $$err"; \ + error=1; \ + fi; \ + done; \ + fi; \ if [ "$$error" = 1 ]; then \ ${ECHO} "*** The above programs/libs will not find the listed shared libraries"; \ ${ECHO} " at runtime. Please fix the package (add -Wl,-R.../lib in the right places)!"; \ @@ -4473,26 +4477,32 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE} . endif . if ${CHECK_SHLIBS} == "YES" ${_PKG_SILENT}${_PKG_DEBUG} \ + case "${LDD}" in \ + "") ldd=`${TYPE} ldd 2>/dev/null | ${AWK} '{ print $$NF }'`;; \ + *) ldd="${LDD}"; \ + esac; \ case "${OBJECT_FMT}" in \ ELF) bins=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^(bin|sbin|libexec)\// { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ libs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^lib\/lib.*\.so\.[0-9]+$$/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ - for i in "" $$libs; do \ - ${TEST} "$$i" = "" && continue; \ - ${ECHO} "PROVIDES=$$i" >> ${BUILD_INFO_FILE}; \ - done; \ - case "${LDD}" in \ - "") ldd=`${TYPE} ldd | ${AWK} '{ print $$NF }'`;; \ - *) ldd="${LDD}"; \ - esac; \ if ${TEST} "$$bins" != "" -o "$$libs" != ""; then \ requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} 'NF == 3 { print $$3 }' | ${SORT} -u`; \ - for req in "" $$requires; do \ - ${TEST} "$$req" = "" && continue; \ - ${ECHO} "REQUIRES=$$req" >> ${BUILD_INFO_FILE}; \ - done; \ fi; \ - ;; \ - esac + ;; \ + Mach-O) bins=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^(bin|sbin|libexec)\// { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ + libs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^lib\/lib.*\.dylib/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \ + if ${TEST} "$$bins" != "" -o "$$libs" != ""; then \ + requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} 'NF > 1 { print $$1 }' | ${SORT} -u`; \ + fi; \ + ;; \ + esac; \ + for i in "" $$libs; do \ + ${TEST} "$$i" = "" && continue; \ + ${ECHO} "PROVIDES=$$i" >> ${BUILD_INFO_FILE}; \ + done; \ + for req in "" $$requires; do \ + ${TEST} "$$req" = "" && continue; \ + ${ECHO} "REQUIRES=$$req" >> ${BUILD_INFO_FILE}; \ + done . endif ${_PKG_SILENT}${_PKG_DEBUG} \ ${ECHO} "_PKGTOOLS_VER=${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE} diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk index e55dd7b57c4..75854cbb5e7 100644 --- a/mk/bsd.prefs.mk +++ b/mk/bsd.prefs.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prefs.mk,v 1.118.2.11 2003/08/22 07:15:46 jlam Exp $ +# $NetBSD: bsd.prefs.mk,v 1.118.2.12 2003/08/23 09:45:55 jlam Exp $ # # Make file, included to get the site preferences, if any. Should # only be included by package Makefiles before any .if defined() @@ -335,6 +335,8 @@ SCRIPTDIR?= ${.CURDIR}/scripts FILESDIR?= ${.CURDIR}/files PKGDIR?= ${.CURDIR} +_PKGSRC_DEPS?= # empty + # If WRKOBJDIR is set, use that tree to build .if defined(WRKOBJDIR) BUILD_DIR?= ${WRKOBJDIR}/${PKGPATH} diff --git a/mk/bulk/bsd.bulk-pkg.mk b/mk/bulk/bsd.bulk-pkg.mk index 34436c42e15..bb8606830bc 100644 --- a/mk/bulk/bsd.bulk-pkg.mk +++ b/mk/bulk/bsd.bulk-pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.bulk-pkg.mk,v 1.45.2.6 2003/08/21 02:06:17 jlam Exp $ +# $NetBSD: bsd.bulk-pkg.mk,v 1.45.2.7 2003/08/23 09:45:55 jlam Exp $ # # Copyright (c) 1999, 2000 Hubert Feyrer <hubertf@netbsd.org> @@ -170,7 +170,7 @@ bulk-check-uptodate: if [ -z "$$pkg" ]; then \ ${ECHO_MSG} >&2 "BULK> Required binary package $$dep does not exist, rebuilding... " ; \ uptodate=0 ; \ - elif [ "$$pkg" -nt "${REF}" ]; then \ + elif [ -n "$$(find \"$$pkg\" -prune -newer \"${REF}\")" ]; then \ ${ECHO_MSG} >&2 "BULK> Required binary package $$dep (`basename $$pkg`) is newer, rebuilding... " ; \ uptodate=0 ; \ else \ diff --git a/mk/defs.Darwin.mk b/mk/defs.Darwin.mk index 741401e42dc..146bfe2f930 100644 --- a/mk/defs.Darwin.mk +++ b/mk/defs.Darwin.mk @@ -1,4 +1,4 @@ -# $NetBSD: defs.Darwin.mk,v 1.50 2003/04/15 05:29:46 grant Exp $ +# $NetBSD: defs.Darwin.mk,v 1.50.2.1 2003/08/23 09:45:55 jlam Exp $ # # Variable definitions for the Darwin operating system. @@ -32,6 +32,7 @@ HEAD?= /usr/bin/head HOSTNAME_CMD?= /bin/hostname ID?= /usr/bin/id LDCONFIG?= /sbin/ldconfig +LDD?= /usr/bin/otool -L LN?= /bin/ln LS?= /bin/ls M4?= /usr/bin/m4 diff --git a/mk/defs.SunOS.mk b/mk/defs.SunOS.mk index 39316efb58b..f189fb6379a 100644 --- a/mk/defs.SunOS.mk +++ b/mk/defs.SunOS.mk @@ -1,4 +1,4 @@ -# $NetBSD: defs.SunOS.mk,v 1.62.2.3 2003/07/24 22:00:11 jlam Exp $ +# $NetBSD: defs.SunOS.mk,v 1.62.2.4 2003/08/23 09:45:55 jlam Exp $ # # Variable definitions for the SunOS/Solaris operating system. @@ -15,7 +15,7 @@ DATE?= /usr/xpg4/bin/date DC?= /usr/bin/dc DIRNAME?= /usr/bin/dirname ECHO?= /usr/ucb/echo -EGREP?= /usr/xpg4/bin/egrep +EGREP?= /usr/xpg4/bin/grep -E EXPR?= /usr/xpg4/bin/expr FALSE?= /usr/bin/false FGREP?= /usr/xpg4/bin/fgrep diff --git a/mk/gcc.buildlink2.mk b/mk/gcc.buildlink2.mk index ea6dc578cdb..b3a274fe32f 100644 --- a/mk/gcc.buildlink2.mk +++ b/mk/gcc.buildlink2.mk @@ -1,4 +1,4 @@ -# $NetBSD: gcc.buildlink2.mk,v 1.2.4.2 2003/08/01 19:00:32 jlam Exp $ +# $NetBSD: gcc.buildlink2.mk,v 1.2.4.3 2003/08/23 09:45:55 jlam Exp $ # # USE_GCC2 # If defined, use gcc from lang/gcc. @@ -11,9 +11,9 @@ GCC_BUILDLINK2_MK= # defined .include "../../mk/bsd.prefs.mk" -.if defined(USE_GCC3) && empty(PKGPATH:Mlang/gcc3) +.if defined(USE_GCC3) && empty(PKGPATH:Mlang/gcc3) && empty(_PKGSRC_DEPS:Mgcc-3.*) . include "../lang/gcc3/buildlink2.mk" -.elif defined(USE_GCC2) && empty(PKGPATH:Mlang/gcc) +.elif defined(USE_GCC2) && empty(PKGPATH:Mlang/gcc) && empty(_PKGSRC_DEPS:Mgcc-2.*) . include "../lang/gcc/buildlink2.mk" .endif diff --git a/mk/install/install-info b/mk/install/install-info index b4c5522a8a5..4d739c36a8f 100644 --- a/mk/install/install-info +++ b/mk/install/install-info @@ -9,6 +9,13 @@ INFO_DIR="@INFO_DIR@" case ${STAGE} in POST-INSTALL|VIEW-INSTALL) + if [ -f ${PKG_PREFIX}/${INFO_DIR}/dir ]; then + _nentries="`${GREP} -c '^\*' ${PKG_PREFIX}/${INFO_DIR}/dir 2>/dev/null`" + if [ x"${_nentries}" != x -a "${_nentries}" -lt 1 ]; then + ${RM} ${PKG_PREFIX}/${INFO_DIR}/dir + fi + + fi for f in ${INFO_FILES}; do ${INSTALL_INFO} --delete --info-dir=${PKG_PREFIX}/${INFO_DIR} \ ${PKG_PREFIX}/${INFO_DIR}/${f} 1>/dev/null 2>&1 |