| Index: third_party/instrumented_libraries/scripts/unpack_binaries.py
|
| diff --git a/third_party/instrumented_libraries/scripts/unpack_binaries.py b/third_party/instrumented_libraries/scripts/unpack_binaries.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..3e1779069dbe8b050237ad27154fffd6fd3f451f
|
| --- /dev/null
|
| +++ b/third_party/instrumented_libraries/scripts/unpack_binaries.py
|
| @@ -0,0 +1,42 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2015 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.
|
| +
|
| +"""Unpacks pre-built sanitizer-instrumented third-party libraries."""
|
| +
|
| +import os
|
| +import subprocess
|
| +import shutil
|
| +import sys
|
| +
|
| +import download_binaries
|
| +
|
| +
|
| +def get_archive_name(archive_prefix):
|
| + return '%s-%s.tgz' % (archive_prefix, download_binaries.get_ubuntu_release())
|
| +
|
| +
|
| +def main(archive_prefix, archive_dir, target_dir, stamp_dir=None):
|
| + shutil.rmtree(target_dir, ignore_errors=True)
|
| +
|
| + os.mkdir(target_dir)
|
| + subprocess.check_call([
|
| + 'tar',
|
| + '-zxf',
|
| + os.path.join(archive_dir, get_archive_name(archive_prefix)),
|
| + '-C',
|
| + target_dir])
|
| + stamp_file = os.path.join(stamp_dir or target_dir, '%s.txt' % archive_prefix)
|
| + open(stamp_file, 'w').close()
|
| +
|
| + if stamp_dir:
|
| + with open(os.path.join(stamp_dir, '%s.d' % archive_prefix), 'w') as f:
|
| + f.write('%s: %s' % (
|
| + stamp_file, os.path.join(archive_dir,
|
| + get_archive_name(archive_prefix))))
|
| + return 0
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main(*sys.argv[1:]))
|
|
|