import os
import re
import sys
+import gzip
import apt_pkg
import apt_inst
if arches:
all_arches = set(arches)
else:
- all_arches = set(database.get_suite_architectures(suites[0]))
+ all_arches = set([x.arch_string for x in get_suite_architectures(suites[0])])
all_arches -= set(["source", "all"])
for architecture in all_arches:
deps = {}
for component in components:
filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (cnf["Dir::Root"], suites[0], component, architecture)
# apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance...
- (fd, temp_filename) = utils.temp_filename()
- (result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
- if (result != 0):
- utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
- packages = utils.open_file(temp_filename)
+ packages = gzip.open(filename, 'rb')
Packages = apt_pkg.ParseTagFile(packages)
while Packages.Step():
package = Packages.Section.Find("Package")
virtual_packages[virtual_pkg] += 1
p2c[package] = component
packages.close()
- os.unlink(temp_filename)
# If a virtual package is only provided by the to-be-removed
# packages, treat the virtual package as to-be-removed too.
for component in components:
filename = "%s/dists/%s/%s/source/Sources.gz" % (cnf["Dir::Root"], suites[0], component)
# apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance...
- (fd, temp_filename) = utils.temp_filename()
- result, output = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
- if result != 0:
- sys.stderr.write("Gunzip invocation failed!\n%s\n" % (output))
- sys.exit(result)
- sources = utils.open_file(temp_filename, "r")
+ sources = gzip.open(filename, 'rb')
Sources = apt_pkg.ParseTagFile(sources)
while Sources.Step():
source = Sources.Section.Find("Package")
maintainer_list = []
for maintainer_id in maintainers.keys():
- maintainer_list.append(database.get_maintainer(maintainer_id))
+ maintainer_list.append(get_maintainer(maintainer_id).name)
summary = ""
removals = d.keys()
removals.sort()
logfile.write("----------------------------------------------\n")
logfile.flush()
- dsc_type_id = database.get_override_type_id('dsc')
- deb_type_id = database.get_override_type_id('deb')
+ dsc_type_id = get_override_type('dsc', session)
+ deb_type_id = get_override_type('deb', session)
# Do the actual deletion
print "Deleting...",