blob: 84716aad2a30a2f87387e8e9cda65c35838c5c7f [file] [log] [blame]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 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(
"--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()