提交 dfe9275c 编写于 作者: M Mark Hymers

deal with orig's we have in the DB which are references in the changes file...

deal with orig's we have in the DB which are references in the changes file but not there (e.g. security uploads)
Signed-off-by: NMark Hymers <mhy@debian.org>
上级 0933fbc6
...@@ -288,6 +288,8 @@ class Upload(object): ...@@ -288,6 +288,8 @@ class Upload(object):
self.warnings = [] self.warnings = []
self.notes = [] self.notes = []
self.later_check_files = []
self.pkg.reset() self.pkg.reset()
def package_info(self): def package_info(self):
...@@ -820,8 +822,7 @@ class Upload(object): ...@@ -820,8 +822,7 @@ class Upload(object):
for f in file_keys: for f in file_keys:
ret = holding.copy_to_holding(f) ret = holding.copy_to_holding(f)
if ret is not None: if ret is not None:
# XXX: Should we bail out here or try and continue? self.warnings.append('Could not copy %s to holding; will attempt to find in DB later' % f)
self.rejects.append(ret)
os.chdir(cwd) os.chdir(cwd)
...@@ -863,7 +864,9 @@ class Upload(object): ...@@ -863,7 +864,9 @@ class Upload(object):
if os.path.exists(f): if os.path.exists(f):
self.rejects.append("Can't read `%s'. [permission denied]" % (f)) self.rejects.append("Can't read `%s'. [permission denied]" % (f))
else: else:
self.rejects.append("Can't read `%s'. [file not found]" % (f)) # Don't directly reject, mark to check later to deal with orig's
# we can find in the pool
self.later_check_files.append(f)
entry["type"] = "unreadable" entry["type"] = "unreadable"
continue continue
...@@ -1008,6 +1011,10 @@ class Upload(object): ...@@ -1008,6 +1011,10 @@ class Upload(object):
self.check_dsc_against_db(dsc_filename, session) self.check_dsc_against_db(dsc_filename, session)
session.close() session.close()
# Finally, check if we're missing any files
for f in self.later_check_files:
self.rejects.append("Could not find file %s references in changes" % f)
return True return True
########################################################################### ###########################################################################
...@@ -2439,6 +2446,13 @@ distribution.""" ...@@ -2439,6 +2446,13 @@ distribution."""
orig_files[dsc_name]["path"] = os.path.join(i.location.path, i.filename) orig_files[dsc_name]["path"] = os.path.join(i.location.path, i.filename)
match = 1 match = 1
# Don't bitch that we couldn't find this file later
try:
self.later_check_files.remove(dsc_name)
except ValueError:
pass
if not match: if not match:
self.rejects.append("can not overwrite existing copy of '%s' already in the archive." % (dsc_name)) self.rejects.append("can not overwrite existing copy of '%s' already in the archive." % (dsc_name))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册