Patchwork [2/5] initscripts: save /etc/timestamp with seconds accuracy

login
register
mail settings
Submitter Ben Shelton
Date July 16, 2014, 8:59 p.m.
Message ID <0ae4bf831ba9b0ffce4eeb6403da183a5e71a445.1405542432.git.ben.shelton@ni.com>
Download mbox | patch
Permalink /patch/75857/
State Accepted
Commit 00017b4dd895afff9ff613d511cea373f13a96ea
Headers show

Comments

Ben Shelton - July 16, 2014, 8:59 p.m.
From: Blair Elliott <blair.elliott@ni.com>

Currently, /etc/timestamp is saved with minutes accuracy.  To increase
the accuracy, modify the save-rtc.sh and bootmisc.sh scripts to save and
read /etc/timestamp respectively with seconds accuracy.

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
---
 meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh | 5 +++--
 meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
Saul Wold - July 16, 2014, 10:05 p.m.
On 07/16/2014 01:59 PM, Ben Shelton wrote:
> From: Blair Elliott <blair.elliott@ni.com>
>
> Currently, /etc/timestamp is saved with minutes accuracy.  To increase
> the accuracy, modify the save-rtc.sh and bootmisc.sh scripts to save and
> read /etc/timestamp respectively with seconds accuracy.
>

We also initialize it in the image.bbclass, you may want to tweak that one.

Since we deal with readonly it's possible it won't get updated after the 
image creation.

Sau!

> Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
> Signed-off-by: Ben Shelton <ben.shelton@ni.com>
> ---
>   meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh | 5 +++--
>   meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh | 2 +-
>   2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
> index 5211824..ccc7f9f 100755
> --- a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
> @@ -66,10 +66,11 @@ fi
>   test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start
>   if test -e /etc/timestamp
>   then
> -	SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M`
> +	SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M%2S`
>   	read TIMESTAMP < /etc/timestamp
>   	if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then
> -		date -u ${TIMESTAMP#????}${TIMESTAMP%????????}
> +		# format the timestamp as date expects it (2m2d2H2M4Y.2S)
> +		date -u ${TIMESTAMP:4:8}${TIMESTAMP:0:4}.${TIMESTAMP:(-2)}
>   		test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop
>   	fi
>   fi
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
> index 1f804e2..b038fc5 100644
> --- a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
> @@ -10,4 +10,4 @@
>   ### END INIT INFO
>
>   # Update the timestamp
> -date -u +%4Y%2m%2d%2H%2M > /etc/timestamp
> +date -u +%4Y%2m%2d%2H%2M%2S > /etc/timestamp
>
Ben Shelton - July 17, 2014, 3 p.m.
On 07/16, Saul Wold wrote:
> On 07/16/2014 01:59 PM, Ben Shelton wrote:
> >From: Blair Elliott <blair.elliott@ni.com>
> >
> >Currently, /etc/timestamp is saved with minutes accuracy.  To increase
> >the accuracy, modify the save-rtc.sh and bootmisc.sh scripts to save and
> >read /etc/timestamp respectively with seconds accuracy.
> >
> 
> We also initialize it in the image.bbclass, you may want to tweak that one.
> 
> Since we deal with readonly it's possible it won't get updated after
> the image creation.
> 
> Sau!
> 

Good catch -- I'll make the fix and resubmit the patchset.

Thanks,
Ben

Patch

diff --git a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
index 5211824..ccc7f9f 100755
--- a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
+++ b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
@@ -66,10 +66,11 @@  fi
 test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start
 if test -e /etc/timestamp
 then
-	SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M`
+	SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M%2S`
 	read TIMESTAMP < /etc/timestamp
 	if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then
-		date -u ${TIMESTAMP#????}${TIMESTAMP%????????}
+		# format the timestamp as date expects it (2m2d2H2M4Y.2S)
+		date -u ${TIMESTAMP:4:8}${TIMESTAMP:0:4}.${TIMESTAMP:(-2)}
 		test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop
 	fi
 fi
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
index 1f804e2..b038fc5 100644
--- a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
+++ b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
@@ -10,4 +10,4 @@ 
 ### END INIT INFO
 
 # Update the timestamp
-date -u +%4Y%2m%2d%2H%2M > /etc/timestamp
+date -u +%4Y%2m%2d%2H%2M%2S > /etc/timestamp