diff options
author | gdt <gdt@pkgsrc.org> | 2007-08-10 17:57:28 +0000 |
---|---|---|
committer | gdt <gdt@pkgsrc.org> | 2007-08-10 17:57:28 +0000 |
commit | 2a32611320e6e38dcc2ae123497114da1b4b5c46 (patch) | |
tree | 7c68526bf59a05d4b174c1ca429d5435eb3c107d /mk | |
parent | bd7350a511d6d008d523e386262cecd8e8e4b108 (diff) | |
download | pkgsrc-2a32611320e6e38dcc2ae123497114da1b4b5c46.tar.gz |
store +REQUIRED_BY and +INSTALLED_INFO in work/.replace-FOO rather
than in work/.pkgdb, so as not to lose them in install-clean.
Because of this, put them back explicitly.
(Fixes 'make replace loses +REQUIRED_BY', and also the unreported
'make replace loses +INSTALLED_INFO'.)
Diffstat (limited to 'mk')
-rw-r--r-- | mk/flavor/pkg/replace.mk | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/mk/flavor/pkg/replace.mk b/mk/flavor/pkg/replace.mk index 74de6dd6ff0..1ae8246c01f 100644 --- a/mk/flavor/pkg/replace.mk +++ b/mk/flavor/pkg/replace.mk @@ -1,4 +1,4 @@ -# $NetBSD: replace.mk,v 1.14 2007/08/08 16:39:05 jlam Exp $ +# $NetBSD: replace.mk,v 1.15 2007/08/10 17:57:28 gdt Exp $ # # _flavor-replace: @@ -40,8 +40,8 @@ _flavor-undo-replace: \ replace-clean \ .PHONY -_INSTALLED_INFO_FILE= ${PKG_DB_TMPDIR}/+INSTALLED_INFO -_REQUIRED_BY_FILE= ${PKG_DB_TMPDIR}/+REQUIRED_BY +_INSTALLED_INFO_FILE= ${WRKDIR}/.replace-+INSTALLED_INFO +_REQUIRED_BY_FILE= ${WRKDIR}/.replace-+REQUIRED_BY _COOKIE.replace= ${WRKDIR}/.replace_done _REPLACE_OLDNAME_FILE= ${WRKDIR}/.replace_oldname @@ -138,9 +138,11 @@ replace-preserve-required-by: .PHONY ### replace-fixup-required-by (PRIVATE) ###################################################################### ### replace-fixup-required-by fixes the +CONTENTS files of dependent -### packages to refer to the replacement package. It also sets the +### packages to refer to the replacement package, and puts the +### +REQUIRED_BY file back into place. It also sets the ### unsafe_depends_strict tag on each dependent package, and sets the -### unsafe_depends tag if the replaced package has a different version. +### unsafe_depends tag if the replaced package has a different +### version. ### XXX Only set unsafe_depends if there is an ABI change. replace-fixup-required-by: .PHONY @${STEP_MSG} "Fixing @pkgdep entries in dependent packages." @@ -170,7 +172,8 @@ replace-fixup-required-by: .PHONY if ${TEST} "$$oldname" != "$$newname"; then \ ${PKG_ADMIN} set unsafe_depends=YES $$pkg; \ fi; \ - done + done; \ + ${MV} ${_REQUIRED_BY_FILE} ${_PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY ###################################################################### ### replace-fixup-installed-info (PRIVATE) @@ -181,7 +184,9 @@ replace-fixup-required-by: .PHONY replace-fixup-installed-info: .PHONY @${STEP_MSG} "Removing unsafe_depends tag." ${_PKG_SILENT}${_PKG_DEBUG} \ - for var in unsafe_depends unsafe_depends_strict rebuild; do \ + ${TEST} ! -f ${_INSTALLED_INFO_FILE} || + ${MV} ${_INSTALLED_INFO_FILE} ${_PKG_DBDIR}/${PKGNAME}/+INSTALLED_INFO; \ + for var in unsafe_depends unsafe_depends_strict rebuild; do \ ${TEST} ! -f ${_PKG_DBDIR}/${PKGNAME}/+INSTALLED_INFO || \ ${PKG_ADMIN} unset $$var ${PKGBASE}; \ done |