]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote-tracking branch 'drkranz/changelogs' into merge
authorJoerg Jaspert <joerg@debian.org>
Mon, 29 Apr 2013 12:46:40 +0000 (14:46 +0200)
committerJoerg Jaspert <joerg@debian.org>
Mon, 29 Apr 2013 12:46:40 +0000 (14:46 +0200)
* drkranz/changelogs:
  Remove references to changelog exportpath, no longer used
  Use changelog export path derived from projectb
  Add changelog column to archive table
  xzip changelog listing file

config/backports/dak.conf
config/debian-security/dak.conf
config/debian/dak.conf
config/debian/dak.conf-backports
config/debian/dinstall.functions
dak/dakdb/update97.py [new file with mode: 0644]
dak/make_changelog.py
daklib/config.py

index c3fec8e4d4517b84736a4ccbde05c471b8dcdebb..890cd6b307120e245cc348449344fe4cc3834761 100644 (file)
@@ -344,11 +344,6 @@ Import-LDAP-Fingerprints
   KeyServer "wwwkeys.eu.pgp.net";
 };
 
-Changelogs
-{
-  Export "/srv/backports-master.debian.org/export/changelogs";
-}
-
 Generate-Releases
 {
   MD5Sum
index c1b6c94e1bff98f93e0aa71ab1e23f83efe06222..7a438ba1adbf73e4f366feb731c9046c9ac0a779 100644 (file)
@@ -350,11 +350,6 @@ Urgency
   };
 };
 
-Changelogs
-{
-  Export "/srv/security-master.debian.org/export/changelogs";
-}
-
 Generate-Releases
 {
   MD5Sum
index 85ff4a39aa5f7da45a416d2a27f16b28ca713978..fc0ec404969de84bcd9788a54f3ae2609a953dc6 100644 (file)
@@ -277,7 +277,6 @@ Dir
   Root "/srv/ftp-master.debian.org/ftp/";
   Pool "/srv/ftp-master.debian.org/ftp/pool/";
   Templates "/srv/ftp-master.debian.org/dak/templates/";
-  Export "/srv/ftp-master.debian.org/export/";
   Lists "/srv/ftp-master.debian.org/database/dists/";
   Cache "/srv/ftp-master.debian.org/database/";
   Log "/srv/ftp-master.debian.org/log/";
index 40582b09034a23a58eb408448df8728e386b95ac..8a7a9f36e94b3c3c981fa6adb15e72f8f080bf83 100644 (file)
@@ -5,7 +5,6 @@ Dinstall {
 Dir {
   Log "/srv/backports-master.debian.org/log/";
   Lock "/srv/backports-master.debian.org/lock/";
-  Export "/srv/backports-master.debian.org/export/";
 };
 
 Rm {
index a2e97206ac60f2f34ab0d3ac4b8f4c320496742d..f6287a8da7337a7aea5a2dcd0eb7a85f18779fba 100644 (file)
@@ -616,12 +616,14 @@ EOF
 function changelogs() {
     log "Extracting changelogs"
     dak make-changelog -e -a ftp-master
+    [ -f ${exportdir}/changelogs/filelist.yaml ] && xz -f ${exportdir}/changelogs/filelist.yaml
     mkdir -p ${exportpublic}/changelogs
     cd ${exportpublic}/changelogs
     rsync -aHW --delete --delete-after --ignore-errors ${exportdir}/changelogs/. .
     sudo -H -u staticsync /usr/local/bin/static-update-component ftp-master.metadata.debian.org >/dev/null 2>&1 &
 
     #dak make-changelog -e -a backports
+    #[ -f /srv/backports-master.debian.org/export/changelogs/filelist.yaml ] && xz -f /srv/backports-master.debian.org/export/changelogs/filelist.yaml
     #mkdir -p /srv/backports-master.debian.org/rsync/export/changelogs
     #cd /srv/backports-master.debian.org/rsync/export/changelogs
     #rsync -aHW --delete --delete-after --ignore-errors /srv/backports-master.debian.org/export/changelogs/. .
diff --git a/dak/dakdb/update97.py b/dak/dakdb/update97.py
new file mode 100644 (file)
index 0000000..c6f7fd4
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# coding=utf8
+
+"""
+Create path entries for changelog exporting
+
+@contact: Debian FTP Master <ftpmaster@debian.org>
+@copyright: 2013 Luca Falavigna <dktrkranz@debian.org>
+@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
+
+################################################################################
+
+import psycopg2
+from daklib.dak_exceptions import DBUpdateError
+
+################################################################################
+def do_update(self):
+    """
+    Move changelogs related config values into projectb
+    """
+    print __doc__
+    try:
+        c = self.db.cursor()
+        c.execute("ALTER TABLE archive ADD COLUMN changelog text NULL")
+        c.execute("UPDATE archive SET changelog = '/srv/ftp-master.debian.org/export/changelogs' WHERE name = 'ftp-master'")
+        c.execute("UPDATE archive SET changelog = '/srv/backports-master.debian.org/export/changelogs' WHERE name = 'backports'")
+        c.execute("DELETE FROM config WHERE name = 'exportpath'")
+        c.execute("UPDATE config SET value = '97' WHERE name = 'db_revision'")
+        self.db.commit()
+
+    except psycopg2.ProgrammingError as msg:
+        self.db.rollback()
+        raise DBUpdateError('Unable to apply table-column update 97, rollback issued. Error message : %s' % (str(msg)))
index 2d52d0693a461dd071b42a30ddff8e4cb0366d6f..b904deaa5e7899b19c8118afb05cbec95d76fec7 100755 (executable)
@@ -57,7 +57,6 @@ from shutil import rmtree
 from yaml import safe_dump
 from daklib.dbconn import *
 from daklib import utils
-from daklib.config import Config
 from daklib.contents import UnpackedSource
 from daklib.regexes import re_no_epoch
 
@@ -293,7 +292,6 @@ def generate_export_filelist(clpool):
 
 def main():
     Cnf = utils.get_conf()
-    cnf = Config()
     Arguments = [('h','help','Make-Changelog::Options::Help'),
                  ('a','archive','Make-Changelog::Options::Archive','HasArg'),
                  ('s','suite','Make-Changelog::Options::Suite','HasArg'),
@@ -324,9 +322,9 @@ def main():
     session = DBConn().session()
 
     if export:
-        if cnf.exportpath:
-            archive = session.query(Archive).filter_by(archive_name=Options['Archive']).one()
-            exportpath = os.path.join(Cnf['Dir::Export'], cnf.exportpath)
+        (archive, exportpath) = session.query(Archive.archive_name, Archive.changelog). \
+                                    filter_by(archive_name=Options['Archive']).one()
+        if exportpath:
             export_files(session, archive, exportpath, progress)
             generate_export_filelist(exportpath)
         else:
index 8eb45e20fa2e3f0e432efefd57aa649d3cf0c6d9..a6a7951e806d4654534a1d65631b4cf96413fe12 100755 (executable)
@@ -133,7 +133,6 @@ class Config(object):
         """
         for field in [('db_revision',      None,       int),
                       ('defaultsuitename', 'unstable', str),
-                      ('exportpath',       '',         str),
                       ('use_extfiles',     None,       int)
                       ]:
             setattr(self, 'get_%s' % field[0], lambda s=None, x=field[0], y=field[1], z=field[2]: self.get_db_value(x, y, z))