summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2007-08-14 23:58:24 +0000
committerjoerg <joerg@pkgsrc.org>2007-08-14 23:58:24 +0000
commit8eae292c51f7db3c58d0fb7424dd3e09f737ff11 (patch)
tree9854d3f8c0dccfa11f155aaa3347ce10f456e38e
parent6a1fd2334fbd1c7d915f51c6da3eb95129808e6a (diff)
downloadpkgsrc-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.mk4
-rw-r--r--mk/flavor/pkg/flavor.mk8
-rw-r--r--mk/install/install.mk6
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)