diff options
author | joerg <joerg@pkgsrc.org> | 2007-08-14 23:58:24 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2007-08-14 23:58:24 +0000 |
commit | 8eae292c51f7db3c58d0fb7424dd3e09f737ff11 (patch) | |
tree | 9854d3f8c0dccfa11f155aaa3347ce10f456e38e | |
parent | 6a1fd2334fbd1c7d915f51c6da3eb95129808e6a (diff) | |
download | pkgsrc-8eae292c51f7db3c58d0fb7424dd3e09f737ff11.tar.gz |
Fix a number of bugs in the DESTDIR support:
- check-perms.mk was not DESTDIR aware, prefix files before passing it
to the directory extraction
- PKG_FILELIST_CMD was calling pkg_info, which is fine for normal
installation, but fails of course for DESTDIR. Just drop the @ lines
from ${_DEPENDS_PLIST} and use that.
- To make he former work, ensure that _flavor-generate-metadata is part
of _INSTALL_ALL_TARGETS. It was normally a dependency of
_flavor-register, but that is skipped for DESTDIR.
- Remove ${_DEPENDS_PLIST} when running install-clean.
-rw-r--r-- | mk/check/check-perms.mk | 4 | ||||
-rw-r--r-- | mk/flavor/pkg/flavor.mk | 8 | ||||
-rw-r--r-- | mk/install/install.mk | 6 |
3 files changed, 13 insertions, 5 deletions
diff --git a/mk/check/check-perms.mk b/mk/check/check-perms.mk index 90725b9aa16..a5b080f75bf 100644 --- a/mk/check/check-perms.mk +++ b/mk/check/check-perms.mk @@ -1,4 +1,4 @@ -# $NetBSD: check-perms.mk,v 1.9 2007/07/23 12:10:56 joerg Exp $ +# $NetBSD: check-perms.mk,v 1.10 2007/08/14 23:58:24 joerg Exp $ # # This file checks that after installation of a package, all files and # directories of that package have sensible permissions set. @@ -90,7 +90,7 @@ _check-perms: .PHONY ${CHECK_PERMS_SKIP:@p@${PREFIX}/${p}|${p}) continue ;;@}\ *) ;; \ esac; \ - printf "%s\\n" "$$file"; \ + printf "%s\\n" "${DESTDIR}$$file"; \ done \ | awk ${_CHECK_PERMS_GETDIRS_AWK:Q} \ | ${_CHECK_PERMS_CMD} ${_CHECK_PERMS_FLAGS} diff --git a/mk/flavor/pkg/flavor.mk b/mk/flavor/pkg/flavor.mk index 120f20b78a4..57f1cb3d06d 100644 --- a/mk/flavor/pkg/flavor.mk +++ b/mk/flavor/pkg/flavor.mk @@ -1,4 +1,4 @@ -# $NetBSD: flavor.mk,v 1.1 2006/06/03 23:11:42 jlam Exp $ +# $NetBSD: flavor.mk,v 1.2 2007/08/14 23:58:24 joerg Exp $ # # This Makefile fragment provides variable and target overrides that are # specific to the pkgsrc native package format. @@ -7,7 +7,13 @@ # PKG_FILELIST_CMD outputs the list of files owned by ${PKGNAME} as # registered on the system. # +# For DESTDIR support, just use _DEPENDS_PLIST instead. +# +.if ${_USE_DESTDIR} == "no" PKG_FILELIST_CMD= ${PKG_INFO} -qL ${PKGNAME:Q} +.else +PKG_FILELIST_CMD= ${SED} -e "/^@/d" -e "s|^|${PREFIX}/|" ${_DEPENDS_PLIST} +.endif .include "${PKGSRCDIR}/mk/flavor/pkg/depends.mk" .include "${PKGSRCDIR}/mk/flavor/pkg/check.mk" diff --git a/mk/install/install.mk b/mk/install/install.mk index 8892d9f746d..8b2f7e53995 100644 --- a/mk/install/install.mk +++ b/mk/install/install.mk @@ -1,4 +1,4 @@ -# $NetBSD: install.mk,v 1.44 2007/08/10 04:00:43 jlam Exp $ +# $NetBSD: install.mk,v 1.45 2007/08/14 23:58:24 joerg Exp $ # # This file provides the code for the "install" phase. # @@ -168,6 +168,8 @@ _INSTALL_ALL_TARGETS+= post-install-script .endif .if ${_USE_DESTDIR} == "no" _INSTALL_ALL_TARGETS+= _flavor-register +.else +_INSTALL_ALL_TARGETS+= _flavor-generate-metadata .endif _INSTALL_ALL_TARGETS+= privileged-install-hook .if ${_USE_DESTDIR} != "user-destdir" @@ -333,7 +335,7 @@ privileged-install-hook: .PHONY ### later phases so that the "install" target may be re-invoked. ### install-clean: .PHONY package-clean check-clean _flavor-install-clean - ${RUN} ${RM} -f ${PLIST} ${_COOKIE.install} + ${RUN} ${RM} -f ${PLIST} ${_COOKIE.install} ${_DEPENDS_PLIST} ###################################################################### ### bootstrap-register (PUBLIC) |