Update to 3.4 (#1925953)
Remove Python 2 support Remove unused python-idna dependency Add Rust support
This commit is contained in:
parent
660907b847
commit
bf3babc383
2
.gitignore
vendored
2
.gitignore
vendored
@ -25,3 +25,5 @@
|
|||||||
/cryptography-3.2.1.tar.gz.asc
|
/cryptography-3.2.1.tar.gz.asc
|
||||||
/cryptography-3.3.1.tar.gz
|
/cryptography-3.3.1.tar.gz
|
||||||
/cryptography-3.3.1.tar.gz.asc
|
/cryptography-3.3.1.tar.gz.asc
|
||||||
|
/cryptography-3.4.tar.gz
|
||||||
|
/cryptography-3.4.tar.gz.asc
|
||||||
|
98
README.md
Normal file
98
README.md
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# PyCA cryptography
|
||||||
|
|
||||||
|
https://cryptography.io/en/latest/
|
||||||
|
|
||||||
|
## Packaging python-cryptography
|
||||||
|
|
||||||
|
The example assumes
|
||||||
|
|
||||||
|
* Fedora Rawhide (f34)
|
||||||
|
* PyCA cryptography release ``3.4``
|
||||||
|
* Update Bugzilla issues are ``RHBZ#00000001`` and ``RHBZ#00000002``
|
||||||
|
* Build side tag is ``f34-build-side-12345``
|
||||||
|
|
||||||
|
### Request a side tag for building
|
||||||
|
|
||||||
|
python-cryptography builds depend on python-cryptography-vectors
|
||||||
|
package. Both packages must be build in a side tag.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg request-side-tag --base-tag f34-build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build new python-cryptography-vectors first
|
||||||
|
|
||||||
|
```shell
|
||||||
|
pushd ../python-cryptography-vectors
|
||||||
|
```
|
||||||
|
|
||||||
|
Switch and update branch
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg switch-branch rawhide
|
||||||
|
fedpkg pull
|
||||||
|
```
|
||||||
|
|
||||||
|
Bump version and get sources
|
||||||
|
|
||||||
|
```shell
|
||||||
|
rpmdev-bumpspec -c "Update to 3.4 (#00000001)" -n 3.4 python-cryptography-vectors.spec
|
||||||
|
spectool -gf python-cryptography-vectors.spec
|
||||||
|
```
|
||||||
|
|
||||||
|
Upload sources
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg new-sources cryptography_vectors-3.4.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
Commit changes
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git add sources .gitignore python-cryptography-vectors.spec
|
||||||
|
fedpkg commit --clog
|
||||||
|
fedpkg push
|
||||||
|
```
|
||||||
|
|
||||||
|
Build and wait for repo to regenerate
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg build --target=f34-build-side-12345
|
||||||
|
koji wait-repo --build python-cryptography-vectors-3.4-1 f34-build-side-12345
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build new python-cryptography
|
||||||
|
|
||||||
|
Switch and update branch
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg switch-branch rawhide
|
||||||
|
fedpkg pull
|
||||||
|
```
|
||||||
|
|
||||||
|
Bump version and get sources
|
||||||
|
|
||||||
|
```shell
|
||||||
|
rpmdev-bumpspec -c "Update to 3.4 (#00000002)" -n 3.4 python-cryptography.spec
|
||||||
|
spectool -gf python-cryptography.spec
|
||||||
|
```
|
||||||
|
|
||||||
|
Upload new sources (**two files!**)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg new-sources cryptography-3.4.tar.gz cryptography-3.4.tar.gz.asc
|
||||||
|
```
|
||||||
|
|
||||||
|
Commit changes
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git add sources .gitignore python-cryptography.spec
|
||||||
|
fedpkg commit --clog
|
||||||
|
fedpkg push
|
||||||
|
```
|
||||||
|
|
||||||
|
Build
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fedpkg build --target=f34-build-side-12345
|
||||||
|
```
|
@ -1,26 +1,13 @@
|
|||||||
%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_without tests
|
%bcond_without tests
|
||||||
|
|
||||||
%{!?python3_pkgversion:%global python3_pkgversion 3}
|
%{!?python3_pkgversion:%global python3_pkgversion 3}
|
||||||
|
|
||||||
%global srcname cryptography
|
%global srcname cryptography
|
||||||
|
%global pyo3_version 0.13.1
|
||||||
|
|
||||||
Name: python-%{srcname}
|
Name: python-%{srcname}
|
||||||
Version: 3.3.1
|
Version: 3.4
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: PyCA's cryptography library
|
Summary: PyCA's cryptography library
|
||||||
|
|
||||||
License: ASL 2.0 or BSD
|
License: ASL 2.0 or BSD
|
||||||
@ -36,31 +23,14 @@ Source2: gpgkey-05FD_9FA1_6CF7_5735_0D91_A560_235A_E5F1_29F9_ED98.gpg
|
|||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gnupg2
|
BuildRequires: gnupg2
|
||||||
|
BuildRequires: rust-packaging
|
||||||
|
BuildRequires: rust-pyo3+default-devel >= %{pyo3_version}
|
||||||
|
BuildRequires: rust-pyo3+extension-module-devel >= %{pyo3_version}
|
||||||
|
|
||||||
%if 0%{?with_python2}
|
|
||||||
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}-cffi >= 1.7
|
BuildRequires: python%{python3_pkgversion}-cffi >= 1.7
|
||||||
BuildRequires: python%{python3_pkgversion}-devel
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
BuildRequires: python%{python3_pkgversion}-idna >= 2.1
|
|
||||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||||
|
BuildRequires: python%{python3_pkgversion}-setuptools-rust >= 0.11.3
|
||||||
BuildRequires: python%{python3_pkgversion}-six >= 1.4.1
|
BuildRequires: python%{python3_pkgversion}-six >= 1.4.1
|
||||||
|
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
@ -71,105 +41,59 @@ BuildRequires: python%{python3_pkgversion}-pretend
|
|||||||
BuildRequires: python%{python3_pkgversion}-pytest >= 3.2.1
|
BuildRequires: python%{python3_pkgversion}-pytest >= 3.2.1
|
||||||
BuildRequires: python%{python3_pkgversion}-pytz
|
BuildRequires: python%{python3_pkgversion}-pytz
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
cryptography is a package designed to expose cryptographic primitives and
|
cryptography is a package designed to expose cryptographic primitives and
|
||||||
recipes to Python developers.
|
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-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}
|
%package -n python%{python3_pkgversion}-%{srcname}
|
||||||
Summary: PyCA's cryptography library
|
Summary: PyCA's cryptography library
|
||||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||||
|
|
||||||
Requires: openssl-libs
|
Requires: openssl-libs
|
||||||
Requires: python%{python3_pkgversion}-idna >= 2.1
|
|
||||||
Requires: python%{python3_pkgversion}-six >= 1.4.1
|
Requires: python%{python3_pkgversion}-six >= 1.4.1
|
||||||
Requires: python%{python3_pkgversion}-cffi >= 1.7
|
Requires: python%{python3_pkgversion}-cffi >= 1.7
|
||||||
|
|
||||||
%description -n python%{python3_pkgversion}-%{srcname}
|
%description -n python%{python3_pkgversion}-%{srcname}
|
||||||
cryptography is a package designed to expose cryptographic primitives and
|
cryptography is a package designed to expose cryptographic primitives and
|
||||||
recipes to Python developers.
|
recipes to Python developers.
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%autosetup -p1 -n %{srcname}-%{version}
|
%autosetup -p1 -n %{srcname}-%{version}
|
||||||
|
%cargo_prep
|
||||||
|
rm -f src/rust/Cargo.lock
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?with_python2}
|
export CARGO_NET_OFFLINE=true
|
||||||
%py2_build
|
|
||||||
%endif
|
|
||||||
%if 0%{?with_python3}
|
|
||||||
%py3_build
|
%py3_build
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# Actually other *.c and *.h are appropriate
|
# Actually other *.c and *.h are appropriate
|
||||||
# see https://github.com/pyca/cryptography/issues/1463
|
# see https://github.com/pyca/cryptography/issues/1463
|
||||||
find . -name .keep -print -delete
|
find . -name .keep -print -delete
|
||||||
|
|
||||||
%if 0%{?with_python2}
|
|
||||||
%py2_install
|
|
||||||
%endif
|
|
||||||
%if 0%{?with_python3}
|
|
||||||
%py3_install
|
%py3_install
|
||||||
%endif
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
%if 0%{?with_python2}
|
|
||||||
# see https://github.com/pyca/cryptography/issues/4885 and
|
# see https://github.com/pyca/cryptography/issues/4885 and
|
||||||
# see https://bugzilla.redhat.com/show_bug.cgi?id=1761194 for deselected tests
|
# 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)"
|
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
|
||||||
%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}
|
%files -n python%{python3_pkgversion}-%{srcname}
|
||||||
%doc README.rst docs
|
%doc README.rst docs
|
||||||
%license LICENSE LICENSE.APACHE LICENSE.BSD
|
%license LICENSE LICENSE.APACHE LICENSE.BSD
|
||||||
%{python3_sitearch}/%{srcname}
|
%{python3_sitearch}/%{srcname}
|
||||||
%{python3_sitearch}/%{srcname}-%{version}-py*.egg-info
|
%{python3_sitearch}/%{srcname}-%{version}-py*.egg-info
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Feb 07 2021 Christian Heimes <cheimes@redhat.com> - 3.4-1
|
||||||
|
- Update to 3.4 (#1925953)
|
||||||
|
- Remove Python 2 support
|
||||||
|
- Remove unused python-idna dependency
|
||||||
|
- Add Rust support
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-2
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (cryptography-3.3.1.tar.gz) = 62192fe0fd3bb8844ccc0056ab72a42b038db2a4ecb0928543c520b85e1de93066dab0d604acf23d37395d68172b9618f81c6022a59ec49725bc1862096d15d1
|
SHA512 (cryptography-3.4.tar.gz) = 5d0d1b62d67e1722f19810738dcae7a9d9ca8b228c06b334486c37d836f20a37332aa59b975d0e4154e4ae91e18546280faf6e18bef8230da42948bc02920c9f
|
||||||
SHA512 (cryptography-3.3.1.tar.gz.asc) = 5ec77aa93142cafc7b8c4d2ba355da477ac403e73b30740bf4ef42ab8065efb7cc1efa6c007ae67a13b44cf43f715f1cc7fee005bfa89b5a490c0f968a7373ff
|
SHA512 (cryptography-3.4.tar.gz.asc) = c26828fffa3db224d24dc1e4937bdd6061548e53d51a772743570e3896e9f1d0810fcafc8b6ad45c75ac8ebca6e97bf7a86c2de5133438856e6b8a3cafbc22e0
|
||||||
|
Loading…
Reference in New Issue
Block a user