Blob Blame History Raw
%global srcname twine

Name:           python-%{srcname}
Version:        1.7.4
Release:        3%{?dist}
Summary:        Collection of utilities for interacting with PyPI

License:        ASL 2.0
URL:            https://github.com/pypa/%{srcname}
Source0:        %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
# There's a shebang in twine/__main__.py which generates rpmlint warnings.
Patch0:         0001-Remove-shebang-from-__main__.py.patch
BuildArch:      noarch

%description
Twine is a utility for interacting with PyPI.
Currently it only supports registering projects and uploading distributions.


%package -n python2-%{srcname}
Summary:        %{summary}
Requires:       python2-clint
Requires:       python2-pkginfo >= 1.0
Requires:       python2-requests >= 2.3.0
Requires:       python2-requests-toolbelt >= 0.5.1
Requires:       python2-setuptools >= 0.7.0
# Test requirements
BuildRequires:  python2-clint
BuildRequires:  python2-devel
BuildRequires:  python2-pkginfo >= 1.0
BuildRequires:  python2-requests >= 2.3.0
BuildRequires:  python2-requests-toolbelt >= 0.5.1
BuildRequires:  python2-setuptools >= 0.7.0
%{?python_provide:%python_provide python2-%{srcname}}

%description -n python2-%{srcname}
Twine is a utility for interacting with PyPI.
Currently it only supports registering projects and uploading distributions.


%package -n python3-%{srcname}
Summary:        %{summary}
Requires:       python3-clint
Requires:       python3-pkginfo >= 1.0
Requires:       python3-requests >= 2.3.0
Requires:       python3-requests-toolbelt >= 0.5.1
Requires:       python3-setuptools >= 0.7.0
# Test requirements
BuildRequires:  python3-clint
BuildRequires:  python3-devel
BuildRequires:  python3-pkginfo >= 1.0
BuildRequires:  python3-requests >= 2.3.0
BuildRequires:  python3-requests-toolbelt >= 0.5.1
BuildRequires:  python3-setuptools >= 0.7.0
%{?python_provide:%python_provide python3-%{srcname}}

%description -n python3-%{srcname}
Twine is a utility for interacting with PyPI.
Currently it only supports registering projects and uploading distributions.


%prep
%autosetup -p1 -n %{srcname}-%{version}


%build
%py2_build
%py3_build


%install
# Provide both Python 3 and Python 2 binary entries
%py3_install

mv %{buildroot}%{_bindir}/twine %{buildroot}%{_bindir}/twine-%{python3_version}
ln -s %{_bindir}/twine-%{python3_version} %{buildroot}%{_bindir}/twine-3

%py2_install
ln -s %{_bindir}/twine %{buildroot}%{_bindir}/twine-%{python2_version}
ln -s %{_bindir}/twine-%{python2_version} %{buildroot}%{_bindir}/twine-2


%check
%{__python2} setup.py test
%{__python3} setup.py test


%files -n python2-%{srcname}
%license LICENSE
%doc README.rst AUTHORS
%{python2_sitelib}/*
%{_bindir}/twine
%{_bindir}/twine-2
%{_bindir}/twine-%{python2_version}


%files -n python3-%{srcname}
%license LICENSE
%doc README.rst AUTHORS
%{python3_sitelib}/*
%{_bindir}/twine-3
%{_bindir}/twine-%{python3_version}


%changelog
* Mon Jul 18 2016 Jeremy Cline and Randy Barlow <jeremy@jcline.org> - 1.7.4-3
- Keep objects.inv to support intersphinx documentation
- Don't build docs on <=F23.

* Mon Jul 18 2016 Jeremy Cline <jeremy@jcline.org> - 1.7.4-2
- Add clint as a build dependency so the tests pass

* Fri Jul 15 2016 Jeremy Cline <jeremy@jcline.org> - 1.7.4-1
- Update to the latest upstream release
- Add clint as a dependency

* Tue Jul 12 2016 Jeremy Cline <jeremy@jcline.org> - 1.6.5-5
- Remove unnecessary shebang in __main__.py that caused rpmlint errors

* Mon Jul 11 2016 Jeremy Cline <jeremy@jcline.org> - 1.6.5-4
- Mark man pages as docs

* Mon Jul 11 2016 Jeremy Cline <jeremy@jcline.org> - 1.6.5-3
- Use python_version macro rather than hardcoding version numbers.

* Fri Jul 08 2016 Jeremy Cline <jeremy@jcline.org> - 1.6.5-2
- Update Source0 url to the <name>-<version>.tar.gz format

* Thu Jun 09 2016 Jeremy Cline <jeremy@jcline.org> - 1.6.5-1
- Initial commit