Remove awk dependency 92/143592/3
authorSunmin Lee <sunm.lee@samsung.com>
Thu, 10 Aug 2017 11:39:33 +0000 (20:39 +0900)
committerSunmin Lee <sunm.lee@samsung.com>
Wed, 16 Aug 2017 10:02:04 +0000 (19:02 +0900)
To be optimized, get awk package out of initrd-recovery.
So, make the same code using coreutil commands instead of awk.

Change-Id: Id8fd9124e1ce5b4d08468f39c5fad6d144957188
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
configure.ac
src/initrd-recovery/00-initrd-recovery.list
src/initrd-recovery/init
src/initrd-recovery/mkinitrd-recovery.sh
src/system-recovery/50-system-recovery.list.m4
src/system-recovery/recovery-init.in

index 0ba5c02..48b4953 100644 (file)
@@ -16,7 +16,6 @@ LT_PREREQ(2.2)
 LT_INIT([disable-static])
 
 # Checks for programs.
-AC_PROG_AWK
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_LN_S
index 8f26d56..8dc1882 100644 (file)
@@ -9,13 +9,13 @@ WITHLIBS="
 /usr/bin/cat
 /usr/bin/cut
 /usr/bin/echo
-/usr/bin/gawk
 /usr/bin/grep
 /usr/bin/mkdir
 /usr/bin/mount
 /usr/bin/sleep
 /usr/bin/sync
 /usr/bin/tr
+/usr/bin/sed
 /usr/bin/umount
 /usr/sbin/partx
 /usr/sbin/blkid
@@ -24,7 +24,6 @@ WITHLIBS="
 # LinkFileName:Target
 SYMLINKS="
 /bin/sh:bash
-/usr/bin/awk:/bin/gawk
 /sbin/init:/usr/lib/initrd-recovery/init
 /sbin/minireboot:/usr/lib/initrd-recovery/minireboot
 /sbin/reboot:/usr/lib/initrd-recovery/minireboot
index 952da1c..59cab88 100755 (executable)
@@ -14,11 +14,11 @@ MOUNT="/bin/mount"
 UMOUNT="/bin/umount"
 GREP="/bin/grep"
 REBOOT="/sbin/reboot"
-AWK="/usr/bin/awk"
 CUT="/usr/bin/cut"
 TR="/usr/bin/tr"
 PARTX="/usr/sbin/partx"
 BLKID="/usr/sbin/blkid"
+SED="/usr/bin/sed"
 
 #------------------------------------------------
 #       get partition id
@@ -26,15 +26,27 @@ BLKID="/usr/sbin/blkid"
 get_partition_id() {
     EMMC_DEVICE="/dev/mmcblk0"
     RET_PARTX=$("$PARTX" -s ${EMMC_DEVICE})
-    TEST=$(IFS=; echo $RET_PARTX | "$AWK" 'NR>1' | "$AWK" '{print $6}')
+    TEST=$(echo "$RET_PARTX" | "$TR" -s ' ' | "$SED" -e '1d' -e 's/^ //' | "$CUT" -d ' ' -f 6)
     if [ "z$TEST" == "z" ]; then
         PART_ROOTFS=$("$BLKID" -L "rootfs" -o device)
         PART_SYSTEM_DATA=$("$BLKID" -L "system-data" -o device)
         PART_USER=$("$BLKID" -L "user" -o device)
     else
-        PART_ROOTFS=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "rootfs" {print $1}')
-        PART_SYSTEM_DATA=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "system-data" {print $1}')
-        PART_USER=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "user" {print $1}')
+        PART_ROOTFS=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "rootfs" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
+        PART_SYSTEM_DATA=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "system-data" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
+        PART_USER=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "user" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
     fi
 }
 
index acc91d0..0156f45 100755 (executable)
@@ -4,12 +4,14 @@ CP="/bin/cp"
 LN="/bin/ln"
 SED="/bin/sed"
 MKDIR="/bin/mkdir"
