Skip site navigation (1)Skip section navigation (2)
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>