summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-10-16 21:09:15 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-10-16 21:09:15 +0000
commitf156796180ffc21e4e6afc8c9e4dd0337454681e (patch)
tree984d2b74af690b9df62da3cdc0b24222aaf3cf82 /Makefile.inc1
parent57164fab2d336d9e041f19e41305834a27a05657 (diff)
downloadFreeBSD-src-f156796180ffc21e4e6afc8c9e4dd0337454681e.zip
FreeBSD-src-f156796180ffc21e4e6afc8c9e4dd0337454681e.tar.gz
Correct a bitrotted comment about installworld order requirements.
The case of make(1) using a new /bin/sh issue was fixed in r173219 when ITOOLS was introduced. There are still issues with mid-install errors leaving a system unusable that are currently non-trivial to solve. The safest ordering requires installing rtld, libc and libthr (in that order) before anything else. We don't do that now though. Much improvement is needed here still. Discussed with: kip and kan (rtld/library ordering) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc113
1 files changed, 8 insertions, 5 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 256a6f8..8b54edf 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -50,11 +50,14 @@
.include <bsd.arch.inc.mk>
.include <bsd.compiler.mk>
-# We must do lib/ and libexec/ before bin/, because if installworld
-# installs a new /bin/sh, the 'make' command will *immediately*
-# use that new version. And the new (dynamically-linked) /bin/sh
-# will expect to find appropriate libraries in /lib and /libexec.
-#
+# We must do lib/ and libexec/ before bin/ in case of a mid-install error to
+# keep the users system reasonably usable. For static->dynamic root upgrades,
+# we don't want to install a dynamic binary without rtld and the needed
+# libraries. More commonly, for dynamic root, we don't want to install a
+# binary that requires a newer library version that hasn't been installed yet.
+# This ordering is not a guarantee though. The only guarantee of a working
+# system here would require fine-grained ordering of all components based
+# on their dependencies.
SRCDIR?= ${.CURDIR}
.if defined(SUBDIR_OVERRIDE)
SUBDIR= ${SUBDIR_OVERRIDE}
OpenPOWER on IntegriCloud