Bug 950699 - Review Request: python-path - A python module wrapper for os.path
Summary: Review Request: python-path - A python module wrapper for os.path
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
urgent
Target Milestone: ---
Assignee: Ralph Bean
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-04-10 17:05 UTC by Xavier Lamien
Modified: 2013-07-26 18:11 UTC (History)
8 users (show)

Fixed In Version: python-path-3.0.1-2.el6
Clone Of:
Environment:
Last Closed: 2013-07-26 07:47:01 UTC
Type: ---
Embargoed:
rbean: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Xavier Lamien 2013-04-10 17:05:04 UTC
Spec URL: http://laxathom.fedorapeople.org/RPMS/path.py/python-path.spec
SRPM URL: http://laxathom.fedorapeople.org/RPMS/path.py/python-path-3.0.1-1.fc18.src.rpm
Description:path.py implements a path objects as first-class entities, 
allowing common operations on files to be invoked on those path objects directly.

Fedora Account System Username: laxathom

Comment 1 Ralph Bean 2013-04-10 17:37:41 UTC
MUST-fix items
==============

The following items must be fixed before I can approve the package.

- Package contains BR: python2-devel or python3-devel
  See: http://fedoraproject.org/wiki/Packaging:Python#BuildRequires
  Please switch the python-devel requirement over to python2-devel
- Please take care of rpmlint warnings described at the bottom of this review.
- Upstream includes a CHANGES.rst and README.rst.  Please include those in
  the %doc line.
- Please remove the 'rm -rf $RPM_BUILD_ROOT' line unless you plan to build
  this for el5.  If that is the case, just let me know.

Should-fix items
================

These items don't block package approval, but they are nice-to-have.

- The .spec you posted here and the .spec included in the SRPM are different.
  That's not too big of a deal, but please make sure to use the latest one
  (the one in the srpm) as it is more correct.
