Date: Sun, 10 May 2009 21:49:59 -0700 From: Doug Barton <dougb@FreeBSD.org> To: Jeremie Le Hen <jeremie@le-hen.org> Cc: freebsd-current@FreeBSD.org Subject: Re: Bug in mergemaster(8) when used in service jails (scheme described in chapter 15.6.1 of the handbook) Message-ID: <4A07AE77.2080006@FreeBSD.org> In-Reply-To: <20090510111110.GA88857@obiwan.tataz.chchile.org> References: <20090510111110.GA88857@obiwan.tataz.chchile.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Very interesting, thanks. I will have to educate myself a little bit more about this issue. Doug Jeremie Le Hen wrote: > Hi Doug, > > In the chapter 15.6.1 of the handbook, "Service jails", the last part > explains how to upgrade jails. The last step is to run mergmaster(8) in > each jail. > > The problem is that in service jails /etc is a symlink to /s/etc, /s > being the readable/writable filesystem. mtree(8) stumbles on /etc being a > symlink instead of a directory and doesn't proceed futher down into /etc to > check files. Consequently, ${CHANGED} is empty and all customized > configuration are overwritten with their default version. > > I've fixed mergemaster(8) with the following patch: > > % Index: mergemaster.sh > % =================================================================== > % RCS file: /mnt/space/cvsroot/src/usr.sbin/mergemaster/mergemaster.sh,v > % retrieving revision 1.69 > % diff -u -r1.69 mergemaster.sh > % --- mergemaster.sh 23 Mar 2009 14:42:41 -0000 1.69 > % +++ mergemaster.sh 10 May 2009 11:05:32 -0000 > % @@ -461,7 +461,7 @@ > % # > % CHANGED= > % if [ -n "${AUTO_UPGRADE}" -a -f "${DESTDIR}${MTREEFILE}" ]; then > % - for file in `mtree -eq -f ${DESTDIR}${MTREEFILE} -p ${DESTDIR}/ \ > % + for file in `mtree -eqL -f ${DESTDIR}${MTREEFILE} -p ${DESTDIR}/ \ > % 2>/dev/null | awk '($2 == "changed") {print $1}'`; do > % if [ -f "${DESTDIR}/$file" ]; then > % CHANGED="${CHANGED} ${DESTDIR}/$file" > > Regards,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A07AE77.2080006>