Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/1] populate-volatile.sh: detect the change of configuration files
@ 2015-03-20  6:27 Chen Qi
  2015-03-20  6:27 ` [PATCH 1/1] " Chen Qi
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Qi @ 2015-03-20  6:27 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 0752c79282b1cc9699743e719518e6c341d50a3a:

  systemd: fix /var/log/journal ownership (2015-03-16 17:38:51 +0000)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib ChenQi/populate-volatile-cache
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/populate-volatile-cache

Chen Qi (1):
  populate-volatile.sh: detect the change of configuration files

 .../initscripts/initscripts-1.0/populate-volatile.sh  | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/1] populate-volatile.sh: detect the change of configuration files
  2015-03-20  6:27 [PATCH 0/1] populate-volatile.sh: detect the change of configuration files Chen Qi
@ 2015-03-20  6:27 ` Chen Qi
  2015-04-21  6:00   ` ChenQi
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Qi @ 2015-03-20  6:27 UTC (permalink / raw)
  To: openembedded-core

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@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 ]
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] populate-volatile.sh: detect the change of configuration files
  2015-03-20  6:27 ` [PATCH 1/1] " Chen Qi
@ 2015-04-21  6:00   ` ChenQi
  2015-04-21 12:34     ` Bryan Evenson
  0 siblings, 1 reply; 5+ messages in thread
From: ChenQi @ 2015-04-21  6:00 UTC (permalink / raw)
  To: openembedded-core

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@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 ]



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] populate-volatile.sh: detect the change of configuration files
  2015-04-21  6:00   ` ChenQi
@ 2015-04-21 12:34     ` Bryan Evenson
  2015-04-21 20:50       ` Bryan Evenson
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Evenson @ 2015-04-21 12:34 UTC (permalink / raw)
  To: ChenQi, openembedded-core@lists.openembedded.org

Chen,

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf
> Of ChenQi
> Sent: Tuesday, April 21, 2015 2:00 AM
> To: openembedded-core@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@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@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] populate-volatile.sh: detect the change of configuration files
  2015-04-21 12:34     ` Bryan Evenson
@ 2015-04-21 20:50       ` Bryan Evenson
  0 siblings, 0 replies; 5+ messages in thread
From: Bryan Evenson @ 2015-04-21 20:50 UTC (permalink / raw)
  To: ChenQi, openembedded-core@lists.openembedded.org

Chen,

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf
> Of Bryan Evenson
> Sent: Tuesday, April 21, 2015 8:35 AM
> To: ChenQi; openembedded-core@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@lists.openembedded.org
> > [mailto:openembedded-core-bounces@lists.openembedded.org] On
> Behalf Of
> > ChenQi
> > Sent: Tuesday, April 21, 2015 2:00 AM
> > To: openembedded-core@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@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@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-04-21 20:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-20  6:27 [PATCH 0/1] populate-volatile.sh: detect the change of configuration files Chen Qi
2015-03-20  6:27 ` [PATCH 1/1] " Chen Qi
2015-04-21  6:00   ` ChenQi
2015-04-21 12:34     ` Bryan Evenson
2015-04-21 20:50       ` Bryan Evenson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox