See attached patch making the dpkg-mergechangelogs only tolerate bad versions, leaving the existing strict handling in Dpkg::Version.
I'm a little rusty on perl, but happy to change or update things as requested. I assume the change in general is acceptable as it looks like the code currently tries to do something like this but doesn't quite get it right. Notes on the patch: * Moves construction of Dpkg::Version objects upwards into the main merge loop rather than inside the compare. This prevents over-warning about the same invalid versions and actually gets a (just barely) measurable speedup. * I'm unconvinced by the current compare logic when one version is undefined, but have left it as it was preexisting (but inactive). Always returning 0 seems more suitable as that then does no reordering. * The added test is very simplistic currently, if there are particular things we worry about with how the merge should be handled it could be elaborated. Should I example.com out the data? It's just copied from the original bug report currently.
mergechangelogs_tolerate_bad_versions.patch
Description: Binary data