don't let eval terminate cleanup

Eval will terminate the shell on non-zero error code.

"POSIX says that an error in a special built-in utility
(such as eval) should cause the non-interactive shell to terminate"

This is the case and is causing cleanup to terminate android signing
with a non-zero error when it is clear the intent (given the set +e) is
that we should be best effort here.

TEST=unittest and manually on a signer

Change-Id: Ie6374b292c7982371d549b919b44328ea71a09dd
Reviewed-by: George Engelbrecht <>
Tested-by: George Engelbrecht <>
diff --git a/scripts/image_signing/ b/scripts/image_signing/
index 8f5aac0..41abaaa 100644
--- a/scripts/image_signing/
+++ b/scripts/image_signing/
@@ -21,7 +21,7 @@
 perform_latest_cleanup_action() {
   local num_actions=${#cleanup_actions[*]}
   if [ ${num_actions} -gt 0 ]; then
-    eval "${cleanup_actions[$num_actions-1]}" > /dev/null 2>&1
+    eval "${cleanup_actions[$num_actions-1]} || true" > /dev/null 2>&1
     unset cleanup_actions[$num_actions-1]