- Can you make the file ownership in the %files section more explicit?
  /* covers it all, but doesn't help the reader understand what is actually being packaged.
- The package includes a test suite!  Can you run it in the check section?
- Upstream doesn't include a LICENSE file.  Can you file a bug with them asking them to include one in their next release?
  If the source package does not include license text(s) as a separate file
  from upstream, the packager SHOULD query upstream to include it.
- Upstream claims to support python3.  Can you add a python3 subpackage?  The
  pypi2spec tool (when from a git checkout) can do this automatically for you
  if you pass it 'pypi2spec --python3 path.py'.  This isn't necessary, but
  is cool for the long term.

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

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[-]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[-]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "MIT/X11 (BSD like)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in /home/threebean/950699
     -python-path/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[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]: Fully versioned dependency in subpackages, if present.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local
[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).

Python:
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Binary eggs must be removed in %prep

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

Generic:
[!]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see attached
     diff).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: python-path-3.0.1-1.fc18.noarch.rpm
python-path.noarch: W: spelling-error Summary(en_US) os -> OS, och, so
python-path.noarch: W: spelling-error %description -l en_US py -> pt, p, y
python-path.noarch: E: description-line-too-long C allowing common operations on files to be invoked on those path objects directly.
python-path.noarch: W: incoherent-version-in-changelog 3.0.1 ['3.0.1-1.fc18', '3.0.1-1']
python-path.noarch: W: invalid-license MIT License
python-path.noarch: W: no-documentation
1 packages and 0 specfiles checked; 1 errors, 5 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python-path
python-path.noarch: W: spelling-error Summary(en_US) os -> OS, och, so
python-path.noarch: W: spelling-error %description -l en_US py -> pt, p, y
python-path.noarch: E: description-line-too-long C allowing common operations on files to be invoked on those path objects directly.
python-path.noarch: W: incoherent-version-in-changelog 3.0.1 ['3.0.1-1.fc18', '3.0.1-1']
python-path.noarch: W: invalid-license MIT License
python-path.noarch: W: no-documentation
1 packages and 0 specfiles checked; 1 errors, 5 warnings.
# echo 'rpmlint-done:'



Diff spec file in url and in SRPM
---------------------------------
--- /home/threebean/950699-python-path/srpm/python-path.spec	2013-04-10 13:18:54.003275995 -0400
+++ /home/threebean/950699-python-path/srpm-unpacked/python-path.spec	2013-04-10 13:18:54.486280174 -0400
@@ -7,5 +7,5 @@
 Summary:        A python module wrapper for os.path
 
-License:        MIT
+License:        MIT License
 URL:            https://pypi.python.org/pypi/path.py
 Source0:        https://pypi.python.org/packages/source/p/path.py/%{bname}.py-%{version}.zip
@@ -18,5 +18,4 @@
 allowing common operations on files to be invoked on those path objects directly.
 
-See documentation here http://amoffat.github.io/sh/.
 
 %prep


Requires
--------
python-path (rpmlib, GLIBC filtered):
    python(abi)



Provides
--------
python-path:
    python-path



MD5-sum check
-------------
https://pypi.python.org/packages/source/p/path.py/path.py-3.0.1.zip :
  CHECKSUM(SHA256) this package     : acae42cfdc07aca822c600f1050d1ee3c9a4385eb59c6c65390968d687d1a549
  CHECKSUM(SHA256) upstream package : acae42cfdc07aca822c600f1050d1ee3c9a4385eb59c6c65390968d687d1a549


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -b 950699

Comment 2 Xavier Lamien 2013-04-10 18:31:54 UTC
Fixed most of items in release -2.%dist

Spec URL: http://laxathom.fedorapeople.org/RPMS/path.py/python-path.spec
SRPM URL: http://laxathom.fedorapeople.org/RPMS/path.py/python-path-3.0.1-2.fc18.src.rpm


So, I intend to maintain package on rhel5.x so "rm -rf  $RPM_BUILD_ROOT" can stay around.
rpmlint can be ignored (except license & version-changelog which are fixed)

Regarding python3, will add support in next release.

Comment 3 Ralph Bean 2013-04-10 19:08:39 UTC
Cool.  Necessary stuff taken care of.  Package APPROVED!

Comment 4 Xavier Lamien 2013-04-10 19:59:29 UTC
New Package SCM Request
=======================
Package Name: python-path
Short Description: A python module wrapper for os.path
Owners: laxathom
Branches: f17 f18 f19 el5 el6
InitialCC:

Comment 5 Gwyn Ciesla 2013-04-10 20:11:11 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2013-04-11 13:39:40 UTC
python-path-3.0.1-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-path-3.0.1-2.fc18

Comment 7 Fedora Update System 2013-04-11 13:39:52 UTC
python-path-3.0.1-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-path-3.0.1-2.el6

Comment 8 Fedora Update System 2013-04-11 13:40:05 UTC
python-path-3.0.1-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-path-3.0.1-2.fc17

Comment 9 Fedora Update System 2013-04-11 13:40:55 UTC
python-path-3.0.1-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-path-3.0.1-2.fc19

Comment 10 Fedora Update System 2013-04-11 16:40:03 UTC
python-path-3.0.1-2.fc19 has been pushed to the Fedora 19 testing repository.

Comment 11 Dan Callaghan 2013-07-16 21:53:52 UTC
Xavier, it looks like you might have forgotten to build python-path for rawhide? I'm not seeing any builds tagged f20 (which is causing dependency checks to fail for my package gitifyhg).

Comment 12 Christopher Meng 2013-07-19 00:03:10 UTC
Hi reporter,

1. You pushed package to update-testing but not stable after months, this is very bad;

2. You didn't create the package for rawhide, this is very bad again.

3. If you cannot have time to maintain it, I can help. I've just request commit access to comaintain it.

Thanks.

Comment 13 Xavier Lamien 2013-07-25 12:30:31 UTC
Sorry for my late on that one.
Should be done by now.

Comment 14 Fedora Update System 2013-07-26 00:21:12 UTC
python-path-3.0.1-2.fc18 has been pushed to the Fedora 18 stable repository.

Comment 15 Fedora Update System 2013-07-26 00:21:49 UTC
python-path-3.0.1-2.fc19 has been pushed to the Fedora 19 stable repository.

Comment 16 Christopher Meng 2013-07-26 00:23:49 UTC
Hi,

python-path is 4.3 now, can you update it?

Comment 17 Michael Schwendt 2013-07-26 07:47:01 UTC
Reopening review tickets for packages, which have entered the distribution already, is just rude. Please don't do that.

Comment 18 Björn Esser (besser82) 2013-07-26 07:52:25 UTC
(In reply to Christopher Meng from comment #16)
> Hi,
> 
> python-path is 4.3 now, can you update it?

Filing a "regular" bug against python-path and asking maintainer for an update would be the preferred way, I think, than just commenting in the closed review. :)

Comment 19 Christopher Meng 2013-07-26 08:22:01 UTC
OK. No need to open a new bug. I just sent an email to him.

Comment 20 Fedora Update System 2013-07-26 18:11:01 UTC
python-path-3.0.1-2.el6 has been pushed to the Fedora EPEL 6 stable repository.


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