#!/usr/bin/env python
+# vim:set et ts=4 sw=4:
# Handles NEW and BYHAND packages
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 James Troup <james@nocrew.org>
# Version and file overwrite checks
if files[f]["type"] == "deb":
- reject(Upload.check_binary_against_db(f))
+ reject(Upload.check_binary_against_db(f), "")
elif files[f]["type"] == "dsc":
- reject(Upload.check_source_against_db(f))
+ reject(Upload.check_source_against_db(f), "")
(reject_msg, is_in_incoming) = Upload.check_dsc_against_db(f)
reject(reject_msg, "")
for entry in entries:
# read the .dak
u = queue.Upload(Cnf)
- u.pkg.changes_file = entry
+ u.pkg.changes_file = os.path.join(qdir, entry)
u.update_vars()
- if not Upload.pkg.changes["architecture"].has_key("source"):
+ if not u.pkg.changes["architecture"].has_key("source"):
# another binary upload, ignore
continue
if Upload.pkg.changes["version"] != u.pkg.changes["version"]:
move_to_dir(queue_dir)
os.unlink(Upload.pkg.changes_file[:-8]+".dak")
-def do_accept_stableupdate(suite, q):
+def _accept():
+ if Options["No-Action"]:
+ return
(summary, short_summary) = Upload.build_summaries()
+ Upload.accept(summary, short_summary)
+ os.unlink(Upload.pkg.changes_file[:-8]+".dak")
+
+def do_accept_stableupdate(suite, q):
queue_dir = Cnf["Dir::Queue::%s" % (q,)]
if not Upload.pkg.changes["architecture"].has_key("source"):
# It is not a sourceful upload. So its source may be either in p-u
# holding, in new, in accepted or already installed.
if is_source_in_queue_dir(queue_dir):
# It's in p-u holding, so move it there.
+ print "Binary-only upload, source in %s." % (q,)
move_to_holding(suite, queue_dir)
- elif is_source_in_queue_dir(Cnf["Dir::Queue::New"]):
- # It's in NEW. We expect the source to land in p-u holding
- # pretty soon.
- move_to_holding(suite, queue_dir)
- elif is_source_in_queue_dir(Cnf["Dir::Queue::Accepted"]):
- # The source is in accepted, the binary cleared NEW: accept it.
- Upload.accept(summary, short_summary)
- os.unlink(Upload.pkg.changes_file[:-8]+".dak")
elif Upload.source_exists(Upload.pkg.changes["source"],
Upload.pkg.changes["version"]):
# dak tells us that there is source available. At time of
# writing this means that it is installed, so put it into
# accepted.
- Upload.accept(summary, short_summary)
- os.unlink(Upload.pkg.changes_file[:-8]+".dak")
+ print "Binary-only upload, source installed."
+ _accept()
+ elif is_source_in_queue_dir(Cnf["Dir::Queue::Accepted"]):
+ # The source is in accepted, the binary cleared NEW: accept it.
+ print "Binary-only upload, source in accepted."
+ _accept()
+ elif is_source_in_queue_dir(Cnf["Dir::Queue::New"]):
+ # It's in NEW. We expect the source to land in p-u holding
+ # pretty soon.
+ print "Binary-only upload, source in new."
+ move_to_holding(suite, queue_dir)
+ else:
+ # No case applicable. Bail out. Return will cause the upload
+ # to be skipped.
+ print "ERROR"
+ print "Stable update failed. Source not found."
+ return
else:
# We are handling a sourceful upload. Move to accepted if currently
# in p-u holding and to p-u holding otherwise.
if is_source_in_queue_dir(queue_dir):
- Upload.accept(summary, short_summary)
- os.unlink(Upload.pkg.changes_file[:-8]+".dak")
+ print "Sourceful upload in %s, accepting." % (q,)
+ _accept()
else:
move_to_holding(suite, queue_dir)
continue
return do_accept_stableupdate(suite, q)
# Just a normal upload, accept it...
- Upload.accept(summary, short_summary)
- os.unlink(Upload.pkg.changes_file[:-8]+".dak")
+ _accept()
finally:
if not Options["No-Action"]:
os.unlink(Cnf["Process-New::AcceptedLockFile"])