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 _at__at_ -49,16 +49,8 _at__at_ .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) _at__at_ -73,9 +65,6 _at__at_ .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.eduReceived on Mon Dec 01 2003 - 15:06:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:32 UTC