X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fgenerate_releases.py;h=2e28fb28e39207ea21bcb6bd05dd762ea3157c80;hb=2f30eb272c2dfbdb3544d7e0a0e120a9e4be3294;hp=31cae490775dafcf10bcbd9e8967a6f0ab94089f;hpb=8a5bc11ad982ba9d922736534e156cb6b1fc78f6;p=dak.git diff --git a/dak/generate_releases.py b/dak/generate_releases.py index 31cae490..2e28fb28 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -36,6 +36,7 @@ import apt_pkg from daklib import utils from daklib.dak_exceptions import * from daklib.dbconn import * +from daklib.config import Config ################################################################################ @@ -134,6 +135,9 @@ def print_md5sha_files (tree, files, hashop): except CantOpenError: print "ALERT: Couldn't open " + path + name + except IOError: + print "ALERT: IOError when reading %s" % (path + name) + raise else: out.write(" %s %8d %s\n" % (hashvalue, hashlen, name)) @@ -146,7 +150,7 @@ def print_sha1_files (tree, files): def print_sha256_files (tree, files): print_md5sha_files (tree, files, apt_pkg.sha256sum) -def write_release_file (relpath, suite, component, origin, label, arch, version="", suite_suffix="", notautomatic=""): +def write_release_file (relpath, suite, component, origin, label, arch, version="", suite_suffix="", notautomatic="", butautomaticupgrades=""): try: if os.access(relpath, os.F_OK): if os.stat(relpath).st_nlink > 1: @@ -168,6 +172,8 @@ def write_release_file (relpath, suite, component, origin, label, arch, version= release.write("Label: %s\n" % (label)) if notautomatic != "": release.write("NotAutomatic: %s\n" % (notautomatic)) + if butautomaticupgrades != "": + release.write("ButAutomaticUpgrades: %s\n" % (butautomaticupgrades)) release.write("Architecture: %s\n" % (arch)) release.close() @@ -178,6 +184,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"), @@ -227,11 +234,16 @@ def main (): architectures = get_suite_architectures(suite, skipall=True, skipsrc=True) - if SuiteBlock.has_key("NotAutomatic"): + if suiteobj.notautomatic: notautomatic = "yes" else: notautomatic = "" + if suiteobj.butautomaticupgrades: + butautomaticupgrades = "yes" + else: + butautomaticupgrades = "" + if SuiteBlock.has_key("Components"): components = SuiteBlock.ValueList("Components") else: @@ -266,12 +278,14 @@ 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 != "": out.write("NotAutomatic: %s\n" % (notautomatic)) + if butautomaticupgrades != "": + out.write("ButAutomaticUpgrades: %s\n" % (butautomaticupgrades)) out.write("Architectures: %s\n" % (" ".join([a.arch_string for a in architectures]))) if components: out.write("Components: %s\n" % (" ".join(components))) @@ -317,7 +331,7 @@ def main (): else: rel = "%s/binary-%s/Release" % (sec, arch) relpath = Cnf["Dir::Root"]+tree+"/"+rel - write_release_file(relpath, suite, sec, origin, label, arch, version, suite_suffix, notautomatic) + write_release_file(relpath, suite, sec, origin, label, arch, version, suite_suffix, notautomatic, butautomaticupgrades) files.append(rel) gen_i18n_index(files, tree, sec) @@ -332,7 +346,7 @@ def main (): if arch != "source": # always true rel = "%s/%s/binary-%s/Release" % (dis, sec, arch) relpath = Cnf["Dir::Root"]+tree+"/"+rel - write_release_file(relpath, suite, dis, origin, label, arch, version, suite_suffix, notautomatic) + write_release_file(relpath, suite, dis, origin, label, arch, version, suite_suffix, notautomatic, butautomaticupgrades) files.append(rel) for cfile in compressnames("tree::%s/%s" % (tree,dis), "Packages", @@ -371,10 +385,7 @@ 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):