diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f4ecd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/cryptography-2.8.tar.gz diff --git a/.python-cryptography.metadata b/.python-cryptography.metadata new file mode 100644 index 0000000..2922c22 --- /dev/null +++ b/.python-cryptography.metadata @@ -0,0 +1 @@ +94ef5dc1261a4388572ce3ad9af1515691276d2c SOURCES/cryptography-2.8.tar.gz diff --git a/SPECS/python-cryptography.spec b/SPECS/python-cryptography.spec new file mode 100644 index 0000000..6620f64 --- /dev/null +++ b/SPECS/python-cryptography.spec @@ -0,0 +1,239 @@ +%if 0%{?fedora} || 0%{?rhel} > 7 +# Enable python3 build by default +%bcond_without python3 +%else +%bcond_with python3 +%endif + +%if 0%{?fedora} > 31 || 0%{?rhel} > 7 +# Disable python2 build by default +%bcond_with python2 +%else +%bcond_without python2 +%endif + +%bcond_with tests + +%{!?python3_pkgversion:%global python3_pkgversion 3} + +%global srcname cryptography + +Name: python-%{srcname} +Version: 2.8 +Release: 3%{?dist} +Summary: PyCA's cryptography library + +License: ASL 2.0 or BSD +URL: https://cryptography.io/en/latest/ +Source0: https://pypi.io/packages/source/c/%{srcname}/%{srcname}-%{version}.tar.gz + +# Exclude i686 arch. Due to a modularity issue it's being added to the +# x86_64 compose of CRB, but we don't want to ship it at all. +# See: https://projects.engineering.redhat.com/browse/RCM-72605 +ExcludeArch: i686 + +BuildRequires: openssl-devel +BuildRequires: gcc + +%if 0%{?with_python2} +BuildRequires: python2-asn1crypto >= 0.21 +BuildRequires: python2-cffi >= 1.7 +BuildRequires: python2-cryptography-vectors = %{version} +BuildRequires: python2-devel +BuildRequires: python2-enum34 +BuildRequires: python2-idna >= 2.1 +BuildRequires: python2-ipaddress +BuildRequires: python2-setuptools +BuildRequires: python2-six >= 1.4.1 + +%if %{with tests} +BuildRequires: python2-hypothesis >= 1.11.4 +BuildRequires: python2-iso8601 +BuildRequires: python2-pretend +BuildRequires: python2-pytest >= 3.2.1 +BuildRequires: python2-pytz +%endif +%endif + +%if 0%{?with_python3} +BuildRequires: python%{python3_pkgversion}-asn1crypto >= 0.21 +BuildRequires: python%{python3_pkgversion}-cffi >= 1.7 +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-idna >= 2.1 +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-six >= 1.4.1 +BuildRequires: python%{python3_pkgversion}-rpm-macros + +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-cryptography-vectors = %{version} +BuildRequires: python%{python3_pkgversion}-hypothesis >= 1.11.4 +BuildRequires: python%{python3_pkgversion}-iso8601 +BuildRequires: python%{python3_pkgversion}-pretend +BuildRequires: python%{python3_pkgversion}-pytest >= 3.2.1 +BuildRequires: python%{python3_pkgversion}-pytz +%endif +%endif + +%description +cryptography is a package designed to expose cryptographic primitives and +recipes to Python developers. + +%if 0%{?with_python2} +%package -n python2-%{srcname} +Summary: PyCA's cryptography library + +%if 0%{?with_python3} +%{?python_provide:%python_provide python2-%{srcname}} +%else +Provides: python-%{srcname} +%endif + +Requires: openssl-libs +Requires: python2-idna >= 2.1 +Requires: python2-asn1crypto >= 0.21 +Requires: python2-six >= 1.4.1 +Requires: python2-cffi >= 1.7 +Requires: python2-enum34 +Requires: python2-ipaddress + +%description -n python2-%{srcname} +cryptography is a package designed to expose cryptographic primitives and +recipes to Python developers. +%endif + +%if 0%{?with_python3} +%package -n python%{python3_pkgversion}-%{srcname} +Summary: PyCA's cryptography library +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} + +Requires: openssl-libs +Requires: python%{python3_pkgversion}-idna >= 2.1 +Requires: python%{python3_pkgversion}-asn1crypto >= 0.21 +Requires: python%{python3_pkgversion}-six >= 1.4.1 +Requires: python%{python3_pkgversion}-cffi >= 1.7 + +%description -n python%{python3_pkgversion}-%{srcname} +cryptography is a package designed to expose cryptographic primitives and +recipes to Python developers. +%endif + +%prep +%autosetup -p1 -n %{srcname}-%{version} + +%build +%if 0%{?with_python2} +%py2_build +%endif +%if 0%{?with_python3} +%py3_build +%endif + +%install +# Actually other *.c and *.h are appropriate +# see https://github.com/pyca/cryptography/issues/1463 +find . -name .keep -print -delete + +%if 0%{?with_python2} +%py2_install +%endif +%if 0%{?with_python3} +%py3_install +%endif + +%check +%if %{with tests} +%if 0%{?with_python2} +# see https://github.com/pyca/cryptography/issues/4885 and +# see https://bugzilla.redhat.com/show_bug.cgi?id=1761194 for deselected tests +PYTHONPATH=%{buildroot}%{python2_sitearch} %{__python2} -m pytest -k "not (test_buffer_protocol_alternate_modes or test_dh_parameters_supported or test_load_ecdsa_no_named_curve)" +%endif + +%if 0%{?with_python3} +PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest -k "not (test_buffer_protocol_alternate_modes or test_dh_parameters_supported or test_load_ecdsa_no_named_curve)" +%endif +%endif + + +%if 0%{?with_python2} +%files -n python2-%{srcname} +%doc LICENSE LICENSE.APACHE LICENSE.BSD README.rst docs +%{python2_sitearch}/%{srcname} +%{python2_sitearch}/%{srcname}-%{version}-py*.egg-info +%endif + + +%if 0%{?with_python3} +%files -n python%{python3_pkgversion}-%{srcname} +%doc README.rst docs +%license LICENSE LICENSE.APACHE LICENSE.BSD +%{python3_sitearch}/%{srcname} +%{python3_sitearch}/%{srcname}-%{version}-py*.egg-info +%endif + + +%changelog +* Fri Dec 13 2019 Tomas Orsava - 2.8-3 +- Exclude unsupported i686 arch + +* Thu Nov 21 2019 Lumír Balhar - 2.8-2 +- Adjusted for Python 3.8 module in RHEL 8 + +* Thu Oct 17 2019 Christian Heimes - 2.8-1 +- Update to 2.8 +- Resolves: rhbz#1762779 + +* Sun Oct 13 2019 Christian Heimes - 2.7-3 +- Skip unit tests that fail with OpenSSL 1.1.1.d +- Resolves: rhbz#1761194 +- Fix and simplify Python 3 packaging + +* Sat Oct 12 2019 Christian Heimes - 2.7-2 +- Drop Python 2 package +- Resolves: rhbz#1761081 + +* Tue Sep 03 2019 Randy Barlow - 2.7-1 +- Update to 2.7 (#1715680). + +* Fri Aug 16 2019 Miro Hrončok - 2.6.1-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Feb 28 2019 Christian Heimes - 2.6.1-1 +- New upstream release 2.6.1, resolves RHBZ#1683691 + +* Wed Feb 13 2019 Alfredo Moralejo - 2.5-1 +- Updated to 2.5. + +* Sat Feb 02 2019 Fedora Release Engineering - 2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Aug 13 2018 Christian Heimes - 2.3-2 +- Use TLSv1.2 in test as workaround for RHBZ#1615143 + +* Wed Jul 18 2018 Christian Heimes - 2.3-1 +- New upstream release 2.3 +- Fix AEAD tag truncation bug, RHBZ#1602752 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Miro Hrončok - 2.2.1-2 +- Rebuilt for Python 3.7 + +* Wed Mar 21 2018 Christian Heimes - 2.2.1-1 +- New upstream release 2.2.1 + +* Sun Feb 18 2018 Christian Heimes - 2.1.4-1 +- New upstream release 2.1.4 + +* Sun Feb 18 2018 Christian Heimes - 2.1.3-4 +- Build requires gcc + +* Mon Feb 12 2018 Iryna Shcherbina - 2.1.3-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 2.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild