X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/fe5aee7baceeb9be22c84bff901652f2ea1d716b..11df03e3f8ac1c771649505150cf17787a1cb538:/Makefile.inc1 diff --git a/Makefile.inc1 b/Makefile.inc1 index 8ab74702a8..860362cdf0 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -26,6 +26,13 @@ # Put initial settings here. SUBDIR= +# /libexec/ld-elf.so.2 needs to be installed first +# Otherwise, install(1) beeing a dynamically linked binary will fail +# during the first upgrade from a static to a dynamic world +.if exists(${.CURDIR}/libexec) +SUBDIR+= libexec +.endif + # We must do share/info early so that installation of info `dir' # entries works correctly. Do it first since it is less likely to # grow dependencies on include and lib than vice versa. @@ -58,9 +65,6 @@ SUBDIR+= games .if exists(${.CURDIR}/gnu) SUBDIR+= gnu .endif -.if exists(${.CURDIR}/libexec) -SUBDIR+= libexec -.endif .if exists(${.CURDIR}/sbin) SUBDIR+= sbin .endif @@ -282,6 +286,7 @@ TMAKE= ${TMAKEENV} make -f Makefile.inc1 -DBOOTSTRAPPING \ XMAKEENV= MAKEOBJDIRPREFIX=${CTOOLSDEST} \ OBJTREE=${OBJTREE} \ DESTDIR=${CTOOLSDEST} \ + _SHLIBDIRPREFIX=${CTOOLSDEST} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ TOOLS_PREFIX=${CTOOLSDEST} \ USRDATA_PREFIX=${WORLDDEST} \ @@ -311,6 +316,7 @@ CROSSENV= MAKEOBJDIRPREFIX=${WORLDDEST} \ WMAKEENV= ${CROSSENV} \ DESTDIR=${WORLDDEST} \ + _SHLIBDIRPREFIX=${WORLDDEST} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ M4=${BTOOLSDEST}/usr/bin/m4 \ PATH=${STRICTTMPPATH} @@ -464,14 +470,23 @@ installcheck: .if !defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/" @case `uname -r` in 1.2*|1.3-*|1.3.*|1.4.*|1.5.0-*|1.5.1-*|1.5.2-*|1.5.3-*) echo "You must upgrade your kernel to at least 1.5.4 and reboot before you can safely installworld, due to libc/system call ABI changes" ; /usr/bin/false ; esac .endif + # # installworld # +# Backs up the current world if ${AUTO_BACKUP} is writable. # Installs everything compiled by a 'buildworld'. -# -installworld: installcheck backupworld-auto + +installworld: installcheck + -@mkdir -p ${AUTO_BACKUP} > /dev/null 2>&1 + @cd ${.CURDIR}; \ + (touch ${AUTO_BACKUP}/.updating > /dev/null 2>&1 && \ + ${IMAKE} backupworld-auto) || \ + echo "Cannot write to ${AUTO_BACKUP} - world not backed up" + cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//} ${INSTALL} -o root -g wheel -m 644 ${.CURDIR}/Makefile_upgrade.inc ${DESTDIR}/etc/upgrade/ + mkinitrd -b ${DESTDIR}/boot # # reinstall @@ -805,7 +820,8 @@ BSTRAPDIRS2= \ usr.sbin/chown usr.sbin/mtree usr.sbin/config \ usr.sbin/btxld usr.sbin/zic usr.sbin/makewhatis \ gnu/usr.bin/texinfo gnu/usr.bin/grep usr.bin/sort \ - usr.bin/gzip usr.bin/bzip2 usr.bin/mkcsmapper usr.bin/mkesdb + usr.bin/gzip usr.bin/bzip2 usr.bin/mkcsmapper usr.bin/mkesdb \ + usr.bin/crunch bootstrap-tools: bootstrap-tools-before bootstrap-tools-targets1 bootstrap-tools-targets2 touch ${BTOOLSDEST}/.bootstrap_done @@ -877,7 +893,9 @@ btools-${_tool}! _btxld= usr.sbin/btxld .endif -CTOOLSDIRS= ${_btxld} ${_binutils} usr.bin/objformat ${_gcc_common_cross} \ +CTOOLSDIRS= ${_btxld} ${_binutils} \ + usr.bin/objformat usr.bin/crunch/crunchide \ + ${_gcc_common_cross} \ ${_gcc44_cross} ${_gcc47_cross} ${_custom_cross} cross-tools: cross-tools-targets