Bug 1665749 - Review Request: python-pipreqs - Generate requirements.txt file for any project based on imports
Summary: Review Request: python-pipreqs - Generate requirements.txt file for any proje...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-01-13 18:00 UTC by Dhanesh B. Sabane
Modified: 2019-07-08 22:57 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-07-08 01:08:35 UTC
Type: ---
Embargoed:
zbyszek: fedora-review+


Attachments (Terms of Use)

Description Dhanesh B. Sabane 2019-01-13 18:00:24 UTC
Spec URL: https://pagure.io/rpm-packaging/raw/master/f/python-pipreqs/python-pipreqs.spec
SRPM URL: https://pagure.io/rpm-packaging/blob/master/f/python-pipreqs/python-pipreqs-0.4.9-1.fc29.src.rpm
Description: Generate requirements.txt file for any project based on imports
Fedora Account System Username: dhanesh95

=== Koji builds ===
Rawhide build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32002101
F29 build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32002109

Comment 1 Raphael Groner 2019-01-15 16:21:22 UTC
Are you interested in a review swap? Maybe you could look into büg #1659777.

Comment 2 Raphael Groner 2019-01-15 16:22:02 UTC
Are you interested in a review swap? Maybe you could look into bug #1659777.

Comment 3 Elliott Sales de Andrade 2019-01-19 05:24:38 UTC
The posted SRPM appears to be an HTML file.

