summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/sysmerge/sysmerge.814
-rw-r--r--usr.sbin/sysmerge/sysmerge.sh11
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