Blob Blame History Raw
%global pypi_name certbot-dns-rfc2136

%if 0%{?rhel} && 0%{?rhel} <= 7
%bcond_with python3
%else
%bcond_without python3
%endif

# This plugin is pinned to the version of certbot it was released to work
# with (per upstream), so we specify a version dependency in both Requires
# and BuildRequires to reflect that.

Name:           python-%{pypi_name}
Version:        0.21.1
Release:        3%{?dist}
Summary:        RFC 2136 DNS Authenticator plugin for Certbot

License:        ASL 2.0
URL:            https://github.com/certbot/certbot
Source0:        https://files.pythonhosted.org/packages/source/c/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
BuildArch:      noarch

%if 0%{?rhel} && 0%{?rhel} <= 7
Patch0:         allow-old-setuptools.patch
%endif

BuildRequires:  python2-devel
BuildRequires:  python2-setuptools

%if %{with python3}
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
%endif

%description
The certbot-dns-rfc2136 plugin automates the process of completing an ACME
dns-01 challenge by creating, and subsequently removing, TXT records using
RFC 2136 Dynamic Updates.

%package -n     python2-%{pypi_name}
Summary:        %{summary}
%{?python_provide:%python_provide python2-%{pypi_name}}

# Provide the name users expect as a certbot plugin
%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) || ( 0%{?fedora} && 0%{?fedora} <= 25 )
Provides:      %{pypi_name} = %{version}-%{release}
%endif

Requires:       python2-acme = %{version}
Requires:       python2-certbot = %{version}
%if 0%{?rhel} && 0%{?rhel} <= 7
Requires:       python-dns
Requires:       python2-setuptools
Requires:       python-zope-interface
%else
Requires:       python2-dns
Requires:       python2-setuptools >= 1.0
Requires:       python2-zope-interface
%endif
BuildRequires:  python2-acme = %{version}
BuildRequires:  python2-certbot = %{version}
%if 0%{?rhel} && 0%{?rhel} <= 7
BuildRequires:  python-dns
%else
BuildRequires:  python2-dns
%endif
BuildRequires:  python2-mock
%if 0%{?rhel} && 0%{?rhel} <= 7
BuildRequires:  python2-setuptools
BuildRequires:  python-zope-interface
%else
BuildRequires:  python2-setuptools >= 1.0
BuildRequires:  python2-zope-interface
%endif

%description -n python2-%{pypi_name}
The certbot-dns-rfc2136 plugin automates the process of completing an ACME
dns-01 challenge by creating, and subsequently removing, TXT records using
RFC 2136 Dynamic Updates.

This is the Python 2 version of the package.

%if %{with python3}
%package -n     python3-%{pypi_name}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}

# Provide the name users expect as a certbot plugin
%if 0%{?fedora} >= 26
Provides:      %{pypi_name} = %{version}-%{release}
%endif

Requires:       python3-acme = %{version}
Requires:       python3-certbot = %{version}
Requires:       python3-dns
Requires:       python3-setuptools >= 1.0
Requires:       python3-zope-interface
BuildRequires:  python3-acme = %{version}
BuildRequires:  python3-certbot = %{version}
BuildRequires:  python3-dns
BuildRequires:  python3-mock
BuildRequires:  python3-setuptools >= 1.0
BuildRequires:  python3-zope-interface

%description -n python3-%{pypi_name}
The certbot-dns-rfc2136 plugin automates the process of completing an ACME
dns-01 challenge by creating, and subsequently removing, TXT records using
RFC 2136 Dynamic Updates.

This is the Python 3 version of the package.

%endif

%prep
%autosetup -n %{pypi_name}-%{version}
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info

%build
%py2_build
%if %{with python3}
%py3_build
%endif

%install
%py2_install
%if %{with python3}
%py3_install
%endif

%check
%{__python2} setup.py test
%if %{with python3}
%{__python3} setup.py test
%endif

%files -n python2-%{pypi_name}
%license LICENSE.txt
%doc README.rst
%{python2_sitelib}/certbot_dns_rfc2136
%{python2_sitelib}/certbot_dns_rfc2136-%{version}-py?.?.egg-info

%if %{with python3}
%files -n python3-%{pypi_name}
%license LICENSE.txt
%doc README.rst
%{python3_sitelib}/certbot_dns_rfc2136
%{python3_sitelib}/certbot_dns_rfc2136-%{version}-py?.?.egg-info
%endif

%changelog
* Wed Feb 21 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.21.1-3
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Feb 02 2018 Eli Young <elyscape@gmail.com> - 0.21.1-1
- Update to 0.21.1 (#1535997)

* Fri Dec 22 2017 Eli Young <elyscape@gmail.com> - 0.20.0-1
- Update to 0.20.0
- Fix build on EPEL7, which has an old version of setuptools and no Python 3
  Certbot packages

* Mon Nov 20 2017 Ed Marshall <esm@logic.net> - 0.19.0-1
- Initial package.