ddimage: fix incompatibility with dash
authorHongxu Jia <hongxu.jia@windriver.com>
Thu, 6 Jun 2013 06:53:29 +0000 (14:53 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Jun 2013 14:38:00 +0000 (15:38 +0100)
On systems with dash as /bin/sh there were failures while invoking ddimage.
Fix to let it work with both bash and dash shells.

[YOCTO #4617]

(From OE-Core rev: 4c6f7a5d8bd6ada434b91037ecd5db06f3eac814)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/contrib/ddimage

index 956699c..ab1d4c7 100755 (executable)
@@ -6,11 +6,11 @@ BLACKLIST_DEVICES="/dev/sda"
 # 1MB blocksize
 BLOCKSIZE=1048576
 
-function usage() {
+usage() {
        echo "Usage: $(basename $0) IMAGE DEVICE"
 }
 
-function image_details() {
+image_details() {
        IMG=$1
        echo "Image details"
        echo "============="
@@ -21,7 +21,7 @@ function image_details() {
        echo ""
 }
 
-function device_details() {
+device_details() {
        DEV=$1
        BLOCK_SIZE=512
 
@@ -61,10 +61,12 @@ if [ ! -e "$IMAGE" ]; then
 fi
 
 
-if [ "${BLACKLIST_DEVICES/${DEVICE}/ERROR}" != "$BLACKLIST_DEVICES" ]; then
-       echo "ERROR: Device $DEVICE is blacklisted"
-       exit 1
-fi
+for i in ${BLACKLIST_DEVICES}; do
+       if [ "$i" = "$DEVICE" ]; then
+               echo "ERROR: Device $DEVICE is blacklisted"
+               exit 1
+       fi
+done
 
 if [ ! -w "$DEVICE" ]; then
        echo "ERROR: Device $DEVICE does not exist or is not writable"