From: Ansgar Burchardt Date: Sun, 4 Nov 2012 12:45:42 +0000 (+0100) Subject: dak/process_policy.py: Add option to copy accepted packages somewhere X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=2af1fccea2cdefc22dc0bab0540287611014abd1;p=dak.git dak/process_policy.py: Add option to copy accepted packages somewhere To sync packages accepted into the security archive to the main archive we need to grab all accepted uploads. The right time to do so is when we install them from the policy queue into the public archive, ie. in process-policy. --- diff --git a/dak/process_policy.py b/dak/process_policy.py index 8103fd0b..db459607 100755 --- a/dak/process_policy.py +++ b/dak/process_policy.py @@ -153,6 +153,26 @@ def comment_accept(upload, srcqueue, comments, transaction): dst = os.path.join(upload.target_suite.path, upload.changes.changesname) fs.copy(src, dst, mode=upload.target_suite.archive.mode) + # Copy upload to Process-Policy::CopyDir + # Used on security.d.o to sync accepted packages to ftp-master, but this + # should eventually be replaced by something else. + copydir = cnf.get('Process-Policy::CopyDir') or None + if copydir is not None: + mode = upload.target_suite.archive.mode + if upload.source is not None: + for f in [ df.poolfile for df in upload.source.srcfiles ]: + dst = os.path.join(copydir, f.basename) + fs.copy(f.fullpath, dst, mode=mode) + + for db_binary in upload.binaries: + f = db_binary.poolfile + dst = os.path.join(copydir, f.basename) + fs.copy(f.fullpath, dst, mode=mode) + + src = os.path.join(upload.policy_queue.path, upload.changes.changesname) + dst = os.path.join(copydir, upload.changes.changesname) + fs.copy(src, dst, mode=mode) + if upload.source is not None and not Options['No-Action']: urgency = upload.changes.urgency if urgency not in cnf.value_list('Urgency::Valid'):