find_source_version_to_download: do not consider udebs
When "reverse-resolving" maybe-pinned binary packages to test to a source package to download, do not consider udeb packages (and possibly other non-deb packages) as candidate binary packages.
A concrete example where not skipping udebs causes issues is the following. Two versions of the package to test are available:
Package: linux-aws-5.15
Version: 5.15.0-1056.61~20.04.1
Package-List:
linux-aws-5.15-cloud-tools-5.15.0-1056 deb devel optional arch=amd64,arm64 profile=!stage1
linux-aws-5.15-headers-5.15.0-1056 deb devel optional arch=all profile=!stage1
linux-aws-5.15-tools-5.15.0-1056 deb devel optional arch=amd64,arm64 profile=!stage1
linux-udebs-aws udeb debian-installer optional arch=amd64,arm64 profile=!stage1+!noudeb+!cross+!autopkgtest
Package: linux-aws-5.15
Version: 5.15.0-1057.63~20.04.1
Package-List:
linux-aws-5.15-cloud-tools-5.15.0-1057 deb devel optional arch=amd64,arm64 profile=!stage1
linux-aws-5.15-headers-5.15.0-1057 deb devel optional arch=all profile=!stage1
linux-aws-5.15-tools-5.15.0-1057 deb devel optional arch=amd64,arm64 profile=!stage1
linux-udebs-aws udeb debian-installer optional arch=amd64,arm64 profile=!stage1+!noudeb+!cross+!
Given that "We only consider binaries which are shipped in all available versions" (see docstring), only the udeb remains in the intersection, but as the udeb is not really known to apt the function eventually fails to find a suitable source package. By ignoring the udeb (what this commit does) we fall into the the "same source ships non-overlapping sets of binaries" case (again: see docstring and comments), and everything works as expected.