The py3dns project has moved to Launchpad; this is mentioned on the old sourceforge page: http://sourceforge.net/projects/pydns/files/py3dns/ It looks like we've missed a few versions as a result. There's a bugfix I'd like to have for pypolicyd-spf, see, https://bugs.launchpad.net/pypolicyd-spf/+bug/1184102 As mentioned below, the library now uses the ipaddress module. If we want to require python >= 3.3, we don't have to do anything. But to keep supporting python-3.2, a conditional dep on dev-python/ipaddr is needed. See dev-lang/pyspf-2.0.9 for an example. Here are the full changes from the version in the tree: 3.1.0 Thu Apr 24 23:52:00 EDT 2014 * Raise DNSError when no nameservers have been found by the time a Base.DNSRequest object is initialized * Add new DNS.DnsRequest.qry function to supercede DNS.DnsRequest.req to allow for non-backward compatible changes to be made in .qry while maintaining full backward compatibility with 3.0.3 and later in the 3.0 series in .req * Add options for 'resulttype' to DnsResult.qry to allow for binary, integer, or text data to be returned for IP addresses * The default result type for IPv4 and IPv6 addresses in DNS.DnsRequest.qry is an ipaddress object * The ipaddress module is used internally. This is included in python3.3 and the ipaddr-py module from https://code.google.com/p/ipaddr-py/ can be used with python3.2 * New unittest based test suite - thanks to Diane Trout 3.0.4 Wed Aug 7 02:25:00 EDT 2013 * Fix timeouts associated with only one of several available nameservers being unavailable(LP: #1209071): - Only raise timeout error after trying all available servers - Stop lookups once an answer is gotten * Removed unmaintained spec files 3.0.3 Wed May 29 00:05:00 EDT 2013 * Revert returning IPv6 addresses from AAAA lookups as string. Causing incompatiblities that are deeply annoying to fix on the other end.
Created attachment 376678 [details] Ebuild for python >= 3.3
Patch from https://bugs.launchpad.net/py3dns/+bug/1319611 is needed for compatibility with Python <3.3.
Michael: Please fee free to commit your changes. If you would like to include Arfrever's patch, that would be cool too.
I just committed the version that I've tested, but subscribed to the upstream bug with the patch. If they ACK it, I'd be happy to add the python-3.2 support. Or, Arfrever, if you need the 3.2 support feel free to add it: you can check pyspf-2.0.9 for the ipaddr conditional dep.
*pydns-3.1.0 (15 May 2014) 15 May 2014; Michael Orlitzky <mjo@gentoo.org> +pydns-3.1.0.ebuild: Version bump with permission from floppym, bug #510008.