svn commit: r238423 - in head:
tools/regression/usr.sbin/etcupdate usr.sbin usr.sbin/etcupdate
John Baldwin
jhb at freebsd.org
Fri Jul 13 14:42:08 UTC 2012
On Friday, July 13, 2012 9:23:48 am John Baldwin wrote:
> Author: jhb
> Date: Fri Jul 13 13:23:48 2012
> New Revision: 238423
> URL: http://svn.freebsd.org/changeset/base/238423
>
> Log:
> The etcupdate utility is a tool for managing updates to files that are
> not updated as part of `make installworld' such as files in /etc. It
> manages updates by doing a three-way merge of changes made to these files
> against the local versions. It is also designed to minimize the amount
> of user intervention with the goal of simplifying upgrades for clusters
> of machines.
>
> The primary difference from mergemaster is that etcupdate requires less
> manual work. The primary difference from etcmerge is that etcupdate
> updates files in-place similar to mergemaster rather than building a
> separate /etc tree.
>
> Requested by: obrien, kib, theraven, joeld (among others)
A primary reason for importing this is to make it easier for folks to use out
of the box. I have an (untested) patch to update the release build to include
a bootstrap of etcupdate out-of-the-box. Once that is tested I'll commit it.
I have been using a similar patch for old-style releases on 7 and 8 for many
years now at work.
Index: release/Makefile
===================================================================
--- Makefile (revision 238365)
+++ Makefile (working copy)
@@ -71,6 +71,9 @@ base.txz:
# Set up mergemaster root database
sh ${.CURDIR}/scripts/mm-mtree.sh -m ${WORLDDIR} -F \
"TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" -D "${.OBJDIR}/${DISTDIR}/base"
+# Bootstrap etcupdate
+ etcupdate extract -B -d "${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate" \
+ -M "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}"
# Package all components
cd ${WORLDDIR} && ${IMAKE} packageworld DISTDIR=${.OBJDIR}/${DISTDIR}
mv ${DISTDIR}/*.txz .
--
John Baldwin
More information about the svn-src-all
mailing list