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 'cut' (standard under POSIX) rather than bash-specific substring expansion. [YOCTO #6566] Signed-off-by: Ben Shelton <[email protected]> Tested-by: Maxin B. John <[email protected]> --- meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh index ccc7f9f..923fa88 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh @@ -70,7 +70,10 @@ 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=$(echo $TIMESTAMP | cut -c 1-4) + TS_SEC=$(echo $TIMESTAMP | cut -c 13-14) + TS_REST=$(echo $TIMESTAMP | cut -c 5-12) + date -u ${TS_REST}${TS_YR}.${TS_SEC} test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop fi fi -- 2.0.2 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
