diff options
author | George Burgess IV <gbiv@google.com> | 2019-09-18 14:41:54 -0700 |
---|---|---|
committer | George Burgess <gbiv@chromium.org> | 2019-09-27 18:35:05 +0000 |
commit | 1125ad815d06eb960681154be9fc2688af5470c7 (patch) | |
tree | a38aa894e0217076448e04f50024c4bbbfbf9c2d /llvm_tools | |
parent | 9b6b17deefe076e05723871a9437847e1c0eabef (diff) | |
download | toolchain-utils-1125ad815d06eb960681154be9fc2688af5470c7.tar.gz |
llvm_tools: add a script to `cp` files to chromiumos-overlay
This is a manual and seemingly error-prone process. Why not automate it?
BUG=chromium:994322
TEST=./copy_helpers_to_chromiumos_overlay.py
Change-Id: I6d008810619c0595fbbd4155526b6ad10a5d466c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1811966
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Diffstat (limited to 'llvm_tools')
-rwxr-xr-x | llvm_tools/copy_helpers_to_chromiumos_overlay.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/llvm_tools/copy_helpers_to_chromiumos_overlay.py b/llvm_tools/copy_helpers_to_chromiumos_overlay.py new file mode 100755 index 00000000..dd6dc9d6 --- /dev/null +++ b/llvm_tools/copy_helpers_to_chromiumos_overlay.py @@ -0,0 +1,66 @@ +#!/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', + '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() |