futility: stop using the symlink names in utility scripts

We still create the symlinks (FOO -> futility), but this
change invokes those built-in functions with "futility FOO ..."
instead of using the FOO symlink.

Note that the scripts/ directory is unchanged. That's a
separate CL, since we don't have tests for that.

BUG=chromium:231547
BRANCH=ToT
TEST=make runtests

In addition to running "make runtests", I temporarily
modified the Makefile to avoid creating the symlinks at all.
The tests still passed.

Change-Id: I96863259b9df02a3611f759a7509bf4090ae03e8
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/216717
Reviewed-by: Randall Spangler <rspangler@chromium.org>
diff --git a/tests/common.sh b/tests/common.sh
index 5ae5629..5a96343 100644
--- a/tests/common.sh
+++ b/tests/common.sh
@@ -10,6 +10,7 @@
 ROOT_DIR="$(dirname ${SCRIPT_DIR})"
 BUILD_DIR="${BUILD}"
 BIN_DIR="${BUILD_DIR}/install_for_test"
+FUTILITY=${BIN_DIR}/futility
 TEST_DIR="${BUILD_DIR}/tests"
 TESTKEY_DIR=${SCRIPT_DIR}/testkeys
 TESTCASE_DIR=${SCRIPT_DIR}/testcases
diff --git a/tests/gen_fuzz_test_cases.sh b/tests/gen_fuzz_test_cases.sh
index 97c2230..9ca2043 100755
--- a/tests/gen_fuzz_test_cases.sh
+++ b/tests/gen_fuzz_test_cases.sh
@@ -26,19 +26,21 @@
   echo "Generating key blocks..."
   # Firmware key block - RSA8192/SHA512 root key, RSA4096/SHA512 firmware
   # signing key.
-  ${BIN_DIR}/vbutil_keyblock --pack ${TESTCASE_DIR}/firmware.keyblock \
+  ${FUTILITY} vbutil_keyblock \
+    --pack ${TESTCASE_DIR}/firmware.keyblock \
     --datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
     --signprivate ${TESTKEY_DIR}/key_rsa8192.sha1.vbprivk
 
   # Kernel key block - RSA4096/SHA512 kernel signing subkey, RSA4096/SHA512
   # kernel signing key.
-  ${BIN_DIR}/vbutil_keyblock --pack ${TESTCASE_DIR}/kernel.keyblock \
+  ${FUTILITY} vbutil_keyblock \
+    --pack ${TESTCASE_DIR}/kernel.keyblock \
     --datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
     --signprivate ${TESTKEY_DIR}/key_rsa4096.sha1.vbprivk \
     --flags 15
 
   echo "Generating signed firmware test image..."
-  ${BIN_DIR}/vbutil_firmware \
+  ${FUTILITY} vbutil_firmware \
     --vblock ${TESTCASE_DIR}/firmware.vblock \
     --keyblock ${TESTCASE_DIR}/firmware.keyblock\
     --signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
@@ -49,7 +51,7 @@
   cp ${TESTKEY_DIR}/key_rsa8192.sha512.vbpubk ${TESTCASE_DIR}/root_key.vbpubk
 
   echo "Generating signed kernel test image..."
-  ${BIN_DIR}/vbutil_kernel \
+  ${FUTILITY} vbutil_kernel \
     --pack ${TESTCASE_DIR}/kernel.vblock.image \
     --keyblock ${TESTCASE_DIR}/kernel.keyblock \
     --signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
diff --git a/tests/gen_test_keys.sh b/tests/gen_test_keys.sh
index 5575cd5..79fabf1 100755
--- a/tests/gen_test_keys.sh
+++ b/tests/gen_test_keys.sh
@@ -38,14 +38,14 @@
     do
       alg=$((${key_index} * 3 + ${alg_index}))
   # wrap the public key
-      ${BIN_DIR}/vbutil_key \
+      ${FUTILITY} vbutil_key \
         --pack "${key_base}.sha${sha_type}.vbpubk" \
         --key "${key_base}.keyb" \
         --version 1 \
         --algorithm ${alg}
 
   # wrap the private key
-      ${BIN_DIR}/vbutil_key \
+      ${FUTILITY} vbutil_key \
         --pack "${key_base}.sha${sha_type}.vbprivk" \
         --key "${key_base}.pem" \
         --algorithm ${alg}
