X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=dak%2Fprocess_unchecked.py;h=1cf2234ecd2f10a4a0f6b132980e25e40f175f67;hb=021ab67920bbf31549ba7c9d1c85f14e32f5c428;hp=5b97b09e04371b683d29c6fd1e2ee4d304d2c088;hpb=e2ae71066cbb134753d7bfceb16e87d0b76dfd6e;p=dak.git diff --git a/dak/process_unchecked.py b/dak/process_unchecked.py index 5b97b09e..1cf2234e 100755 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@ -89,7 +89,7 @@ def init(): if Options["Help"]: usage() - Upload = daklib.queue.Queue(Cnf) + Upload = daklib.queue.Upload(Cnf) changes = Upload.pkg.changes dsc = Upload.pkg.dsc @@ -246,7 +246,7 @@ def check_changes(): # Check there isn't already a changes file of the same name in one # of the queue directories. base_filename = os.path.basename(filename) - for dir in [ "Accepted", "Byhand", "Done", "New" ]: + for dir in [ "Accepted", "Byhand", "Done", "New", "ProposedUpdates" ]: if os.path.exists(Cnf["Dir::Queue::%s" % (dir) ]+'/'+base_filename): reject("%s: a file with this name already exists in the %s directory." % (base_filename, dir)) @@ -395,7 +395,7 @@ def check_files(): for file in file_keys: # Ensure the file does not already exist in one of the accepted directories - for dir in [ "Accepted", "Byhand", "New" ]: + for dir in [ "Accepted", "Byhand", "New", "ProposedUpdates" ]: if os.path.exists(Cnf["Dir::Queue::%s" % (dir) ]+'/'+file): reject("%s file already exists in the %s directory." % (file, dir)) if not daklib.utils.re_taint_free.match(file): @@ -594,7 +594,7 @@ def check_files(): # Validate the component component = files[file]["component"] - component_id = database.get_component_id(component) + component_id = daklib.database.get_component_id(component) if component_id == -1: reject("file '%s' has unknown component '%s'." % (file, component)) continue @@ -609,14 +609,14 @@ def check_files(): # Determine the location location = Cnf["Dir::Pool"] - location_id = database.get_location_id (location, component, archive) + location_id = daklib.database.get_location_id (location, component, archive) if location_id == -1: reject("[INTERNAL ERROR] couldn't determine location (Component: %s, Archive: %s)" % (component, archive)) files[file]["location id"] = location_id # Check the md5sum & size against existing files (if any) files[file]["pool name"] = daklib.utils.poolify (changes["source"], files[file]["component"]) - files_id = database.get_files_id(files[file]["pool name"] + file, files[file]["size"], files[file]["md5sum"], files[file]["location id"]) + files_id = daklib.database.get_files_id(files[file]["pool name"] + file, files[file]["size"], files[file]["md5sum"], files[file]["location id"]) if files_id == -1: reject("INTERNAL ERROR, get_files_id() returned multiple matches for %s." % (file)) elif files_id == -2: @@ -1036,12 +1036,15 @@ def action (): queue_info = { "New": { "is": is_new, "process": acknowledge_new }, "Byhand" : { "is": is_byhand, "process": do_byhand }, + "StableUpdate" : { "is": is_stableupdate, "process": do_stableupdate }, "Unembargo" : { "is": is_unembargo, "process": queue_unembargo }, "Embargo" : { "is": is_embargo, "process": queue_embargo }, } queues = [ "New", "Byhand" ] if Cnf.FindB("Dinstall::SecurityQueueHandling"): queues += [ "Unembargo", "Embargo" ] + else: + queues += [ "StableUpdate" ] (prompt, answer) = ("", "XXX") if Options["No-Action"] or Options["Automatic"]: @@ -1066,7 +1069,7 @@ def action (): break if queue: print "%s for %s\n%s%s" % ( - daklib.queue.upper(), ", ".join(changes["distribution"].keys()), + queue.upper(), ", ".join(changes["distribution"].keys()), reject_message, summary), queuekey = queue[0].upper() if queuekey in "RQSA": @@ -1173,6 +1176,24 @@ def queue_embargo (summary): ################################################################################ +def is_stableupdate (): + if changes["distribution"].has_key("proposed-updates"): + return 1 + return 0 + +def do_stableupdate (summary): + print "Moving to PROPOSED-UPDATES holding area." + Logger.log(["Moving to proposed-updates", pkg.changes_file]); + + Upload.dump_vars(Cnf["Dir::Queue::ProposedUpdates"]); + move_to_dir(Cnf["Dir::Queue::ProposedUpdates"]) + + # Check for override disparities + Upload.Subst["__SUMMARY__"] = summary; + Upload.check_override(); + +################################################################################ + def is_byhand (): for file in files.keys(): if files[file].has_key("byhand"): @@ -1318,7 +1339,7 @@ def main(): Logger = Upload.Logger = daklib.logging.Logger(Cnf, "process-unchecked") # debian-{devel-,}-changes@lists.debian.org toggles writes access based on this header - bcc = "X-DAK: dak process-unchecked\nX-Katie: this header is obsolete" + bcc = "X-DAK: dak process-unchecked\nX-Katie: $Revision: 1.65 $" if Cnf.has_key("Dinstall::Bcc"): Upload.Subst["__BCC__"] = bcc + "\nBcc: %s" % (Cnf["Dinstall::Bcc"]) else: