make package no longer installing

Melvyn Sopacua melvyn at magemana.nl
Sun May 4 18:32:47 UTC 2014


HI Marcin,

On Sun, 4 May 2014, Marcin Wisnicki wrote:

> portupgrade -p invokes make with DEPENDS_TARGET=package[1] but this no
> longer installs dependencies. Which target or option should be used
> instead ?
>

I fixed this locally by creating a new target in Mk/bsd.local.mk:

full-package: install
 	@cd ${.CURDIR} && ${MAKE} package
 	@cd ${.CURDIR} && ${MAKE} package-links
 	@if [ -f ${PACKAGES}/All/${PKGNAME}${PKG_SUFX} ]; then \
 		${ECHO_MSG} Package installed in ${PACKAGES}/All/${PKGNAME}${PKG_SUFX}; \
 			else \
 				${ECHO_MSG} "Failed to save package"; \
 				exit 1; \
 			fi

You will need USE_LOCAL_MK=yes in /etc/make.conf.

The reason is that STAGE now abuses the package and install targets to
do the staged installations. Once the stage installation is done, the
package target reverts to it's old behavior of installing and packaging
the package. For some reason it doesn't invoke package-links anymore, so
I added as well.

Then you need to fix portupgrade to specify full-package as
DEPENDS_TARGET.
I tried DEPENDS_TARGET="install package" but it won't work, probably
because the cookie check that switches the package target is not
re-evaluated, but spawning a sub make does. I didn't check that
thoroughly.

--
Hope this helps,

Melvyn


More information about the freebsd-ports mailing list