diff options
author | agc <agc@pkgsrc.org> | 2000-01-14 11:39:31 +0000 |
---|---|---|
committer | agc <agc@pkgsrc.org> | 2000-01-14 11:39:31 +0000 |
commit | 003906a9b85120593c9923fbea1a1af69b78b746 (patch) | |
tree | 492e729be1579f4e136e338253634cbefcbe7c71 | |
parent | 22537540b00ac59bf0f828b9256f2e2eec584d2f (diff) | |
download | pkgsrc-003906a9b85120593c9923fbea1a1af69b78b746.tar.gz |
Add a check, inspired by Thor Lancelot Simon:
When an installed package is found as part of a DEPENDS pre-requisite,
check its object format. If there is none in the installed package,
that package was probably built before 29th September 1999, which was
when the OBJECT_FMT definition was added to the BUILD_DEFS, so print a
warning and continue. If the object format of the installed package
and ${OBJECT_FMT} are the same, then continue. If the object format
of the installed package and ${OBJECT_FMT} differ, then print an error
message explaining the error, and exit.
-rw-r--r-- | mk/bsd.pkg.mk | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index 1c9a55d61d3..b94bd3d206d 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.391 2000/01/13 17:40:42 jwise Exp $ +# $NetBSD: bsd.pkg.mk,v 1.392 2000/01/14 11:39:31 agc Exp $ # # This file is in the public domain. # @@ -2197,7 +2197,16 @@ misc-depends: uptodate-pkgtools ${_PKG_SILENT}${_PKG_DEBUG}package="`${ECHO} \"${dep}\" | ${SED} -e s/:.\*//`"; \ dir="`${ECHO} \"${dep}\" | ${SED} -e s/.\*://`"; \ found="`${PKG_INFO} -e \"$$package\" || ${TRUE}`"; \ - if [ X"$$found" != X"" ]; then \ + if [ "X$$found" != "X" ]; then \ + instobjfmt=`${PKG_INFO} -B "$$package" | ${AWK} '/^OBJECT_FMT/ { print $$2 }'`; \ + if [ "X$$instobjfmt" = "X" ]; then \ + ${ECHO} "WARNING: Unknown object format for installed package $$package - continuing"; \ + elif [ "X$$instobjfmt" != "X${OBJECT_FMT}" ]; then \ + ${ECHO} "Installed package $$package is an $$instobjfmt package."; \ + ${ECHO} "You are building an ${OBJECT_FMT} package, which will not inter-operate."; \ + ${ECHO} "Please update the $$package package to ${OBJECT_FMT}"; \ + exit 1; \ + fi; \ if [ `${ECHO} $$found | wc -w` -gt 1 ]; then \ ${ECHO} '***' "WARNING: Dependency on '$$package' expands to several installed packages " ; \ ${ECHO} " (" `${ECHO} $$found` ")." ; \ |