diff options
author | bdrewery <bdrewery@FreeBSD.org> | 2016-04-18 18:14:05 +0000 |
---|---|---|
committer | bdrewery <bdrewery@FreeBSD.org> | 2016-04-18 18:14:05 +0000 |
commit | 26e0d19b6a57cd6056b8e3fa5d7657445bfd72a0 (patch) | |
tree | 1cef21bb433f1a238566fb29c6866d370c5e8c14 | |
parent | 731f354016c2341c44d7c86d90474627fbb89f30 (diff) | |
download | FreeBSD-src-26e0d19b6a57cd6056b8e3fa5d7657445bfd72a0.zip FreeBSD-src-26e0d19b6a57cd6056b8e3fa5d7657445bfd72a0.tar.gz |
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
-rw-r--r-- | Makefile | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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/} |