summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-04-18 18:14:05 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-04-18 18:14:05 +0000
commit26e0d19b6a57cd6056b8e3fa5d7657445bfd72a0 (patch)
tree1cef21bb433f1a238566fb29c6866d370c5e8c14
parent731f354016c2341c44d7c86d90474627fbb89f30 (diff)
downloadFreeBSD-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--Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index a45706f..fcc8f6d 100644
--- a/Makefile
+++ b/Makefile
@@ -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/}
OpenPOWER on IntegriCloud