[OE-core] [PATCH 1/1] populate-volatile.sh: detect the change of configuration files

Bryan Evenson bevenson at melinkcorp.com
Tue Apr 21 20:50:23 UTC 2015


Chen,

> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org
> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf
> Of Bryan Evenson
> Sent: Tuesday, April 21, 2015 8:35 AM
> To: ChenQi; openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 1/1] populate-volatile.sh: detect the change
> of configuration files
> 
> Chen,
> 
> > -----Original Message-----
> > From: openembedded-core-bounces at lists.openembedded.org
> > [mailto:openembedded-core-bounces at lists.openembedded.org] On
> Behalf Of
> > ChenQi
> > Sent: Tuesday, April 21, 2015 2:00 AM
> > To: openembedded-core at lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH 1/1] populate-volatile.sh: detect the
> > change of configuration files
> >
> > ping ...
> >
> > //Chen Qi
> >
> > On 03/20/2015 02:27 PM, Chen Qi wrote:
> > > In case the configuration files are modified by user, the cached
> > > script, /etc/volatile.cache should not be executed. Instead, the
> > > configuration files should be parsed again and generate the new cache.
> > > Otherwise, the user modifications take no effect which would
> > > obviously
> > confuse users.
> > >
> > > Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> > > ---
> > >   .../initscripts/initscripts-1.0/populate-volatile.sh  | 19
> > ++++++++++++++++++-
> > >   1 file changed, 18 insertions(+), 1 deletion(-)
> > >
> > > diff --git
> > > a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> > > b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> > > index 904037e..eaf0f1c 100755
> > > ---
> > > a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> > > +++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.
> > > +++ sh
> > > @@ -204,9 +204,25 @@ do
> > >   done
> > >   exec 9>&-
> > >
> > > -if test -e ${ROOT_DIR}/etc/volatile.cache -a
> "$VOLATILE_ENABLE_CACHE"
> > = "yes" -a "x$1" != "xupdate" -a "x$clearcache" = "x0"
> > > +# Check whether configuration files have changed, if so, the cache
> > > +needs to be removed # and generated again CACHE_MATCH="no"
> > > +CACHE_DATA="${ROOT_DIR}/etc/.volatile.cache.data"
> > > +CACHE_TMP="${ROOT_DIR}/etc/.volatile.cache.tmp"
> > > +VOLATILE_CONFFILES="${ROOT_DIR}/etc/default/volatiles/*"
> > > +if [ "$VOLATILE_ENABLE_CACHE" = "yes" ]; then
> > > +	stat -c '%s %Y %n' $VOLATILE_CONFFILES | awk -F/ '{print $1 " " $NF;}'
> > > $CACHE_TMP
> > > +	if [ -e $CACHE_DATA ]; then
> > > +		if cmp $CACHE_DATA $CACHE_TMP > /dev/null; then
> > > +			CACHE_MATCH="yes"
> > > +		fi
> > > +	fi
> > > +fi
> > > +
> > > +if test -e ${ROOT_DIR}/etc/volatile.cache -a
> "$VOLATILE_ENABLE_CACHE"
> > = "yes" -a "x$1" != "xupdate" -a "x$clearcache" = "x0" -a
> > "$CACHE_MATCH" = "yes"
> > >   then
> > >   	sh ${ROOT_DIR}/etc/volatile.cache
> > > +	[ -e $CACHE_TMP ] && rm $CACHE_TMP
> > >   else
> > >   	rm -f ${ROOT_DIR}/etc/volatile.cache
> > ${ROOT_DIR}/etc/volatile.cache.build
> > >   	for file in `ls -1 "${CFGDIR}" | sort`; do @@ -214,6 +230,7 @@ else
> > >   	done
> > >
> > >   	[ -e ${ROOT_DIR}/etc/volatile.cache.build ] && sync && mv
> > > ${ROOT_DIR}/etc/volatile.cache.build ${ROOT_DIR}/etc/volatile.cache
> > > +	[ -e $CACHE_TMP ] && mv $CACHE_TMP $CACHE_DATA
> > >   fi
> > >
> > >   if [ -z "${ROOT_DIR}" ] && [ -f /etc/ld.so.cache ] && [ ! -f
> > > /var/run/ld.so.cache ]
> >
> 
> I didn't see this patch when I was working through my issues.  I'll test this
> patch on my system with my change to pkg_postinst removed and verify I
> get the same end result.

I reverted commit 167025e6d72c44cacfdc5d8b98e942066df09a4f on my system and applied your patch and applied the upgrade as before.  /etc/volatile.cache was updated on my system and I don't see any of the problems I was experiencing previously.  This fix works for me.

Regards,
Bryan

> 
> Regards,
> Bryan
> 
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list