sys.stdout.write("[Deleting from source table... ")
projectB.query("DELETE FROM dsc_files WHERE EXISTS (SELECT 1 FROM source s, files f, dsc_files df WHERE f.last_used <= '%s' AND s.file = f.id AND s.id = df.source AND df.id = dsc_files.id)"%(delete_date))
projectB.query("DELETE FROM src_uploaders WHERE EXISTS (SELECT 1 FROM source s, files f WHERE f.last_used <= '%s' AND s.file = f.id AND s.id = src_uploaders.source)"%(delete_date))
projectB.query("DELETE FROM source WHERE EXISTS (SELECT 1 FROM files WHERE source.file = files.id AND files.last_used <= '%s')"%(delete_date))
q=Upload.projectB.query("SELECT s.id FROM source s JOIN src_associations sa ON (s.id = sa.source) WHERE s.source = '%s' AND sa.suite = %d"%(changes["source"],suite_id))
reject("%s may not upload/NMU source package %s"%(uid,changes["source"]))
forbinchanges["binary"].keys():
forsuiteinchanges["distribution"].keys():
suite_id=daklib.database.get_suite_id(suite)
q=Upload.projectB.query("SELECT DISTINCT s.source FROM source s JOIN binaries b ON (s.id = b.source) JOIN bin_associations ba On (b.id = ba.bin) WHERE b.package = '%s' AND ba.suite = %s"%(b,suite_id))
forsinq.getresult():
ifs[0]!=changes["source"]:
reject("%s may not hijack %s from source package %s in suite %s"%(uid,b,s,suite))
forfileinfiles.keys():
iffiles[file].has_key("byhand"):
reject("%s may not upload BYHAND file %s"%(uid,file))
iffiles[file].has_key("new"):
reject("%s may not upload NEW file %s"%(uid,file))
# The remaining checks only apply to binary-only uploads right now
echo"SELECT U.name, U.uid FROM fingerprint F JOIN uid U ON (F.uid = U.id) WHERE F.fingerprint = '$1';" |
psql projectb -At |
sed's/|\(.*\)/ <\1@debian.org>/'
}
is_allowed (){
echo"SELECT M.name from src_uploaders U join source S on (U.source = S.id) join maintainer M on (U.maintainer = M.id) WHERE S.source = 'debian-maintainers';" |