Comment 4 Raphael Groner 2019-01-19 07:10:49 UTC
(In reply to Elliott Sales de Andrade from comment #3)
> The posted SRPM appears to be an HTML file.

The given link works for me. Maybe I misunderstand something.

Comment 5 Dhanesh B. Sabane 2019-01-19 18:06:42 UTC
(In reply to Raphael Groner from comment #2)
> Are you interested in a review swap? Maybe you could look into bug #1659777.

Hello Raphael! I'd definitely be interested in it. But seems like I was a bit late and Igor has beat me to it. Let me know if you have any other package that is pending review. :)

Comment 7 Raphael Groner 2019-01-27 07:57:21 UTC
Maybe review swap with bug #1669793?

Comment 8 Hirotaka Wakabayashi 2019-01-27 10:02:17 UTC
(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

Comment 9 Robert-André Mauchin 🐧 2019-02-16 02:14:30 UTC
CC me.

Please address Hirotaka Wakabayashi's comments and I'll finish the review.

Comment 10 Zbigniew Jędrzejewski-Szmek 2019-03-04 08:14:16 UTC
> 3. Package Naming
> ------------------
>
> "python-pipreqs-do" should be "python3-pipreqs-do".
>
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_naming
I assume that was about "-doc". That request is not supported by the guidelines.
The binary python package name should be 'python3-*', and it already is.
The docs subpackage can be named after the source package.

Can we haz a fuller %description please? This is not the run-of-the-mill obvious python library,
it'd be nice to have a paragraph or two that explain what this package does.

Comment 11 Dhanesh B. Sabane 2019-03-10 17:34:06 UTC
Hello folks! I need some help with including the manual page.

The docs directory in the source contains a Makefile that provides `man` as a target to build the manual page. How can I emulate this process in the spec file and use the resulting manual page in %files?

Comment 12 Zbigniew Jędrzejewski-Szmek 2019-03-11 06:16:37 UTC
Add BuildRequires: python3-spinx, and in %build add 'sphinx-build -b man docs build/man/', and in %install add 'install -p build/man/pipreqs.1 -Dt %buildroot/%_mandir/man1/' and in %files add '%_mandir/man1/pipreqs.1*'.

Comment 14 Zbigniew Jędrzejewski-Szmek 2019-04-21 09:24:01 UTC
This library generates a 'requirements.txt' file for any project 
→ This library generates a 'requirements.txt' file for any Python project

BuildRequires (and other dependencies) should be one-per-line:
BuildRequires:  %{py3_dist docopt setuptools yarg sphinx}
→ BuildRequires:  %{py3_dist docopt}
  BuildRequires:  %{py3_dist setuptools}
  ...

+ package name is OK (and subpackages too)
+ license is acceptable for Fedora (ASL 2)
+ license is specified correctly
+ latest version (upstream seems to have tagged 0.4.7 as the latest, but has 0.4.8 in the changelog, and 0.4.9 on pypi.)
+ builds and installs OK
+ requires/provides look OK

rpmlint:
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: spurious-executable-perm /usr/share/man/man1/pipreqs.1.gz

Those are not very important, but correct. Please consider fixing them.

Package is APPROVED.

Comment 15 Dhanesh B. Sabane 2019-04-21 11:12:04 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #14)
> rpmlint:
> 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

I believe these errors are due to the shebang lines. But I do have a small piece of code in the '%prep' section that should handle this case. I'm not sure why it's still an issue. Will you please help me resolve this?

> python3-pipreqs.noarch: W: spurious-executable-perm
> /usr/share/man/man1/pipreqs.1.gz
> 

I'm thinking this can be fixed using '%defattr' in the '%files' section. Is that an acceptable fix?

> Those are not very important, but correct. Please consider fixing them.
> 
> Package is APPROVED.

Thanks! I'll resolve the previous issues before pushing the package.

Comment 16 Zbigniew Jędrzejewski-Szmek 2019-04-21 11:42:13 UTC
> for lib in %{python_sitelib}/${srcname}/*.py; do ...

You probably need to move this section to the end of %install.
${srcname} → %{srcname}
%{python_sitelib} → %{buildroot}%{python2_sitelib}

> install -p build/man/pipreqs.1 -Dt %buildroot/%_mandir/man1/

install -Dm0644 -p build/man/pipreqs.1 -Dt %buildroot/%_mandir/man1/

Comment 17 Dhanesh B. Sabane 2019-04-21 16:21:45 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #16)
> > for lib in %{python_sitelib}/${srcname}/*.py; do ...
> 
> You probably need to move this section to the end of %install.
> ${srcname} → %{srcname}
> %{python_sitelib} → %{buildroot}%{python2_sitelib}
> 
> > install -p build/man/pipreqs.1 -Dt %buildroot/%_mandir/man1/
> 
> install -Dm0644 -p build/man/pipreqs.1 -Dt %buildroot/%_mandir/man1/

Thanks for the help! :)

I've pushed the latest changes. Please take a look and let me know.

Unfortunately, my 'fedora-review' does not work due to some issues with 'mock'. As a result, I can't verify if the changes did work out well. Koji builds complete successfully though.

Comment 18 Robert-André Mauchin 🐧 2019-04-21 16:28:28 UTC
> Unfortunately, my 'fedora-review' does not work due to some issues with
> 'mock'. As a result, I can't verify if the changes did work out well. Koji
> builds complete successfully though.

What kind of issue? Have you updated to the latest fedora-review 0.7.2? If yes please report any bug: https://pagure.io/FedoraReview/issues

Comment 19 Dhanesh B. Sabane 2019-04-21 17:44:34 UTC
(In reply to Robert-André Mauchin from comment #18)
> > Unfortunately, my 'fedora-review' does not work due to some issues with
> > 'mock'. As a result, I can't verify if the changes did work out well. Koji
> > builds complete successfully though.
> 
> What kind of issue? Have you updated to the latest fedora-review 0.7.2? If
> yes please report any bug: https://pagure.io/FedoraReview/issues

This is interesting. I have version 0.6.1. Repos on my system do not show the 0.7.x versions.

The issue is with the dnf cache. The error says: `Cannot run dnf makecache` and fails with a bunch of "cache non-existent" errors.

Comment 20 Robert-André Mauchin 🐧 2019-04-21 17:56:15 UTC
(In reply to Dhanesh B. Sabane from comment #19)
> (In reply to Robert-André Mauchin from comment #18)
> > > Unfortunately, my 'fedora-review' does not work due to some issues with
> > > 'mock'. As a result, I can't verify if the changes did work out well. Koji
> > > builds complete successfully though.
> > 
> > What kind of issue? Have you updated to the latest fedora-review 0.7.2? If
> > yes please report any bug: https://pagure.io/FedoraReview/issues
> 
> This is interesting. I have version 0.6.1. Repos on my system do not show
> the 0.7.x versions.
> 
> The issue is with the dnf cache. The error says: `Cannot run dnf makecache`
> and fails with a bunch of "cache non-existent" errors.

0.7.x are in updates-testing. It will definitively solve your issue is now we run dnf makecache inside the mock chroot instead of the root system.
Pick it up here: https://bodhi.fedoraproject.org/updates/?packages=fedora-review

Comment 21 Zbigniew Jędrzejewski-Szmek 2019-04-22 18:12:36 UTC
Looks OK. '-D' is repeated (that was my error). The package is already marked as accepted, so you can request the repo.

Comment 22 Igor Raits 2019-05-21 07:41:18 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/python-pipreqs

Comment 23 Fedora Update System 2019-06-02 03:57:26 UTC
FEDORA-2019-2541fa7b35 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-2541fa7b35

Comment 24 Fedora Update System 2019-06-02 04:05:39 UTC
FEDORA-2019-c20719358e has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-c20719358e

Comment 25 Fedora Update System 2019-06-03 01:20:47 UTC
python-pipreqs-0.4.9-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-2541fa7b35

Comment 26 Fedora Update System 2019-06-03 03:24:44 UTC
python-pipreqs-0.4.9-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-c20719358e

Comment 27 Fedora Update System 2019-07-08 01:08:35 UTC
python-pipreqs-0.4.9-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 28 Fedora Update System 2019-07-08 22:57:15 UTC
python-pipreqs-0.4.9-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.


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