From: Joerg Jaspert Date: Mon, 21 Dec 2009 21:48:35 +0000 (+0100) Subject: force_reject fixup X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48b54c2373b0ef0b94cad4abba7ffb532bb1ce21;p=dak force_reject fixup no longer try to rampage through a morgue/ directory, it has no business there. Instead just claim the next name in the reject/ subdir of queue/ Signed-off-by: Joerg Jaspert --- diff --git a/daklib/queue.py b/daklib/queue.py index a13c0416..d3119c06 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -2078,17 +2078,17 @@ distribution.""" try: dest_fd = os.open(dest_file, os.O_RDWR | os.O_CREAT | os.O_EXCL, 0644) except OSError, e: - # File exists? Let's try and move it to the morgue + # File exists? Let's find a new name by adding a number if e.errno == errno.EEXIST: - morgue_file = os.path.join(cnf["Dir::Morgue"], cnf["Dir::MorgueReject"], file_entry) try: - morgue_file = utils.find_next_free(morgue_file) + dest_file = utils.find_next_free(morgue_file, 255) except NoFreeFilenameError: # Something's either gone badly Pete Tong, or # someone is trying to exploit us. - utils.warn("**WARNING** failed to move %s from the reject directory to the morgue." % (file_entry)) + utils.warn("**WARNING** failed to find a free filename for %s in %s." % (file_entry, cnf["Fir::Queue::Reject"])) return - utils.move(dest_file, morgue_file, perms=0660) + + # Make sure we really got it try: dest_fd = os.open(dest_file, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0644) except OSError, e: