diff options
author | jlam <jlam@pkgsrc.org> | 2017-08-19 00:30:19 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2017-08-19 00:30:19 +0000 |
commit | e84b175bbfdcc5a1a2c90387037522ca0438ccce (patch) | |
tree | 3f52803601b2d4e3e9aa4a4c7597c3078edf3a4a /mk/pkgformat | |
parent | fa9974cd53bd64047e5e6bd9234b4b0d4144d09d (diff) | |
download | pkgsrc-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.mk | 6 | ||||
-rw-r--r-- | mk/pkgformat/pkg/package.mk | 9 | ||||
-rw-r--r-- | mk/pkgformat/pkg/pkgformat-vars.mk | 7 | ||||
-rw-r--r-- | mk/pkgformat/pkg/replace.mk | 10 |
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 \ |