X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fgenerate_releases.py;h=15ad1244163c511632ff283144026318171b95d3;hb=f0bfd37e7286156598d79b53501ebe2000bb7924;hp=11e37807121181c892bca57ab40471fec5674969;hpb=1c35448b880358d020e81339657e3435fdda9434;p=dak.git diff --git a/dak/generate_releases.py b/dak/generate_releases.py index 11e37807..15ad1244 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -1,9 +1,12 @@ #!/usr/bin/env python -""" Create all the Release files """ - -# Copyright (C) 2001, 2002, 2006 Anthony Towns +""" Create all the Release files +@contact: Debian FTPMaster +@Copyright: 2001, 2002, 2006 Anthony Towns +@copyright: 2009 Joerg Jaspert +@license: GNU General Public License version 2 or later +""" # 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 # the Free Software Foundation; either version 2 of the License, or @@ -22,13 +25,18 @@ ################################################################################ -import sys, os, stat, time -import gzip, bz2 +import sys +import os +import stat +import time +import gzip +import bz2 import apt_pkg from daklib import utils from daklib.dak_exceptions import * from daklib.dbconn import * +from daklib.config import Config ################################################################################ @@ -171,6 +179,7 @@ def main (): out = sys.stdout Cnf = utils.get_conf() + cnf = Config() Arguments = [('h',"help","Generate-Releases::Options::Help"), ('a',"apt-conf","Generate-Releases::Options::Apt-Conf", "HasArg"), @@ -197,26 +206,30 @@ def main (): for suitename in suites: print "Processing: " + suitename - SuiteBlock = Cnf.SubTree("Suite::" + suite) - suiteobj = get_suite(suitename) + SuiteBlock = Cnf.SubTree("Suite::" + suitename) + suiteobj = get_suite(suitename.lower()) + if not suiteobj: + print "ALERT: Cannot find suite %s!" % (suitename.lower()) + continue - suite = suite.suite_name.lower() + # Use the canonical name + suite = suiteobj.suite_name.lower() - if suite.untouchable and not Options["Force-Touch"]: + if suiteobj.untouchable and not Options["Force-Touch"]: print "Skipping: " + suite + " (untouchable)" continue - origin = suite.origin - label = suite.label or suite.origin - codename = suite.codename or "" + origin = suiteobj.origin + label = suiteobj.label or suiteobj.origin + codename = suiteobj.codename or "" version = "" - if suite.version and suite.version != '-': - version = suite.version - description = suite.description or "" + if suiteobj.version and suiteobj.version != '-': + version = suiteobj.version + description = suiteobj.description or "" architectures = get_suite_architectures(suite, skipall=True, skipsrc=True) - if SuiteBlock.has_key("NotAutomatic"): + if suiteobj.notautomatic: notautomatic = "yes" else: notautomatic = "" @@ -255,8 +268,8 @@ def main (): out.write("Codename: %s\n" % (codename)) out.write("Date: %s\n" % (time.strftime("%a, %d %b %Y %H:%M:%S UTC", time.gmtime(time.time())))) - if SuiteBlock.has_key("ValidTime"): - validtime=float(SuiteBlock["ValidTime"]) + if suiteobj.validtime: + validtime=float(suiteobj.validtime) out.write("Valid-Until: %s\n" % (time.strftime("%a, %d %b %Y %H:%M:%S UTC", time.gmtime(time.time()+validtime)))) if notautomatic != "": @@ -360,21 +373,26 @@ def main (): keyring += " --keyring \"%s\"" % Cnf["Dinstall::SigningPubKeyring"] arguments = "--no-options --batch --no-tty --armour" - if Cnf.has_key("Dinstall::SigningKeyIds"): - signkeyids = Cnf["Dinstall::SigningKeyIds"].split() - else: - signkeyids = [""] + signkeyids=cnf.signingkeyids.split() dest = Cnf["Dir::Root"] + tree + "/Release.gpg" if os.path.exists(dest): os.unlink(dest) + inlinedest = Cnf["Dir::Root"] + tree + "/InRelease" + if os.path.exists(inlinedest): + os.unlink(inlinedest) for keyid in signkeyids: - if keyid != "": defkeyid = "--default-key %s" % keyid - else: defkeyid = "" + if keyid != "": + defkeyid = "--default-key %s" % keyid + else: + defkeyid = "" os.system("gpg %s %s %s --detach-sign <%s >>%s" % (keyring, defkeyid, arguments, Cnf["Dir::Root"] + tree + "/Release", dest)) + os.system("gpg %s %s %s --clearsign <%s >>%s" % + (keyring, defkeyid, arguments, + Cnf["Dir::Root"] + tree + "/Release", inlinedest)) #######################################################################################