From: Ben Shelton Date: Wed, 23 Jul 2014 16:22:44 +0000 (-0500) Subject: initscripts: fix bashism in bootmisc.sh X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~33044 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8a451adc71e4ce9ab963f61d7830c2d75aaffca;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git initscripts: fix bashism in bootmisc.sh In the commit 'initscripts: save /etc/timestamp with seconds accuracy', a bashism was introduced in the bootmisc.sh script in the code to set the current date from the stored value in /etc/timestamp. This causes that operation to fail with the following message when /bin/sh is not bash: /etc/init.d/rc: /etc/rcS.d/S55bootmisc.sh: line 73: syntax error: bad substitution Fixed by using pattern matching removal rather than bash-specific substring expansion. [YOCTO #6566] Signed-off-by: Ben Shelton Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh index ccc7f9f1f40..df553bc079d 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh @@ -70,7 +70,11 @@ then read TIMESTAMP < /etc/timestamp if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then # format the timestamp as date expects it (2m2d2H2M4Y.2S) - date -u ${TIMESTAMP:4:8}${TIMESTAMP:0:4}.${TIMESTAMP:(-2)} + TS_YR=${TIMESTAMP%??????????} + TS_SEC=${TIMESTAMP#????????????} + TS_FIRST12=${TIMESTAMP%??} + TS_MIDDLE8=${TS_FIRST12#????} + date -u ${TS_MIDDLE8}${TS_YR}.${TS_SEC} test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop fi fi