aboutsummaryrefslogtreecommitdiff
path: root/llvm_tools/chroot.py
diff options
context:
space:
mode:
Diffstat (limited to 'llvm_tools/chroot.py')
-rwxr-xr-xllvm_tools/chroot.py113
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