Bug 1086406 - Review Request: python-nose-testconfig - Test configuration plugin for nosetests
Summary: Review Request: python-nose-testconfig - Test configuration plugin for nosetests
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Antonio T. (sagitter)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-10 20:00 UTC by David Shea
Modified: 2014-08-23 01:54 UTC (History)
1 user (show)

Fixed In Version: python-nose-testconfig-0.9-3.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-23 01:54:45 UTC
Type: ---
Embargoed:
anto.trande: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description David Shea 2014-04-10 20:00:27 UTC
Spec URL: http://dshea.fedorapeople.org/python-nose-testconfig/v1/python-nose-testconfig.spec
SRPM URL: http://dshea.fedorapeople.org/python-nose-testconfig/v1/python-nose-testconfig-0.9-1.fc20.src.rpm

Description:
nose-testconfig is a plugin to the nose test framework which provides a
faculty for passing test-specific (or test-run specific) configuration data
to the tests being executed.

Fedora Account System Username: dshea

Comment 1 Antonio T. (sagitter) 2014-07-27 17:32:46 UTC
Hi David.

There is not any License file packaged.

Comment 2 David Shea 2014-07-30 18:02:01 UTC
Issue raised upstream. https://bitbucket.org/jnoller/nose-testconfig/issue/10/add-licensing-information-to-python-file

There haven't been any updates to nose-testconfig in a while, so I don't know if there will be any response. If there is no reponse in, say, a couple weeks or so, I'll create a new revision of the package with a copy of the license text per the guidelines at https://fedoraproject.org/wiki/Packaging:LicensingGuidelines

Comment 3 David Shea 2014-08-11 14:11:59 UTC
I doubt that I am going to hear back from upstream. nose-testconfig is licensed using the Apache Software License, 2.0, which is stated both in the setup.py metadata and the docs/index.txt file distributed with nose-testconfig. In order to comply with the requirement that distributors "must give any other recipients of the Work or Derivative Works a copy of this License," I have included a copy of the license, downloaded from http://www.apache.org/licenses/LICENSE-2.0, as part of the SRPM and installed it with the documentation files for both the python2 and python3 packages.

Spec URL: https://dshea.fedorapeople.org/python-nose-testconfig/0.9-2/python-nose-testconfig.spec
SRPM URL: https://dshea.fedorapeople.org/python-nose-testconfig/0.9-2/python-nose-testconfig-0.9-2.fc22.src.rpm

Comment 4 Antonio T. (sagitter) 2014-08-12 10:29:14 UTC
- The directories /usr/lib/python3.4/site-packages,/usr/lib/python3.4/site-packages/__pycache__,
  /usr/lib/python3.4 are owned by python3-* packages.

- This package contains a License file separated from upstream. This issue has been already pointed out to the developer. 
(https://bitbucket.org/jnoller/nose-testconfig/issue/10/add-licensing-information-to-python-file)

  Please, leave a comment just above Source1 tag.

- Why do you not define a 'with_python3' conditional macro like that adviced on Packaging guidelines for Python code?  
  https://fedoraproject.org/wiki/Packaging:Python#Building_more_than_once
 
Package Review
==============

Legend:
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 10 files have unknown license. Detailed output of
     licensecheck in /home/sagitter/1086406-python-nose-
     testconfig/licensecheck.txt
[-]: License file installed when any subpackage combination is installed.
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib/python3.4/site-packages,
     /usr/lib/python3.4/site-packages/__pycache__, /usr/lib/python3.4
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/python3.4/site-packages,
     /usr/lib/python3.4/site-packages/__pycache__, /usr/lib/python3.4
[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
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 61440 bytes in 8 files.
[x]: Package complies to the Packaging Guidelines
[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]: 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]: 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]: 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.
[?]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

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

Generic:
[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]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3
     -nose-testconfig
[ ]: Package functions as described.
[x]: Latest version is packaged.
[!]: 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]: 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-nose-testconfig-0.9-2.fc22.noarch.rpm
          python3-nose-testconfig-0.9-2.fc22.noarch.rpm
          python-nose-testconfig-0.9-2.fc22.src.rpm
