From c9bb666937cdecbe2dc8b68103edd79f0289da07 Mon Sep 17 00:00:00 2001 From: Doug Barton Date: Sun, 14 Mar 2010 05:22:46 +0000 Subject: [PATCH] Make it more clear in the docs that -a is not compatible with -iFU, and enforce this in the code. Apparently a lot of users mistakenly combine -a with these flags and are then mystified that no changes were made. While I'm here, fix a trailing space in mergemaster.8 --- usr.sbin/mergemaster/mergemaster.8 | 15 +++++++++------ usr.sbin/mergemaster/mergemaster.sh | 14 +++++++++++++- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/usr.sbin/mergemaster/mergemaster.8 b/usr.sbin/mergemaster/mergemaster.8 index a56897c31d7..27157918326 100644 --- a/usr.sbin/mergemaster/mergemaster.8 +++ b/usr.sbin/mergemaster/mergemaster.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2010 +.Dd March 13, 2010 .Dt MERGEMASTER 8 .Os .Sh NAME @@ -32,7 +32,8 @@ .Nd merge configuration files, et al during an upgrade .Sh SYNOPSIS .Nm -.Op Fl scrvahipFCPU +.Op Fl scrvhpCP +.Op Fl a|iFU .Op Fl m Ar /path/to/sources .Op Fl t Ar /path/to/temp/root .Op Fl d @@ -168,7 +169,7 @@ and therefore can override both files. When the comparison is done if there are any files remaining in the temproot directory they will be listed, and if the .Fl a -option is not in use the user will be given the option of +option is not in use the user will be given the option of deleting the temproot directory. If there are no files remaining in the temproot directory it will be deleted. @@ -206,9 +207,11 @@ If the directory exists, it creates a new one in a previously non-existent directory. This option unsets the verbose flag, -but other than -.Fl U -it is compatible with all other options. +and is not compatible with +.Fl i , +.Fl F , +or +.Fl U . Setting .Fl a makes diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh index 2fa99066a63..7f0696846e1 100755 --- a/usr.sbin/mergemaster/mergemaster.sh +++ b/usr.sbin/mergemaster/mergemaster.sh @@ -15,7 +15,7 @@ PATH=/bin:/usr/bin:/usr/sbin display_usage () { VERSION_NUMBER=`grep "[$]FreeBSD:" $0 | cut -d ' ' -f 4` echo "mergemaster version ${VERSION_NUMBER}" - echo 'Usage: mergemaster [-scrvahipFCPU]' + echo 'Usage: mergemaster [-scrvhpCP] [-a|[-iFU]]' echo ' [-m /path] [-t /path] [-d] [-u N] [-w N] [-A arch] [-D /path]' echo "Options:" echo " -s Strict comparison (diff every pair of files)" @@ -337,6 +337,18 @@ while getopts ":ascrvhipCPm:t:du:w:D:A:FU" COMMAND_LINE_ARGUMENT ; do esac done +if [ -n "$AUTO_RUN" ]; then + if [ -n "$FREEBSD_ID" -o -n "$AUTO_UPGRADE" -o -n "$AUTO_INSTALL" ]; then + echo '' + echo "*** You have included the -a option along with one or more options" + echo ' that indicate that you wish mergemaster to actually make updates' + echo ' (-F, -U, or -i), however these options are not compatible.' + echo ' Please read mergemaster(8) for more information.' + echo '' + exit 1 + fi +fi + # Assign the location of the mtree database # MTREEDB=${MTREEDB:-${DESTDIR}/var/db}