bmc-crypto-key: modify the recipe to support backup key filepath

Google-Bug-Id: 433565303
Fusion-Link: https://fusion2.corp.google.com/34bd90c8-ff41-3fef-bbdf-ba4ffa6ea5f3
Tested: https://screenshot.googleplex.com/AaNsauPNJV6WJeY
Change-Id: I02a83c27bb68e7b8860fc6fcbb66b258ee14d383
Signed-off-by: Arthi Sivakumar <arthisivakumar@google.com>
diff --git a/recipes-google/bmc-crypto-key/bmc-crypto-key.bb b/recipes-google/bmc-crypto-key/bmc-crypto-key.bb
index 4cf1c0b..17d901e 100644
--- a/recipes-google/bmc-crypto-key/bmc-crypto-key.bb
+++ b/recipes-google/bmc-crypto-key/bmc-crypto-key.bb
@@ -10,6 +10,8 @@
 
 BMC_CRYPTO_SYSTEM_FILE_PATH ?= ""
 BMC_CRYPTO_OFFSET ?= ""
+BMC_CRYPTO_SYSTEM_BACKUP_FILE_PATH ?= ""
+BMC_CRYPTO_BACKUP_OFFSET ?= ""
 
 do_install:append() {
   if [ -z '${BMC_CRYPTO_SYSTEM_FILE_PATH}' ]; then
@@ -22,8 +24,18 @@
     exit 1
   fi
 
-  echo '{"sysFilePath": "${BMC_CRYPTO_SYSTEM_FILE_PATH}","offset": ${BMC_CRYPTO_OFFSET}}' | \
+  if [ -n '${BMC_CRYPTO_SYSTEM_BACKUP_FILE_PATH}' ]; then
+    if [ -z '${BMC_CRYPTO_BACKUP_OFFSET}' ]; then
+      echo 'Missing BMC_CRYPTO_BACKUP_OFFSET' >&2
+      exit 1
+    fi
+
+    echo '{"sysFilePath": "${BMC_CRYPTO_SYSTEM_FILE_PATH}", "offset": ${BMC_CRYPTO_OFFSET}, "sysBackupFilePath": "${BMC_CRYPTO_SYSTEM_BACKUP_FILE_PATH}","backupOffset": ${BMC_CRYPTO_BACKUP_OFFSET}}' | \
+      jq . > ${WORKDIR}/config.json
+  else
+    echo '{"sysFilePath": "${BMC_CRYPTO_SYSTEM_FILE_PATH}","offset": ${BMC_CRYPTO_OFFSET}}' | \
     jq . > ${WORKDIR}/config.json
+  fi
 
   install -d ${D}/usr/share/bmc-crypto/
   install -m 0644 ${WORKDIR}/config.json ${D}/usr/share/bmc-crypto/key.json