SysrootService: use package_indexes list when present.

If package_indexes is provided, then that is used instead of the
BINHOST.conf from the overlays.

BUG=chromium:1088059
TEST=unit tests pass.

Change-Id: Ic2041e7bcc93242403d01e1f12d93fbd44539d13
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2341833
Tested-by: LaMont Jones <lamontjones@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: LaMont Jones <lamontjones@chromium.org>
diff --git a/api/controller/sysroot.py b/api/controller/sysroot.py
index b0901ab..d632f06 100644
--- a/api/controller/sysroot.py
+++ b/api/controller/sysroot.py
@@ -15,6 +15,7 @@
 from chromite.api import validate
 from chromite.api.controller import controller_util
 from chromite.api.metrics import deserialize_metrics_log
+from chromite.lib import binpkg
 from chromite.lib import cros_build_lib
 from chromite.lib import cros_logging as logging
 from chromite.lib import goma_lib
@@ -41,8 +42,13 @@
 
   build_target = controller_util.ParseBuildTarget(input_proto.build_target,
                                                   input_proto.profile)
+  package_indexes = [
+      binpkg.PackageIndexInfo.from_protobuf(x)
+      for x in input_proto.package_indexes
+  ]
   run_configs = sysroot.SetupBoardRunConfig(
-      force=replace_sysroot, upgrade_chroot=update_chroot)
+      force=replace_sysroot, upgrade_chroot=update_chroot,
+      package_indexes=package_indexes)
 
   try:
     created = sysroot.Create(build_target, run_configs,
@@ -158,6 +164,10 @@
       input_proto.sysroot.build_target)
   packages = [controller_util.PackageInfoToString(x)
               for x in input_proto.packages]
+  package_indexes = [
+      binpkg.PackageIndexInfo.from_protobuf(x)
+      for x in input_proto.package_indexes
+  ]
 
   if not target_sysroot.IsToolchainInstalled():
     cros_build_lib.Die('Toolchain must first be installed.')
@@ -169,6 +179,7 @@
       usepkg=not compile_source,
       install_debug_symbols=True,
       packages=packages,
+      package_indexes=package_indexes,
       use_flags=use_flags,
       use_goma=use_goma,
       incremental_build=False)