obmc-flash-bmc: Ignore fw_printenv return code
If an environment variable doesn't exist, fw_printenv returns 1
(error). With the addition of "set -eo pipefail" to the
obmc-flash-bmc script, this error causes the service that sets
the priorities to fail:
witherspoon systemd[1]: Starting Set U-Boot environment variable...
witherspoon obmc-flash-bmc[3883]: ## Error: "66089bab" not defined
witherspoon systemd[1]: obmc-flash-bmc-setenv@66089bab\x3d0.service: Main process exited, code=exited, status=1/FAILURE
witherspoon systemd[1]: Failed to start Set U-Boot environment variable.
Ignore the return code instead, the variable will be empty
if fw_printenv doesn't return a value.
Change-Id: I78b559e0ccb74ae52c73f1cc37b06a139a0d0e14
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc b/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
index d046516..d570e83 100644
--- a/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
+++ b/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
@@ -306,7 +306,7 @@
varName="${variable%=*}"
value="${variable##*=}"
# Write only if var is not set already to the requested value
- currentValue="$(fw_printenv -n "${varName}")"
+ currentValue="$(fw_printenv -n "${varName}" 2>/dev/null)" || true
if [[ "${currenValue}" != "${value}" ]]; then
fw_setenv "$varName" "$value"
fw_setenv "$varName" "$value"