Bug 923831

Summary: Review Request: python-ipaddress - Port of the python 3.3+ ipaddress module to 2.6 and 2.7
Product: [Fedora] Fedora Reporter: Matt Domsch <matt_domsch>
Component: Package ReviewAssignee: Sergio Pascual <sergio.pasra>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: matt_domsch, package-review, sergio.pasra, volker27
Target Milestone: ---Flags: sergio.pasra: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-24 13:14:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matt Domsch 2013-03-20 14:40:59 UTC
Spec URL: http://domsch.com/linux/fedora/python-ipaddress/python-ipaddress.spec
SRPM URL: http://domsch.com/linux/fedora/python-ipaddress/python-ipaddress-1.0.3-1.fc18.src.rpm
Description: ipaddress provides the capabilities to create, manipulate and operate
on IPv4 and IPv6 addresses and networks.

The functions and classes in this module make it straightforward to
handle various tasks related to IP addresses, including checking
whether or not two hosts are on the same subnet, iterating over all
hosts in a particular subnet, checking whether or not a string
represents a valid IP address or network definition, and so on.

Fedora Account System Username: mdomsch

rpmlint output (all ignorable; there's no documentation or license file included):
python-ipaddress.src: W: spelling-error %description -l en_US subnet -> subset, sublet, sub net
python-ipaddress.noarch: W: spelling-error %description -l en_US subnet -> subset, sublet, sub net
python-ipaddress.noarch: W: no-documentation
2 packages and 1 specfiles checked; 0 errors, 3 warnings.

Comment 1 Volker Fröhlich 2013-05-03 09:55:07 UTC
I'm unsure about the license being "Python".

The header states:

"""
#  Licensed to PSF under a Contributor Agreement.
"""

Looking at http://www.python.org/psf/contrib/contrib-form/, it seems like that doesn't clearly specify a license.

Comment 2 Volker Fröhlich 2013-05-03 10:07:08 UTC
Cosmetics:

I suggest to use the version macro in Source0.

Defining python_sitelib is no longer necessary. Neither is rm -rf $RPM_BUILD_ROOT in the install section.

The files section could be slightly more specific.

I think you should BR python2-devel.

Comment 3 Volker Fröhlich 2013-05-03 10:39:37 UTC
http://docs.python.org/dev/library/ipaddress

>>> import ipaddress
>>> ipaddress.ip_address('192.168.0.1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/ipaddress.py", line 105, in ip_address
    address)
ValueError: '192.168.0.1' does not appear to be an IPv4 or IPv6 address

Comment 4 Sergio Pascual 2014-01-15 09:51:10 UTC
(In reply to Volker Fröhlich from comment #3)
> http://docs.python.org/dev/library/ipaddress
> 
> >>> import ipaddress
> >>> ipaddress.ip_address('192.168.0.1')
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib/python2.7/site-packages/ipaddress.py", line 105, in
> ip_address
>     address)
> ValueError: '192.168.0.1' does not appear to be an IPv4 or IPv6 address

Try this instead

>>> import ipaddress
>>> ipaddress.ip_address(u'192.168.0.1')
IPv4Address(u'192.168.0.1')

the module expects unicode

Comment 5 Sergio Pascual 2014-01-16 15:56:19 UTC
It seems that the upstream tarball is broken. The README file inside is missing (broken) link. There is no license information (notice that this code was originally under Apache License, e.g. https://code.google.com/p/ipaddress-py/source/browse/ipaddress.py)

Could you ask upstream to make a new release and provide license information?

Comment 6 Sergio Pascual 2014-11-24 00:51:14 UTC
Hi, are you still interested in this? Most of the problems (README, LICENSE) have been fixed upstream already

Comment 7 Matt Domsch 2014-11-24 13:14:43 UTC
I honestly have no recollection of building this package and why I would have done so.  I expect I was looking at replacing IPy which is used in MirrorManager, and which is very lightly maintained, with a python 3.x standard library module for the same functionality.  This package is the backport of that standard library module to python 2.6 and 2.7.

Given we are now working on MirrorManger v2 (and by 'we', I mean various contributors) and meeting for FAD in Raleigh next week, I don't intend to maintain MM v1 anymore, thus my need for IPy goes away too.

If someone else needs this, they're welcome to take it on.  I'll close the review for now.

Thank you Sergio and Volker for your effort here.