sysroot.py & image.py: Add no specific packages failed condition.

Handling for when there was a failure but nothing to report.

BUG=chromium:983279
TEST=run_tests

Change-Id: I2b82492ae2b2f534f587d7f45df86fbc2ddd4ce5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1697376
Commit-Queue: Alex Klein <saklein@chromium.org>
Commit-Queue: Evan Hernandez <evanhernandez@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
Auto-Submit: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/sysroot.py b/api/controller/sysroot.py
index ffa8132..0d75b9f 100644
--- a/api/controller/sysroot.py
+++ b/api/controller/sysroot.py
@@ -98,6 +98,11 @@
   try:
     sysroot.BuildPackages(build_target, target_sysroot, build_packages_config)
   except sysroot_lib.PackageInstallError as e:
+    if not e.failed_packages:
+      # No packages to report, so just exit with an error code.
+      return controller.RETURN_CODE_COMPLETED_UNSUCCESSFULLY
+
+    # We need to report the failed packages.
     for package in e.failed_packages:
       package_info = output_proto.failed_packages.add()
       controller_util.CPVToPackageInfo(package, package_info)