aosp12/external/toolchain-utils/llvm_tools/copy_helpers_to_chromiumos_...

68 lines
1.9 KiB
Python
Executable File

#!/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()