Bug 765625 - Review Request: pymodbus - A Modbus Protocol Stack in Python
Summary: Review Request: pymodbus - A Modbus Protocol Stack in Python
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-12-08 23:26 UTC by Christian Krause
Modified: 2011-12-22 22:46 UTC (History)
5 users (show)

Fixed In Version: pymodbus-0.9.0-1.fc15
Clone Of:
Environment:
Last Closed: 2011-12-22 22:45:10 UTC
Type: ---
Embargoed:
sanjay.ankur: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Christian Krause 2011-12-08 23:26:34 UTC
Spec URL: http://chkr.fedorapeople.org/review/python-pymodbus.spec
SRPM URL: http://chkr.fedorapeople.org/review/python-pymodbus-0.9.0-1.fc16.src.rpm
Description: 
Pymodbus is a full Modbus protocol implementation using twisted for its
asynchronous communications core.

The library currently supports the following:

Client Features

    * Full read/write protocol on discrete and register
    * Most of the extended protocol (diagnostic/file/pipe/setting/information)
    * TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
    * asynchronous(powered by twisted) and synchronous versions
    * Payload builder/decoder utilities

Server Features

    * Can function as a fully implemented Modbus server
    * TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
    * asynchronous(powered by twisted) and synchronous versions
    * Full server control context (device information, counters, etc)
    * A number of backing contexts (database, redis, a slave device)

Comment 1 Jochen Schmitt 2011-12-11 19:05:56 UTC
I have got a first look on your package and have to find out, that this package depends on python-2.x.

Because our aim on Fedora is the migration to python3, I would ask to you for a python-3 compilant release of this package.

Comment 2 Ankur Sinha (FranciscoD) 2011-12-18 10:59:07 UTC
Hello: 

REVIEW:

+ OK
- NA 
X ISSUE

+ Package meets naming and packaging guidelines
^^
Since the software name is prefixed with "py", you can drop the python and just name it "pymodbus", but this is only a cosmetic issue and your choice.

+ Spec file matches base package name.
+ Spec has consistant macro usage.
+ Meets Packaging Guidelines.
+ License
+ License field in spec matches
X License file included in package
^^ 
Please request upstream to include a COPYING file. You can include a BSD license file as SOURCE1 for the time being. 

+ Spec in American English
+ Spec is legible.
+ Sources match upstream md5sum:
[ankur@ankur SOURCES]$ md5sum pymodbus-0.9.0.tar.gz ../SPECS/pymodbus-0.9.0.tar.gz
ea3f3b23a443ee80975514b40f11ece4  pymodbus-0.9.0.tar.gz
ea3f3b23a443ee80975514b40f11ece4  ../SPECS/pymodbus-0.9.0.tar.gz


- Package needs ExcludeArch
+ BuildRequires correct
- Spec handles locales/find_lang
- Package is relocatable and has a reason to be.
+ Package has %defattr and permissions on files is good.
+ Package is code or permissible content.
- Doc subpackage needed/used.
X Packages %doc files don't affect runtime.
^^
No documentation at all.

- Headers/static libs in -devel subpackage.
- Spec has needed ldconfig in post and postun
- .pc files in -devel subpackage/requires pkgconfig
- .so files in -devel subpackage.
- -devel package Requires: %{name} = %{version}-%{release}
- .la files are removed.

- Package is a GUI app and has a .desktop file

+ Package compiles and builds on at least one arch.
+ Package has no duplicate files in %files.
+ Package doesn't own any directories other packages own.
+ Package owns all the directories it creates.
+ No rpmlint output.
[ankur@ankur SRPMS]$ rpmlint  python-pymodbus-0.9.0-1.fc16.src.rpm ../RPMS/noarch/python-pymodbus-0.9.0-1.fc16.noarch.rpm ../SPECS/python-pymodbus.spec
python-pymodbus.src: W: spelling-error %description -l en_US redis -> rides, redid, reds
python-pymodbus.noarch: W: spelling-error %description -l en_US redis -> rides, redid, reds
python-pymodbus.noarch: W: no-documentation
2 packages and 1 specfiles checked; 0 errors, 3 warnings.
[ankur@ankur SRPMS]$


