X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tea;h=9c5b00b786dc5633c1fa21d29fbf5851e6ef1ea3;hb=96e609145626ff53653be4487416665a375f6510;hp=3783432420eae7f4e41de64b9e1e27c0e254bcd8;hpb=1d2ebc225d4b98c4786a523cff33054d2809123e;p=dak.git diff --git a/tea b/tea index 37834324..9c5b00b7 100755 --- a/tea +++ b/tea @@ -1,8 +1,8 @@ #!/usr/bin/env python # Sanity check the database -# Copyright (C) 2000, 2001 James Troup -# $Id: tea,v 1.17 2002-04-16 14:47:19 troup Exp $ +# Copyright (C) 2000, 2001, 2002 James Troup +# $Id: tea,v 1.20 2002-06-08 00:23:51 troup Exp $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -62,8 +62,7 @@ def process_dir (unused, dirname, filenames): def check_files(): global db_files; - print "Building list of Database files..."; - + print "Building list of database files..."; q = projectB.query("SELECT l.path, f.filename FROM files f, location l WHERE f.location = l.id") ql = q.getresult(); @@ -74,14 +73,14 @@ def check_files(): if os.access(filename, os.R_OK) == 0: utils.warn("'%s' doesn't exist." % (filename)); - file = utils.open_file(Cnf["Dir::OverrideDir"]+'override.unreferenced'); + file = utils.open_file(Cnf["Dir::Override"]+'override.unreferenced'); for filename in file.readlines(): filename = filename[:-1]; excluded[filename] = ""; print "Checking against existent files..."; - os.path.walk(Cnf["Dir::RootDir"]+'dists/', process_dir, None); + os.path.walk(Cnf["Dir::Root"]+'dists/', process_dir, None); print print "%s wasted..." % (utils.size_type(waste)); @@ -95,12 +94,12 @@ def check_dscs(): if component == "mixed": continue; component = string.lower(component); - list_filename = '%s%s_%s_source.list' % (Cnf["Dir::ListsDir"], suite, component); + list_filename = '%s%s_%s_source.list' % (Cnf["Dir::Lists"], suite, component); list_file = utils.open_file(list_filename); for line in list_file.readlines(): file = line[:-1]; try: - utils.parse_changes(file, 1); + utils.parse_changes(file, dsc_whitespace_rules=1); except utils.invalid_dsc_format_exc, line: utils.warn("syntax error in .dsc file '%s', line %s." % (file, line)); count = count + 1; @@ -225,15 +224,21 @@ def check_timestamps(): def check_missing_tar_gz_in_dsc(): count = 0; - q = projectB.query("SELECT l.path, f.filename FROM files f, location l WHERE f.location = l.id AND f.filename ~ '.dsc$'") - for i in q.getresult(): + print "Building list of database files..."; + q = projectB.query("SELECT l.path, f.filename FROM files f, location l WHERE f.location = l.id AND f.filename ~ '.dsc$'"); + ql = q.getresult(); + if ql: + print "Checking %d files..." % len(ql); + else: + print "No files to check." + for i in ql: filename = os.path.abspath(i[0] + i[1]); try: # NB: don't enforce .dsc syntax - dsc = utils.parse_changes(filename, 0); + dsc = utils.parse_changes(filename); except: utils.fubar("error parsing .dsc file '%s'." % (filename)); - dsc_files = utils.build_file_list(dsc, 1); + dsc_files = utils.build_file_list(dsc, is_a_dsc=1); has_tar = 0; for file in dsc_files.keys(): m = utils.re_issource.match(file);