python-coverage/python-coverage.spec

92 lines
3.1 KiB
RPMSpec

#
# spec file for package python-coverage
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python-coverage
Version: 4.0
Release: 0
Url: http://nedbatchelder.com/code/coverage/%{version}
Summary: Code coverage measurement for Python
License: Apache-2.0
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/c/coverage/coverage-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
BuildRequires: python-setuptools
# Test requirements:
#BuildRequires: python-mock
#BuildRequires: python-nose
Requires: python-setuptools
Requires: python-xml
Requires(post): /usr/sbin/update-alternatives
Requires(postun): /usr/sbin/update-alternatives
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%endif
%description
Coverage.py measures code coverage, typically during test execution. It uses
the code analysis tools and tracing hooks provided in the Python standard
library to determine which lines are executable, and which have been executed.
%prep
%setup -q -n coverage-%{version}
%build
python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for p in coverage ; do
mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{py_ver}
ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
# create a dummy target for /etc/alternatives/$p
touch %{buildroot}%{_sysconfdir}/alternatives/$p
done
#NOTE(saschpe): The following seems to mess with the install dir, which is odd:
#%%check
# Taken straight from tox.ini:
#python setup.py develop
#python igor.py zip_mods install_egg remove_extension
#python igor.py test_with_tracer py
#python setup.py --quiet build_ext --inplace
#python igor.py test_with_tracer c
%post
update-alternatives \
--install %{_bindir}/coverage coverage %{_bindir}/coverage-%{py_ver} 30
%preun
if [ $1 -eq 0 ] ; then
update-alternatives --remove coverage %{_bindir}/coverage-%{py_ver}
fi
%files
%defattr(-,root,root,-)
%doc AUTHORS.txt CHANGES.txt README.rst
%{_bindir}/coverage
%{_bindir}/coverage2
%{_bindir}/coverage-%{py_ver}
%ghost %{_sysconfdir}/alternatives/coverage
%{python_sitearch}/coverage/
%{python_sitearch}/coverage-%{version}-py%{py_ver}.egg-info
%changelog