builddeb: Introduce functions to simplify kconfig tests in set_debarch
authorBen Hutchings <ben@decadent.org.uk>
Thu, 26 Jul 2018 10:21:01 +0000 (11:21 +0100)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 28 Jul 2018 01:53:44 +0000 (10:53 +0900)
We now have many repetitive greps over the kernel config.  Refactor
them into functions.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/package/mkdebian

index f4449b5..ada3c73 100755 (executable)
@@ -6,6 +6,18 @@
 
 set -e
 
+is_enabled() {
+       grep -q "^CONFIG_$1=y" $KCONFIG_CONFIG
+}
+
+if_enabled_echo() {
+       if is_enabled "$1"; then
+               echo -n "$2"
+       elif [ $# -ge 3 ]; then
+               echo -n "$3"
+       fi
+}
+
 set_debarch() {
        if [ -n "$KBUILD_DEBARCH" ] ; then
                debarch="$KBUILD_DEBARCH"
@@ -23,22 +35,18 @@ set_debarch() {
        s390*)
                debarch=s390x ;;
        ppc*)
-               debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
+               debarch=$(if_enabled_echo CPU_LITTLE_ENDIAN ppc64el powerpc) ;;
        parisc*)
                debarch=hppa ;;
        mips*)
-               debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
+               debarch=mips$(if_enabled_echo CPU_LITTLE_ENDIAN el) ;;
        aarch64|arm64)
                debarch=arm64 ;;
        arm*)
-               if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
-                   if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
-                       debarch=armhf
-                   else
-                       debarch=armel
-                   fi
+               if is_enabled AEABI; then
+                       debarch=arm$(if_enabled_echo VFP hf el)
                else
-                   debarch=arm
+                       debarch=arm
                fi
                ;;
        *)