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