"""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:
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
"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