1 """
2 Add accept_{source,binary}_uploads to suite
3
4 @contact: Debian FTP Master <ftpmaster@debian.org>
5 @copyright: 2016, Ansgar Burchardt <ansgar@debian.org>
6 @license: GNU General Public License version 2 or later
7 """
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import psycopg2
26 from daklib.dak_exceptions import DBUpdateError
27 from daklib.config import Config
28
29 statements = [
30 """
31 ALTER TABLE suite
32 ADD COLUMN accept_source_uploads BOOLEAN DEFAULT TRUE,
33 ADD COLUMN accept_binary_uploads BOOLEAN DEFAULT TRUE
34 """,
35 """
36 UPDATE suite
37 SET accept_source_uploads = FALSE, accept_binary_uploads = FALSE
38 WHERE id IN (SELECT suite_id FROM policy_queue)
39 OR id IN (SELECT suite_id FROM build_queue)
40 OR id IN (SELECT debugsuite_id FROM suite)
41 """
42 ]
43
44
45
46
48 print(__doc__)
49 try:
50 cnf = Config()
51
52 c = self.db.cursor()
53
54 for stmt in statements:
55 c.execute(stmt)
56
57 c.execute("UPDATE config SET value = '113' WHERE name = 'db_revision'")
58 self.db.commit()
59
60 except psycopg2.ProgrammingError as msg:
61 self.db.rollback()
62 raise DBUpdateError('Unable to apply sick update 113, rollback issued. Error message: {0}'.format(msg))
63