X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Futils.py;h=5e9c9b94617d3ff39722f2b7533c72a90846e3e7;hb=7c5adcf962fe99d6a42307595f263f47d0112fbc;hp=9d45cdc847ba814b172daa498b5a5815407037b3;hpb=09f7332ebb3ffd99a8758160c62eeb4f969d24b1;p=dak.git diff --git a/daklib/utils.py b/daklib/utils.py index 9d45cdc8..5e9c9b94 100644 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -72,10 +72,6 @@ default_config = "/etc/dak/dak.conf" #: default dak config, defines host pro alias_cache = None #: Cache for email alias checks key_uid_email_cache = {} #: Cache for email addresses from gpg key uids -# (hashname, function, earliest_changes_version) -known_hashes = [("sha1", apt_pkg.sha1sum, (1, 8)), - ("sha256", apt_pkg.sha256sum, (1, 8))] #: hashes we accept for entries in .changes/.dsc - # Monkeypatch commands.getstatusoutput as it may not return the correct exit # code in lenny's Python. This also affects commands.getoutput and # commands.getstatus. @@ -311,12 +307,14 @@ def check_dsc_files(dsc_filename, dsc, dsc_files): has = defaultdict(lambda: 0) ftype_lookup = ( - (r'orig.tar.gz', ('orig_tar_gz', 'orig_tar')), - (r'diff.gz', ('debian_diff',)), - (r'tar.gz', ('native_tar_gz', 'native_tar')), + (r'orig\.tar\.(gz|bz2|xz)\.asc', ('orig_tar_sig',)), + (r'orig\.tar\.gz', ('orig_tar_gz', 'orig_tar')), + (r'diff\.gz', ('debian_diff',)), + (r'tar\.gz', ('native_tar_gz', 'native_tar')), (r'debian\.tar\.(gz|bz2|xz)', ('debian_tar',)), (r'orig\.tar\.(gz|bz2|xz)', ('orig_tar',)), (r'tar\.(gz|bz2|xz)', ('native_tar',)), + (r'orig-.+\.tar\.(gz|bz2|xz)\.asc', ('more_orig_tar_sig',)), (r'orig-.+\.tar\.(gz|bz2|xz)', ('more_orig_tar',)), ) @@ -338,10 +336,11 @@ def check_dsc_files(dsc_filename, dsc, dsc_files): # File does not match anything in lookup table; reject if not matched: - reject("%s: unexpected source file '%s'" % (dsc_filename, f)) + rejmsg.append("%s: unexpected source file '%s'" % (dsc_filename, f)) + break # Check for multiple files - for file_type in ('orig_tar', 'native_tar', 'debian_tar', 'debian_diff'): + for file_type in ('orig_tar', 'orig_tar_sig', 'native_tar', 'debian_tar', 'debian_diff'): if has[file_type] > 1: rejmsg.append("%s: lists multiple %s" % (dsc_filename, file_type))