aren't able to detect when users modify source code during builds.
"""
+from __future__ import print_function
+
import errno
import logging
import multiprocessing
# pylint: disable=F0401
import queue as Queue
-from chromite.buildbot import constants
-from chromite.buildbot import portage_utilities
+from chromite.cbuildbot import constants
from chromite.lib import cros_build_lib
from chromite.lib import git
from chromite.lib import osutils
from chromite.lib import parallel
+from chromite.lib import portage_util
class WorkonProjectsMonitor(object):
self.src_ebuild_mtime = src_ebuild_mtime
-def ListWorkonPackages(board, host):
+def ListWorkonPackages(board, host, all_opt=False):
"""List the packages that are currently being worked on.
Args:
board: The board to look at. If host is True, this should be set to None.
host: Whether to look at workon packages for the host.
+ all_opt: Pass --all to cros_workon. For testing purposes.
"""
cmd = [os.path.join(constants.CROSUTILS_DIR, 'cros_workon'), 'list']
cmd.extend(['--host'] if host else ['--board', board])
+ if all_opt:
+ cmd.append('--all')
result = cros_build_lib.RunCommand(cmd, print_cmd=False, capture_output=True)
return result.output.split()
install_root = cros_build_lib.GetSysroot(board=board)
vdb_path = os.path.join(install_root, portage.const.VDB_PATH)
buildroot, both = constants.SOURCE_ROOT, constants.BOTH_OVERLAYS
- for overlay in portage_utilities.FindOverlays(both, board, buildroot):
- for filename, projects in portage_utilities.GetWorkonProjectMap(overlay,
- packages):
+ for overlay in portage_util.FindOverlays(both, board, buildroot):
+ for filename, projects in portage_util.GetWorkonProjectMap(overlay,
+ packages):
# chromeos-base/power_manager/power_manager-9999
# cp = chromeos-base/power_manager
# cpv = chromeos-base/power_manager-9999
- category, pn, p = portage_utilities.SplitEbuildPath(filename)
+ category, pn, p = portage_util.SplitEbuildPath(filename)
cp = '%s/%s' % (category, pn)
cpv = '%s/%s' % (category, p)
logging.getLogger().setLevel(logging.INFO)
flags = _ParseArguments(argv)
modified = ListModifiedWorkonPackages(flags.board, flags.host)
- print ' '.join(sorted(modified))
+ print(' '.join(sorted(modified)))