cros_setup_toolchains: add a setting to skip toolchains w/out binpkgs

This allows us to queue a new toolchain for building in the SDK w/out
forcing it to be installed everywhere else first.  Once the SDK runs,
we can flip have-binpkgs to true and make it available to everyone.

BUG=b:187786439
TEST=CQ passes

Change-Id: Ia849e8916c8f67d3a13f61b193d16b44fe1ef28b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3245316
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_setup_toolchains.py b/scripts/cros_setup_toolchains.py
index e71bdca..6e37ea1 100644
--- a/scripts/cros_setup_toolchains.py
+++ b/scripts/cros_setup_toolchains.py
@@ -715,6 +715,12 @@
     # work on bare systems where this is useful.
     targets = ExpandTargets(targets_wanted)
 
+    # Filter out toolchains that don't (yet) have a binpkg available.
+    if usepkg:
+      for target in list(targets.keys()):
+        if not targets[target]['have-binpkg']:
+          del targets[target]
+
     # Now re-add any targets that might be from this board. This is to
     # allow unofficial boards to declare their own toolchains.
     for board in boards_wanted: