Bug 1202265 - Review Request: python-grabserial - Reads a serial port and writes data to standard output
Summary: Review Request: python-grabserial - Reads a serial port and writes data to st...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Parag AN(पराग)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-16 09:23 UTC by Sinny Kumari
Modified: 2015-06-05 23:46 UTC (History)
3 users (show)

Fixed In Version: python-grabserial-1.8.1-1.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-04-25 15:58:33 UTC
Type: ---
Embargoed:
panemade: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Sinny Kumari 2015-03-16 09:23:34 UTC
Spec URL: https://github.com/sinnykumari/grabserial-rpm-package/raw/master/python-grabserial.spec
SRPM URL: https://github.com/sinnykumari/grabserial-rpm-package/raw/master/SRPM/python-grabserial-1.7.1-1.fc21.src.rpm

Description: 
Grabserial reads a serial port and writes the data to standard output.The main 
purpose of this tool is to collect messages written to the serial console from
a target board running Linux, and save the messages on a host machine. 

Successful Koji build links are:
Rawhide - http://koji.fedoraproject.org/koji/taskinfo?taskID=9240783
F22 - http://koji.fedoraproject.org/koji/taskinfo?taskID=9240888
F21 - http://koji.fedoraproject.org/koji/taskinfo?taskID=9240883

Fedora Account System Username: sinnykumari

Comment 1 Sinny Kumari 2015-03-16 09:31:28 UTC
I ran fedora-review on this package and results are pasted below. Please provide your feedback if I missed out something.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: python-grabserial-1.7.1-1.fc21.noarch.rpm
          python-grabserial-1.7.1-1.fc21.src.rpm
python-grabserial.noarch: W: no-manual-page-for-binary grabserial
python-grabserial.src: W: invalid-url Source0: https://github.com/tbird20d/grabserial/releases/download/v1.7.1/grabserial-1.7.1.tar.gz HTTP Error 403: Forbidden
2 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
python-grabserial (rpmlib, GLIBC filtered):
    /usr/bin/python2
    pyserial



Provides
--------
python-grabserial:
    python-grabserial



Source checksums
----------------
https://github.com/tbird20d/grabserial/releases/download/v1.7.1/grabserial-1.7.1.tar.gz :
  CHECKSUM(SHA256) this package     : 7354449842439cb1d119bff99857ad23e955facff9915260433eb5385a6366af
  CHECKSUM(SHA256) upstream package : 7354449842439cb1d119bff99857ad23e955facff9915260433eb5385a6366af


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/bin/fedora-review -n python-grabserial
Buildroot used: fedora-21-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 2 Parag AN(पराग) 2015-04-11 10:20:21 UTC
+ is OK
- Needs work

Review:
+ Package builds fine in mock F23 x86_64

+ rpmlint on generated rpms gave output
python-grabserial.noarch: W: no-manual-page-for-binary grabserial
python-grabserial.src: W: invalid-url Source0: https://github.com/tbird20d/grabserial/releases/download/v1.7.1/grabserial-1.7.1.tar.gz HTTP Error 403: Forbidden
2 packages and 0 specfiles checked; 0 errors, 2 warnings.

===> I see wget is working fine with Source0 url so we can ignore the forbidden warning. This looks like a github issue.

+ Source verified with upstream as sha256sum
tarball in srpm: 7354449842439cb1d119bff99857ad23e955facff9915260433eb5385a6366af
tarball in upstream: 7354449842439cb1d119bff99857ad23e955facff9915260433eb5385a6366af

- License tag LGPLv2 is wrong it should be GPLv2+. Please check license file text and see its not Lesser and also words "any later version" which concludes GPLv2+

- Macros are not correct. use %{python2_sitelib}

Suggestions:
1) I will suggest a cosmetic change to write the %files section as
%files
%doc README
%license LICENSE
%{_bindir}/grabserial
%{python2_sitelib}/*.egg-info

2) I see that pyserial is also available for python3. Maybe try asking upstream to make this Grabserial project compatible with python3. Then you can add python3 subpackage in spec as given in Fedora Python packaging guidelines. 
Note this point is not a blocker for this review but just a suggestion from me.

Please submit the new SPEC and SRPM by bumping the release tag to -2 and adding appropriate changelog entry and provide new package links for further review.

Comment 3 Sinny Kumari 2015-04-12 10:37:22 UTC
Thank you for reviewing this package.

Have one concern-
1.According to LICENSE file, License should be GPLv2+ but inside source tar ball, garbserial file says "This program is provided under the Gnu General Public License (GPL) version 2 ONLY". So, I am confused what License I should use whether GPLv2 or GPLv2+. I asked same to Grabserial maintainer and waiting for response.

I have made needed changes as per your suggestion. Also, emailed maintainer to make modification needed for running it with python 3.

Will send new SPEC and SRPM once License issue is resolved.

Thanks

Comment 4 Sinny Kumari 2015-04-23 19:57:46 UTC
After talking to Grabserial source maintainer, came to know that source is distributed under GPLv2 license only. He made needed changes in LICENSE file and released new version 1.8.1.

Support for Python 3 package will be done later on.

Updated srpm and spec file -
SPEC - https://github.com/sinnykumari/grabserial-rpm-package/raw/master/python-grabserial.spec
SRPM - https://github.com/sinnykumari/grabserial-rpm-package/raw/master/SRPM/python-grabserial-1.8.1-1.fc21.src.rpm
Koji build link - http://koji.fedoraproject.org/koji/taskinfo?taskID=9552888

Comment 5 Parag AN(पराग) 2015-04-24 05:17:35 UTC
As the required license text is added, spec looks good now.

APPROVED this package.

Comment 6 Sinny Kumari 2015-04-24 06:29:23 UTC
Thank you!

Comment 7 Sinny Kumari 2015-04-24 07:09:16 UTC
New Package SCM Request
=======================
Package Name: python-grabserial
Short Description: Reads a serial port and writes data to standard output
Upstream URL: http://elinux.org/Grabserial
Owners: sinnykumari
Branches: f21 f22
InitialCC: sinnykumari

Comment 8 Gwyn Ciesla 2015-04-24 12:37:42 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2015-05-24 12:37:52 UTC
python-grabserial-1.8.1-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/python-grabserial-1.8.1-1.fc21

Comment 10 Fedora Update System 2015-05-24 12:38:53 UTC
python-grabserial-1.8.1-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/python-grabserial-1.8.1-1.fc22

Comment 11 Fedora Update System 2015-06-05 23:40:05 UTC
python-grabserial-1.8.1-1.fc21 has been pushed to the Fedora 21 stable repository.

Comment 12 Fedora Update System 2015-06-05 23:46:32 UTC
python-grabserial-1.8.1-1.fc22 has been pushed to the Fedora 22 stable repository.


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