https://bugzilla.redhat.com/show_bug.cgi?id=1665749 Hirotaka Wakabayashi <hiwkby@xxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hiwkby@xxxxxxxxx --- Comment #8 from Hirotaka Wakabayashi <hiwkby@xxxxxxxxx> --- (In reply to Dhanesh B. Sabane from comment #6) > Spec URL: > https://pagure.io/rpm-packaging/raw/master/f/python-pipreqs/python-pipreqs. > spec > SRPM URL: > https://pagure.io/rpm-packaging/raw/master/f/python-pipreqs/python-pipreqs-0. > 4.9-1.fc29.src.rpm > > Fixed the SRPM URL to point to the raw file. Hello, this is an unofficial review for your reference. Summary ======== 1. Koji scratch build succeeded 2. Rpmlint issues 3. Package Naming 4. Licensing 5. Spec Legibility 6. Package Dependencies 7. Manpages 8. TestSuites 9. Shebang lines Appendix 1. rpmlint full outputs Appendix 2. an example spec file Details ======== 1. Koji scratch build succeeded --------------------------------- https://koji.fedoraproject.org/koji/taskinfo?taskID=32281857 2. Rpmlint issues ------------------ See Appendix 1 for full outputs of rpmlint. Here is summarized outputs here. 1 packages and 0 specfiles checked; 0 errors, 6 warnings on source rpm:: python-pipreqs.src: W: spelling-error Summary(en_US) txt -> text, ext, tit python-pipreqs.src: W: spelling-error %description -l en_US txt -> text, ext, tit python-pipreqs.src: W: spelling-error %description -l en_US projct -> project, pro jct, pro-jct python-pipreqs.src:55: W: macro-in-comment %check python-pipreqs.src:56: W: macro-in-comment %{__python3} python-pipreqs.src: W: invalid-license Apache License 1 packages and 0 specfiles checked; 2 errors, 5 warnings on binary rpm:: python3-pipreqs.noarch: W: spelling-error Summary(en_US) txt -> text, ext, tit python3-pipreqs.noarch: W: spelling-error %description -l en_US txt -> text, ext, tit python3-pipreqs.noarch: W: spelling-error %description -l en_US projct -> project, pro jct, pro-jct python3-pipreqs.noarch: W: invalid-license Apache License python3-pipreqs.noarch: E: wrong-script-interpreter /usr/lib/python3.7/site-packages/pipreqs/pipreqs.py /usr/bin/env python python3-pipreqs.noarch: E: non-executable-script /usr/lib/python3.7/site-packages/pipreqs/pipreqs.py 644 /usr/bin/env python python3-pipreqs.noarch: W: no-manual-page-for-binary pipreqs 1 packages and 0 specfiles checked; 0 errors, 2 warnings on document rpm:: python-pipreqs-doc.noarch: W: summary-not-capitalized C pipreqs documentation python3-pipreqs.noarch: W: invalid-license Apache License 3. Package Naming ------------------ "python-pipreqs-do" should be "python3-pipreqs-do". https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_naming 4. Licensing ------------- "Apache License" should be "ASL 2.0". https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses "%license LICENSE" in the "doc" package is not needed according to the following guideline. https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#subpackage-licensing 5. Spec Legibility ------------------- You may use the %{py3_dist} macro for legibility like:: "BuildRequires: %{py3_dist setuptools docopt yarg sphinx}". https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_requires_and_buildrequires_with_standardized_names 6. Package Dependencies ------------------------ The "%{?python_enable_dependency_generator}" macro is useful when upstream provides egg-info metadata. For example:: ... %package -n python3-%{srcname} Summary: %{summary} %{?python_provide:%python_provide python3-%{srcname}} %{?python_enable_dependency_generator} %description -n python3-%{srcname} %_description ... The macro will automatically generates following requires:: $ rpm -q --requires python3-pipreqs /usr/bin/python3 python(abi) = 3.7 python3.7dist(docopt) python3.7dist(yarg) ... https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_automatically_generated_dependencies 7. Manpages ------------ A manpage for "pipreqs" should be contained. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages 8. Test Suites -------------- A test suite should be executed in the %check section if upstream provides it and it is practical. I think there should be a spec file comment if you don't execute it for some reason. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_test_suites 9. Shebang lines ---------------- /usr/bin/env MUST NOT be used. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shebang_lines Appendix 1. rpmlint full outputs --------------------------------- $ rpmlint -i python-pipreqs-0.4.9-1.fc29.src.rpm python-pipreqs.src: W: spelling-error Summary(en_US) txt -> text, ext, tit The value of this tag appears to be misspelled. Please double-check. python-pipreqs.src: W: spelling-error %description -l en_US txt -> text, ext, tit The value of this tag appears to be misspelled. Please double-check. python-pipreqs.src: W: spelling-error %description -l en_US projct -> project, pro jct, pro-jct The value of this tag appears to be misspelled. Please double-check. python-pipreqs.src: W: invalid-license Apache License The value of the License tag was not recognized. Known values are: "AAL", "Abstyles", "Adobe", "ADSL", "AFL", "Afmparse", "AGPLv1", "AGPLv3", "AGPLv3+", "AGPLv3 with exceptions", "AMDPLPA", "AML", "AMPAS BSD", "APAFML", "App-s2p", "APSL 2.0", "APSL 2.0+", "ARL", "Artistic 2.0", "Artistic clarified", "ASL 1.0", "ASL 1.0+", "ASL 1.1", "ASL 1.1+", "ASL 2.0", "ASL 2.0+", "Bahyph", "Barr", "Beerware", "BeOpen", "Bibtex", "BitTorrent", "Boost", "Borceux", "BSD", "BSD Protection", "BSD with advertising", "BSD with attribution", "CATOSL", "CC0", "CeCILL", "CeCILL-B", "CeCILL-C", "CDDL", "CNRI", "Condor", "Copyright only", "CPAL", "CPL", "CRC32", "Crossword", "Crystal Stacker", "Cube", "diffmark", "DMIT", "DOC", "Dotseqn", "DSDP", "dvipdfm", "DWPL", "ECL 1.0", "ECL 2.0", "eCos", "EFL 2.0", "EFL 2.0+", "eGenix", "Entessa", "EPICS", "EPL", "ERPL", "EU Datagrid", "EUPL 1.1", "Eurosym", "Fair", "FSFUL", "FSFULLR", "FTL", "Giftware", "GL2PS", "Glide", "Glulxe", "gnuplot", "GPL+", "GPL+ or Artistic", "GPL+ with exceptions", "GPLv1", "GPLv2 or Artistic", "GPLv2+ or Artistic", "GPLv2", "GPLv2 with exceptions", "GPLv2+", "GPLv2+ with exceptions", "GPLv3", "GPLv3 with exceptions", "GPLv3+", "GPLv3+ with exceptions", "HaskellReport", "HSRL", "IBM", "IJG", "ImageMagick", "iMatix", "Imlib2", "Intel ACPI", "Interbase", "ISC", "Jabber", "JasPer", "JPython", "Julius", "Knuth", "Latex2e", "LBNL BSD", "Leptonica", "LGPLv2", "LGPLv2 with exceptions", "LGPLv2+", "LGPLv2+ or Artistic", "LGPLv2+ with exceptions", "LGPLv3", "LGPLv3 with exceptions", "LGPLv3+", "LGPLv3+ with exceptions", "Lhcyr", "libtiff", "LLGPL", "Logica", "LOSLA", "LPL", "LPPL", "MakeIndex", "mecab-ipadic", "midnight", "MirOS", "MIT", "MITNFA", "MIT with advertising", "mod_macro", "Motosoto", "MPLv1.0", "MPLv1.0+", "MPLv1.1", "MPLv1.1+", "MPLv2.0", "MS-PL", "MS-RL", "MTLL", "Mup", "Naumen", "NCSA", "NetCDF", "Netscape", "Newmat", "Newsletr", "NGPL", "NLPL", "Nmap", "Nokia", "NOSL", "Noweb", "OGL", "OML", "OpenLDAP", "OpenPBS", "OpenSSL", "OReilly", "OSL 1.0", "OSL 1.0+", "OSL 1.1", "OSL 1.1+", "OSL 2.0", "OSL 2.0+", "OSL 2.1", "OSL 2.1+", "OSL 3.0", "OSL 3.0+", "Par", "Phorum", "PHP", "PlainTeX", "Plexus", "PostgreSQL", "psfrag", "psutils", "Public Domain", "Python", "Qhull", "QPL", "Rdisc", "REX", "RiceBSD", "Romio", "RPSL", "Rsfs", "Ruby", "Saxpath", "SCEA", "SCRIP", "Sendmail", "Sleepycat", "SISSL", "SLIB", "SNIA", "softSurfer", "SPL", "STMPL", "SWL", "TCGL", "TCL", "Teeworlds", "TGPPL", "TGPPL with exceptions", "Threeparttable", "TMate", "Tolua", "TORQUEv1.1", "TOSL", "TPDL", "TPL", "TTWL", "UCAR", "UCD", "Unicode", "Unlicense", "Vim", "VNLSL", "VOSTROM", "VSL", "W3C", "Webmin", "Wsuipa", "WTFPL", "wxWidgets", "Xerox", "xinetd", "xpp", "XSkat", "YPLv1.1", "Zed", "Zend", "zlib", "zlib with acknowledgement", "ZPLv1.0", "ZPLv1.0+", "ZPLv2.0", "ZPLv2.0+", "ZPLv2.1", "ZPLv2.1+", "CDL", "FBSDDL", "GFDL", "IEEE", "LDPL", "OFSFDL", "Open Publication", "Public Use", "Verbatim", "CC-BY", "CC-BY-ND", "CC-BY-SA", "DMTF", "DSL", "EFML", "Free Art", "GeoGratis", "Green OpenMusic", "OAL", "AMS", "Arphic", "Baekmuk", "Bitstream Vera", "DoubleStroke", "Hershey", "IPA", "Liberation", "Lucida", "MgOpen", "mplus", "OFL", "PTFL", "STIX", "Utopia", "Wadalab", "XANO", "Redistributable, no modification permitted", "Freely redistributable without restriction". python-pipreqs.src:55: W: macro-in-comment %check There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. python-pipreqs.src:56: W: macro-in-comment %{__python3} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. 1 packages and 0 specfiles checked; 0 errors, 6 warnings. $ rpmlint -i $HOME/rpmbuild/RPMS/noarch/python3-pipreqs-0.4.9-1.fc29.noarch.rpm python3-pipreqs.noarch: W: spelling-error Summary(en_US) txt -> text, ext, tit The value of this tag appears to be misspelled. Please double-check. python3-pipreqs.noarch: W: spelling-error %description -l en_US txt -> text, ext, tit The value of this tag appears to be misspelled. Please double-check. python3-pipreqs.noarch: W: spelling-error %description -l en_US projct -> project, pro jct, pro-jct The value of this tag appears to be misspelled. Please double-check. python3-pipreqs.noarch: W: invalid-license Apache License The value of the License tag was not recognized. Known values are: "AAL", "Abstyles", "Adobe", "ADSL", "AFL", "Afmparse", "AGPLv1", "AGPLv3", "AGPLv3+", "AGPLv3 with exceptions", "AMDPLPA", "AML", "AMPAS BSD", "APAFML", "App-s2p", "APSL 2.0", "APSL 2.0+", "ARL", "Artistic 2.0", "Artistic clarified", "ASL 1.0", "ASL 1.0+", "ASL 1.1", "ASL 1.1+", "ASL 2.0", "ASL 2.0+", "Bahyph", "Barr", "Beerware", "BeOpen", "Bibtex", "BitTorrent", "Boost", "Borceux", "BSD", "BSD Protection", "BSD with advertising", "BSD with attribution", "CATOSL", "CC0", "CeCILL", "CeCILL-B", "CeCILL-C", "CDDL", "CNRI", "Condor", "Copyright only", "CPAL", "CPL", "CRC32", "Crossword", "Crystal Stacker", "Cube", "diffmark", "DMIT", "DOC", "Dotseqn", "DSDP", "dvipdfm", "DWPL", "ECL 1.0", "ECL 2.0", "eCos", "EFL 2.0", "EFL 2.0+", "eGenix", "Entessa", "EPICS", "EPL", "ERPL", "EU Datagrid", "EUPL 1.1", "Eurosym", "Fair", "FSFUL", "FSFULLR", "FTL", "Giftware", "GL2PS", "Glide", "Glulxe", "gnuplot", "GPL+", "GPL+ or Artistic", "GPL+ with exceptions", "GPLv1", "GPLv2 or Artistic", "GPLv2+ or Artistic", "GPLv2", "GPLv2 with exceptions", "GPLv2+", "GPLv2+ with exceptions", "GPLv3", "GPLv3 with exceptions", "GPLv3+", "GPLv3+ with exceptions", "HaskellReport", "HSRL", "IBM", "IJG", "ImageMagick", "iMatix", "Imlib2", "Intel ACPI", "Interbase", "ISC", "Jabber", "JasPer", "JPython", "Julius", "Knuth", "Latex2e", "LBNL BSD", "Leptonica", "LGPLv2", "LGPLv2 with exceptions", "LGPLv2+", "LGPLv2+ or Artistic", "LGPLv2+ with exceptions", "LGPLv3", "LGPLv3 with exceptions", "LGPLv3+", "LGPLv3+ with exceptions", "Lhcyr", "libtiff", "LLGPL", "Logica", "LOSLA", "LPL", "LPPL", "MakeIndex", "mecab-ipadic", "midnight", "MirOS", "MIT", "MITNFA", "MIT with advertising", "mod_macro", "Motosoto", "MPLv1.0", "MPLv1.0+", "MPLv1.1", "MPLv1.1+", "MPLv2.0", "MS-PL", "MS-RL", "MTLL", "Mup", "Naumen", "NCSA", "NetCDF", "Netscape", "Newmat", "Newsletr", "NGPL", "NLPL", "Nmap", "Nokia", "NOSL", "Noweb", "OGL", "OML", "OpenLDAP", "OpenPBS", "OpenSSL", "OReilly", "OSL 1.0", "OSL 1.0+", "OSL 1.1", "OSL 1.1+", "OSL 2.0", "OSL 2.0+", "OSL 2.1", "OSL 2.1+", "OSL 3.0", "OSL 3.0+", "Par", "Phorum", "PHP", "PlainTeX", "Plexus", "PostgreSQL", "psfrag", "psutils", "Public Domain", "Python", "Qhull", "QPL", "Rdisc", "REX", "RiceBSD", "Romio", "RPSL", "Rsfs", "Ruby", "Saxpath", "SCEA", "SCRIP", "Sendmail", "Sleepycat", "SISSL", "SLIB", "SNIA", "softSurfer", "SPL", "STMPL", "SWL", "TCGL", "TCL", "Teeworlds", "TGPPL", "TGPPL with exceptions", "Threeparttable", "TMate", "Tolua", "TORQUEv1.1", "TOSL", "TPDL", "TPL", "TTWL", "UCAR", "UCD", "Unicode", "Unlicense", "Vim", "VNLSL", "VOSTROM", "VSL", "W3C", "Webmin", "Wsuipa", "WTFPL", "wxWidgets", "Xerox", "xinetd", "xpp", "XSkat", "YPLv1.1", "Zed", "Zend", "zlib", "zlib with acknowledgement", "ZPLv1.0", "ZPLv1.0+", "ZPLv2.0", "ZPLv2.0+", "ZPLv2.1", "ZPLv2.1+", "CDL", "FBSDDL", "GFDL", "IEEE", "LDPL", "OFSFDL", "Open Publication", "Public Use", "Verbatim", "CC-BY", "CC-BY-ND", "CC-BY-SA", "DMTF", "DSL", "EFML", "Free Art", "GeoGratis", "Green OpenMusic", "OAL", "AMS", "Arphic", "Baekmuk", "Bitstream Vera", "DoubleStroke", "Hershey", "IPA", "Liberation", "Lucida", "MgOpen", "mplus", "OFL", "PTFL", "STIX", "Utopia", "Wadalab", "XANO", "Redistributable, no modification permitted", "Freely redistributable without restriction". python3-pipreqs.noarch: E: wrong-script-interpreter /usr/lib/python3.7/site-packages/pipreqs/pipreqs.py /usr/bin/env python This script uses an interpreter which is either an inappropriate one or located in an inappropriate directory for packaged system software. python3-pipreqs.noarch: E: non-executable-script /usr/lib/python3.7/site-packages/pipreqs/pipreqs.py 644 /usr/bin/env python This text file contains a shebang or is located in a path dedicated for executables, but lacks the executable bits and cannot thus be executed. If the file is meant to be an executable script, add the executable bits, otherwise remove the shebang or move the file elsewhere. python3-pipreqs.noarch: W: no-manual-page-for-binary pipreqs Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 2 errors, 5 warnings. $ rpmlint -i $HOME/rpmbuild/RPMS/noarch/python-pipreqs-doc-0.4.9-1.fc29.noarch.rpm python-pipreqs-doc.noarch: W: summary-not-capitalized C pipreqs documentation Summary doesn't begin with a capital letter. python-pipreqs-doc.noarch: W: invalid-license Apache License The value of the License tag was not recognized. Known values are: "AAL", "Abstyles", "Adobe", "ADSL", "AFL", "Afmparse", "AGPLv1", "AGPLv3", "AGPLv3+", "AGPLv3 with exceptions", "AMDPLPA", "AML", "AMPAS BSD", "APAFML", "App-s2p", "APSL 2.0", "APSL 2.0+", "ARL", "Artistic 2.0", "Artistic clarified", "ASL 1.0", "ASL 1.0+", "ASL 1.1", "ASL 1.1+", "ASL 2.0", "ASL 2.0+", "Bahyph", "Barr", "Beerware", "BeOpen", "Bibtex", "BitTorrent", "Boost", "Borceux", "BSD", "BSD Protection", "BSD with advertising", "BSD with attribution", "CATOSL", "CC0", "CeCILL", "CeCILL-B", "CeCILL-C", "CDDL", "CNRI", "Condor", "Copyright only", "CPAL", "CPL", "CRC32", "Crossword", "Crystal Stacker", "Cube", "diffmark", "DMIT", "DOC", "Dotseqn", "DSDP", "dvipdfm", "DWPL", "ECL 1.0", "ECL 2.0", "eCos", "EFL 2.0", "EFL 2.0+", "eGenix", "Entessa", "EPICS", "EPL", "ERPL", "EU Datagrid", "EUPL 1.1", "Eurosym", "Fair", "FSFUL", "FSFULLR", "FTL", "Giftware", "GL2PS", "Glide", "Glulxe", "gnuplot", "GPL+", "GPL+ or Artistic", "GPL+ with exceptions", "GPLv1", "GPLv2 or Artistic", "GPLv2+ or Artistic", "GPLv2", "GPLv2 with exceptions", "GPLv2+", "GPLv2+ with exceptions", "GPLv3", "GPLv3 with exceptions", "GPLv3+", "GPLv3+ with exceptions", "HaskellReport", "HSRL", "IBM", "IJG", "ImageMagick", "iMatix", "Imlib2", "Intel ACPI", "Interbase", "ISC", "Jabber", "JasPer", "JPython", "Julius", "Knuth", "Latex2e", "LBNL BSD", "Leptonica", "LGPLv2", "LGPLv2 with exceptions", "LGPLv2+", "LGPLv2+ or Artistic", "LGPLv2+ with exceptions", "LGPLv3", "LGPLv3 with exceptions", "LGPLv3+", "LGPLv3+ with exceptions", "Lhcyr", "libtiff", "LLGPL", "Logica", "LOSLA", "LPL", "LPPL", "MakeIndex", "mecab-ipadic", "midnight", "MirOS", "MIT", "MITNFA", "MIT with advertising", "mod_macro", "Motosoto", "MPLv1.0", "MPLv1.0+", "MPLv1.1", "MPLv1.1+", "MPLv2.0", "MS-PL", "MS-RL", "MTLL", "Mup", "Naumen", "NCSA", "NetCDF", "Netscape", "Newmat", "Newsletr", "NGPL", "NLPL", "Nmap", "Nokia", "NOSL", "Noweb", "OGL", "OML", "OpenLDAP", "OpenPBS", "OpenSSL", "OReilly", "OSL 1.0", "OSL 1.0+", "OSL 1.1", "OSL 1.1+", "OSL 2.0", "OSL 2.0+", "OSL 2.1", "OSL 2.1+", "OSL 3.0", "OSL 3.0+", "Par", "Phorum", "PHP", "PlainTeX", "Plexus", "PostgreSQL", "psfrag", "psutils", "Public Domain", "Python", "Qhull", "QPL", "Rdisc", "REX", "RiceBSD", "Romio", "RPSL", "Rsfs", "Ruby", "Saxpath", "SCEA", "SCRIP", "Sendmail", "Sleepycat", "SISSL", "SLIB", "SNIA", "softSurfer", "SPL", "STMPL", "SWL", "TCGL", "TCL", "Teeworlds", "TGPPL", "TGPPL with exceptions", "Threeparttable", "TMate", "Tolua", "TORQUEv1.1", "TOSL", "TPDL", "TPL", "TTWL", "UCAR", "UCD", "Unicode", "Unlicense", "Vim", "VNLSL", "VOSTROM", "VSL", "W3C", "Webmin", "Wsuipa", "WTFPL", "wxWidgets", "Xerox", "xinetd", "xpp", "XSkat", "YPLv1.1", "Zed", "Zend", "zlib", "zlib with acknowledgement", "ZPLv1.0", "ZPLv1.0+", "ZPLv2.0", "ZPLv2.0+", "ZPLv2.1", "ZPLv2.1+", "CDL", "FBSDDL", "GFDL", "IEEE", "LDPL", "OFSFDL", "Open Publication", "Public Use", "Verbatim", "CC-BY", "CC-BY-ND", "CC-BY-SA", "DMTF", "DSL", "EFML", "Free Art", "GeoGratis", "Green OpenMusic", "OAL", "AMS", "Arphic", "Baekmuk", "Bitstream Vera", "DoubleStroke", "Hershey", "IPA", "Liberation", "Lucida", "MgOpen", "mplus", "OFL", "PTFL", "STIX", "Utopia", "Wadalab", "XANO", "Redistributable, no modification permitted", "Freely redistributable without restriction". 1 packages and 0 specfiles checked; 0 errors, 2 warnings. Appendix 2. an example spec file --------------------------------- Here is an example spec file for your reference though it is not enough in some points(no manpage, no test suite and no patch for shebang issue). https://gist.github.com/hiwakaba/644b2ad3c287563ca5f441e7e9323bb6 Thanks in advance. Hirotaka Wakabayashi -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx