#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright 2019 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. """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 from __future__ import print_function 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( '--chroot_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.chroot_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 --chroot_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()