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