summaryrefslogtreecommitdiff
path: root/mk/flavor
diff options
context:
space:
mode:
authorjoerg <joerg>2009-06-09 08:40:27 +0000
committerjoerg <joerg>2009-06-09 08:40:27 +0000
commit2fcfd4361fc15220882622049f64976f95311f39 (patch)
treea97e9ab4b2cc82fd7e37b1b33aef2abe2071284c /mk/flavor
parent6541f16cb4b11693521ae9dc7f3653c22434419d (diff)
downloadpkgsrc-2fcfd4361fc15220882622049f64976f95311f39.tar.gz
Add support for using USE_DESTDIR=yes and replace together.
Based on the patch send to tech-pkg in 2008, but less intrusive.
Diffstat (limited to 'mk/flavor')
-rw-r--r--mk/flavor/README3
-rw-r--r--mk/flavor/pkg/replace.mk26
2 files changed, 26 insertions, 3 deletions
diff --git a/mk/flavor/README b/mk/flavor/README
index 1b9b4deb75b..d3906e984be 100644
--- a/mk/flavor/README
+++ b/mk/flavor/README
@@ -1,4 +1,4 @@
-$NetBSD: README,v 1.6 2007/10/01 10:08:20 rillig Exp $
+$NetBSD: README,v 1.7 2009/06/09 08:40:27 joerg Exp $
= Introduction =
@@ -58,6 +58,7 @@ The following make targets must be implemented:
* tarup-pkg
* package-install
* _flavor-replace
+* _flavor-destdir-replace
* _flavor-undo-replace
= Bugs =
diff --git a/mk/flavor/pkg/replace.mk b/mk/flavor/pkg/replace.mk
index e58ff9f3196..7ed4317c40a 100644
--- a/mk/flavor/pkg/replace.mk
+++ b/mk/flavor/pkg/replace.mk
@@ -1,8 +1,11 @@
-# $NetBSD: replace.mk,v 1.24 2008/01/23 14:48:50 gdt Exp $
+# $NetBSD: replace.mk,v 1.25 2009/06/09 08:40:27 joerg Exp $
#
# _flavor-replace:
-# Updates a package in-place on the system.
+# Updates a package in-place on the system (USE_DESTDIR=yes).
+#
+# _flavor-destdir-replace:
+# Updates a package in-place on the system (USE_DESTDIR=yes).
#
# See also:
# replace
@@ -24,6 +27,13 @@ _flavor-replace: \
replace-fixup-installed-info \
.PHONY
+_flavor-destdir-replace: \
+ replace-names \
+ replace-destdir \
+ replace-fixup-required-by \
+ replace-fixup-installed-info \
+ .PHONY
+
# _flavor-undo-replace:
# Undoes the actions from a previous _flavor-replace.
#
@@ -172,3 +182,15 @@ replace-clean: .PHONY
${RM} -f ${WRKDIR}/$$newname${PKG_SUFX}; \
${RM} -f ${_REPLACE_OLDNAME_FILE} ${_REPLACE_NEWNAME_FILE} \
${_COOKIE.replace}
+
+replace-destdir: .PHONY
+ @${PHASE_MSG} "Updating using binary package of "${PKGNAME:Q}
+.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
+ @${MKDIR} ${_CROSS_DESTDIR}${PREFIX}
+ ${PKG_ADD} -u -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${PKGFILE}
+ @${ECHO} "Fixing recorded cwd..."
+ @${SED} -e 's|@cwd ${_CROSS_DESTDIR}|@cwd |' ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS > ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp
+ @${MV} ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS
+.else
+ ${PKG_ADD} -u ${PKGFILE}
+.endif