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.