from daklib.queue import *
from daklib import daklog
from daklib import utils
-from daklib.regexes import re_no_epoch, re_default_answer, re_isanum
+from daklib.regexes import re_no_epoch, re_default_answer, re_isanum, re_package
from daklib.dak_exceptions import CantOpenError, AlreadyLockedError, CantGetLockError
from daklib.summarystats import SummaryStats
from daklib.config import Config
if answer == 'R':
upload.do_reject(manual=0, reject_message='\n'.join(upload.rejects))
- os.unlink(upload.pkg.changes_file[:-8]+".dak")
return 0
elif answer == 'S':
return 0
for filename in changes_files:
u = Upload()
try:
- u.pkg.load_dot_dak(filename)
+ u.pkg.changes_file = filename
+ u.load_changes(filename)
u.update_subst()
cache[filename] = copy.copy(u.pkg.changes)
cache[filename]["filename"] = filename
note=get_new_comments(changes.get("source", ""), session=session))
if not aborted:
Logger.log(["NEW REJECT: %s" % (upload.pkg.changes_file)])
- os.unlink(upload.pkg.changes_file[:-8]+".dak")
done = 1
elif answer == 'N':
edit_note(get_new_comments(changes.get("source", ""), session=session),
elif answer == 'M':
Logger.log(["BYHAND REJECT: %s" % (upload.pkg.changes_file)])
upload.do_reject(manual=1, reject_message=Options["Manual-Reject"])
- os.unlink(upload.pkg.changes_file[:-8]+".dak")
done = 1
elif answer == 'S':
done = 1
new_queue = get_policy_queue('new', session );
u = Upload()
u.pkg.changes_file = changes_file
+ (u.pkg.changes["fingerprint"], rejects) = utils.check_signature(changes_file)
u.load_changes(changes_file)
u.pkg.directory = new_queue.path
+ u.update_subst()
u.logger = Logger
origchanges = os.path.abspath(u.pkg.changes_file)
u.Subst["__BCC__"] = bcc
files = u.pkg.files
+ for deb_filename, f in files.items():
+ package = re_package.sub(r'\1', deb_filename)
+ files[deb_filename]["package"] = package
+
+ if deb_filename.endswith(".udeb"):
+ files[deb_filename]["dbtype"] = "udeb"
+ elif deb_filename.endswith(".deb"):
+ files[deb_filename]["dbtype"] = "deb"
+ else:
+ m = re_issource.match(deb_filename)
+ if not m:
+ continue
+ files[deb_filename]["package"] = m.group(1)
+ files[deb_filename]["version"] = m.group(2)
+ files[deb_filename]["type"] = m.group(3)
+
+ files[deb_filename]["type"] = get_type(f, session)
+ entry = files[deb_filename]
+
+ # Version and file overwrite checks
+ if entry["type"] == "deb":
+ u.check_binary_against_db(deb_filename, session)
+ elif entry["type"] == "dsc":
+ u.check_source_against_db(deb_filename, session)
+ u.check_dsc_against_db(dsc_filename, session)
try:
with lock_package(u.pkg.changes["source"]):
if not recheck(u, session):
return
- do_new(u,session)
-
+ # FIXME: This does need byhand checks added!
+ print "files is %s" % (u.pkg.files)
+ print "changes is %s" % (u.pkg.changes)
+ new = determine_new(u.pkg.changes, files)
+ if new:
+ do_new(u, session)
+ else:
+ do_accept(u)
# (new, byhand) = check_status(files)
# if new or byhand:
# if new: