Commit 19f91b4d authored by Chris Lamb's avatar Chris Lamb 💬

Port new_security_install to DBConn and friends.

Signed-off-by: Chris Lamb's avatarChris Lamb <lamby@debian.org>
parent 852b95bd
......@@ -25,7 +25,7 @@ import apt_pkg, os, sys, pwd, time, commands
from daklib import queue
from daklib import daklog
from daklib import utils
from daklib import database
from daklib.dbconn import DBConn, get_or_set_queue, get_suite_architectures
from daklib.regexes import re_taint_free
Cnf = None
......@@ -387,7 +387,7 @@ def generate_advisory(template):
ver, suite)
adv += "%s\n%s\n\n" % (suite_header, "-"*len(suite_header))
arches = database.get_suite_architectures(suite)
arches = [x.arch_name for x in get_suite_architectures(suite)]
if "source" in arches:
arches.remove("source")
if "all" in arches:
......@@ -492,9 +492,11 @@ def _do_Disembargo():
if os.getcwd() != Cnf["Dir::Queue::Embargoed"].rstrip("/"):
utils.fubar("Can only disembargo from %s" % Cnf["Dir::Queue::Embargoed"])
session = DBConn().session()
dest = Cnf["Dir::Queue::Unembargoed"]
emb_q = database.get_or_set_queue_id("embargoed")
une_q = database.get_or_set_queue_id("unembargoed")
emb_q = get_or_set_queue("embargoed", session)
une_q = get_or_set_queue("unembargoed", session)
for c in changes:
print "Disembargoing %s" % (c)
......@@ -505,7 +507,8 @@ def _do_Disembargo():
if "source" in Upload.pkg.changes["architecture"].keys():
print "Adding %s %s to disembargo table" % (Upload.pkg.changes["source"], Upload.pkg.changes["version"])
Upload.projectB.query("INSERT INTO disembargo (package, version) VALUES ('%s', '%s')" % (Upload.pkg.changes["source"], Upload.pkg.changes["version"]))
session.execute("INSERT INTO disembargo (package, version) VALUES (:package, :version)",
{'package': Upload.pkg.changes["source"], 'version': Upload.pkg.changes["version"]})
files = {}
for suite in Upload.pkg.changes["distribution"].keys():
......@@ -518,10 +521,10 @@ def _do_Disembargo():
files[os.path.join(dest_dir, file)] = 1
files = files.keys()
Upload.projectB.query("BEGIN WORK")
for f in files:
Upload.projectB.query("UPDATE queue_build SET queue = %s WHERE filename = '%s' AND queue = %s" % (une_q, f, emb_q))
Upload.projectB.query("COMMIT WORK")
session.execute("UPDATE queue_build SET queue = :unembargoed WHERE filename = :filename AND queue = :embargoed",
{'unembargoed': une_q.queue_id, 'filename': f, 'embargoed': emb_q.queue_id})
session.commit()
for file in Upload.pkg.files.keys():
utils.copy(file, os.path.join(dest, file))
......@@ -534,9 +537,14 @@ def _do_Disembargo():
utils.copy(k, os.path.join(dest, k))
os.unlink(k)
session.commit()
def do_Reject(): sudo("R", _do_Reject, True)
def _do_Reject():
global changes
session = DBConn().session()
for c in changes:
print "Rejecting %s..." % (c)
Upload.init_vars()
......@@ -558,8 +566,8 @@ def _do_Reject():
if not aborted:
os.unlink(c[:-8]+".dak")
for f in files:
Upload.projectB.query(
"DELETE FROM queue_build WHERE filename = '%s'" % (f))
session.execute("DELETE FROM queue_build WHERE filename = :filename",
{'filename': f})
os.unlink(f)
print "Updating buildd information..."
......@@ -569,6 +577,8 @@ def _do_Reject():
if os.path.exists(adv_file):
os.unlink(adv_file)
session.commit()
def do_DropAdvisory():
for c in changes:
Upload.init_vars()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment