from daklib.textutils import fix_maintainer, ParseMaintError
import daklib.lintian as lintian
import daklib.utils as utils
+from daklib.upload import InvalidHashException
import apt_inst
import apt_pkg
for f in changes.files.itervalues():
f.check(upload.directory)
source = changes.source
- what = source.filename
if source is not None:
+ what = source.filename
for f in source.files.itervalues():
f.check(upload.directory)
except IOError as e:
'Perhaps you need to include it in your upload?'
.format(what, os.path.basename(e.filename)))
raise
+ except InvalidHashException as e:
+ raise Reject('{0}: {1}'.format(what, unicode(e)))
class ExternalHashesCheck(Check):
"""Checks hashes in .changes and .dsc against an external database."""
# XXX: Drop DMUA part here and switch to new implementation.
# XXX: Send warning mail once users can set the new DMUA flag
dmua_status, dmua_reason = self._check_dmua(upload)
- if not dmua_status:
- return False, dmua_reason
+ if acl_per_source is None:
+ if not dmua_status:
+ return False, dmua_reason
+ else:
+ upload.warn('DM flag not set, but accepted as DMUA was set.')
#if acl_per_source is None:
# return False, "not allowed to upload source package '{0}'".format(source_name)
if acl.deny_per_source and acl_per_source is not None: