summaryrefslogtreecommitdiff
path: root/mk/pkgformat
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2017-08-19 00:30:19 +0000
committerjlam <jlam@pkgsrc.org>2017-08-19 00:30:19 +0000
commite84b175bbfdcc5a1a2c90387037522ca0438ccce (patch)
tree3f52803601b2d4e3e9aa4a4c7597c3078edf3a4a /mk/pkgformat
parentfa9974cd53bd64047e5e6bd9234b4b0d4144d09d (diff)
downloadpkgsrc-e84b175bbfdcc5a1a2c90387037522ca0438ccce.tar.gz
Run pkg_add(1) and pkg_delete(1) using ${SETENV} ${PKGTOOLS_ENV}.
PKGTOOLS_ENV allows for passing environment variables to the package install and deinstall scripts.
Diffstat (limited to 'mk/pkgformat')
-rw-r--r--mk/pkgformat/pkg/deinstall.mk6
-rw-r--r--mk/pkgformat/pkg/package.mk9
-rw-r--r--mk/pkgformat/pkg/pkgformat-vars.mk7
-rw-r--r--mk/pkgformat/pkg/replace.mk10
4 files changed, 19 insertions, 13 deletions
diff --git a/mk/pkgformat/pkg/deinstall.mk b/mk/pkgformat/pkg/deinstall.mk
index e34a8b3a330..372d2981a65 100644
--- a/mk/pkgformat/pkg/deinstall.mk
+++ b/mk/pkgformat/pkg/deinstall.mk
@@ -1,4 +1,4 @@
-# $NetBSD: deinstall.mk,v 1.2 2013/05/09 23:37:26 riastradh Exp $
+# $NetBSD: deinstall.mk,v 1.3 2017/08/19 00:30:19 jlam Exp $
# Set the appropriate flags to pass to pkg_delete(1) based on the value
# of DEINSTALLDEPENDS (see pkgsrc/mk/install/deinstall.mk).
@@ -43,7 +43,7 @@ _pkgformat-deinstall: .PHONY
esac; \
if ${TEST} -n "$$found"; then \
${ECHO} "Running ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} $$found"; \
- ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} "$$found" || ${TRUE} ; \
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} "$$found" || ${TRUE} ; \
fi
.if defined(DEINSTALLDEPENDS) && !empty(DEINSTALLDEPENDS:M[yY][eE][sS])
# XXX Need to handle BUILD_DEPENDS/TOOL_DEPENDS split.
@@ -52,7 +52,7 @@ _pkgformat-deinstall: .PHONY
found=`${_PKG_BEST_EXISTS} ${_pkg_:Q} || ${TRUE}`; \
if ${TEST} -n "$$found"; then \
${ECHO} "Running ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} $$found"; \
- ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} "$$found" || ${TRUE}; \
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} "$$found" || ${TRUE}; \
fi
. endfor
.endif
diff --git a/mk/pkgformat/pkg/package.mk b/mk/pkgformat/pkg/package.mk
index d94c2c79156..999b8c2e99c 100644
--- a/mk/pkgformat/pkg/package.mk
+++ b/mk/pkgformat/pkg/package.mk
@@ -1,4 +1,4 @@
-# $NetBSD: package.mk,v 1.15 2016/05/09 00:07:23 joerg Exp $
+# $NetBSD: package.mk,v 1.16 2017/08/19 00:30:19 jlam Exp $
.if defined(PKG_SUFX)
WARNINGS+= "PKG_SUFX is deprecated, please use PKG_COMPRESSION"
@@ -144,13 +144,14 @@ su-real-package-install:
@${PHASE_MSG} "Installing binary package of "${PKGNAME:Q}
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
@${MKDIR} ${_CROSS_DESTDIR}${PREFIX}
- ${PKG_ADD} -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_PKGFILE}
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_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
${RUN} case ${_AUTOMATIC:Q}"" in \
- [yY][eE][sS]) ${PKG_ADD} -A ${STAGE_PKGFILE} ;; \
- *) ${PKG_ADD} ${STAGE_PKGFILE} ;; \
+ [yY][eE][sS]) \
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} -A ${STAGE_PKGFILE} ;; \
+ *) ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} ${STAGE_PKGFILE} ;; \
esac
.endif
diff --git a/mk/pkgformat/pkg/pkgformat-vars.mk b/mk/pkgformat/pkg/pkgformat-vars.mk
index 27e8fb7fa98..145408e2f64 100644
--- a/mk/pkgformat/pkg/pkgformat-vars.mk
+++ b/mk/pkgformat/pkg/pkgformat-vars.mk
@@ -1,4 +1,4 @@
-# $NetBSD: pkgformat-vars.mk,v 1.6 2016/04/10 15:20:26 joerg Exp $
+# $NetBSD: pkgformat-vars.mk,v 1.7 2017/08/19 00:30:19 jlam Exp $
#
# This Makefile fragment is included indirectly by bsd.prefs.mk and
# defines some variables which must be defined earlier than where
@@ -37,6 +37,11 @@ PKGTOOLS_REQD= 20100914
# Latest version of pkg_install required to extract packages
PKGTOOLS_VERSION_REQD= 20091115
+# Environment used when invoking package tools. This is used to pass
+# environment variables to the package install and deinstall scripts.
+#
+PKGTOOLS_ENV?= # empty
+
.if !defined(PKGTOOLS_VERSION)
PKGTOOLS_VERSION!= ${PKG_INFO_CMD} -V 2>/dev/null || echo 20010302
MAKEFLAGS+= PKGTOOLS_VERSION=${PKGTOOLS_VERSION}
diff --git a/mk/pkgformat/pkg/replace.mk b/mk/pkgformat/pkg/replace.mk
index 1ef8637a690..c3c6ce2d7a6 100644
--- a/mk/pkgformat/pkg/replace.mk
+++ b/mk/pkgformat/pkg/replace.mk
@@ -1,4 +1,4 @@
-# $NetBSD: replace.mk,v 1.4 2016/09/19 12:26:08 gdt Exp $
+# $NetBSD: replace.mk,v 1.5 2017/08/19 00:30:19 jlam Exp $
#
# _pkgformat-destdir-replace:
@@ -90,13 +90,13 @@ undo-replace-install: .PHONY
@${PHASE_MSG} "Re-adding ${PKGNAME} from saved tar-up package."
${RUN} ${_REPLACE_OLDNAME_CMD}; \
${ECHO} "Installing saved package ${WRKDIR}/$${oldname}${PKG_SUFX}"; \
- ${PKG_ADD} ${WRKDIR}/$${oldname}${PKG_SUFX}
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} ${WRKDIR}/$${oldname}${PKG_SUFX}
undo-destdir-replace-install: .PHONY
@${PHASE_MSG} "Re-adding ${PKGNAME} from saved tar-up package."
${RUN} ${_REPLACE_OLDNAME_CMD}; \
${ECHO} "Installing saved package ${WRKDIR}/$${oldname}${PKG_SUFX}"; \
- ${PKG_ADD} -U -D ${WRKDIR}/$${oldname}${PKG_SUFX}
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} -U -D ${WRKDIR}/$${oldname}${PKG_SUFX}
# Computes and saves the full names of the installed package to be replaced
# (oldname) and the package that will be installed (newname), so that these
@@ -202,12 +202,12 @@ 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 -D -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_PKGFILE}
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} -U -D -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_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 -D ${STAGE_PKGFILE}
+ ${SETENV} ${PKGTOOLS_ENV} ${PKG_ADD} -U -D ${STAGE_PKGFILE}
.endif
${RUN}${_REPLACE_OLDNAME_CMD}; \
${PKG_INFO} -qR ${PKGNAME:Q} | while read pkg; do \