13 sys.stderr.write('Excepted arguments: ./build_archive.py name extension install_dir output_dir')
16 package_name = sys.argv[1]
17 extension = sys.argv[2]
18 install_dir = sys.argv[3]
19 output_dir = sys.argv[4]
21 package_archive = os.path.join(output_dir, package_name + '.' + extension)
22 package_dir = package_name
24 # remove existing package with the same name
26 if os.path.exists(package_archive):
27 os.remove(package_archive)
28 if os.path.exists(package_dir):
29 shutil.rmtree(package_dir)
31 sys.stderr.write('Failed to clean up old package files: ' + str(ex) + '\n')
34 # create temporary package dir
36 shutil.copytree(install_dir, package_dir)
38 for f in os.listdir(package_dir):
39 if f.startswith('makes'):
40 os.remove(os.path.join(package_dir, f))
42 sys.stderr.write('Failed to copy install directory: ' + str(ex) + '\n')
47 if not os.path.exists(output_dir):
50 if extension == 'zip':
51 archive_cmd = ['zip', '-9', '-r', package_archive, package_dir]
52 elif extension == 'tar.bz2':
53 archive_cmd = ['tar', 'cjf', package_archive, package_dir]
55 sys.stderr.write('Unknown archive extension: ' + extension)
58 subprocess.call(archive_cmd)
60 sys.stderr.write('Failed to create package archive: ' + str(ex) + '\n')
63 # empty temporary package dir
65 shutil.rmtree(package_dir)
67 sys.stderr.write('Failed to clean up package directory: ' + str(ex) + '\n')