import debian.changelog, debian.deb822
-
# These variables can be overridden by options. If packages is not
# set, then it is read from the source_packages file
packages = [] # Set of packages to build
def dsc_files(dsc) :
'''Describe all the files included in dsc, wich is a string name
of a dsc package. dsc itself is included'''
- package = debian.deb822.Dsc(file(dsc))
+ package = debian.deb822.Dsc(open(dsc))
internal_files = map( lambda(x): x['name'], package['Files'])
internal_files.append(dsc)
return internal_files
def build(package):
with current_directory(package):
- cl = debian.changelog.Changelog(file('debian/changelog'))
+ cl = debian.changelog.Changelog(open('debian/changelog'))
package_name = cl.package
package_version = str(cl.version)
orig_tgz = package_name+'_'+ cl.upstream_version + ".orig.tar.gz"
'''.format (
build_place = build_place
)
- f = file(build_place + "/add_source", "w")
+ f = open(build_place + "/add_source", "w")
f.write(script)
f.close()
with current_directory(build_place):
def read_packages():
'''Read in the packages file from source_packages
'''
- try: pf = file("source_packages")
+ try: pf = open("source_packages")
except IOError:
print "Error: source_packages file not found"
exit(1)
opt.add_option('-s', '--sbuild-opt',
action='append', dest='sbuild_opts',
help='Specify an option to be sent to sbuild')
+opt.add_option('--tar-file',
+ dest='tar_file',
+ help = 'Tar up resulting packages in given tar file',
+ default = None)
opt.usage = "%prog [options] [packages]"
(options, packages) = opt.parse_args()
build_place = options.build_place
distribution = options.distribution
sbuild_opts = options.sbuild_opts
+tar_file = options.tar_file
-if len(packages) == 0: packages = read_packages()
+if len(packages) == 0: packages = read_packages()
try:
os.makedirs(build_place)
except OSError: pass
+code = 0
try:
for p in packages:
gen_package_files()
build(p)
except CommandError as c:
print "Error:" + str(c.args)
- exit(1)
-
-
+ code = 1
+finally:
+ if tar_file is not None:
+ with current_directory(build_place):
+ run_cmd('tar -cf '+tar_file+' .',
+ shell=True)