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

Bryan Evenson bevenson at melinkcorp.com
Tue Apr 21 12:34:34 UTC 2015


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.

Regards,
Bryan

> --
> _______________________________________________
> 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