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
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
+ 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.
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
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
As the required license text is added, spec looks good now. APPROVED this package.
Thank you!
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
Git done (by process-git-requests).
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
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
python-grabserial-1.8.1-1.fc21 has been pushed to the Fedora 21 stable repository.
python-grabserial-1.8.1-1.fc22 has been pushed to the Fedora 22 stable repository.