X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fgenerate_releases.py;h=c359177235810258910b788ea09a85857ebc9cfe;hb=17c5cab4eb8d5181ec7a81267a4e2e6b43c0fc65;hp=12f09633675dd0f37bfa699ba4897165e65ac600;hpb=0a4b1145adef3e89a709b7a54a749cdd9f3ff4eb;p=dak.git diff --git a/dak/generate_releases.py b/dak/generate_releases.py index 12f09633..c3591772 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -139,7 +139,9 @@ class ReleaseWriter(object): ('Label', 'label'), ('Suite', 'release_suite_output'), ('Version', 'version'), - ('Codename', 'codename') ) + ('Codename', 'codename'), + ('Changelogs', 'changelog_url'), + ) # A "Sub" Release file has slightly different fields subattribs = ( ('Archive', 'suite_name'), @@ -161,7 +163,7 @@ class ReleaseWriter(object): for key, dbfield in attribs: # Hack to skip NULL Version fields as we used to do this # We should probably just always ignore anything which is None - if key == "Version" and getattr(suite, dbfield) is None: + if key in ("Version", "Changelogs") and getattr(suite, dbfield) is None: continue out.write("%s: %s\n" % (key, getattr(suite, dbfield))) @@ -222,9 +224,8 @@ class ReleaseWriter(object): os.chdir(os.path.join(suite.archive.path, "dists", suite.suite_name, suite_suffix)) - hashfuncs = { 'MD5Sum' : apt_pkg.md5sum, - 'SHA1' : apt_pkg.sha1sum, - 'SHA256' : apt_pkg.sha256sum } + hashfuncs = dict(zip([x.upper().replace('UM', 'um') for x in suite.checksums], + [getattr(apt_pkg, "%s" % (x)) for x in [x.replace("sum", "") + "sum" for x in suite.checksums]])) fileinfo = {} @@ -246,11 +247,11 @@ class ReleaseWriter(object): # If we find a file for which we have a compressed version and # haven't yet seen the uncompressed one, store the possibility # for future use - if entry.endswith(".gz") and entry[:-3] not in uncompnotseen: + if entry.endswith(".gz") and filename[:-3] not in uncompnotseen: uncompnotseen[filename[:-3]] = (gzip.GzipFile, filename) - elif entry.endswith(".bz2") and entry[:-4] not in uncompnotseen: + elif entry.endswith(".bz2") and filename[:-4] not in uncompnotseen: uncompnotseen[filename[:-4]] = (bz2.BZ2File, filename) - elif entry.endswith(".xz") and entry[:-3] not in uncompnotseen: + elif entry.endswith(".xz") and filename[:-3] not in uncompnotseen: uncompnotseen[filename[:-3]] = (XzFile, filename) fileinfo[filename]['len'] = len(contents)