blob: 44910908065995d36e90de6fca680017c9ecbcd9 [file] [log] [blame]
#!/usr/bin/env python2.7
# Copyright 2019 The Fuchsia 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 sys
# Copies a .packages file from one location to another, updating relative paths
# in the file in the process.
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--source',
help='Path to the original .packages file',
required=True)
parser.add_argument('--destination',
help='Path to the new .packages file',
required=True)
args = parser.parse_args()
source_base = os.path.dirname(args.source)
dest_base = os.path.dirname(args.destination)
with open(args.source, 'r') as source_file:
with open(args.destination, 'w') as dest_file:
for _, line in enumerate(source_file):
name, location = line.strip().split(':', 1)
new_location = os.path.relpath(os.path.join(source_base, location),
dest_base)
dest_file.write('%s:%s\n' % (name, new_location))
if __name__ == '__main__':
sys.exit(main())