META_MODE: Disable during installworld and similar.

META_MODE may create cookies during staging of files to WORLDTMP that would
also prevent installation of the files to the final DESTDIR, since the cookie
already exists.  This is not yet the case but will be soon.  Prevent other
similar issues by disabling META_MODE for any top-level install targets.

Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Bryan Drewery 2016-04-18 18:14:05 +00:00
parent 29fbb8071f
commit d7698c0722

View File

@ -183,6 +183,14 @@ SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk
_MAKE= PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
# Must disable META_MODE when installing to avoid missing anything. The
# main problem is that buildworld will create cookies for install targets
# since they are being installed into WORLDTMP. This avoids unneeded and
# redundant restaging but is dangerous for user install targets.
.if make(distrib*) || make(*install*)
_MAKE+= MK_META_MODE=no
.endif
# Guess machine architecture from machine type, and vice versa.
.if !defined(TARGET_ARCH) && defined(TARGET)
_TARGET_ARCH= ${TARGET:S/pc98/i386/:S/arm64/aarch64/}