Update to fix 'installworld' for 5.2
Garance A Drosihn
drosih at rpi.edu
Mon Dec 1 16:06:40 PST 2003
Here is an update I would like to install before 5.2-release.
This fixes the problems that people will run into during
'make installworld' when doing a source-upgrade from
5.1-release or 5.1-security to (what will be) 5.2-release.
To test this, I first upgraded a system to 5.1-RELEASE-p11.
I then created a /usr/src-curr which was the current source
tree, and did a buildworld and buildkernel.
I then copied that OS to another set of partitions, booted
up into the copy, and tried the normal installkernel-reboot-
installworld sequence. The installation was hosed, due to
programs in /bin which reference files in a not-yet-existent
/libexec. Recovery is possible, but can be somewhat painful.
I booted back into a working system, and re-copied the
original set of partitions to the test partitions. I booted
into the test partitions, applied this update, and tried the
same installkernel-reboot-installworld sequence. This did
not run into any problems (as long as one follows the rest
of the instructions in /usr/src/UPDATING).
I have brought this issue up on -current, but no one has
responded with a reason why the install for /libexec should
*not* be moved up. So, I think it should be moved up, now
that I've tested that it does seem to work OK.
As near as I can tell, the special check for libexec/rtld-elf
never did work, and in any case it will be unnecessary if we
unconditionally install all of libexec at that point.
Index: Makefile.inc1
===================================================================
RCS file: /usr/cvs/free/depot/src/Makefile.inc1,v
retrieving revision 1.397
diff -u -u -r1.397 Makefile.inc1
--- Makefile.inc1 16 Nov 2003 21:17:43 -0000 1.397
+++ Makefile.inc1 1 Dec 2003 23:10:45 -0000
@@ -49,16 +49,8 @@
.if exists(${.CURDIR}/lib)
SUBDIR+= lib
.endif
-
-# When upgrading to a dynamically linked root, install the runtime
-# linker early into its new location before make(1) has a chance
-# to run the dynamically linked /bin/sh.
-.if !defined(NO_DYNAMICROOT) && !defined(NOPIC) && \
- (!defined(TARGET_ARCH) || ${TARGET_ARCH} == ${MACHINE_ARCH}) && \
- !defined(DISTDIR) && \
- (!defined(DESTDIR) || empty(DESTDIR) || ${DESTDIR} == "/") && \
- !exists(/libexec/ld-elf.so.1)
-SUBDIR+= libexec/rtld-elf
+.if exists(${.CURDIR}/libexec)
+SUBDIR+= libexec
.endif
.if exists(${.CURDIR}/bin)
@@ -73,9 +65,6 @@
.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \
!defined(NOCRYPT) && !defined(NO_OPENSSL) && !defined(NO_KERBEROS)
SUBDIR+= kerberos5
-.endif
-.if exists(${.CURDIR}/libexec)
-SUBDIR+= libexec
.endif
.if exists(${.CURDIR}/rescue) && !defined(NO_RESCUE)
SUBDIR+= rescue
--
Garance Alistair Drosehn = gad at gilead.netel.rpi.edu
Senior Systems Programmer or gad at freebsd.org
Rensselaer Polytechnic Institute or drosih at rpi.edu
More information about the freebsd-current
mailing list