X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcheck_archive.py;h=004fcddd8c25694cc2d24130d75b99171fd83cdf;hb=0d80b258098ff470433efa4d9c1f81b404883195;hp=93cc832c1fb0efd41748e894bf607894a20c9c5f;hpb=042841e1fe5cfe41755dc53b39e36b6ed19dc794;p=dak.git diff --git a/dak/check_archive.py b/dak/check_archive.py index 93cc832c..004fcddd 100755 --- a/dak/check_archive.py +++ b/dak/check_archive.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Various different sanity checks +""" Various different sanity checks """ # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006 James Troup # This program is free software; you can redistribute it and/or modify @@ -30,6 +30,7 @@ import commands, os, pg, stat, sys, time import apt_pkg, apt_inst from daklib import database from daklib import utils +from daklib.regexes import re_issource ################################################################################ @@ -221,11 +222,13 @@ def check_checksums(): # every time we scan the archive. Yet another hack (TM) which can go away # once this is all working if db_sha1sum is not None and db_sha1sum != '': + f.seek(0) sha1sum = apt_pkg.sha1sum(f) if sha1sum != db_sha1sum: utils.warn("**WARNING** sha1sum mismatch for '%s' ('%s' [current] vs. '%s' [db])." % (filename, sha1sum, db_sha1sum)) if db_sha256sum is not None and db_sha256sum != '': + f.seek(0) sha256sum = apt_pkg.sha256sum(f) if sha256sum != db_sha256sum: utils.warn("**WARNING** sha256sum mismatch for '%s' ('%s' [current] vs. '%s' [db])." % (filename, sha256sum, db_sha256sum)) @@ -285,7 +288,7 @@ def check_missing_tar_gz_in_dsc(): dsc_files = utils.build_file_list(dsc, is_a_dsc=1) has_tar = 0 for f in dsc_files.keys(): - m = utils.re_issource.match(f) + m = re_issource.match(f) if not m: utils.fubar("%s not recognised as source." % (f)) ftype = m.group(3) @@ -305,7 +308,7 @@ def validate_sources(suite, component): filename = "%s/dists/%s/%s/source/Sources.gz" % (Cnf["Dir::Root"], suite, component) print "Processing %s..." % (filename) # apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance... - temp_filename = utils.temp_filename() + (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)) @@ -344,7 +347,7 @@ def validate_packages(suite, component, architecture): % (Cnf["Dir::Root"], suite, component, architecture) print "Processing %s..." % (filename) # apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance... - temp_filename = utils.temp_filename() + (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))