[dak/master] daklib/checks.py, daklib/utils.py: check for source files
Reintroduce the check that all source files for the used format are
actually included.
---
daklib/checks.py | 6 +++++-
daklib/utils.py | 11 ++---------
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/daklib/checks.py b/daklib/checks.py
index 06626fd..6091bc7 100644
--- a/daklib/checks.py
+++ b/daklib/checks.py
@@ -338,7 +338,11 @@ class SourceCheck(Check):
except Exception as e:
raise Reject('{0}: APT could not parse {1} field: {2}'.format(dsc_fn, field, e))
- # TODO: check all expected files for given source format are included
+ rejects = utils.check_dsc_files(dsc_fn, control, source.files.keys())
+ if len(rejects) > 0:
+ raise Reject("\n".join(rejects))
+
+ return True
class SingleDistributionCheck(Check):
"""Check that the .changes targets only a single distribution."""
diff --git a/daklib/utils.py b/daklib/utils.py
index 25549f0..7b73df1 100644
--- a/daklib/utils.py
+++ b/daklib/utils.py
@@ -368,7 +368,7 @@ def check_size(where, files):
################################################################################
-def check_dsc_files(dsc_filename, dsc=None, dsc_files=None):
+def check_dsc_files(dsc_filename, dsc, dsc_files):
"""
Verify that the files listed in the Files field of the .dsc are
those expected given the announced Format.
@@ -387,13 +387,6 @@ def check_dsc_files(dsc_filename, dsc=None, dsc_files=None):
"""
rejmsg = []
- # Parse the file if needed
- if dsc is None:
- dsc = parse_changes(dsc_filename, signing_rules=1, dsc_file=1);
-
- if dsc_files is None:
- dsc_files = build_file_list(dsc, is_a_dsc=1)
-
# Ensure .dsc lists proper set of source files according to the format
# announced
has = defaultdict(lambda: 0)
@@ -408,7 +401,7 @@ def check_dsc_files(dsc_filename, dsc=None, dsc_files=None):
(r'orig-.+\.tar\.(gz|bz2|xz)', ('more_orig_tar',)),
)
- for f in dsc_files.keys():
+ for f in dsc_files:
m = re_issource.match(f)
if not m:
rejmsg.append("%s: %s in Files field not recognised as source."
--
1.7.2.5
Reply to: