#!/usr/bin/env python3 # Copyright 2019 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Clones helper scripts into chromiumos-overlay. Some files in here also need to live in chromiumos-overlay (e.g., the patch_manager ones). This script simplifies the copying of those around. """ # Necessary until crbug.com/1006448 is fixed import argparse import os import shutil import sys def _find_repo_root(script_root): repo_root = os.path.abspath(os.path.join(script_root, "../../../../")) if not os.path.isdir(os.path.join(repo_root, ".repo")): return None return repo_root def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--chromeos_path", help="Path to where CrOS' source tree lives. Will autodetect if you're " "running this from inside the CrOS source tree.", ) args = parser.parse_args() my_dir = os.path.abspath(os.path.dirname(__file__)) repo_root = args.chromeos_path if repo_root is None: repo_root = _find_repo_root(my_dir) if repo_root is None: sys.exit( "Couldn't detect the CrOS checkout root; please provide a " "value for --chromeos_path" ) chromiumos_overlay = os.path.join( repo_root, "src/third_party/chromiumos-overlay" ) clone_files = [ "failure_modes.py", "get_llvm_hash.py", "git_llvm_rev.py", "patch_manager.py", "subprocess_helpers.py", ] filesdir = os.path.join( chromiumos_overlay, "sys-devel/llvm/files/patch_manager" ) for f in clone_files: source = os.path.join(my_dir, f) dest = os.path.join(filesdir, f) print("%r => %r" % (source, dest)) shutil.copyfile(source, dest) if __name__ == "__main__": main()