Use the system MAKEOBJDIRPREFIX when running make targets in

mergemaster.  This allows bootstrap verions of tools to be used.

Add a note to UPDATING about this change.

Discussed with:	jhb
Sponsored by:	DARPA, AFRL
MFC after:	5 days
This commit is contained in:
brooks 2013-04-25 21:19:50 +00:00
parent 4f5865691e
commit 53230ee95f
2 changed files with 14 additions and 5 deletions

View File

@ -31,6 +31,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20130425:
The mergemaster command now uses the default MAKEOBJDIRPREFIX
rather than creating it's own in the temporary directory in
order allow access to bootstrapped versions of tools such as
install and mtree. When upgrading from version of FreeBSD where
the install command does not support -l, you will need to
install a new mergemaster command if mergemaster -p is required.
This can be accomplished with the command (cd src/usr.sbin/mergemaster
&& make install).
20130404:
Legacy ATA stack, disabled and replaced by new CAM-based one since
FreeBSD 9.0, completely removed from the sources. Kernel modules
@ -1757,7 +1767,7 @@ COMMON ITEMS:
step. It never hurts to do it all the time. You may need to
install a new mergemaster (cd src/usr.sbin/mergemaster && make
install) after the buildworld before this step if you last updated
from current before 20020224 or from -stable before 20020408.
from current before 20130425 or from -stable before 20130430.
[6] This only deletes old files and directories. Old libraries
can be deleted by "make delete-old-libs", but you have to make

View File

@ -629,11 +629,10 @@ case "${RERUN}" in
${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs >/dev/null
;;
esac
od=${TEMPROOT}/usr/obj
${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs >/dev/null &&
MAKEOBJDIRPREFIX=$od ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc >/dev/null &&
MAKEOBJDIRPREFIX=$od ${MM_MAKE} everything SUBDIR_OVERRIDE=etc >/dev/null &&
MAKEOBJDIRPREFIX=$od ${MM_MAKE} DESTDIR=${TEMPROOT} distribution >/dev/null;} ||
${MM_MAKE} _obj SUBDIR_OVERRIDE=etc >/dev/null &&
${MM_MAKE} everything SUBDIR_OVERRIDE=etc >/dev/null &&
${MM_MAKE} DESTDIR=${TEMPROOT} distribution >/dev/null;} ||
{ echo '';
echo " *** FATAL ERROR: Cannot 'cd' to ${SOURCEDIR} and install files to";
echo " the temproot environment";