summaryrefslogtreecommitdiff
path: root/lib/bootstrap_lib.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bootstrap_lib.py')
-rw-r--r--lib/bootstrap_lib.py101
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