summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2004-07-16 02:51:28 +0000
committermarcel <marcel@FreeBSD.org>2004-07-16 02:51:28 +0000
commitdec36cc079adf81c1ee83a5ef05bf2d89d3a2c6a (patch)
tree7ddeaede6e7d04597f0c776c62151aba2750e1ef /Makefile
parent89f14e44472945343f62ac4ee3582f8b60cbcd4f (diff)
downloadFreeBSD-src-dec36cc079adf81c1ee83a5ef05bf2d89d3a2c6a.zip
FreeBSD-src-dec36cc079adf81c1ee83a5ef05bf2d89d3a2c6a.tar.gz
As per discussions on current@, protect unsuspecting users from
trying to upgrade their system with make world instead of following the preferred and suggested sequence of commands. The fact remains that make world does not upgrade the kernel. Allow make world when DESTDIR has been specified, including when DESTDIR specifies the root file system. Otherwise, print a useful warning and fail. Reviewed, tested and scrutinized by: gad@
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile18
1 files changed, 16 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index ccc9f94..716cf04 100644
--- a/Makefile
+++ b/Makefile
@@ -144,14 +144,17 @@ ${TGTS}:
# Set a reasonable default
.MAIN: all
+.if defined(DESTDIR)
.if make(world)
STARTTIME!= LC_ALL=C date
.endif
#
# world
#
-# Attempt to rebuild and reinstall *everything*, with reasonable chance of
-# success, regardless of how old your existing system is.
+# Attempt to rebuild and reinstall everything. This target is not to be
+# used for upgrading an existing FreeBSD system, because the kernel is
+# not included. One can argue that this target doesn't build everything
+# then.
#
world: upgrade_checks
@echo "--------------------------------------------------------------"
@@ -178,6 +181,17 @@ world: upgrade_checks
@echo ">>> make world completed on `LC_ALL=C date`"
@echo " (started ${STARTTIME})"
@echo "--------------------------------------------------------------"
+.else
+world:
+ @echo "WARNING: make world will overwrite your existing FreeBSD"
+ @echo "installation without also building and installing a new"
+ @echo "kernel. This can be dangerous. Please read the handbook,"
+ @echo "'Using make world', for how to upgrade your system."
+ @echo "Define DESTDIR to the where you want to install FreeBSD,
+ @echo "including /, to override this warning and proceed as usual."
+ @echo "Bailing out now..."
+ @false
+.endif
#
# kernel
OpenPOWER on IntegriCloud