diff options
-rw-r--r-- | usr.sbin/sysmerge/sysmerge.8 | 14 | ||||
-rw-r--r-- | usr.sbin/sysmerge/sysmerge.sh | 11 |
2 files changed, 20 insertions, 5 deletions
diff --git a/usr.sbin/sysmerge/sysmerge.8 b/usr.sbin/sysmerge/sysmerge.8 index 580f2f9727a..0620e5662c5 100644 --- a/usr.sbin/sysmerge/sysmerge.8 +++ b/usr.sbin/sysmerge/sysmerge.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: sysmerge.8,v 1.6 2008/06/09 23:11:01 ajacoutot Exp $ +.\" $OpenBSD: sysmerge.8,v 1.7 2008/06/13 00:33:04 ajacoutot Exp $ .\" .\" Copyright (c) 2008 Antoine Jacoutot <ajacoutot@openbsd.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 9 2008 $ +.Dd $Mdocdate: June 13 2008 $ .Dt SYSMERGE 8 .Os .Sh NAME @@ -93,6 +93,16 @@ mode (the default unless is specified), .Nm will perform a strict comparison of files. +.Pa /etc/fbtab , +.Pa /etc/login.conf , +.Pa /etc/sysctl.conf , +and +.Pa /etc/ttys +are created using helper scripts and will +.Sy always +be strictly compared even in +.Fl a +mode. .Pp .Nm will work through the fileset, diff --git a/usr.sbin/sysmerge/sysmerge.sh b/usr.sbin/sysmerge/sysmerge.sh index f08e18bcf8d..d8a43608757 100644 --- a/usr.sbin/sysmerge/sysmerge.sh +++ b/usr.sbin/sysmerge/sysmerge.sh @@ -1,6 +1,6 @@ #!/bin/sh - # -# $OpenBSD: sysmerge.sh,v 1.12 2008/06/10 00:36:46 pyr Exp $ +# $OpenBSD: sysmerge.sh,v 1.13 2008/06/13 00:33:04 ajacoutot Exp $ # # This script is based on the FreeBSD mergemaster script, written by # Douglas Barton <DougB@FreeBSD.org> @@ -308,8 +308,13 @@ do_compare() { fi # compare CVS $Id's first so if the file hasn't been modified, - # it will be deleted from temproot and ignored from comparison - if [ "${AUTOMODE}" ]; then + # it will be deleted from temproot and ignored from comparison. + # several files are generated from scripts so CVS ID is not a + # reliable way of detecting changes; leave for a full diff. + if [ "${AUTOMODE}" -a "${COMPFILE}" != "./etc/fbtab" \ + -a "${COMPFILE}" != "./etc/login.conf" \ + -a "${COMPFILE}" != "./etc/sysctl.conf" \ + -a "${COMPFILE}" != "./etc/ttys" ]; then CVSID1=`grep "[$]OpenBSD:" ${DESTDIR}${COMPFILE#.} 2>/dev/null` CVSID2=`grep "[$]OpenBSD:" ${COMPFILE} 2>/dev/null` || CVSID2=none if [ "${CVSID2}" = "${CVSID1}" ]; then rm "${COMPFILE}"; fi |