From: Joerg Jaspert Date: Sun, 19 Sep 2010 15:22:22 +0000 (+0200) Subject: Merge branch 'master' of ssh://franck.debian.org/srv/ftp.debian.org/git/dak X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=b637b9219808c49d717ed9156debb8fbb55b5e3e;hp=bdeefe4f011355a4c088d516284656c8503e8137;p=dak.git Merge branch 'master' of ssh://franck.debian.org/srv/ftp.debian.org/git/dak * 'master' of ssh://franck.debian.org/srv/ftp.debian.org/git/dak: Seems to work with 0.6 too --- diff --git a/config/debian/dak.conf b/config/debian/dak.conf index 0ba61e39..c798617d 100644 --- a/config/debian/dak.conf +++ b/config/debian/dak.conf @@ -205,10 +205,6 @@ Suite contrib; non-free; }; - CopyChanges "dists/proposed-updates/"; - CommentsDir "/srv/ftp-master.debian.org/queue/p-u-new/COMMENTS/"; - OverrideSuite "stable"; - ValidTime 604800; // 7 days VersionChecks { MustBeNewerThan @@ -237,7 +233,6 @@ Suite contrib; non-free; }; - ValidTime 604800; // 7 days }; Testing-Proposed-Updates @@ -248,8 +243,6 @@ Suite contrib; non-free; }; - OverrideSuite "testing"; - ValidTime 604800; // 7 days VersionChecks { MustBeNewerThan @@ -279,8 +272,6 @@ Suite contrib; non-free; }; - OverrideSuite "testing"; - ValidTime 604800; // 7 days VersionChecks { MustBeNewerThan @@ -304,7 +295,6 @@ Suite contrib; non-free; }; - ValidTime 604800; // 7 days VersionChecks { MustBeNewerThan @@ -326,8 +316,6 @@ Suite contrib; non-free; }; - OverrideSuite "unstable"; - ValidTime 604800; // 7 days VersionChecks { MustBeNewerThan diff --git a/dak/dakdb/update38.py b/dak/dakdb/update38.py new file mode 100755 index 00000000..583aa3ad --- /dev/null +++ b/dak/dakdb/update38.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# coding=utf8 + +""" +Remove more unused table columns + +@contact: Debian FTP Master +@copyright: 2010 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 +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +################################################################################ + + +# everyone - send your condolences to twerner, a new ftpmaster +# twerner: you poor, poor bastard +# twerner: look what it's done to me and Ganneff +# he used to be only 1.3m tall and I used to be female +# twerner: Congratulations... Uhm... Thorsta? +# Thorstine? +# Thorstine seems the name of a candy we eat in Italy + +################################################################################ + +import psycopg2 +from daklib.dak_exceptions import DBUpdateError + +################################################################################ +def do_update(self): + """ + Remove unused table columns + """ + print __doc__ + try: + c = self.db.cursor() + c.execute('ALTER TABLE suite DROP COLUMN commentsdir') + c.execute("UPDATE config SET value = '38' WHERE name = 'db_revision'") + self.db.commit() + + except psycopg2.ProgrammingError, msg: + self.db.rollback() + raise DBUpdateError, 'Unable to apply table-column update 38, rollback issued. Error message : %s' % (str(msg)) diff --git a/dak/generate_releases.py b/dak/generate_releases.py index 31cae490..04627fc4 100755 --- a/dak/generate_releases.py +++ b/dak/generate_releases.py @@ -227,7 +227,7 @@ def main (): architectures = get_suite_architectures(suite, skipall=True, skipsrc=True) - if SuiteBlock.has_key("NotAutomatic"): + if suiteobj.notautomatic: notautomatic = "yes" else: notautomatic = "" @@ -266,8 +266,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 != "": diff --git a/dak/update_db.py b/dak/update_db.py index 10466070..11e5b1e0 100755 --- a/dak/update_db.py +++ b/dak/update_db.py @@ -45,7 +45,7 @@ from daklib.dak_exceptions import DBUpdateError ################################################################################ Cnf = None -required_database_schema = 37 +required_database_schema = 38 ################################################################################ diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 2ec1b60c..5a92dc81 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -2483,7 +2483,6 @@ SUITE_FIELDS = [ ('SuiteName', 'suite_name'), ('Priority', 'priority'), ('NotAutomatic', 'notautomatic'), ('CopyChanges', 'copychanges'), - ('CommentsDir', 'commentsdir'), ('OverrideSuite', 'overridesuite')] class Suite(object): diff --git a/daklib/queue.py b/daklib/queue.py index c379b0bc..305d4838 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -162,18 +162,22 @@ def determine_new(filename, changes, files, warn=1, session = None): # Fix up the list of target suites cnf = Config() for suite in changes["suite"].keys(): - override = cnf.Find("Suite::%s::OverrideSuite" % (suite)) - if override: - (olderr, newerr) = (get_suite(suite, session) == None, - get_suite(override, session) == None) - if olderr or newerr: - (oinv, newinv) = ("", "") - if olderr: oinv = "invalid " - if newerr: ninv = "invalid " - print "warning: overriding %ssuite %s to %ssuite %s" % ( - oinv, suite, ninv, override) - del changes["suite"][suite] - changes["suite"][override] = 1 + oldsuite = get_suite(suite, session) + if not oldsuite: + print "WARNING: Invalid suite %s found" % suite + continue + + if oldsuite.overridesuite: + newsuite = get_suite(oldsuite.overridesuite, session) + + if newsuite: + print "WARNING: overriding suite %s to suite %s" % ( + suite, oldsuite.overridesuite) + del changes["suite"][suite] + changes["suite"][oldsuite.overridesuite] = 1 + else: + print "WARNING: Told to use overridesuite %s for %s but it doesn't exist. Bugger" % ( + oldsuite.overridesuite, suite) # Check for unprocessed byhand files if dbchg is not None: @@ -2051,10 +2055,9 @@ distribution.""" stats.accept_bytes += float(entry["size"]) # Copy the .changes file across for suite which need it. - copy_changes = {} - for suite_name in self.pkg.changes["distribution"].keys(): - if cnf.has_key("Suite::%s::CopyChanges" % (suite_name)): - copy_changes[cnf["Suite::%s::CopyChanges" % (suite_name)]] = "" + copy_changes = dict([(x.copychanges, '') + for x in session.query(Suite).filter(Suite.suite_name.in_([self.pkg.changes["distribution"].keys()])).all() + if x.copychanges is not None]) for dest in copy_changes.keys(): utils.copy(self.pkg.changes_file, os.path.join(cnf["Dir::Root"], dest)) @@ -2362,8 +2365,9 @@ distribution.""" file_type = binary_type # Override suite name; used for example with proposed-updates - if cnf.Find("Suite::%s::OverrideSuite" % (suite)) != "": - suite = cnf["Suite::%s::OverrideSuite" % (suite)] + oldsuite = get_suite(suite, session) + if oldsuite.overridesuite: + suite = oldsuite.overridesuite result = get_override(package, suite, component, file_type, session)