diff options
Diffstat (limited to 'lib/bootstrap_lib.py')
-rw-r--r-- | lib/bootstrap_lib.py | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/lib/bootstrap_lib.py b/lib/bootstrap_lib.py deleted file mode 100644 index 9734f2ecb..000000000 --- a/lib/bootstrap_lib.py +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 2015 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Common utilities used by the chromium/bootstrap scripts.""" - -from __future__ import print_function - -import os - -from chromite.lib import cros_build_lib -from chromite.lib import project_sdk -from chromite.lib import workspace_lib - - -# This is the subdirectory of the bootstrap, where we store SDKs. -SDK_CHECKOUTS = 'sdk_checkouts' - - -# This env is used to remember the bootstrap path in child processes. -BOOTSTRAP_PATH_ENV = 'BRILLO_BOOTSTRAP_PATH' - - -def FindBootstrapPath(save_to_env=False): - """Find the bootstrap directory. - - This is only possible, if the process was initially launched from a bootstrap - environment, and isn't inside a chroot. - - Args: - save_to_env: If true, preserve the bootstrap path in an ENV for child - processes. Only intended for the brillo bootstrap wrapper. - - Returns: - Path to root of bootstrap, or None. - """ - # We never have access to bootstrap if we are inside the chroot. - if cros_build_lib.IsInsideChroot(): - return None - - # See if the path has already been determined, especially in a parent wrapper - # process. - env_path = os.environ.get(BOOTSTRAP_PATH_ENV) - if env_path: - return env_path - - # Base the bootstrap location on our current location, and remember it. - new_path = os.path.realpath(os.path.join( - os.path.abspath(__file__), '..', '..')) - - # No repo checkout is a valid bootstrap environment, because the bootstrap - # environment holds repo checkouts inside SDK_CHECKOUTS, and repos cannot - # exist inside other repos. - if project_sdk.FindRepoRoot(new_path): - return None - - if save_to_env: - os.environ[BOOTSTRAP_PATH_ENV] = new_path - - return new_path - - -def ComputeSdkPath(bootstrap_path, version): - """What directory should an SDK be in. - - Args: - bootstrap_path: Bootstrap root directory, or None. - version: Version of the SDK. - - Returns: - Path in which SDK version should be stored, or None. - """ - if bootstrap_path is None: - return None - - return os.path.join(bootstrap_path, SDK_CHECKOUTS, version) - - -def GetActiveSdkPath(bootstrap_path, workspace_path): - """Find the SDK Path associated with a given workspace. - - Most code should use constants.SOURCE_ROOT instead. - - Args: - bootstrap_path: Path directory of the bootstrap dir (FindBootstrapPath()). - workspace_path: Path directory of the workspace (FindWorkspacePath()). - - Returns: - Path to root directory of SDK, if there is an active one, and it exists. - """ - if bootstrap_path is None: - return None - - version = workspace_lib.GetActiveSdkVersion(workspace_path) - if version is None: - return None - - sdk_root = ComputeSdkPath(bootstrap_path, version) - - # Returns None if there is no active SDK version, or if it's not installed. - return sdk_root if os.path.isdir(sdk_root) else None |