-AWK="/usr/bin/awk"
 PARTX="/usr/sbin/partx"
 DIRNAME="/usr/bin/dirname"
 MKDIR="/bin/mkdir"
 LD_LINUX="/lib/ld-linux.so.3"
 RM="/bin/rm"
+TR="/bin/tr"
+GREP="/bin/grep"
+CUT="/bin/cut"
 
 INITRD_ROOT="/mnt/initrd-recovery"
 
@@ -67,9 +69,15 @@ show_help() {
 find_initrd_recovery_partition() {
     EMMC_DEVICE="/dev/mmcblk0"
     RET_PARTX=$("$PARTX" -s ${EMMC_DEVICE})
-    PART_INITRD=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "ramdisk2" {print $1}')
+    PART_INITRD=${EMMC_DEVICE}p$(
+                   echo "$RET_PARTX" |
+                   "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                   "$GREP" "ramdisk2" | "$CUT" -d ' ' -f 1)
     if [ "z$PART_INITRD" == "z/dev/mmcblk0p" ]; then
-        PART_INITRD=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "ramdisk" {print $1}')
+        PART_INITRD=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "ramdisk" | "$CUT" -d ' ' -f 1)
     fi
 }
 
index 4cecb04..add69bc 100644 (file)
@@ -30,7 +30,6 @@ m4_ifdef(`RECOVERY_GUI', `/usr/lib/system-recovery/system-recovery')
 "
 
 WITHLIBS="
-/usr/bin/awk
 /usr/bin/bash
 /usr/bin/grep
 /usr/bin/mount
index a173355..171920a 100644 (file)
@@ -3,7 +3,6 @@
 SYSTEM_RECOVERY="/usr/bin/system-recovery"
 FAKE_ROOT=/system
 
-AWK="/usr/bin/awk"
 GREP="/usr/bin/grep"
 MOUNT="/usr/bin/mount"
 PARTX="/usr/sbin/partx"
@@ -12,6 +11,9 @@ REBOOT="/usr/lib/initrd-recovery/minireboot"
 SYNC="/usr/bin/sync"
 TOUCH="/usr/bin/touch"
 UMOUNT="/usr/bin/umount"
+TR="/usr/bin/tr"
+SED="/usr/bin/sed"
+CUT="/usr/bin/cut"
 
 #------------------------------------------------
 #       get partition id
@@ -19,15 +21,27 @@ UMOUNT="/usr/bin/umount"
 get_partition_id() {
     EMMC_DEVICE="/dev/mmcblk0"
     RET_PARTX=$("$PARTX" -s ${EMMC_DEVICE})
-    TEST=$(IFS=; echo $RET_PARTX | "$AWK" 'NR>1' | "$AWK" '{print $6}')
+    TEST=$(echo "$RET_PARTX" | "$TR" -s ' ' | "$SED" -e '1d' -e 's/^ //' | "$CUT" -d ' ' -f 6)
     if [ "z$TEST" == "z" ]; then
         PART_ROOTFS=$("$BLKID" -L "rootfs" -o device)
         PART_SYSTEM_DATA=$("$BLKID" -L "system-data" -o device)
         PART_USER=$("$BLKID" -L "user" -o device)
     else
-        PART_ROOTFS=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "rootfs" {print $1}')
-        PART_SYSTEM_DATA=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "system-data" {print $1}')
-        PART_USER=${EMMC_DEVICE}p$(IFS=; echo $RET_PARTX | "$AWK" 'tolower($6) == "user" {print $1}')
+        PART_ROOTFS=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "rootfs" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
+        PART_SYSTEM_DATA=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "system-data" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
+        PART_USER=${EMMC_DEVICE}p$(
+                       echo "$RET_PARTX" |
+                       "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
+                       "$GREP" "user" | "$SED" 's/^ //' |
+                       "$CUT" -d ' ' -f 1)
     fi
 }