+ final provides and requires are sane:
(include output of for i in *rpm; do echo $i; rpm -qp --provides $i; echo =; rpm -qp --requires $i; echo;)
[ankur@ankur pymodbus]$ review-req-check
== python-pymodbus-0.9.0-1.fc16.noarch.rpm ==
Provides:
python-pymodbus = 0.9.0-1.fc16

Requires:
pyserial >= 2.4
python(abi) = 2.7
python-nose >= 0.9.3
python-twisted >= 2.5.0

== python-pymodbus-0.9.0-1.fc16.src.rpm ==
Provides:

Requires:
python2-devel
python-setuptools-devel


SHOULD Items:

+ Should build in mock.
+ Should build on all supported archs
- Should function as described.
- Should have sane scriptlets.
- Should have subpackages require base package with fully versioned depend.
+ Should have dist tag
- Should package latest version
- check for outstanding bugs on package. (For core merge reviews)

Issues:

1. Please request upstream to add a COPYING file. Some documentation would be nice too.
2. Please do convert the spec to python3 compatible as Jochen requests. Do also have a dialogue with upstream on whether the module is python3 compatible or not. 


No blockers at all.

XXX APPROVED XXX

Comment 3 Christian Krause 2011-12-18 23:53:46 UTC
Thanks, Ankur!

I'll talk with upstream regarding adding a license file, documentation and about python3 support.

Thanks for your hint about the exception of the naming rule for python packages! I agree that it should be named just pymodbus.

New Package SCM Request
=======================
Package Name: pymodbus
Short Description: A Modbus Protocol Stack in Python
Owners: chkr
Branches: f16, f15
InitialCC:

Comment 4 Gwyn Ciesla 2011-12-19 02:26:30 UTC
Summary and SCM package names don't match.

Comment 5 Christian Krause 2011-12-19 09:02:06 UTC
> Summary and SCM package names don't match.

According to the review (commen #2):
'Since the software name is prefixed with "py", you can drop the python and just
name it "pymodbus", but this is only a cosmetic issue and your choice.' I have decided to use "pymodbus" as name. I have now changed the summary of the bug report to reflect this.

Since that's in agreement with the reviewer I hope that's OK.


New Package SCM Request
=======================
Package Name: pymodbus
Short Description: A Modbus Protocol Stack in Python
Owners: chkr
Branches: f16, f15
InitialCC:(In reply to comment #4)

Comment 6 Gwyn Ciesla 2011-12-19 13:14:06 UTC
Git done (by process-git-requests).

That's fine, but don't put comments in InitialCC. :)

Comment 7 Christian Krause 2011-12-19 22:56:22 UTC
(In reply to comment #6)
> Git done (by process-git-requests).
> That's fine, but don't put comments in InitialCC. :)

@Jon: Thanks and sorry for the typo... 

@Ankur, @Jochen: Regarding python3 support:

There is support for python3 in the current master branch of upstream's git repository ( https://github.com/bashwork/pymodbus/commits/master ), but there was no official release yet. I'll test the python3 support and ask upstream about a new release. In the meantime the package will only support python2.

Comment 8 Fedora Update System 2011-12-20 10:56:11 UTC
pymodbus-0.9.0-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/pymodbus-0.9.0-1.fc16

Comment 9 Fedora Update System 2011-12-20 10:59:43 UTC
pymodbus-0.9.0-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/pymodbus-0.9.0-1.fc15

Comment 10 Fedora Update System 2011-12-22 22:45:10 UTC
pymodbus-0.9.0-1.fc16 has been pushed to the Fedora 16 stable repository.

Comment 11 Fedora Update System 2011-12-22 22:46:38 UTC
pymodbus-0.9.0-1.fc15 has been pushed to the Fedora 15 stable repository.


Note You need to log in before you can comment on or make changes to this bug.