diff --git a/tests/gen_test_vbpubks.sh b/tests/gen_test_vbpubks.sh
index 3f8dee1..8ea2759 100755
--- a/tests/gen_test_vbpubks.sh
+++ b/tests/gen_test_vbpubks.sh
@@ -15,7 +15,7 @@
   do
     for hashalgo in ${hash_algos[@]}
     do
-      ${BIN_DIR}/vbutil_key --pack \
+      ${FUTILITY} vbutil_key --pack \
         --in ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
         --out ${TESTKEY_DIR}/key_rsa${keylen}.${hashalgo}.vbpubk \
         --version 1 \
diff --git a/tests/load_kernel_tests.sh b/tests/load_kernel_tests.sh
index 74e91e4..c7c0dc1 100755
--- a/tests/load_kernel_tests.sh
+++ b/tests/load_kernel_tests.sh
@@ -25,18 +25,18 @@
 dd if=/dev/urandom bs=32768 count=1 of="dummy_kernel.bin"
 
 # Pack kernel data key using original vboot utilities.
-${BIN_DIR}/vbutil_key --pack datakey.test \
+${FUTILITY} vbutil_key --pack datakey.test \
     --key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
 
 # Keyblock with kernel data key is signed by kernel subkey
 # Flags=5 means dev=0 rec=0
-${BIN_DIR}/vbutil_keyblock --pack keyblock.test \
+${FUTILITY} vbutil_keyblock --pack keyblock.test \
     --datapubkey datakey.test \
     --flags 5 \
     --signprivate ${SCRIPT_DIR}/devkeys/kernel_subkey.vbprivk
 
 # Kernel preamble is signed with the kernel data key
-${BIN_DIR}/futility vbutil_kernel \
+${FUTILITY} vbutil_kernel \
     --pack "kernel.test" \
     --keyblock "keyblock.test" \
     --signprivate ${TESTKEY_DIR}/key_rsa2048.sha256.vbprivk \
@@ -46,10 +46,10 @@
     --bootloader "dummy_bootloader.bin" \
     --config "dummy_config.txt"
 
-echo 'Verifying test kernel using vbutil_kernel'
+echo 'Verifying test kernel'
 
 # Verify the kernel