python-nose-testconfig.noarch: W: spelling-error Summary(en_US) nosetests -> nose tests, nose-tests, Northwests
python-nose-testconfig.noarch: W: spelling-error %description -l en_US http -> HTTP
python-nose-testconfig.noarch: W: spelling-error %description -l en_US pypi -> typify
python-nose-testconfig.noarch: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
python-nose-testconfig.noarch: W: spelling-error %description -l en_US json -> son, j son
python3-nose-testconfig.noarch: W: spelling-error Summary(en_US) nosetests -> nose tests, nose-tests, Northwests
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US http -> HTTP
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US pypi -> typify
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US json -> son, j son
python-nose-testconfig.src: W: spelling-error Summary(en_US) nosetests -> nose tests, nose-tests, Northwests
python-nose-testconfig.src: W: spelling-error %description -l en_US http -> HTTP
python-nose-testconfig.src: W: spelling-error %description -l en_US pypi -> typify
python-nose-testconfig.src: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
python-nose-testconfig.src: W: spelling-error %description -l en_US json -> son, j son
3 packages and 0 specfiles checked; 0 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python-nose-testconfig python3-nose-testconfig
python-nose-testconfig.noarch: W: spelling-error Summary(en_US) nosetests -> nose tests, nose-tests, Northwests
python-nose-testconfig.noarch: W: spelling-error %description -l en_US http -> HTTP
python-nose-testconfig.noarch: W: spelling-error %description -l en_US pypi -> typify
python-nose-testconfig.noarch: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
python-nose-testconfig.noarch: W: spelling-error %description -l en_US json -> son, j son
python3-nose-testconfig.noarch: W: spelling-error Summary(en_US) nosetests -> nose tests, nose-tests, Northwests
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US http -> HTTP
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US pypi -> typify
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
python3-nose-testconfig.noarch: W: spelling-error %description -l en_US json -> son, j son
2 packages and 0 specfiles checked; 0 errors, 10 warnings.
# echo 'rpmlint-done:'



Requires
--------
python-nose-testconfig (rpmlib, GLIBC filtered):
    PyYAML
    python(abi)
    python-nose

python3-nose-testconfig (rpmlib, GLIBC filtered):
    python(abi)
    python3-PyYAML
    python3-nose



Provides
--------
python-nose-testconfig:
    python-nose-testconfig

python3-nose-testconfig:
    python3-nose-testconfig



Source checksums
----------------
https://pypi.python.org/packages/source/n/nose-testconfig/nose-testconfig-0.9.tar.gz :
  CHECKSUM(SHA256) this package     : bb6f1dd2dbd3e54a6c456110fb6dced449b5ad5262af712d595c123e4f8c34d3
  CHECKSUM(SHA256) upstream package : bb6f1dd2dbd3e54a6c456110fb6dced449b5ad5262af712d595c123e4f8c34d3


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1086406
Buildroot used: fedora-rawhide-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

