[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][ftp-team/dak][master] 2 commits: Stop requiring a Binary field in .changes files in the database



Title: GitLab

Joerg Jaspert pushed to branch master at Debian FTP Team / dak

Commits:

1 changed file:

Changes:

  • dak/dakdb/update121.py
    1
    +#!/usr/bin/env python
    
    2
    +# coding=utf8
    
    3
    +
    
    4
    +"""
    
    5
    +Update changes table to not require a value for the Binary column
    
    6
    +
    
    7
    +@contact: Debian FTP Master <ftpmaster@debian.org>
    
    8
    +@copyright: 2018, Guillem Jover <guillem@debian.org>
    
    9
    +@license: GNU General Public License version 2 or later
    
    10
    +"""
    
    11
    +
    
    12
    +# This program is free software; you can redistribute it and/or modify
    
    13
    +# it under the terms of the GNU General Public License as published by
    
    14
    +# the Free Software Foundation; either version 2 of the License, or
    
    15
    +# (at your option) any later version.
    
    16
    +
    
    17
    +# This program is distributed in the hope that it will be useful,
    
    18
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    19
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    20
    +# GNU General Public License for more details.
    
    21
    +
    
    22
    +# You should have received a copy of the GNU General Public License
    
    23
    +# along with this program; if not, write to the Free Software
    
    24
    +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    25
    +
    
    26
    +################################################################################
    
    27
    +
    
    28
    +from __future__ import print_function
    
    29
    +
    
    30
    +import psycopg2
    
    31
    +from daklib.dak_exceptions import DBUpdateError
    
    32
    +from daklib.config import Config
    
    33
    +
    
    34
    +################################################################################
    
    35
    +
    
    36
    +
    
    37
    +def do_update(self):
    
    38
    +    """
    
    39
    +    Update changes table to not require a value for the Binary column, as it
    
    40
    +    can be missing on source-only uploads since dpkg 1.19.3.
    
    41
    +    """
    
    42
    +    print(__doc__)
    
    43
    +    try:
    
    44
    +        c = self.db.cursor()
    
    45
    +
    
    46
    +        c.execute("""
    
    47
    +          ALTER TABLE changes
    
    48
    +            ALTER COLUMN binaries DROP NOT NULL
    
    49
    +        """)
    
    50
    +
    
    51
    +        c.execute("UPDATE config SET value = '121' WHERE name = 'db_revision'")
    
    52
    +        self.db.commit()
    
    53
    +
    
    54
    +    except psycopg2.ProgrammingError as msg:
    
    55
    +        self.db.rollback()
    
    56
    +        raise DBUpdateError('Unable to apply sick update 121, rollback issued. Error message : %s' % (str(msg)))


  • Reply to: