svn commit: r289433 - head

Bryan Drewery bdrewery at FreeBSD.org
Fri Oct 16 21:09:17 UTC 2015


Author: bdrewery
Date: Fri Oct 16 21:09:15 2015
New Revision: 289433
URL: https://svnweb.freebsd.org/changeset/base/289433

Log:
  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

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Fri Oct 16 20:59:03 2015	(r289432)
+++ head/Makefile.inc1	Fri Oct 16 21:09:15 2015	(r289433)
@@ -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}


More information about the svn-src-all mailing list