Comment 5 David Shea 2014-08-12 14:02:47 UTC
(In reply to Antonio Trande from comment #4)
> - The directories
> /usr/lib/python3.4/site-packages,/usr/lib/python3.4/site-packages/
> __pycache__,
>   /usr/lib/python3.4 are owned by python3-* packages.

I'm not sure what you're trying to say here. The python3-nose-testconfig does not own these directories, nor should it, since they are common to all python3 packages and owned by python3-libs.
$ rpm -q --filesbypkg -p RPMS/noarch/python3-nose-testconfig-0.9-2.fc22.noarch.rpm
python3-nose-testconfig   /usr/lib/python3.4/site-packages/__pycache__/testconfig.cpython-34.pyc
python3-nose-testconfig   /usr/lib/python3.4/site-packages/__pycache__/testconfig.cpython-34.pyo
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info/PKG-INFO
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info/SOURCES.txt
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info/dependency_links.txt
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info/entry_points.txt
python3-nose-testconfig   /usr/lib/python3.4/site-packages/nose_testconfig-0.9-py3.4.egg-info/top_level.txt
python3-nose-testconfig   /usr/lib/python3.4/site-packages/testconfig.py
python3-nose-testconfig   /usr/share/doc/python3-nose-testconfig
python3-nose-testconfig   /usr/share/doc/python3-nose-testconfig/ACKS
python3-nose-testconfig   /usr/share/doc/python3-nose-testconfig/LICENSE-2.0
python3-nose-testconfig   /usr/share/doc/python3-nose-testconfig/TODO
python3-nose-testconfig   /usr/share/doc/python3-nose-testconfig/index.txt

$ rpm -qf /usr/lib/python3.4/site-packages/
python3-libs-3.4.1-12.fc21.x86_64



> - This package contains a License file separated from upstream. This issue
> has been already pointed out to the developer. 
> (https://bitbucket.org/jnoller/nose-testconfig/issue/10/add-licensing-
> information-to-python-file)
> 
>   Please, leave a comment just above Source1 tag.

Will do.

> 
> - Why do you not define a 'with_python3' conditional macro like that adviced
> on Packaging guidelines for Python code?  
>   https://fedoraproject.org/wiki/Packaging:Python#Building_more_than_once

Because this macro is pointless. As it states in that very section, "Once python 3 support has been added to a package, you must leave it enabled." And since it's a small noarch package, building the python3 support doesn't even take particularly long, so there's no point in ever turning it off.

Even adding it just with EPEL support in mind would necessitate further changes once python3 is added to EPEL-7.

New package with the Source1 comment:

Spec URL: https://dshea.fedorapeople.org/python-nose-testconfig/0.9-3/python-nose-testconfig.spec
SRPM URL: https://dshea.fedorapeople.org/python-nose-testconfig/0.9-3/python-nose-testconfig-0.9-3.fc22.src.rpm

Comment 6 Antonio T. (sagitter) 2014-08-12 15:00:50 UTC
(In reply to David Shea from comment #5)
> (In reply to Antonio Trande from comment #4)
> > - The directories
> > /usr/lib/python3.4/site-packages,/usr/lib/python3.4/site-packages/
> > __pycache__,
> >   /usr/lib/python3.4 are owned by python3-* packages.
> 
> I'm not sure what you're trying to say here. 

It's just a review note because of these entries 

[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib/python3.4/site-packages,
     /usr/lib/python3.4/site-packages/__pycache__, /usr/lib/python3.4
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/python3.4/site-packages,
     /usr/lib/python3.4/site-packages/__pycache__, /usr/lib/python3.4 

pythons3 packages should be automatically requested during installation.

> New package with the Source1 comment:
> 
> Spec URL:
> https://dshea.fedorapeople.org/python-nose-testconfig/0.9-3/python-nose-
> testconfig.spec
> SRPM URL:
> https://dshea.fedorapeople.org/python-nose-testconfig/0.9-3/python-nose-
> testconfig-0.9-3.fc22.src.rpm

Package approved.

Comment 7 David Shea 2014-08-12 15:11:31 UTC
New Package SCM Request
=======================
Package Name: python-nose-testconfig
Short Description: Test configuration plugin for nosetests
Upstream URL: https://pypi.python.org/pypi/nose-testconfig
Owners: dshea
Branches: f20 f21
InitialCC:

Comment 8 Gwyn Ciesla 2014-08-12 15:38:55 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2014-08-12 17:18:40 UTC
python-nose-testconfig-0.9-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-nose-testconfig-0.9-3.fc20

Comment 10 Fedora Update System 2014-08-15 02:47:58 UTC
python-nose-testconfig-0.9-3.fc20 has been pushed to the Fedora 20 testing repository.

Comment 11 Fedora Update System 2014-08-23 01:54:45 UTC
python-nose-testconfig-0.9-3.fc20 has been pushed to the Fedora 20 stable repository.


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