Package/GetBestVisible: Add chroot and build target handling.

BUG=chromium:998144
TEST=run_tests, manually ran endpoint

Change-Id: I4f78e0cb404266580e28b4b94cafd2178caf6933
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1772321
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index 3f9a902..5a1244a 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -83,7 +83,11 @@
 @validate.validation_complete
 def GetBestVisible(input_proto, output_proto, _config):
   """Returns the best visible PackageInfo for the indicated atom."""
-  cpv = packages.get_best_visible(input_proto.atom)
+  build_target = None
+  if input_proto.build_target.name:
+    build_target = controller_util.ParseBuildTarget(input_proto.build_target)
+
+  cpv = packages.get_best_visible(input_proto.atom, build_target=build_target)
   package_info = common_pb2.PackageInfo()
   controller_util.CPVToPackageInfo(cpv, package_info)
   output_proto.package_info.CopyFrom(package_info)