X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcontrol_suite.py;h=7ec321f0a8474f2962dd4d47b1d95bf2e324f8f1;hb=d7b90c4606e6f4fe32965d3c77d8f5f7428b7168;hp=b862e215448167f3bbb696b88b2df4771ef4808e;hpb=7deb1e18b7e61f77b13fbc926c31d575ee5fc6b5;p=dak.git diff --git a/dak/control_suite.py b/dak/control_suite.py index b862e215..7ec321f0 100755 --- a/dak/control_suite.py +++ b/dak/control_suite.py @@ -43,6 +43,7 @@ import sys import apt_pkg +import os from daklib.config import Config from daklib.dbconn import * @@ -98,6 +99,19 @@ def britney_changelog(packages, suite, session): old = {} current = {} + Cnf = utils.get_conf() + + try: + q = session.execute("SELECT changelog FROM suite WHERE id = :suiteid", \ + {'suiteid': suite.suite_id}) + brit_file = q.fetchone()[0] + except: + brit_file = None + + if brit_file: + brit_file = os.path.join(Cnf['Dir::Root'], brit_file) + else: + return q = session.execute("""SELECT s.source, s.version, sa.id FROM source s, src_associations sa @@ -129,14 +143,14 @@ def britney_changelog(packages, suite, session): q = session.execute(query) pu = None - brit = utils.open_file(Config()["Changelogs::Britney"], 'w') + brit = utils.open_file(brit_file, 'w') for u in q: if pu and pu != u[0]: brit.write("\n") brit.write("%s\n" % u[1]) pu = u[0] - if len(q): brit.write("\n\n\n") + if q.rowcount: brit.write("\n\n\n") for p in list(set(old.keys()).difference(current.keys())): brit.write("REMOVED: %s %s\n" % (p, old[p])) @@ -359,7 +373,7 @@ def main (): # Safety/Sanity check # XXX: This should be stored in the database - if action == "set" and suite_name not in ["testing"]: + if action == "set" and suite_name not in ["testing", "squeeze-updates"]: utils.fubar("Will not reset suite %s" % (suite_name)) britney = False