summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2003-08-21 02:06:13 +0000
committerjlam <jlam@pkgsrc.org>2003-08-21 02:06:13 +0000
commit5aed0a647394126baf3161fb1936355ff2bcb8c3 (patch)
tree069a133ade381e09ecb0575aee67b931eb353467
parent6d99ddab2da32c7af774d93aef8dbe17c0ff0dd8 (diff)
downloadpkgsrc-5aed0a647394126baf3161fb1936355ff2bcb8c3.tar.gz
Use the 20030819 pkg_install tools, which support PKG_DBDIR_DFLT, and
modify pkgsrc to use the new variable. This greatly simplifies a lot of the code instead of having to overload the value of PKG_DBDIR as we did before this change.
-rw-r--r--mk/bsd.pkg.mk131
-rw-r--r--mk/bsd.prefs.mk20
-rw-r--r--mk/buildlink3/bsd.buildlink3.mk10
-rw-r--r--mk/bulk/bsd.bulk-pkg.mk46
-rw-r--r--mk/bulk/pre-build13
5 files changed, 113 insertions, 107 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index bb4627a6ac3..ff55758cc94 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1216.2.23 2003/08/18 16:16:42 jlam Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1216.2.24 2003/08/21 02:06:13 jlam Exp $
#
# This file is in the public domain.
#
@@ -87,6 +87,15 @@ _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
INTERACTIVE_STAGE?= none
+# PKG_INSTALLATION_TYPE can only be one of two values: "pkgviews" or
+# "overwrite". If we don't explicitly ask for "pkgviews", assume
+# "overwrite".
+#
+.if (${PKG_INSTALLATION_TYPE} != "pkgviews") && \
+ (${PKG_INSTALLATION_TYPE} != "overwrite")
+PKG_FAIL_REASON= "PKG_INSTALLATION_TYPE must be \`\`pkgviews'' or \`\`overwrite''."
+.endif
+
# Set the default BUILDLINK_DIR, BUILDLINK_X11PKG_DIR, BUILDLINK_X11_DIR so
# that if no buildlink2.mk files are included, then they still point to
# where headers and libraries for installed packages and X11R6 may be found.
@@ -143,15 +152,15 @@ NO_MTREE= yes
PREFIX= ${LOCALBASE}
.endif
-DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR}
-DEPOT_SUBDIR?= packages
.if empty(DEPOT_SUBDIR)
PKG_FAIL_REASON+= "DEPOT_SUBDIR may not be empty."
.endif
-.if ${PKG_INSTALLATION_TYPE} == "pkgviews"
+.if ${PKG_INSTALLATION_TYPE} == "overwrite"
+PKG_DBDIR= ${PKG_DBDIR_DFLT}
+.else # ${PKG_INSTALLATION_TYPE} == "pkgview"
+PKG_DBDIR= ${DEPOTBASE}
PREFIX= ${DEPOTBASE}/${PKGNAME}
-PKG_DBDIR_MAKEFLAGS= _REAL_PKG_DBDIR=${PKG_DBDIR} PKG_DBDIR=${DEPOTBASE}
NO_MTREE= yes
PLIST_SRC= # empty, since we use dynamic PLIST generation
#
@@ -672,7 +681,7 @@ uptodate-digest:
.if defined(_OPSYS_PKGTOOLS_REQD)
PKGTOOLS_REQD= ${_OPSYS_PKGTOOLS_REQD}
.else
-PKGTOOLS_REQD= 20030810
+PKGTOOLS_REQD= 20030819
.endif
# Check that we are using up-to-date pkg_* tools with this file.
@@ -703,21 +712,6 @@ PKG_FAIL_REASON+='The installed Zoularis was last updated on ${ZOULARIS_VERSION:
. endif
.endif
-# Define some _PKG_* variables so we don't have to constantly condition
-# on PKG_INSTALLATION_TYPE.
-#
-.if ${PKG_INSTALLATION_TYPE} == "pkgviews"
-_PKG_ADD= ${DEPOT_PKG_ADD}
-_PKG_ADMIN= ${DEPOT_PKG_ADMIN}
-_PKG_DELETE= ${DEPOT_PKG_DELETE}
-_PKG_INFO= ${DEPOT_PKG_INFO}
-.else
-_PKG_ADD= ${PKG_ADD}
-_PKG_ADMIN= ${PKG_ADMIN}
-_PKG_DELETE= ${PKG_DELETE}
-_PKG_INFO= ${PKG_INFO}
-.endif
-
# Files to create for versioning and build information
BUILD_VERSION_FILE= ${WRKDIR}/.build_version
BUILD_INFO_FILE= ${WRKDIR}/.build_info
@@ -821,11 +815,11 @@ ${var}:= ${${var}:N-Wl,${_rpath_flag}*:N${_rpath_flag}*}
${def:C/=.*//}_DEFAULT= ${X11PREFIX}
. endif
. if !defined(${def:C/=.*//})
-_depend_${def:C/=.*//} != ${_PKG_INFO} -e ${def:C/.*=//} 2>/dev/null; ${ECHO}
+_depend_${def:C/=.*//} != ${PKG_INFO} -e ${def:C/.*=//} 2>/dev/null; ${ECHO}
. if (${_depend_${def:C/=.*//}} == "")
${def:C/=.*//}=${${def:C/=.*//}_DEFAULT}
. else
-_dir_${def:C/=.*//} != (${_PKG_INFO} -qp ${def:C/.*=//} 2>/dev/null) | ${AWK} '{ print $$2; exit }'
+_dir_${def:C/=.*//} != (${PKG_INFO} -qp ${def:C/.*=//} 2>/dev/null) | ${AWK} '{ print $$2; exit }'
${def:C/=.*//}=${_dir_${def:C/=.*//}}
MAKEFLAGS+= ${def:C/=.*//}=${_dir_${def:C/=.*//}}
. endif
@@ -1630,7 +1624,7 @@ check-vulnerable:
${AWK} '/^$$/ { next } \
/^#.*/ { next } \
$$1 !~ ENVIRON["PKGBASE"] { next } \
- { s = sprintf("${_PKG_ADMIN} pmatch \"%s\" %s && ${ECHO} \"*** WARNING - %s vulnerability in %s - see %s for more information ***\"", $$1, ENVIRON["PKGNAME"], $$2, ENVIRON["PKGNAME"], $$3); system(s); }' < ${PKGVULNDIR}/vulnerabilities || ${FALSE}; \
+ { s = sprintf("${PKG_ADMIN} pmatch \"%s\" %s && ${ECHO} \"*** WARNING - %s vulnerability in %s - see %s for more information ***\"", $$1, ENVIRON["PKGNAME"], $$2, ENVIRON["PKGNAME"], $$3); system(s); }' < ${PKGVULNDIR}/vulnerabilities || ${FALSE}; \
fi
.PHONY: do-fetch
@@ -1790,7 +1784,7 @@ show-downlevel:
${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
. else
${_PKG_SILENT}${_PKG_DEBUG} \
- found="`${_PKG_INFO} -e \"${PKGBASE}\" || ${TRUE}`"; \
+ found="`${PKG_INFO} -e \"${PKGBASE}\" || ${TRUE}`"; \
if [ "X$$found" != "X" -a "X$$found" != "X${PKGNAME}" ]; then \
${ECHO} "${PKGBASE} package: $$found installed, pkgsrc version ${PKGNAME}"; \
if [ "X$$STOP_DOWNLEVEL_AFTER_FIRST" != "X" ]; then \
@@ -1807,7 +1801,7 @@ show-installed-depends:
. if defined(DEPENDS)
${_PKG_SILENT}${_PKG_DEBUG} \
for i in ${DEPENDS:C/:.*$//:Q:S/\ / /g} ; do \
- echo "$$i =>" `${_PKG_INFO} -e "$$i"` ; \
+ echo "$$i =>" `${PKG_INFO} -e "$$i"` ; \
done
. endif
.endif
@@ -1820,7 +1814,7 @@ show-needs-update:
for i in `${MAKE} show-all-depends-dirs`; do \
cd ${_PKGSRCDIR}/$$i; \
want=`make show-vars VARNAMES=PKGNAME`; \
- have=`${_PKG_INFO} -e "$${want%-*}" || true`; \
+ have=`${PKG_INFO} -e "$${want%-*}" || true`; \
if [ -z "$$have" ]; then \
echo "$$i => (none) => needs install of $$want"; \
elif [ "$$have" != "$$want" ]; then \
@@ -1837,7 +1831,7 @@ show-pkgsrc-dir:
${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
. else
${_PKG_SILENT}${_PKG_DEBUG} \
- found="`${_PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
+ found="`${PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
if [ "X$$found" != "X" ]; then \
${ECHO} ${PKGPATH}; \
fi
@@ -2392,7 +2386,7 @@ delete-package:
.PHONY: real-su-install
real-su-install: ${MESSAGE}
.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) && \
- ${PKG_INSTALLATION_TYPE} == "overwrite"
+ (${PKG_INSTALLATION_TYPE} == "overwrite")
. if defined(CONFLICTS)
${_PKG_SILENT}${_PKG_DEBUG} \
${RM} -f ${WRKDIR}/.CONFLICTS
@@ -2427,7 +2421,7 @@ real-su-install: ${MESSAGE}
.endif # !NO_PKG_REGISTER && !NO_FORCE_REGISTER && overwrite
.if ${PKG_INSTALLATION_TYPE} == "pkgviews"
${_PKG_SILENT}${_PKG_DEBUG} \
- found="`${DEPOT_PKG_INFO} -e ${PKGNAME} || ${TRUE}`"; \
+ found="`${PKG_INFO} -e ${PKGNAME} || ${TRUE}`"; \
if [ "$$found" != "" ]; then \
${ECHO_MSG} "${_PKGSRC_IN}> $$found is already installed."; \
exit 1; \
@@ -2551,11 +2545,11 @@ real-su-install: ${MESSAGE}
. endif
.endif
.if !defined(NO_PKG_REGISTER)
- ${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${MAKEFLAGS} ${PKG_DBDIR_MAKEFLAGS} fake-pkg
+ ${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${MAKEFLAGS} fake-pkg
.endif # !NO_PKG_REGISTER
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE}
.if defined(PKG_DEVELOPER) && (${CHECK_SHLIBS} == "YES")
- ${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${MAKEFLAGS} ${PKG_DBDIR_MAKEFLAGS} check-shlibs
+ ${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${MAKEFLAGS} check-shlibs
.endif
@@ -2776,9 +2770,9 @@ do-shlib-handling:
check-shlibs:
.if !defined(NO_PKG_REGISTER)
${_PKG_SILENT}${_PKG_DEBUG} \
- bins=`${_PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/(bin|sbin|libexec)/' || ${TRUE}; }`; \
+ 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}; }`; \
+ shlibs=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/lib/lib.*.so' || ${TRUE}; }`; \
else \
shlibs=""; \
fi; \
@@ -3179,19 +3173,19 @@ real-su-deinstall-flags+= -v
.PHONY: real-su-deinstall
real-su-deinstall:
${_PKG_SILENT}${_PKG_DEBUG} \
- found="`${_PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
+ found="`${PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
if [ "$$found" != "" ]; then \
- ${ECHO} Running ${_PKG_DELETE} ${real-su-deinstall-flags} $$found ; \
- ${_PKG_DELETE} ${real-su-deinstall-flags} $$found || ${TRUE} ; \
+ ${ECHO} Running ${PKG_DELETE} ${real-su-deinstall-flags} $$found ; \
+ ${PKG_DELETE} ${real-su-deinstall-flags} $$found || ${TRUE} ; \
fi
. if (${DEINSTALLDEPENDS} != "NO") && (${DEINSTALLDEPENDS} != "ALL")
@${SHCOMMENT} Also remove BUILD_DEPENDS:
. for pkg in ${BUILD_DEPENDS:C/:.*$//}
${_PKG_SILENT}${_PKG_DEBUG} \
- found="`${_PKG_INFO} -e \"${pkg}\" || ${TRUE}`"; \
+ found="`${PKG_INFO} -e \"${pkg}\" || ${TRUE}`"; \
if [ "$$found" != "" ]; then \
- ${ECHO} Running ${_PKG_DELETE} $$found; \
- ${_PKG_DELETE} ${real-su-deinstall-flags} $$found || ${TRUE}; \
+ ${ECHO} Running ${PKG_DELETE} $$found; \
+ ${PKG_DELETE} ${real-su-deinstall-flags} $$found || ${TRUE}; \
fi
. endfor
. endif # DEINSTALLDEPENDS
@@ -3304,8 +3298,8 @@ ${DDIR}: ${DLIST}
ddir=`${SED} 's:-[^-]*$$::' ${DLIST}`; \
${ECHO} >${DDIR}; \
for pkg in $${ddir} ; do \
- if ${_PKG_INFO} -b "$${pkg}" >/dev/null 2>&1 ; then \
- ${_PKG_INFO} -b "$${pkg}" | ${SED} -ne \
+ if ${PKG_INFO} -b "$${pkg}" >/dev/null 2>&1 ; then \
+ ${PKG_INFO} -b "$${pkg}" | ${SED} -ne \
's,\([^/]*/[^/]*\)/Makefile:.*,\1,p' | \
${HEAD} -1 >>${DDIR}; \
fi ; \
@@ -3313,22 +3307,22 @@ ${DDIR}: ${DLIST}
${DLIST}: ${WRKDIR}
${_PKG_SILENT}${_PKG_DEBUG} \
- { ${_PKG_INFO} -qR "${PKGWILDCARD}" || ${TRUE}; } > ${DLIST}
+ { ${PKG_INFO} -qR "${PKGWILDCARD}" || ${TRUE}; } > ${DLIST}
# The 'info' target can be used to display information about a package.
.PHONY: info
info: uptodate-pkgtools
- ${_PKG_SILENT}${_PKG_DEBUG}${_PKG_INFO} "${PKGWILDCARD}"
+ ${_PKG_SILENT}${_PKG_DEBUG}${PKG_INFO} "${PKGWILDCARD}"
# The 'check' target can be used to check an installed package.
.PHONY: check
check: uptodate-pkgtools
- ${_PKG_SILENT}${_PKG_DEBUG}${_PKG_ADMIN} check "${PKGWILDCARD}"
+ ${_PKG_SILENT}${_PKG_DEBUG}${PKG_ADMIN} check "${PKGWILDCARD}"
# The 'list' target can be used to list the files installed by a package.
.PHONY: list
list: uptodate-pkgtools
- ${_PKG_SILENT}${_PKG_DEBUG}${_PKG_INFO} -L "${PKGWILDCARD}"
+ ${_PKG_SILENT}${_PKG_DEBUG}${PKG_INFO} -L "${PKGWILDCARD}"
# Run pkglint:
.PHONY: lint
@@ -3338,6 +3332,7 @@ lint:
# Create a binary package from an install package using "pkg_tarup"
.PHONY: tarup
tarup:
+.if ${PKG_INSTALLATION_TYPE} == "overwrite"
${_PKG_SILENT}${_PKG_DEBUG} \
${RM} -f ${PACKAGES}/All/${PKGNAME}${PKG_SUFX}; \
${SETENV} PKG_DBDIR=${PKG_DBDIR} PKG_SUFX=${PKG_SUFX} \
@@ -3349,6 +3344,7 @@ tarup:
${RM} -f ${PKGNAME}${PKG_SUFX}; \
${LN} -s ../All/${PKGNAME}${PKG_SUFX}; \
done
+.endif
# shared code for replace and undo-replace
_REPLACE= \
@@ -3379,7 +3375,7 @@ real-su-replace:
exit 1; \
fi
${_PKG_SILENT}${_PKG_DEBUG} \
- oldpkgname=`${_PKG_INFO} -e "${PKGBASE}"`; \
+ oldpkgname=`${PKG_INFO} -e "${PKGBASE}"`; \
newpkgname=${PKGNAME}; \
${ECHO} "$$oldpkgname" > ${WRKDIR}/.replace; \
replace_action="${MAKE} install"; \
@@ -3397,7 +3393,7 @@ real-su-undo-replace:
${ECHO_MSG} "*** WARNING - experimental target - data loss may be experienced ***"; \
oldpkgname=${PKGNAME}; \
newpkgname=`${CAT} ${WRKDIR}/.replace`; \
- replace_action="${SETENV} ${_PKG_ADD} ${WRKDIR}/$$newpkgname${PKG_SUFX}"; \
+ replace_action="${SETENV} ${PKG_ADD} ${WRKDIR}/$$newpkgname${PKG_SUFX}"; \
${_REPLACE}; \
${RM} ${WRKDIR}/.replace
@@ -3736,7 +3732,7 @@ _BIN_INSTALL_FLAGS+= ${PKG_ARGS_ADD}
# Install binary pkg, without strict uptodate-check first
.PHONY: bin-install
bin-install:
- @found="`${_PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
+ @found="`${PKG_INFO} -e \"${PKGWILDCARD}\" || ${TRUE}`"; \
if [ "$$found" != "" ]; then \
${ECHO_MSG} "${_PKGSRC_IN}> $$found is already installed - perhaps an older version?"; \
${ECHO_MSG} "*** If so, you may wish to \`\`pkg_delete $$found'' and install"; \
@@ -3746,19 +3742,19 @@ bin-install:
fi
@if [ -f ${PKGFILE} ] ; then \
${ECHO_MSG} "Installing from binary pkg ${PKGFILE}" ; \
- ${_PKG_ADD} ${_BIN_INSTALL_FLAGS} ${PKGFILE} ; \
+ ${PKG_ADD} ${_BIN_INSTALL_FLAGS} ${PKGFILE} ; \
else \
rel=`${UNAME} -r | ${SED} 's@\.\([0-9]*\)[\._].*@\.\1@'`; \
arch=${MACHINE_ARCH}; \
for site in ${BINPKG_SITES} ; do \
${ECHO} Trying `eval ${ECHO} $$site`/All ; \
- ${SHCOMMENT} ${ECHO} ${SETENV} PKG_PATH="`eval ${ECHO} $$site`/All" ${_PKG_ADD} ${_BIN_INSTALL_FLAGS} ${PKGNAME}${PKG_SUFX} ; \
- if ${SETENV} PKG_PATH="`eval ${ECHO} $$site`/All" ${_PKG_ADD} ${BIN_INSTALL_FLAGS} ${PKGNAME}${PKG_SUFX} ; then \
+ ${SHCOMMENT} ${ECHO} ${SETENV} PKG_PATH="`eval ${ECHO} $$site`/All" ${PKG_ADD} ${_BIN_INSTALL_FLAGS} ${PKGNAME}${PKG_SUFX} ; \
+ if ${SETENV} PKG_PATH="`eval ${ECHO} $$site`/All" ${PKG_ADD} ${BIN_INSTALL_FLAGS} ${PKGNAME}${PKG_SUFX} ; then \
${ECHO} "${PKGNAME} successfully installed."; \
break ; \
fi ; \
done ; \
- if ! ${_PKG_INFO} -qe "${PKGNAME}" ; then \
+ if ! ${PKG_INFO} -qe "${PKGNAME}" ; then \
${SHCOMMENT} Cycle through some FTP server here ;\
${ECHO_MSG} "Installing from source" ; \
${MAKE} ${MAKEFLAGS} package \
@@ -3824,7 +3820,7 @@ run-depends-list:
fi; \
fi; \
if ${PACKAGE_DEPENDS_QUICK}; then \
- ${_PKG_INFO} -qf "$$pkg" | ${AWK} '/^@pkgdep/ {print $$2}'; \
+ ${PKG_INFO} -qf "$$pkg" | ${AWK} '/^@pkgdep/ {print $$2}'; \
else \
if cd $$dir 2>/dev/null; then \
${MAKE} ${MAKEFLAGS} run-depends-list PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE} PACKAGE_DEPENDS_WITH_PATTERNS=${PACKAGE_DEPENDS_WITH_PATTERNS}; \
@@ -3874,7 +3870,7 @@ install-depends: uptodate-pkgtools
${_PKG_SILENT}${_PKG_DEBUG} \
pkg="${dep:C/:.*//}"; \
dir="${dep:C/[^:]*://:C/:.*$//}"; \
- found=`${_PKG_INFO} -e "$$pkg" || ${TRUE}`; \
+ found=`${PKG_INFO} -e "$$pkg" || ${TRUE}`; \
if [ "X$$REBUILD_DOWNLEVEL_DEPENDS" != "X" ]; then \
pkgname=`cd $$dir ; ${MAKE} ${MAKEFLAGS} show-var VARNAME=PKGNAME`; \
if [ "X$$found" != "X" -a "X$$found" != "X$${pkgname}" ]; then \
@@ -3883,7 +3879,7 @@ install-depends: uptodate-pkgtools
fi; \
fi; \
if [ "$$found" != "" ]; then \
- instobjfmt=`${_PKG_INFO} -B "$$pkg" | ${AWK} -F'=[ \t]*' '/^OBJECT_FMT/ {print $$2; exit}'`; \
+ instobjfmt=`${PKG_INFO} -B "$$pkg" | ${AWK} -F'=[ \t]*' '/^OBJECT_FMT/ {print $$2; exit}'`; \
if [ "$$instobjfmt" = "" ]; then \
if [ "X${WARN_NO_OBJECT_FMT}" != "Xno" ]; then \
${ECHO} "WARNING: Unknown object format for installed package $$pkg - continuing"; \
@@ -4239,9 +4235,9 @@ print-pkg-size-this:
.PHONY: print-pkg-size-depends
print-pkg-size-depends:
@${MAKE} ${MAKEFLAGS} run-depends-list PACKAGE_DEPENDS_QUICK=true \
- | ${XARGS} -n 1 ${SETENV} ${_PKG_INFO} -e \
+ | ${XARGS} -n 1 ${SETENV} ${PKG_INFO} -e \
| ${SORT} -u \
- | ${XARGS} -n 256 ${SETENV} ${_PKG_INFO} -qs \
+ | ${XARGS} -n 256 ${SETENV} ${PKG_INFO} -qs \
| ${AWK} -- 'BEGIN { print("0 "); } \
/^[0-9]+$$/ { print($$1, " + "); } \
END { print("p"); }' \
@@ -4380,9 +4376,6 @@ PKGVIEWS= ""
# Fake installation of package so that user can pkg_delete it later.
# Also, make sure that an installed package is recognized correctly in
# accordance to the @pkgdep directive in the packing lists.
-#
-# If PKG_INSTALLATION_TYPE is "pkgviews", then PKG_DBDIR is set to
-# ${DEPOTBASE}.
.PHONY: fake-pkg
.if !target(fake-pkg)
@@ -4398,8 +4391,10 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
${MKDIR} ${PKG_DBDIR}; \
fi
. if defined(FORCE_PKG_REGISTER)
- ${_PKG_SILENT}${_PKG_DEBUG}${_PKG_DELETE} -O ${PKGNAME}
+ ${_PKG_SILENT}${_PKG_DEBUG}${PKG_DELETE} -O ${PKGNAME}
+. if ${PKG_INSTALLATION_TYPE} == "overwrite"
${_PKG_SILENT}${_PKG_DEBUG}${RM} -rf ${PKG_DBDIR}/${PKGNAME}
+. endif
. endif
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${BUILD_VERSION_FILE} ${BUILD_INFO_FILE}
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${SIZE_PKG_FILE} ${SIZE_ALL_FILE}
@@ -4521,7 +4516,7 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
fi; \
list="`${MAKE} ${MAKEFLAGS} run-depends-list PACKAGE_DEPENDS_QUICK=true ECHO_MSG=${TRUE} | ${SORT} -u`" ; \
for dep in $$list; do \
- realdep="`${_PKG_INFO} -e \"$$dep\" || ${TRUE}`" ; \
+ realdep="`${PKG_INFO} -e \"$$dep\" || ${TRUE}`" ; \
if [ `${ECHO} $$realdep | ${WC} -w` -gt 1 ]; then \
${ECHO} '***' "WARNING: '$$dep' expands to several installed packages " ; \
${ECHO} " (" `${ECHO} $$realdep` ")." ; \
@@ -4529,7 +4524,7 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
continue ; \
fi ; \
done ; \
- for realdep in `${ECHO} $$list | ${XARGS} -n 1 ${SETENV} ${_PKG_INFO} -e | ${SORT} -u`; do \
+ for realdep in `${ECHO} $$list | ${XARGS} -n 1 ${SETENV} ${PKG_INFO} -e | ${SORT} -u`; do \
if ${TEST} -z "$$realdep"; then \
${ECHO} "$$dep not installed - dependency NOT registered" ; \
elif [ -d ${PKG_DBDIR}/$$realdep ]; then \
@@ -4547,7 +4542,7 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
done ;; \
esac
. if (${PKG_INSTALLATION_TYPE} == "pkgviews") && (${BUILD_VIEWS} == "yes")
- ${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${MAKEFLAGS} _REAL_PKG_DBDIR=${_REAL_PKG_DBDIR} PKG_DBDIR=${PKG_DBDIR} build-views
+ ${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${MAKEFLAGS} PKG_DBDIR=${PKG_DBDIR} build-views
. endif # pkgviews
.endif # !fake-pkg
@@ -4570,7 +4565,7 @@ real-su-build-views:
${MKDIR} ${LOCALBASE}; \
for v in ${PKGVIEWS}; do \
case "$$v" in \
- "") dbdir=${_REAL_PKG_DBDIR}; viewname=standard ;; \
+ "") dbdir=${PKG_DBDIR_DFLT}; viewname=standard ;; \
*) dbdir=${LOCALBASE}/$$v/.dbdir; viewname=$$v ;; \
esac; \
${ECHO} "=> Performing package view clash check for ${PKGNAME} in $$viewname view"; \
@@ -4582,7 +4577,7 @@ real-su-build-views:
continue ;; \
esac; \
${ECHO} "=> Performing package view overwrite check for ${PKGNAME} in $$viewname view"; \
- dups=`${SETENV} PLIST_IGNORE_FILES="${_PLIST_IGNORE_FILES}" PKG_DBDIR=${_REAL_PKG_DBDIR} ${PKG_VIEW_CMD} -W ${LOCALBASE} -d ${DEPOTBASE} --view=$$v check ${PKGNAME} || ${TRUE}`; \
+ dups=`${SETENV} PLIST_IGNORE_FILES="${_PLIST_IGNORE_FILES}" ${PKG_VIEW} --view=$$v check ${PKGNAME} || ${TRUE}`; \
case "$$dups" in \
"") ;; \
*) ${ECHO} "***********************************************************"; \
@@ -4594,7 +4589,7 @@ real-su-build-views:
;; \
esac; \
${ECHO} "=> Linking package into $$viewname view"; \
- ${SETENV} PLIST_IGNORE_FILES="${_PLIST_IGNORE_FILES}" PKG_DBDIR=${_REAL_PKG_DBDIR} ${PKG_VIEW_CMD} -W ${LOCALBASE} -d ${DEPOTBASE} --view=$$v add ${PKGNAME}; \
+ ${SETENV} PLIST_IGNORE_FILES="${_PLIST_IGNORE_FILES}" ${PKG_VIEW} --view=$$v add ${PKGNAME}; \
done
. else
${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk
index 4164748f012..8f388d5b571 100644
--- a/mk/bsd.prefs.mk
+++ b/mk/bsd.prefs.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prefs.mk,v 1.118.2.8 2003/08/16 21:14:52 jlam Exp $
+# $NetBSD: bsd.prefs.mk,v 1.118.2.9 2003/08/21 02:06:15 jlam Exp $
#
# Make file, included to get the site preferences, if any. Should
# only be included by package Makefiles before any .if defined()
@@ -249,6 +249,9 @@ X11PREFIX= ${X11BASE}
XMKMF_CMD?= ${X11PREFIX}/bin/xmkmf
.endif
+DEPOT_SUBDIR?= packages
+DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR}
+
# RPATH_FLAG publicly exports the linker flag used to specify run-time
# library search paths.
#
@@ -276,7 +279,8 @@ DIGEST_VERSION!= ${DIGEST} -V 2>/dev/null
MAKEFLAGS+= DIGEST_VERSION="${DIGEST_VERSION}"
.endif
-PKG_DBDIR?= ${DESTDIR}/var/db/pkg
+# This is the package database directory for the default view.
+PKG_DBDIR_DFLT?= ${DESTDIR}/var/db/pkg
PKG_ADD_CMD?= ${PKG_TOOLS_BIN}/pkg_add
PKG_ADMIN_CMD?= ${PKG_TOOLS_BIN}/pkg_admin
@@ -286,19 +290,19 @@ PKG_INFO_CMD?= ${PKG_TOOLS_BIN}/pkg_info
PKG_VIEW_CMD?= ${PKG_TOOLS_BIN}/pkg_view
LINKFARM_CMD?= ${PKG_TOOLS_BIN}/linkfarm
+# Views are rooted in ${LOCALBASE}, and the all packages are depoted in
+# ${DEPOTBASE}.
+#
+PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE}
+
PKG_ADD?= PKG_DBDIR=${PKG_DBDIR} ${PKG_ADD_CMD}
PKG_ADMIN?= PKG_DBDIR=${PKG_DBDIR} ${PKG_ADMIN_CMD}
PKG_CREATE?= PKG_DBDIR=${PKG_DBDIR} ${PKG_CREATE_CMD}
PKG_DELETE?= PKG_DBDIR=${PKG_DBDIR} ${PKG_DELETE_CMD}
PKG_INFO?= PKG_DBDIR=${PKG_DBDIR} ${PKG_INFO_CMD}
-PKG_VIEW?= ${PKG_VIEW_CMD}
+PKG_VIEW?= PKG_DBDIR_DFLT=${PKG_DBDIR_DFLT} ${PKG_VIEW_CMD} ${PKG_VIEW_ARGS}
LINKFARM?= ${LINKFARM_CMD}
-DEPOT_PKG_ADD?= PKG_DBDIR=${DEPOTBASE} ${PKG_ADD_CMD}
-DEPOT_PKG_ADMIN?= PKG_DBDIR=${DEPOTBASE} ${PKG_ADMIN_CMD}
-DEPOT_PKG_DELETE?= PKG_DBDIR=${DEPOTBASE} ${PKG_DELETE_CMD}
-DEPOT_PKG_INFO?= PKG_DBDIR=${DEPOTBASE} ${PKG_INFO_CMD}
-
.ifndef PKGTOOLS_VERSION
PKGTOOLS_VERSION!= ${PKG_INFO_CMD} -V 2>/dev/null || echo 20010302
MAKEFLAGS+= PKGTOOLS_VERSION="${PKGTOOLS_VERSION}"
diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk
index e7bf5259f13..5d4e6b9a735 100644
--- a/mk/buildlink3/bsd.buildlink3.mk
+++ b/mk/buildlink3/bsd.buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.buildlink3.mk,v 1.1.2.9 2003/08/19 02:50:57 jlam Exp $
+# $NetBSD: bsd.buildlink3.mk,v 1.1.2.10 2003/08/21 02:06:16 jlam Exp $
#
# Assume PKG_INSTALLATION_TYPE == "pkgviews".
@@ -29,9 +29,9 @@ BUILDLINK_PKGSRCDIR.x11-links= ../../pkgtools/x11-links
X11_LINKS_SUBDIR= share/x11-links
BUILDLINK_X11_DIR!= \
- if ${DEPOT_PKG_INFO} -qe "${BUILDLINK_DEPENDS.x11-links}"; then \
+ if ${PKG_INFO} -qe "${BUILDLINK_DEPENDS.x11-links}"; then \
cd ${DEPOTBASE}; \
- ${DEPOT_PKG_ADMIN} -s "" lsbest "${BUILDLINK_DEPENDS.x11-links}"; \
+ ${PKG_ADMIN} -s "" lsbest "${BUILDLINK_DEPENDS.x11-links}"; \
else \
${ECHO} "${LOCALBASE}/${X11_LINKS_SUBDIR}"; \
fi
@@ -81,9 +81,9 @@ BUILDLINK_PKGBASE.${_pkg_}?= ${_pkg_}
. endif
. if !defined(BUILDLINK_DEPOT.${_pkg_})
BUILDLINK_DEPOT.${_pkg_}!= \
- if ${DEPOT_PKG_INFO} -qe "${BUILDLINK_DEPENDS.${_pkg_}}"; then \
+ if ${PKG_INFO} -qe "${BUILDLINK_DEPENDS.${_pkg_}}"; then \
cd ${DEPOTBASE}; \
- ${DEPOT_PKG_ADMIN} -s "" lsbest "${BUILDLINK_DEPENDS.${_pkg_}}"; \
+ ${PKG_ADMIN} -s "" lsbest "${BUILDLINK_DEPENDS.${_pkg_}}"; \
else \
${ECHO} "${LOCALBASE}"; \
fi
diff --git a/mk/bulk/bsd.bulk-pkg.mk b/mk/bulk/bsd.bulk-pkg.mk
index 2f81970463b..34436c42e15 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.5 2003/08/17 04:57:17 jlam Exp $
+# $NetBSD: bsd.bulk-pkg.mk,v 1.45.2.6 2003/08/21 02:06:17 jlam Exp $
#
# Copyright (c) 1999, 2000 Hubert Feyrer <hubertf@netbsd.org>
@@ -160,13 +160,13 @@ bulk-check-uptodate:
fi ; \
if [ "$$uptodate" = "1" ]; then \
${SHCOMMENT} "Check required binary packages" ; \
- deps=`${_PKG_INFO} -qf ${REF} \
+ deps=`${PKG_INFO} -qf ${REF} \
| ${GREP} '^@pkgdep' \
| ${SED} 's,@pkgdep.,,g'`; \
for dep in $$deps ; do \
${SHCOMMENT} "check against the binary pkg that pkg_add would pick, too:" ; \
${SHCOMMENT} "(Only one should be returned here, really...)" ; \
- pkg=`${_PKG_ADMIN} lsbest "${PACKAGES}/All/$$dep"` ; \
+ pkg=`${PKG_ADMIN} lsbest "${PACKAGES}/All/$$dep"` ; \
if [ -z "$$pkg" ]; then \
${ECHO_MSG} >&2 "BULK> Required binary package $$dep does not exist, rebuilding... " ; \
uptodate=0 ; \
@@ -200,7 +200,7 @@ bulk-package:
fi \
) 2>&1 | tee -a ${BUILDLOG}
@uptodate=`${MAKE} ${MAKEFLAGS} bulk-check-uptodate REF=${PKGFILE}` ; \
- if ${_PKG_INFO} -qe "${PKGNAME:C/-[^-]*$/-[0-9]*/}" ; then \
+ if ${PKG_INFO} -qe "${PKGNAME:C/-[^-]*$/-[0-9]*/}" ; then \
installed=1; \
else \
installed=0; \
@@ -217,9 +217,9 @@ bulk-package:
${ECHO_MSG} "BULK> Removing outdated (installed) package ${PKGNAME} first." ; \
${ECHO_MSG} ${MAKE} deinstall ; \
${DO} ${MAKE} deinstall ; \
- if ${_PKG_INFO} -qe ${PKGWILDCARD} ; then \
- ${ECHO_MSG} ${_PKG_DELETE} -r ${PKGWILDCARD} ;\
- ${DO} ${_PKG_DELETE} -r ${PKGWILDCARD} ;\
+ if ${PKG_INFO} -qe ${PKGWILDCARD} ; then \
+ ${ECHO_MSG} ${PKG_DELETE} -r ${PKGWILDCARD} ;\
+ ${DO} ${PKG_DELETE} -r ${PKGWILDCARD} ;\
fi ;\
fi ; \
if [ -f ${PKGFILE} ]; then \
@@ -244,14 +244,14 @@ bulk-package:
fi; \
if [ "${PRECLEAN}" = "yes" ]; then \
${ECHO_MSG} "BULK> Removing installed packages which are not needed to build ${PKGNAME}" ; \
- for pkgname in `${_PKG_INFO} -e \*` ; \
+ for pkgname in `${PKG_INFO} -e \*` ; \
do \
if [ "${USE_BULK_CACHE}" = "yes" ]; then \
pkgdir=`${GREP} " $$pkgname " ${INDEXFILE} | ${AWK} '{print $$1}'` ;\
if [ -z "$$pkgdir" ]; then \
pkgdir=unknown ; \
fi; \
- if ${_PKG_INFO} -qe $$pkgname ; then \
+ if ${PKG_INFO} -qe $$pkgname ; then \
${SHCOMMENT} "Remove only unneeded pkgs" ; \
if ! ${EGREP} -q "^${PKGPATH} .* $$pkgdir( |$$)" ${DEPENDSFILE} ; then \
case "${BULK_PREREQ}" in \
@@ -259,10 +259,10 @@ bulk-package:
${ECHO_MSG} "BULK> Keeping BULK_PREREQ: $$pkgname ($$pkgdir)" ;\
;; \
* ) \
- ${ECHO_MSG} ${_PKG_DELETE} -r $$pkgname ; \
- ${DO} ${_PKG_DELETE} -r $$pkgname || true ; \
- if ${_PKG_INFO} -qe $$pkgname ; then \
- ${DO} ${_PKG_DELETE} -f $$pkgname || true ; \
+ ${ECHO_MSG} ${PKG_DELETE} -r $$pkgname ; \
+ ${DO} ${PKG_DELETE} -r $$pkgname || true ; \
+ if ${PKG_INFO} -qe $$pkgname ; then \
+ ${DO} ${PKG_DELETE} -f $$pkgname || true ; \
fi ;\
;; \
esac ; \
@@ -272,10 +272,10 @@ bulk-package:
fi ;\
else \
${SHCOMMENT} "Remove all pkgs" ; \
- ${ECHO_MSG} ${_PKG_DELETE} -r $$pkgname ; \
- ${DO} ${_PKG_DELETE} -r $$pkgname || true ; \
- if ${_PKG_INFO} -qe $$pkgname ; then \
- ${DO} ${_PKG_DELETE} -f $$pkgname || true ; \
+ ${ECHO_MSG} ${PKG_DELETE} -r $$pkgname ; \
+ ${DO} ${PKG_DELETE} -r $$pkgname || true ; \
+ if ${PKG_INFO} -qe $$pkgname ; then \
+ ${DO} ${PKG_DELETE} -f $$pkgname || true ; \
fi ;\
fi ;\
done ; \
@@ -287,10 +287,10 @@ bulk-package:
pkgname=`${GREP} "^$$pkgdir " ${INDEXFILE} | ${AWK} '{print $$2}'` ; \
if [ -z "$$pkgname" ]; then continue ; fi ;\
pkgfile=${PACKAGES}/All/$${pkgname}.tgz ;\
- if ! ${_PKG_INFO} -qe $$pkgname ; then \
+ if ! ${PKG_INFO} -qe $$pkgname ; then \
if [ -f $$pkgfile ]; then \
- ${ECHO_MSG} "BULK> ${_PKG_ADD} ${PKG_ARGS_ADD} $$pkgfile"; \
- ${DO} ${_PKG_ADD} ${PKG_ARGS_ADD} $$pkgfile || ${ECHO_MSG} "warning: could not add $$pkgfile." ; \
+ ${ECHO_MSG} "BULK> ${PKG_ADD} ${PKG_ARGS_ADD} $$pkgfile"; \
+ ${DO} ${PKG_ADD} ${PKG_ARGS_ADD} $$pkgfile || ${ECHO_MSG} "warning: could not add $$pkgfile." ; \
else \
${ECHO_MSG} "BULK> warning: $$pkgfile does not exist. It will be rebuilt." ;\
fi ;\
@@ -376,10 +376,10 @@ bulk-package:
# been modified and need rebuilding.
bulk-install:
@if [ `${MAKE} bulk-check-uptodate REF=${PKGFILE}` = 1 ]; then \
- if ! ${_PKG_INFO} -qe ${PKGNAME} ; then \
+ if ! ${PKG_INFO} -qe ${PKGNAME} ; then \
${DO} ${MAKE} install-depends ; \
- ${ECHO_MSG} "BULK> " ${_PKG_ADD} ${PKG_ARGS_ADD} ${PKGFILE} ; \
- ${DO} ${_PKG_ADD} ${PKG_ARGS_ADD} ${PKGFILE} ; \
+ ${ECHO_MSG} "BULK> " ${PKG_ADD} ${PKG_ARGS_ADD} ${PKGFILE} ; \
+ ${DO} ${PKG_ADD} ${PKG_ARGS_ADD} ${PKGFILE} ; \
fi ; \
else \
${ECHO_MSG} ${MAKE} bulk-package PRECLEAN=no; \
diff --git a/mk/bulk/pre-build b/mk/bulk/pre-build
index afdb6714544..34f36fbfb1f 100644
--- a/mk/bulk/pre-build
+++ b/mk/bulk/pre-build
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: pre-build,v 1.27 2003/06/06 18:28:47 jschauma Exp $
+# $NetBSD: pre-build,v 1.27.2.1 2003/08/21 02:06:17 jlam Exp $
#
# Clean up system to be ready for bulk pkg build
#
@@ -69,6 +69,7 @@ fi
# Clean out everything and its mother
#
PKG_DBDIR=`(cd ${PKGLINT_PKG_DIR}; ${BMAKE} show-var VARNAME=PKG_DBDIR)`
+DEPOTBASE=`(cd ${PKGLINT_PKG_DIR}; ${BMAKE} show-var VARNAME=DEPOTBASE)`
echo Removing all installed packages in ${PKG_DBDIR}
@@ -76,7 +77,10 @@ if [ -d ${PKG_DBDIR} ]; then
cd ${PKG_DBDIR}
for pkg in *
do
- if `env PKG_DBDIR=${PKG_DBDIR} pkg_info -qe $pkg`; then
+ if `env PKG_DBDIR=${DEPOTBASE} pkg_info -qe $pkg`; then
+ echo pkg_delete -r $pkg
+ env PKG_DBDIR=${DEPOTBASE} pkg_delete -r $pkg
+ elif `env PKG_DBDIR=${PKG_DBDIR} pkg_info -qe $pkg`; then
echo pkg_delete -r $pkg
env PKG_DBDIR=${PKG_DBDIR} pkg_delete -r $pkg
fi
@@ -85,7 +89,10 @@ if [ -d ${PKG_DBDIR} ]; then
# to deinstall
for pkg in *
do
- if `env PKG_DBDIR=${PKG_DBDIR} pkg_info -qe $pkg`; then
+ if `env PKG_DBDIR=${DEPOTBASE} pkg_info -qe $pkg`; then
+ echo pkg_delete -f $pkg
+ env PKG_DBDIR=${DEPOTBASE} pkg_delete -f $pkg
+ elif `env PKG_DBDIR=${PKG_DBDIR} pkg_info -qe $pkg`; then
echo pkg_delete -f $pkg
env PKG_DBDIR=${PKG_DBDIR} pkg_delete -f $pkg
fi