On 2007-11-16 22:34, "J. Porter Clark" <[EMAIL PROTECTED]> wrote: > Is there any way to keep certain files out of the reach of > mergemaster? I understand the need for carefully merging the > old and the new, but I really shouldn't ever have to for files > like these: > > /etc/aliases > /etc/hosts > /etc/hosts.allow > /etc/manpath.config > ... and many others.
You can hook into mergemaster, using shell scripts. See the manpage of mergemaster for more details, but here's a short description of what I use on my laptop for some time now: 1. A `.mergemasterrc' file in the HOME directory of the `root' user, which contains: STRICT=no MM_PRE_COMPARE_SCRIPT=/root/mm-pre-compare.sh 2. The `/root/mm-pre-compare.sh' script contains the following: #!/bin/sh # NOTE: No PATH needed, because mm's PATH is already # draconian enough. # If TEMPROOT is not set, or it is set to a path which # resolves to the real root filesystem, abort early, before we # trash the config files of the installed root filesystem. if test -z "${TEMPROOT}" ; then echo >&2 "$0: error: TEMPROOT is unset or empty." exit 1 fi p=`realpath "${TEMPROOT}"` if test "${p}" = '/' ; then echo >&2 "$0: error: TEMPROOT is the real root filesystem." exit 2 fi case "${PRE_WORLD}" in '') # The following files always have local changes. # Remove them from ${TEMPROOT} to force mergemaster(8) # to ignore these files when comparing /etc directories. rm -f "${TEMPROOT}/.cshrc" rm -f "${TEMPROOT}/.profile" rm -f "${TEMPROOT}/root/.cshrc" rm -f "${TEMPROOT}/root/.profile" rm -f "${TEMPROOT}/etc/hosts" rm -f "${TEMPROOT}/etc/networks" rm -f "${TEMPROOT}/etc/motd" rm -f "${TEMPROOT}/etc/printcap" ;; esac _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"