| #!/usr/bin/env python3 |
| # |
| # Copyright 2020 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import argparse |
| import os |
| import shutil |
| import sys |
| |
| from util import build_utils |
| |
| |
| def main(args): |
| parser = argparse.ArgumentParser(args) |
| parser.add_argument('--strip-path', required=True, help='') |
| parser.add_argument('--input-path', required=True, help='') |
| parser.add_argument('--stripped-output-path', required=True, help='') |
| parser.add_argument('--unstripped-output-path', required=True, help='') |
| options = parser.parse_args(args) |
| |
| # eu-strip's output keeps mode from source file which might not be writable |
| # thus it fails to override its output on the next run. AtomicOutput fixes |
| # the issue. |
| with build_utils.AtomicOutput(options.stripped_output_path) as out: |
| cmd = [ |
| options.strip_path, |
| options.input_path, |
| '-o', |
| out.name, |
| ] |
| build_utils.CheckOutput(cmd) |
| shutil.copyfile(options.input_path, options.unstripped_output_path) |
| |
| |
| if __name__ == '__main__': |
| main(sys.argv[1:]) |