api: NeedsChromeSource: require source when toolchain_changed

When the toolchain changes, we want to rebuild everything, so we'll
need the Chrome source for it.

BUG=chromium:1184778
TEST=CQ passes

Change-Id: I23eb6172084de95667d45117b65edc882cc007f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2739378
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index fe69826..93ce232 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -348,7 +348,8 @@
   # Input parsing.
   build_target = controller_util.ParseBuildTarget(
       input_proto.install_request.sysroot.build_target)
-  compile_source = input_proto.install_request.flags.compile_source
+  compile_source = (input_proto.install_request.flags.compile_source or
+                    input_proto.install_request.flags.toolchain_changed)
   pkgs = [controller_util.deserialize_package_info(pi) for pi in
           input_proto.install_request.packages]
   use_flags = [f.flag for f in input_proto.install_request.use_flags]