-${BIN_DIR}/futility vbutil_kernel \
+${FUTILITY} vbutil_kernel \
     --verify "kernel.test" \
     --signpubkey ${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
 
@@ -67,7 +67,7 @@
 
 # And verify it using futility
 echo 'Verifying test disk image'
-${BIN_DIR}/futility verify_kernel disk.test \
+${FUTILITY} verify_kernel disk.test \
     ${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
 
 happy 'Image verification succeeded'
diff --git a/tests/run_preamble_tests.sh b/tests/run_preamble_tests.sh
index 80deebb..df2f54f 100755
--- a/tests/run_preamble_tests.sh
+++ b/tests/run_preamble_tests.sh
@@ -41,7 +41,8 @@
       fi
       : $(( tests++ ))
       echo -n "${what} fw_${d}_${r}.vblock with root_${rr}.vbpubk ... "
-      "${BIN_DIR}/vbutil_firmware" --verify "${V2DIR}/fw_${d}_${r}.vblock" \
+      "${FUTILITY}" vbutil_firmware \
+        --verify "${V2DIR}/fw_${d}_${r}.vblock" \
         --signpubkey "${DATADIR}/root_${rr}.vbpubk" \
         --fv "${DATADIR}/FWDATA" >/dev/null 2>&1
       if [ "$?" "$cmp" 0 ]; then
@@ -68,7 +69,8 @@
       fi
       : $(( tests++ ))
       echo -n "${what} kern_${d}_${r}.vblock with root_${rr}.vbpubk ... "
-      "${BIN_DIR}/vbutil_kernel" --verify "${V2DIR}/kern_${d}_${r}.vblock" \
+      "${FUTILITY}" vbutil_kernel \
+        --verify "${V2DIR}/kern_${d}_${r}.vblock" \
         --signpubkey "${DATADIR}/root_${rr}.vbpubk" >/dev/null 2>&1
       if [ "$?" "$cmp" 0 ]; then
         echo -e "${COL_RED}FAILED${COL_STOP}"
@@ -86,7 +88,7 @@
   for r in $algs; do
       : $(( tests++ ))
       echo -n "verify kern_${d}_${r}.vblock with hash only ... "
-      "${BIN_DIR}/vbutil_kernel" \
+      "${FUTILITY}" vbutil_kernel \
           --verify "${V2DIR}/kern_${d}_${r}.vblock" >/dev/null 2>&1
       if [ "$?" -ne 0 ]; then
         echo -e "${COL_RED}FAILED${COL_STOP}"
diff --git a/tests/run_vbutil_kernel_arg_tests.sh b/tests/run_vbutil_kernel_arg_tests.sh
index 9558ca5..95317ec 100755
--- a/tests/run_vbutil_kernel_arg_tests.sh
+++ b/tests/run_vbutil_kernel_arg_tests.sh
@@ -44,7 +44,8 @@
   while [ "$b" -lt "${#BOOT_VALS[*]}" ]; do
     echo -n "pack kern_${k}_${b}.vblock ... "
     : $(( tests++ ))
-      "${BIN_DIR}/vbutil_kernel" --pack "${TMPDIR}/kern_${k}_${b}.vblock" \
+      "${FUTILITY}" vbutil_kernel \
+        --pack "${TMPDIR}/kern_${k}_${b}.vblock" \
         --keyblock "${KEYBLOCK}" \
         --signprivate "${SIGNPRIVATE}" \
         --version 1 \
@@ -68,7 +69,7 @@
   : $(( tests++ ))
   vv=$(basename "$v")
   echo -n "verify $vv ... "
-  "${BIN_DIR}/vbutil_kernel" --verify "$v" >/dev/null
+  "${FUTILITY}" vbutil_kernel --verify "$v" >/dev/null
   if [ "$?" -ne 0 ]; then
     echo -e "${COL_RED}FAILED${COL_STOP}"
     : $(( errs++ ))
@@ -77,7 +78,7 @@
   fi
   : $(( tests++ ))
   echo -n "verify $vv signed ... "
-  "${BIN_DIR}/vbutil_kernel" --verify "$v" \
+  "${FUTILITY}" vbutil_kernel --verify "$v" \
     --signpubkey "${SIGNPUBLIC}" >/dev/null
   if [ "$?" -ne 0 ]; then
     echo -e "${COL_RED}FAILED${COL_STOP}"
@@ -99,7 +100,7 @@
 USB_SIGNPUBKEY="${DEVKEYS}/recovery_key.vbpubk"
 echo -n "pack USB kernel ... "
 : $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
   --pack "${USB_KERN}" \
   --keyblock "${USB_KEYBLOCK}" \
   --signprivate "${USB_SIGNPRIVATE}" \
@@ -118,7 +119,7 @@
 # And verify it.
 echo -n "verify USB kernel ... "
 : $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
   --verify "${USB_KERN}" \
   --signpubkey "${USB_SIGNPUBKEY}" >/dev/null
 if [ "$?" -ne 0 ]; then
@@ -138,7 +139,7 @@
 SSD_SIGNPUBKEY="${DEVKEYS}/kernel_subkey.vbpubk"
 echo -n "repack to SSD kernel ... "
 : $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
   --repack "${SSD_KERN}" \
   --vblockonly \
   --keyblock "${SSD_KEYBLOCK}" \
@@ -158,7 +159,7 @@
 
 echo -n "verify SSD kernel ... "
 : $(( tests++ ))
-"${BIN_DIR}/vbutil_kernel" \
+"${FUTILITY}" vbutil_kernel \
   --verify "$tempfile" \
   --signpubkey "${SSD_SIGNPUBKEY}" >/dev/null
 if [ "$?" -ne 0 ]; then
@@ -170,7 +171,7 @@
 
 # Finally make sure that the kernel command line stays good.
 orig=$(cat "${CONFIG}" | tr '\012' ' ')
-packed=$("${BIN_DIR}/dump_kernel_config" "${USB_KERN}")
+packed=$("${FUTILITY}" dump_kernel_config "${USB_KERN}")
 echo -n "check USB kernel config ..."
 : $(( tests++ ))
 if [ "$orig" != "$packed" ]; then
@@ -180,7 +181,7 @@
   echo -e "${COL_GREEN}PASSED${COL_STOP}"
 fi
 
-repacked=$("${BIN_DIR}/dump_kernel_config" "${tempfile}")
+repacked=$("${FUTILITY}" dump_kernel_config "${tempfile}")
 echo -n "check SSD kernel config ..."
 : $(( tests++ ))
 if [ "$orig" != "$packed" ]; then
diff --git a/tests/run_vbutil_tests.sh b/tests/run_vbutil_tests.sh
index 47d8dfc..84f66d1 100755
--- a/tests/run_vbutil_tests.sh
+++ b/tests/run_vbutil_tests.sh
@@ -18,7 +18,7 @@
 
     echo -e "For signing key ${COL_YELLOW}RSA-$keylen/$hashalgo${COL_STOP}:"
     # Pack the key
-    ${BIN_DIR}/vbutil_key \
+    ${FUTILITY} vbutil_key \
         --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
         --key ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
         --version 1 \
@@ -30,7 +30,7 @@
 
     # Unpack the key
     # TODO: should verify we get the same key back out?
-    ${BIN_DIR}/vbutil_key \
+    ${FUTILITY} vbutil_key \
         --unpack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk
     if [ $? -ne 0 ]
     then
@@ -75,7 +75,7 @@
           rm -f ${keyblockfile}
 
           # Wrap private key
-          ${BIN_DIR}/vbutil_key \
+          ${FUTILITY} vbutil_key \
             --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbprivk \
             --key ${TESTKEY_DIR}/key_rsa${signing_keylen}.pem \
             --algorithm $signing_algonum
@@ -86,7 +86,7 @@
           fi
 
           # Wrap public key
-          ${BIN_DIR}/vbutil_key \
+          ${FUTILITY} vbutil_key \
             --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
             --key ${TESTKEY_DIR}/key_rsa${signing_keylen}.keyb \
             --algorithm $signing_algonum
@@ -97,7 +97,7 @@
           fi
 
           # Pack
-          ${BIN_DIR}/vbutil_keyblock --pack ${keyblockfile} \
+          ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
             --datapubkey \
               ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
             --signprivate \
@@ -109,7 +109,7 @@
           fi
 
           # Unpack
-          ${BIN_DIR}/vbutil_keyblock --unpack ${keyblockfile} \
+          ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
             --datapubkey \
             ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
             --signpubkey \
@@ -134,7 +134,7 @@
 external signer.${COL_STOP}"
           # Pack using external signer
           # Pack
-          ${BIN_DIR}/vbutil_keyblock --pack ${keyblockfile} \
+          ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
             --datapubkey \
               ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
             --signprivate_pem \
@@ -149,7 +149,7 @@
           fi
 
           # Unpack
-          ${BIN_DIR}/vbutil_keyblock --unpack ${keyblockfile} \
+          ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
             --datapubkey \
             ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
             --signpubkey \
diff --git a/tests/vb2_firmware_tests.sh b/tests/vb2_firmware_tests.sh
index e1981db..fccacda 100755
--- a/tests/vb2_firmware_tests.sh
+++ b/tests/vb2_firmware_tests.sh
@@ -24,24 +24,25 @@
     > body.test
 
 # Pack keys using original vboot utilities
-${BIN_DIR}/vbutil_key --pack rootkey.test \
+${FUTILITY} vbutil_key --pack rootkey.test \
     --key ${TESTKEY_DIR}/key_rsa8192.keyb --algorithm 11
-${BIN_DIR}/vbutil_key --pack fwsubkey.test \
+${FUTILITY} vbutil_key --pack fwsubkey.test \
     --key ${TESTKEY_DIR}/key_rsa4096.keyb --algorithm 7
-${BIN_DIR}/vbutil_key --pack kernkey.test \
+${FUTILITY} vbutil_key --pack kernkey.test \
     --key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
 
 # Create a GBB with the root key
-${BIN_DIR}/gbb_utility -c 128,2400,0,0 gbb.test
-${BIN_DIR}/gbb_utility gbb.test -s --hwid='Test GBB' --rootkey=rootkey.test
+${FUTILITY} gbb_utility -c 128,2400,0,0 gbb.test
+${FUTILITY} gbb_utility gbb.test -s --hwid='Test GBB' \
+  --rootkey=rootkey.test
 
 # Keyblock with firmware subkey is signed by root key
-${BIN_DIR}/vbutil_keyblock --pack keyblock.test \
+${FUTILITY} vbutil_keyblock --pack keyblock.test \
     --datapubkey fwsubkey.test \
     --signprivate ${TESTKEY_DIR}/key_rsa8192.sha512.vbprivk
 
 # Firmware preamble is signed with the firmware subkey
-${BIN_DIR}/vbutil_firmware \
+${FUTILITY} vbutil_firmware \
     --vblock vblock.test \
     --keyblock keyblock.test \
     --signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
@@ -52,6 +53,6 @@
 echo 'Verifying test firmware using vb2_verify_fw'
 
 # Verify the firmware using vboot2 utility
-${BIN_DIR}/futility vb2_verify_fw gbb.test vblock.test body.test
+${FUTILITY} vb2_verify_fw gbb.test vblock.test body.test
 
 happy 'vb2_verify_fw succeeded'