cros_fuzz: Install virtual/implicit-system only if needed.

Install virtual/implicit-system only when not already
installed. This improves speed of cros_fuzz by avoiding dependency
computations.
Also add a minor change added by yapf.

BUG=chromium:1013357
TEST=cros_fuzz shell works.

Change-Id: If3a9439a7cbb6fa8673ce305c4ee4e0730a9feee
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1872180
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_fuzz.py b/scripts/cros_fuzz.py
index 27662c7..35cad25 100644
--- a/scripts/cros_fuzz.py
+++ b/scripts/cros_fuzz.py
@@ -55,6 +55,7 @@
 from chromite.lib import cros_logging as logging
 from chromite.lib import gs
 from chromite.lib import osutils
+from chromite.lib import portage_util
 
 # Directory in sysroot's /tmp directory that this script will use for files it
 # needs to write. We need a directory to write files to because this script uses
@@ -1109,14 +1110,19 @@
   SetUpSysrootForFuzzing()
   Reproduce(StripFuzzerPrefixes(options.fuzzer), options.testcase)
 
+
 def InstallBaseDependencies(options):
   """ Installs the base packages needed to chroot in board sysroot.
 
   Args:
     options: The parsed arguments passed to this program.
   """
-  build_type = getattr(options, 'build_type', None)
-  BuildPackage('virtual/implicit-system', options.board, build_type)
+  package = 'virtual/implicit-system'
+  if not portage_util.IsPackageInstalled(
+      package, sysroot=SysrootPath.path_to_sysroot):
+    build_type = getattr(options, 'build_type', None)
+    BuildPackage(package, options.board, build_type)
+
 
 def ParseArgs(argv):
   """Parses program arguments.