Bug 865630 (python-pyvfs)

Summary: Review Request: python-pyvfs - simple python vfs module
Product: [Fedora] Fedora Reporter: Saveliev Peter <peet>
Component: Package ReviewAssignee: Eduardo Echeverria <echevemaster>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: echevemaster, lemenkov, michal.skrivanek, notting, package-review
Target Milestone: ---Flags: echevemaster: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-07 17:12:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Saveliev Peter 2012-10-11 23:04:45 UTC
Spec URL: http://peet.spb.ru/archives/python-pyvfs.spec
SRPM URL: http://peet.spb.ru/archives/python-pyvfs-0.2.3-1.fc16.src.rpm
Description: 

The primary goal of the module was to create a simple mechanism to export Python objects as file trees on a virtual filesystem. The mounted filesystem can be used for objects monitoring as well as for the program debugging.

But the module can also be used to create own filesystems, e.g. to use them as a sort of fs-based RPCs. More details on project pages:

github: https://github.com/svinota/pyvfs/wiki
docs: http://peet.spb.ru/pyvfs/

Fedora Account System Username: psavelye

Comment 1 Eduardo Echeverria 2012-10-12 03:30:10 UTC
Hi Saveliev, 
If this is your first package, need to find a sponsor, tag FE-NEEDSPONSOR in blocks 
https://fedoraproject.org/wiki/Package_Review_Process#Special_blocker_tickets
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group
Best Regards

Comment 2 Saveliev Peter 2012-10-12 06:11:10 UTC
(In reply to comment #1)

Indeed. Thanks a lot.

Comment 3 Eduardo Echeverria 2012-10-12 07:06:40 UTC
Hi Saveliev 

I'm not sponsor but I'll give a few comments that might help you:

rpmlint out:
rpmlint -v python-pyvfs*
python-pyvfs.noarch: I: checking
python-pyvfs.noarch: W: spelling-error %description -l en_US objectfs -> objects, object's, object
python-pyvfs.noarch: W: non-standard-group Development/Python
python-pyvfs.noarch: I: checking-url https://github.com/svinota/pyvfs (timeout 10 seconds)
python-pyvfs.noarch: W: no-documentation
python-pyvfs.src: I: checking
python-pyvfs.src: W: spelling-error %description -l en_US objectfs -> objects, object's, object
python-pyvfs.src: W: non-standard-group Development/Python
python-pyvfs.src: I: checking-url https://github.com/svinota/pyvfs (timeout 10 seconds)
python-pyvfs.src: W: no-%build-section
python-pyvfs.src: I: checking-url http://peet.spb.ru/archives/pyvfs-0.2.3.tar.gz (timeout 10 seconds)
2 packages and 0 specfiles checked; 0 errors, 6 warnings

- ignore spelling errors 
- Although PKG-INFO file clearly indicates that the software is GPLv3+ not there license file, Since you are the developer can easily include this license.
(Include on %doc section)
- You could use
BuildRequires: python2-devel
http://fedoraproject.org/wiki/Packaging:Python#BuildRequires
- The correct group is 
Group: Development/Languages
instead of
Group: Development/Python 
https://fedoraproject.org/wiki/RPMGroups
- Although not build anything,Add a %build section and comment #Nothing to build

Usually a sponsors finds you, but if you have a connection with someone on this list 
https://admin.fedoraproject.org/accounts/group/members/packager/*/sponsor
can ask to sponsor you 

Best Regards

Comment 4 Saveliev Peter 2012-10-12 07:34:17 UTC
(In reply to comment #3)

Thanks again. Will fix issues asap.

Comment 5 Saveliev Peter 2012-10-12 10:27:32 UTC
(In reply to comment #3)
<skip />
> - Although PKG-INFO file clearly indicates that the software is GPLv3+ not
> there license file, Since you are the developer can easily include this
> license.
> (Include on %doc section)

fixed

> - You could use
> BuildRequires: python2-devel

fixed

> - The correct group is 
> Group: Development/Languages

fixed

> - Although not build anything,Add a %build section and comment #Nothing to
> build

fixed

<skip />

Comment 6 Peter Lemenkov 2012-10-13 11:01:12 UTC
Unblocking FE-NEEDSPONSOR - I sponsored Peter. Eduardo, you may proceed with review now.

Comment 7 Eduardo Echeverria 2012-10-13 16:15:01 UTC
Thanks a lot Peter 

Hi Saveliev 
Welcome to the group package maintainers

some comments:
- It is good practice to use macros to preserve the name of the application
You can just do this:
%global pkgname pyvfs
Name:		Name: python-pyvfs
Source0: http://peet.spb.ru/archives/%{pkgname}-%version.tar.gz
%prep
%setup -q -n %{pkgname}-%{version}

- Remember to increase the release number each time you make a change in spec and Changelog
https://fedoraproject.org/wiki/Packaging:NamingGuidelines?rd=Packaging/NamingGuidelines#Release_Tag
Example: 

Release:       2%{?dist}
%changelog
* Thu Oct 13 2012 Peter V. Saveliev <peet> 0.2.3-1
- Add build section
- Change BuildRequires python2-devel
- Change to correct group 
- Include doc section 

Release:       1%{?dist}
%changelog
* Thu Oct 11 2012 Peter V. Saveliev <peet> 0.2.3-1
- initial RH build

- MD5-sum check differs
-------------
http://peet.spb.ru/archives/pyvfs-0.2.3.tar.gz :
  CHECKSUM(SHA256) this package     : fa629cf0d5c72cf0475d330d64260103c167ac126$
  CHECKSUM(SHA256) upstream package : 18801e743f3d3c30ebe444c29dc2ed77ff926d3d3$

Please use wget -N for downloading the sources

Please fix this issues and I do the formal review

Best Regards

Comment 8 Eduardo Echeverria 2012-10-13 16:28:40 UTC
Sorry error in copy/paste:

Example: 

Release:       2%{?dist}
%changelog
* Thu Oct 13 2012 Peter V. Saveliev <peet> 0.2.3-2
- Add build section
- Change BuildRequires python2-devel
- Change to correct group 
- Include doc section 

Release:       1%{?dist}
%changelog
* Thu Oct 11 2012 Peter V. Saveliev <peet> 0.2.3-1
- initial RH build

Comment 9 Saveliev Peter 2012-10-13 17:53:15 UTC
(In reply to comment #7)
<skip /> 
> some comments:
> - It is good practice to use macros to preserve the name of the application

It is a great idea, 'cause almost all my projects on github use the same naming (and package naming) scheme. Thanks, fixed all through the spec, including URL (just 'cause I said before)

<skip /> 
> - Remember to increase the release number each time you make a change in
> spec and Changelog

Surely, but I didn't this only 'cause there was yet no RH release at all, and 'cause in the ticket is written the first (initial) one. But it is no problem, fixed. Please use new urls:

spec: http://peet.spb.ru/archives/python-pyvfs.spec
source: http://peet.spb.ru/archives/pyvfs-0.2.3.tar.gz
srpm: http://peet.spb.ru/archives/python-pyvfs-0.2.3-2.fc16.src.rpm

<skip /> 
> - MD5-sum check differs

Now they should be the same, I just extracted source tarball back from SRPM :)

<skip />

Comment 10 Eduardo Echeverria 2012-10-13 19:57:03 UTC
Koji Build Rawhide
http://koji.fedoraproject.org/koji/taskinfo?taskID=4587693
Koji Build f18
http://koji.fedoraproject.org/koji/taskinfo?taskID=4587698
Koji Build f17
http://koji.fedoraproject.org/koji/taskinfo?taskID=4587740
Koji Build f16
http://koji.fedoraproject.org/koji/taskinfo?taskID=4587755

rpmlint out:
rpmlint -v python-pyvfs*
python-pyvfs.noarch: I: checking
python-pyvfs.noarch: W: spelling-error %description -l en_US objectfs -> objects, object's, object
python-pyvfs.noarch: I: checking-url https://github.com/svinota/pyvfs (timeout 10 seconds)
python-pyvfs.src: I: checking
python-pyvfs.src: W: spelling-error %description -l en_US objectfs -> objects, object's, object
python-pyvfs.src: I: checking-url https://github.com/svinota/pyvfs (timeout 10 seconds)
python-pyvfs.src: I: checking-url http://peet.spb.ru/archives/pyvfs-0.2.3.tar.gz (timeout 10 seconds)
2 packages and 0 specfiles checked; 0 errors, 2 warnings.


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

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



===== 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 successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: Large documentation files are in a -doc subpackage, if required.
[x]: 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:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/makerpm/865630-python-pyvfs/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: 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]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.

Python:
[x]: Package contains BR: python2-devel or python3-devel

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

Generic:
[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]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (pyvfs-0.2.3.tar.gz)
[x]: SourceX is a working URL.
[-]: 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]: Spec use %global instead of %define.

