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)
diff --git a/api/controller/sysroot_unittest.py b/api/controller/sysroot_unittest.py
index 5aad793..f852abc 100644
--- a/api/controller/sysroot_unittest.py
+++ b/api/controller/sysroot_unittest.py
@@ -121,7 +121,8 @@
sysroot_controller.Create(in_proto, out_proto, self.api_config)
# Default value checks.
- rc_patch.assert_called_with(force=force, upgrade_chroot=upgrade_chroot)
+ rc_patch.assert_called_with(force=force, upgrade_chroot=upgrade_chroot,
+ package_indexes=[])
self.assertEqual(board, out_proto.sysroot.build_target.name)
self.assertEqual(sysroot_path, out_proto.sysroot.path)
@@ -137,7 +138,8 @@
sysroot_controller.Create(in_proto, out_proto, self.api_config)
# Not default value checks.
- rc_patch.assert_called_with(force=force, upgrade_chroot=upgrade_chroot)
+ rc_patch.assert_called_with(force=force, upgrade_chroot=upgrade_chroot,
+ package_indexes=[])
self.assertEqual(board, out_proto.sysroot.build_target.name)
self.assertEqual(sysroot_path, out_proto.sysroot.path)