[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Allow packages not ending in -dbgsym in the debug section



---
 daklib/checks.py | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/daklib/checks.py b/daklib/checks.py
index 8604026..5a167ef 100644
--- a/daklib/checks.py
+++ b/daklib/checks.py
@@ -287,7 +287,6 @@ class BinaryCheck(Check):
     """Check binary packages for syntax errors."""
     def check(self, upload):
         debug_deb_name_postfix = "-dbgsym"
-        debug_deb_section = "debug"
         # XXX: Handle dynamic debug section name here
 
         for binary in upload.changes.binaries:
@@ -297,14 +296,17 @@ class BinaryCheck(Check):
                         for binary in upload.changes.binaries}
 
         for name, binary in binaries.items():
-            if binary.section == debug_deb_section:
-                # If we have a Binary package in the Debug section, we
+            if name in upload.changes.binary_names:
+                # Package is listed in Binary field. Everything is good.
+                pass
+            elif daklib.utils.is_in_debug_section(binary.control):
+                # If we have a binary package in the debug section, we
                 # can allow it to not be present in the Binary field
                 # in the .changes file, so long as its name (without
                 # -dbgsym) is present in the Binary list.
                 if not name.endswith(debug_deb_name_postfix):
-                    raise Reject('Package {0} is in the Debug section, but '
-                                 'does not end in -dbgsym.'.format(name))
+                    raise Reject('Package {0} is in the debug section, but '
+                                 'does not end in {1}.'.format(name, debug_deb_name_postfix))
 
                 # Right, so, it's named properly, let's check that
                 # the corresponding package is in the Binary list
@@ -314,15 +316,10 @@ class BinaryCheck(Check):
                         "Debug package {debug}'s corresponding binary package "
                         "{origin} is not present in the Binary field.".format(
                             debug=name, origin=origin_package_name))
-
-                # So, now we're sure the package is named correctly, and
-                # we have the other package. Lets let this slide through.
-                continue
-
-            if name not in upload.changes.binary_names:
+            else:
                 # Someone was a nasty little hacker and put a package
                 # into the .changes that isn't in debian/control. Bad,
-                # Bad hacker.
+                # bad person.
                 raise Reject('Package {0} is not mentioned in Binary field in changes'.format(name))
 
         return True
-- 
2.1.4


Reply to: