From 92a39a1942a3a8225daf421f061fcbec4de4199d Mon Sep 17 00:00:00 2001 From: dougb Date: Tue, 9 Jun 2009 20:20:08 +0000 Subject: [PATCH] 1. Update the message that prints out for -U when the mtree database does not exist to let the user know that it will be created for the next run. 2. Delete more stuff we're not going to use from the temproot prior to creating the mtree database to dramatically reduce its size (162K -> 37K). 3. We've been deleting the zero-size files from temproot for a long time now, so remove the spurious "-size +0" from the find command in the comparison loop, and remove what is now a really stale comment. --- usr.sbin/mergemaster/mergemaster.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh index f8b92c0488e..4d2ffc09056 100755 --- a/usr.sbin/mergemaster/mergemaster.sh +++ b/usr.sbin/mergemaster/mergemaster.sh @@ -353,7 +353,8 @@ case "${AUTO_UPGRADE}" in *) if [ ! -s "${DESTDIR}${MTREEFILE}" ]; then echo '' - echo "*** Unable to find mtree database. Skipping auto-upgrade." + echo "*** Unable to find mtree database. Skipping auto-upgrade on this run." + echo " It will be created for the next run when this one is complete." echo '' press_to_continue unset AUTO_UPGRADE @@ -674,8 +675,11 @@ rm -f ${TEMPROOT}/etc/*.db ${TEMPROOT}/etc/passwd # We only need to compare things like freebsd.cf once find ${TEMPROOT}/usr/obj -type f -delete 2>/dev/null -# Delete 0 length files to make the mtree database as small as possible. +# Delete stuff we do not need to keep the mtree database small, +# and to make the actual comparison faster. +find ${TEMPROOT}/usr -type l -delete 2>/dev/null find ${TEMPROOT} -type f -size 0 -delete 2>/dev/null +find -d ${TEMPROOT} -type d -empty -delete 2>/dev/null # Build the mtree database in a temporary location. MTREENEW=`mktemp -t mergemaster.mtree` @@ -963,11 +967,7 @@ if [ -r "${MM_PRE_COMPARE_SCRIPT}" ]; then . "${MM_PRE_COMPARE_SCRIPT}" fi -# Using -size +0 avoids uselessly checking the empty log files created -# by ${SOURCEDIR}/etc/Makefile and the device entries in ./dev, but does -# check the scripts in ./dev, as we'd like (assuming no devfs of course). -# -for COMPFILE in `find . -type f -size +0`; do +for COMPFILE in `find . -type f`; do # First, check to see if the file exists in DESTDIR. If not, the # diff_loop function knows how to handle it. -- 2.45.0