diff --git a/python-nose.spec b/python-nose.spec index e3f1e7f..c19e5f3 100644 --- a/python-nose.spec +++ b/python-nose.spec @@ -9,19 +9,36 @@ %global with_python3 1 %endif - %global upstream_name nose # Enable building without docs to avoid a circular dependency between this and python-sphinx %global with_docs 1 +%global sum Discovery-based unit test extension for Python +%global desc nose extends the test loading and running features of unit test, making\ +it easier to write, find and run tests.\ +\ +By default, nose will run tests in files or directories under the\ +current working directory whose names include "test" or "Test" at a\ +word boundary (like "test_this" or "functional_test" or "TestClass"\ +but not "libtest"). Test output is similar to that of unit test, but\ +also includes captured stdout output from failing tests, for easy\ +print-style debugging.\ +\ +These features, and many more, are customizable through the use of\ +plugins. Plugins included with nose provide support for doctest, code\ +coverage and profiling, flexible attribute-based test selection,\ +output capture and more.\ + + Name: python-nose Version: 1.3.7 -Release: 10%{?dist} -Summary: Discovery-based unittest extension for Python +Release: 11%{?dist} +BuildArch: noarch -Group: Development/Languages License: LGPLv2+ and Public Domain +Summary: %{sum} +Group: Development/Languages URL: https://nose.readthedocs.org/en/latest/ Source0: http://pypi.python.org/packages/source/n/nose/nose-%{version}.tar.gz # Make compatible with coverage 4.1 @@ -36,9 +53,7 @@ Patch2: python-nose-unicode.patch # Allow docutils to read utf-8 source Patch3: python-nose-readunicode.patch -BuildArch: noarch BuildRequires: python2-devel -Provides: python2-%{upstream_name} = %{version}-%{release} %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -47,23 +62,11 @@ BuildRequires: python3-coverage >= 3.4-1 BuildRequires: python-setuptools BuildRequires: dos2unix BuildRequires: python-coverage >= 3.4-1 -Requires: python-setuptools -%description -nose extends the test loading and running features of unittest, making -it easier to write, find and run tests. -By default, nose will run tests in files or directories under the -current working directory whose names include "test" or "Test" at a -word boundary (like "test_this" or "functional_test" or "TestClass" -but not "libtest"). Test output is similar to that of unittest, but -also includes captured stdout output from failing tests, for easy -print-style debugging. +%description +%{desc} -These features, and many more, are customizable through the use of -plugins. Plugins included with nose provide support for doctest, code -coverage and profiling, flexible attribute-based test selection, -output capture and more. %package docs Summary: Nose Documentation @@ -71,35 +74,37 @@ Group: Documentation %if 0%{?with_docs} BuildRequires: python-sphinx %endif -Requires: python-nose + %description docs Documentation for Nose + +%package -n python2-%{upstream_name} +Summary: %{sum} + +Requires: python-setuptools + +%{?python_provide:%python_provide python2-%{upstream_name}} + + +%description -n python2-%{upstream_name} +%{desc} + + %if 0%{?with_python3} %package -n python3-%{upstream_name} -Summary: Discovery-based unittest extension for Python3 +Summary: Discovery-based unit test extension for Python3 Group: Development/Languages Requires: python3-setuptools +%{?python_provide:%python_provide python3-%{upstream_name}} -%description -n python3-%{upstream_name} -nose extends the test loading and running features of unittest, making -it easier to write, find and run tests. - -By default, nose will run tests in files or directories under the -current working directory whose names include "test" or "Test" at a -word boundary (like "test_this" or "functional_test" or "TestClass" -but not "libtest"). Test output is similar to that of unittest, but -also includes captured stdout output from failing tests, for easy -print-style debugging. -These features, and many more, are customizable through the use of -plugins. Plugins included with nose provide support for doctest, code -coverage and profiling, flexible attribute-based test selection, -output capture and more. +%description -n python3-%{upstream_name} +%{desc} This package installs the nose module and nosetests3 program that can discover -python3 unittests. +python3 unit tests. %endif # with_python3 %prep @@ -133,12 +138,22 @@ popd pushd %{py3dir} %py3_install rm %{buildroot}%{_bindir}/nosetests +ln -s ./nosetests-%{python3_version} %{buildroot}%{_bindir}/nosetests-3 mkdir -m 0755 -p %{buildroot}%{_mandir}/man1/ mv %{buildroot}%{_prefix}/man/man1/nosetests.1 %{buildroot}%{_mandir}/man1/nosetests-%{python3_version}.1 +ln -s ./nosetests-%{python3_version}.1 %{buildroot}%{_mandir}/man1/nosetests-3.1 popd %endif # with_python3 %py2_install -- --install-data=%{_datadir} +# Let's make /usr/bin/nosetests just be a symlink to nosetests-{python2_version} +rm %{buildroot}%{_bindir}/nosetests +ln -s nosetests-%{python2_version} %{buildroot}%{_bindir}/nosetests +ln -s nosetests-%{python2_version} %{buildroot}%{_bindir}/nosetests-2 +# We'll do something similar for the man page +mv %{buildroot}%{_mandir}/man1/nosetests.1 %{buildroot}%{_mandir}/man1/nosetests-%{python2_version}.1 +ln -s ./nosetests-%{python2_version}.1 %{buildroot}%{_mandir}/man1/nosetests.1 +ln -s ./nosetests-%{python2_version}.1 %{buildroot}%{_mandir}/man1/nosetests-2.1 %if 0%{?with_docs} pushd doc @@ -164,30 +179,41 @@ popd %endif # with_python3 -%files +%files -n python2-%{upstream_name} %license lgpl.txt -%doc AUTHORS CHANGELOG NEWS README.txt %{_bindir}/nosetests +%{_bindir}/nosetests-2 %{_bindir}/nosetests-%{python_version} %{_mandir}/man1/nosetests.1.gz +%{_mandir}/man1/nosetests-2.1.gz +%{_mandir}/man1/nosetests-%{python_version}.1.gz %{python_sitelib}/nose* %if 0%{?with_python3} %files -n python3-%{upstream_name} %license lgpl.txt -%doc AUTHORS CHANGELOG NEWS README.txt +%{_bindir}/nosetests-3 %{_bindir}/nosetests-%{python3_version} +%{_mandir}/man1/nosetests-3.1.gz %{_mandir}/man1/nosetests-%{python3_version}.1.gz %{python3_sitelib}/nose* %endif %files docs -%doc reST examples +%license lgpl.txt +%doc AUTHORS CHANGELOG examples NEWS README.txt reST %if 0%{?with_docs} %doc html %endif # with_docs %changelog +* Mon Dec 05 2016 Randy Barlow - 1.3.7-11 +- Provide nosetests-3 (#1289820). +- Rename python-nose to python2-nose and use Python provides macro. +- Include the license with the -docs subpackage. +- Use symlinks to provide man pages for all the Python version variants of /usr/bin/nosetests. +- The -docs subpackage no longer requires python-nose since that doesn't make sense. + * Tue Nov 15 2016 Orion Poplawski 1.3.7-10 - Add upstream patch to fix python 3.5 compat - Add patch to allow docutils to read unicode source