From 4c4faa679af32c0e78b60d35e1f2f6378f24679d Mon Sep 17 00:00:00 2001 From: Sunmin Lee Date: Thu, 10 Aug 2017 20:39:33 +0900 Subject: [PATCH] Remove awk dependency 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 --- configure.ac | 1 - src/initrd-recovery/00-initrd-recovery.list | 3 +-- src/initrd-recovery/init | 22 +++++++++++++++++----- src/initrd-recovery/mkinitrd-recovery.sh | 14 +++++++++++--- src/system-recovery/50-system-recovery.list.m4 | 1 - src/system-recovery/recovery-init.in | 24 +++++++++++++++++++----- 6 files changed, 48 insertions(+), 17 deletions(-) diff --git a/configure.ac b/configure.ac index 0ba5c02..48b4953 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/src/initrd-recovery/00-initrd-recovery.list b/src/initrd-recovery/00-initrd-recovery.list index 8f26d56..8dc1882 100644 --- a/src/initrd-recovery/00-initrd-recovery.list +++ b/src/initrd-recovery/00-initrd-recovery.list @@ -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 diff --git a/src/initrd-recovery/init b/src/initrd-recovery/init index 952da1c..59cab88 100755 --- a/src/initrd-recovery/init +++ b/src/initrd-recovery/init @@ -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 } diff --git a/src/initrd-recovery/mkinitrd-recovery.sh b/src/initrd-recovery/mkinitrd-recovery.sh index acc91d0..0156f45 100755 --- a/src/initrd-recovery/mkinitrd-recovery.sh +++ b/src/initrd-recovery/mkinitrd-recovery.sh @@ -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 } diff --git a/src/system-recovery/50-system-recovery.list.m4 b/src/system-recovery/50-system-recovery.list.m4 index 4cecb04..add69bc 100644 --- a/src/system-recovery/50-system-recovery.list.m4 +++ b/src/system-recovery/50-system-recovery.list.m4 @@ -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 diff --git a/src/system-recovery/recovery-init.in b/src/system-recovery/recovery-init.in index a173355..171920a 100644 --- a/src/system-recovery/recovery-init.in +++ b/src/system-recovery/recovery-init.in @@ -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 } -- 2.7.4