import commands
import os
-import re
import sys
-import gzip
import apt_pkg
import apt_inst
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...
- packages = gzip.open(filename, 'rb')
+ (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 = 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...
- sources = gzip.open(filename, 'rb')
+ (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 = apt_pkg.ParseTagFile(sources)
while Sources.Step():
source = Sources.Section.Find("Package")
logfile.write("----------------------------------------------\n")
logfile.flush()
- dsc_type_id = get_override_type('dsc', session)
- deb_type_id = get_override_type('deb', session)
+ dsc_type_id = get_override_type('dsc', session).overridetype_id
+ deb_type_id = get_override_type('deb', session).overridetype_id
# Do the actual deletion
print "Deleting...",
Subst["__BCC__"] = "Bcc: " + ", ".join(bcc)
else:
Subst["__BCC__"] = "X-Filler: 42"
- Subst["__CC__"] = "X-DAK: dak rm\nX-Katie: melanie"
+ Subst["__CC__"] = "X-DAK: dak rm"
if carbon_copy:
Subst["__CC__"] += "\nCc: " + ", ".join(carbon_copy)
Subst["__SUITE_LIST__"] = suites_list
- Subst["__SUMMARY__"] = summary
+ summarymail = "%s\n------------------- Reason -------------------\n%s\n" % (summary, Options["Reason"])
+ summarymail += "----------------------------------------------\n"
+ Subst["__SUMMARY__"] = summarymail
+ Subst["__SUBJECT__"] = "Removed package(s) from %s" % (suites_list)
Subst["__ADMIN_ADDRESS__"] = cnf["Dinstall::MyAdminAddress"]
Subst["__DISTRO__"] = cnf["Dinstall::MyDistribution"]
Subst["__WHOAMI__"] = whoami