python-IPy "major" upgrade

Matt Domsch Matt_Domsch at dell.com
Sun Jan 10 21:24:08 UTC 2010


Kevin Fenzi's source tarball audit made me realize there was a newer
python IPy version available.  This version claims to be a major
version bump.

Version 0.70 (2009-10-29)
	* New "major" version because it may break compatibility
	* Fix __cmp__(): IP('0.0.0.0/0') and IP('0.0.0.0') are not equal
	* Fix IP.net() of the network "::/0": "::" instead of "0.0.0.0".
	  IPy 0.63 should fix this bug, but it wasn't.

I doubt we have packages that rely upon the errant behavior, but
wanted to let you know in case you did.

I'll update to this in rawhide and EL branches.  If you really need
this fix in older branches let me know.


@@ -684,6 +684,9 @@ class IPint:
                 return -1
             elif self.ip > other.ip:
                 return 1
+            elif self._ipversion != other._ipversion:
+                # IP('0.0.0.0'), IP('::/0')
+                return cmp(self._ipversion, other._ipversion)
             else:
                 return 0
 
@@ -719,7 +722,7 @@ class IP(IPint):
         >>> IP('10.0.0.0/8').net()
         IP('10.0.0.0')
         """
-        return IP(IPint.net(self))
+        return IP(IPint.net(self), ipversion=self._ipversion)
 
     def broadcast(self):
         """Return the broadcast (last) address of a network as an IP object.


Thanks,
Matt

-- 
Matt Domsch
Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux


More information about the devel mailing list