Blob Blame History Raw
%if 0%{?fedora} > 12
%global with_python3 1
%endif

Name:           python-jenkins
Version:        0.4.14
Release:        2%{?dist}
Summary:        Python bindings for the remote Jenkins API

Group:          Development/Libraries
License:        BSD
URL:            https://python-jenkins.readthedocs.org/en/latest
Source0:        https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz

BuildArch:      noarch

%description
Python Jenkins is a library for the remote API of the Jenkins continuous
integration server. It is useful for creating and managing jobs as well as
build nodes.

%package -n python2-jenkins
Summary:        Python bindings for the remote Jenkins API

BuildRequires:  python2-devel
BuildRequires:  python-setuptools
BuildRequires:  python2-multi_key_dict
BuildRequires:  python-mock
BuildRequires:  python-nose
BuildRequires:  python-pbr
BuildRequires:  python-six
BuildRequires:  python-sphinx
BuildRequires:  python-testscenarios
BuildRequires:  python-testtools
BuildRequires:  python-kerberos
Requires:       python-pbr
Requires:       python-six
Requires:       python2-multi_key_dict

%{?python_provide:%python_provide python2-jenkins}

%description -n python2-jenkins
Python Jenkins is a library for the remote API of the Jenkins continuous
integration server. It is useful for creating and managing jobs as well as
build nodes.


%if 0%{?with_python3}
%package -n python3-jenkins
Summary:        Python bindings for the remote Jenkins API

BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
BuildRequires:  python3-multi_key_dict
BuildRequires:  python3-mock
BuildRequires:  python3-nose
BuildRequires:  python3-pbr
BuildRequires:  python3-six
BuildRequires:  python3-sphinx
BuildRequires:  python3-testscenarios
BuildRequires:  python3-testtools
BuildRequires:  python3-kerberos
Requires:       python3-pbr
Requires:       python3-six
Requires:       python3-multi_key_dict

%{?python_provide:%python_provide python3-jenkins}

%description -n python3-jenkins
Python Jenkins is a library for the remote API of the Jenkins continuous
integration server. It is useful for creating and managing jobs as well as
build nodes.
%endif

%prep
%setup -qc

mv %{name}-%{version} python2
pushd python2

# Remove env from __init__.py
sed -i '/^#!\/usr\/bin\/env python$/d' jenkins/__init__.py

# Loosen python-pbr requirement
sed -i 's/pbr>=0.8.2/pbr>=0.8.0/' requirements.txt

# copy common doc files to top dir
cp -pr AUTHORS ChangeLog COPYING README.rst ../
popd

%if 0%{?with_python3}
cp -a python2 python3
find python3 -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
%endif

find python2 -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python2}|'

%build
export PBR_VERSION=%{version}

pushd python2
%{__python2} setup.py build
make -C doc html man
rm -f doc/build/html/.buildinfo
popd

%if 0%{?with_python3}
pushd python3
%{__python3} setup.py build
SPHINXBUILD=sphinx-build-%{python3_version} make -C doc html man
rm -f doc/build/html/.buildinfo
popd
%endif

%install
pushd python2
%{__python2} setup.py install --skip-build --root %{buildroot}
install -p -D -m0644 doc/build/man/pythonjenkins.1 %{buildroot}%{_mandir}/man1/pythonjenkins.1
popd

%if 0%{?with_python3}
pushd python3
%{__python3} setup.py install --skip-build --root %{buildroot}
install -p -D -m0644 doc/build/man/pythonjenkins.1 %{buildroot}%{_mandir}/man1/python3jenkins.1
popd
%endif

%check
%{__python2} -m testtools.run discover -t python2 python2/tests

%if 0%{?with_python3}
%{__python3} -m testtools.run discover -t python3 python3/tests
%endif

%files -n python2-jenkins
%doc AUTHORS ChangeLog README.rst python2/doc/build/html
%license COPYING
%{python2_sitelib}/jenkins
%{python2_sitelib}/python_jenkins-%{version}-py?.?.egg-info
%{_mandir}/man1/pythonjenkins.1.gz

%if 0%{?with_python3}
%files -n python3-jenkins
%doc AUTHORS ChangeLog README.rst python3/doc/build/html
%license COPYING
%{python3_sitelib}/jenkins
%{python3_sitelib}/python_jenkins-%{version}-py?.?.egg-info
%{_mandir}/man1/python3jenkins.1.gz
%endif

%changelog
* Sun May 21 2017 Scott K Logan <logans@cottsay.net> - 0.4.14-2
- Work around nose on Fedora as well (LP: #872887)

* Sat May 13 2017 Ken Dreyer <ktdreyer@ktdreyer.com> 0.4.14-1
- Update to 0.4.14 (rhbz#1267414)
- Use HTTPS homepage URL
- New Source0 PyPI URL
- Avoid nose on el7 (LP: #872887)
- BR: python-kerberos to make the tests get a bit further

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Jun  7 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 0.4.12-2
- Fix python3 subpackage provides

* Tue Jun  7 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 0.4.12-1
- Upstream 0.4.12
- Update to python guidelines

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.8-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Tue Aug 25 2015 Scott K Logan <logans@cottsay.net> - 0.4.8-1
- Update to 0.4.8

* Tue Jun 30 2015 Scott K Logan <logans@cottsay.net> - 0.4.7-1
- Update to 0.4.7

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Apr 12 2015 Scott K Logan <logans@cottsay.net> - 0.4.5-1
- Update to 0.4.5
- Update to latest python packaging guidelines

* Wed Nov 12 2014 Scott K Logan <logans@cottsay.net> - 0.4.1-1
- Update to 0.4.1 (RHBZ #1162743)
- Switch to PyPI upstream
- Add python3 package

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri Feb 21 2014 Scott K Logan <logans@cottsay.net> - 0.2.1-1
- Initial package