===== 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-pyvfs-0.2.3-2.fc17.src.rpm
          python-pyvfs-0.2.3-2.fc17.noarch.rpm
python-pyvfs.src: W: spelling-error %description -l en_US objectfs -> objects, object's, object
python-pyvfs.noarch: W: spelling-error %description -l en_US objectfs -> objects, object's, object
2 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python-pyvfs
python-pyvfs.noarch: W: spelling-error %description -l en_US objectfs -> objects, object's, object
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
python-pyvfs-0.2.3-2.fc17.noarch.rpm (rpmlib, GLIBC filtered):
    
    python(abi) = 2.7



Provides
--------
python-pyvfs-0.2.3-2.fc17.noarch.rpm:
    
    python-pyvfs = 0.2.3-2.fc17



MD5-sum check
-------------
http://peet.spb.ru/archives/pyvfs-0.2.3.tar.gz :
  CHECKSUM(SHA256) this package     : 01fc93717ac1fcdff83155d6f0c800adb76c0e3f0b995c7ac807190a607fec09
  CHECKSUM(SHA256) upstream package : 01fc93717ac1fcdff83155d6f0c800adb76c0e3f0b995c7ac807190a607fec09

----------------

PACKAGE APPROVED

----------------

Saveliev, you can now proceed to request a repository:
https://fedoraproject.org/wiki/Package_SCM_admin_requests

Comment 11 Saveliev Peter 2012-10-13 20:21:28 UTC
New Package SCM Request
=======================
Package Name: python-pyvfs
Short Description: Simple python VFS library
Owners: psavelye
Branches: f16 f17 f18 el6
InitialCC:

Comment 12 Saveliev Peter 2012-10-14 01:14:35 UTC
New Package SCM Request
=======================
Package Name: python-pyvfs
Short Description: Simple python VFS library
Owners: psavelye
Branches: f16 f17 f18 el6
InitialCC: echevemaster

Comment 13 Gwyn Ciesla 2012-10-15 01:49:15 UTC
Git done (by process-git-requests).