if Options["Help"]:
usage()
- Upload = daklib.queue.Queue(Cnf)
+ Upload = daklib.queue.Upload(Cnf)
changes = Upload.pkg.changes
dsc = Upload.pkg.dsc
# 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))
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):
# 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
# 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:
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"]:
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":
################################################################################
+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"):