diff options
Diffstat (limited to 'llvm_tools/chroot.py')
-rwxr-xr-x | llvm_tools/chroot.py | 113 |
1 files changed, 58 insertions, 55 deletions
diff --git a/llvm_tools/chroot.py b/llvm_tools/chroot.py index b10ddbac..46464feb 100755 --- a/llvm_tools/chroot.py +++ b/llvm_tools/chroot.py @@ -1,96 +1,99 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright 2020 The Chromium OS Authors. All rights reserved. +# Copyright 2020 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Chroot helper functions.""" -from __future__ import print_function +import collections import os import subprocess -import collections -CommitContents = collections.namedtuple('CommitContents', ['url', 'cl_number']) + +CommitContents = collections.namedtuple("CommitContents", ["url", "cl_number"]) def InChroot(): - """Returns True if currently in the chroot.""" - return 'CROS_WORKON_SRCROOT' in os.environ + """Returns True if currently in the chroot.""" + return "CROS_WORKON_SRCROOT" in os.environ def VerifyOutsideChroot(): - """Checks whether the script invoked was executed in the chroot. + """Checks whether the script invoked was executed in the chroot. - Raises: - AssertionError: The script was run inside the chroot. - """ + Raises: + AssertionError: The script was run inside the chroot. + """ - assert not InChroot(), 'Script should be run outside the chroot.' + assert not InChroot(), "Script should be run outside the chroot." def GetChrootEbuildPaths(chromeos_root, packages): - """Gets the chroot path(s) of the package(s). + """Gets the chroot path(s) of the package(s). - Args: - chromeos_root: The absolute path to the chroot to - use for executing chroot commands. - packages: A list of a package/packages to - be used to find their chroot path. + Args: + chromeos_root: The absolute path to the chroot to + use for executing chroot commands. + packages: A list of a package/packages to + be used to find their chroot path. - Returns: - A list of chroot paths of the packages' ebuild files. + Returns: + A list of chroot paths of the packages' ebuild files. - Raises: - ValueError: Failed to get the chroot path of a package. - """ + Raises: + ValueError: Failed to get the chroot path of a package. + """ - chroot_paths = [] + chroot_paths = [] - # Find the chroot path for each package's ebuild. - for package in packages: - chroot_path = subprocess.check_output( - ['cros_sdk', '--', 'equery', 'w', package], - cwd=chromeos_root, - encoding='utf-8') - chroot_paths.append(chroot_path.strip()) + # Find the chroot path for each package's ebuild. + for package in packages: + chroot_path = subprocess.check_output( + ["cros_sdk", "--", "equery", "w", package], + cwd=chromeos_root, + encoding="utf-8", + ) + chroot_paths.append(chroot_path.strip()) - return chroot_paths + return chroot_paths def ConvertChrootPathsToAbsolutePaths(chromeos_root, chroot_paths): - """Converts the chroot path(s) to absolute symlink path(s). + """Converts the chroot path(s) to absolute symlink path(s). - Args: - chromeos_root: The absolute path to the chroot. - chroot_paths: A list of chroot paths to convert to absolute paths. + Args: + chromeos_root: The absolute path to the chroot. + chroot_paths: A list of chroot paths to convert to absolute paths. - Returns: - A list of absolute path(s). + Returns: + A list of absolute path(s). - Raises: - ValueError: Invalid prefix for the chroot path or - invalid chroot paths were provided. - """ + Raises: + ValueError: Invalid prefix for the chroot path or + invalid chroot paths were provided. + """ - abs_paths = [] + abs_paths = [] - chroot_prefix = '/mnt/host/source/' + chroot_prefix = "/mnt/host/source/" - # Iterate through the chroot paths. - # - # For each chroot file path, remove '/mnt/host/source/' prefix - # and combine the chroot path with the result and add it to the list. - for chroot_path in chroot_paths: - if not chroot_path.startswith(chroot_prefix): - raise ValueError('Invalid prefix for the chroot path: %s' % chroot_path) + # Iterate through the chroot paths. + # + # For each chroot file path, remove '/mnt/host/source/' prefix + # and combine the chroot path with the result and add it to the list. + for chroot_path in chroot_paths: + if not chroot_path.startswith(chroot_prefix): + raise ValueError( + "Invalid prefix for the chroot path: %s" % chroot_path + ) - rel_path = chroot_path[len(chroot_prefix):] + rel_path = chroot_path[len(chroot_prefix) :] - # combine the chromeos root path + '/src/...' - abs_path = os.path.join(chromeos_root, rel_path) + # combine the chromeos root path + '/src/...' + abs_path = os.path.join(chromeos_root, rel_path) - abs_paths.append(abs_path) + abs_paths.append(abs_path) - return abs_paths + return abs_paths |