Update to 3.4.7 and simplify builds
Remove dependency on python-cryptography-vectors package and use vectors directly from Github source tar ball. Always include RHEL sources in SRPM to work around https://git.centos.org/centos/centpkg/issue/33 Resolves: rhbz#1952343
This commit is contained in:
parent
ad1252373e
commit
41b3a83259
2
.gitignore
vendored
2
.gitignore
vendored
@ -38,3 +38,5 @@
|
||||
/cryptography-3.4.6.tar.gz
|
||||
/cryptography-3.4.6.tar.gz.asc
|
||||
/cryptography-3.4.6-vendor.tar.bz2
|
||||
/cryptography-3.4.7.tar.gz
|
||||
/cryptography-3.4.7-vendor.tar.bz2
|
||||
|
73
README.md
73
README.md
@ -8,57 +8,7 @@ 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
|
||||
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
|
||||
```
|
||||
* Update Bugzilla issue is ``RHBZ#00000001``
|
||||
|
||||
### Build new python-cryptography
|
||||
|
||||
@ -72,14 +22,14 @@ fedpkg pull
|
||||
Bump version and get sources
|
||||
|
||||
```shell
|
||||
rpmdev-bumpspec -c "Update to 3.4 (#00000002)" -n 3.4 python-cryptography.spec
|
||||
rpmdev-bumpspec -c "Update to 3.4 (#00000001)" -n 3.4 python-cryptography.spec
|
||||
spectool -gf python-cryptography.spec
|
||||
```
|
||||
|
||||
Upload new sources (**two files!**)
|
||||
Upload new source
|
||||
|
||||
```shell
|
||||
fedpkg new-sources cryptography-3.4.tar.gz cryptography-3.4.tar.gz.asc
|
||||
fedpkg new-sources cryptography-3.4.tar.gz
|
||||
```
|
||||
|
||||
Commit changes
|
||||
@ -92,5 +42,18 @@ fedpkg push
|
||||
Build
|
||||
|
||||
```shell
|
||||
fedpkg build --target=f34-build-side-12345
|
||||
fedpkg build
|
||||
```
|
||||
|
||||
## RHEL/CentOS builds
|
||||
|
||||
RHEL and CentOS use a different approach for Rust crates packaging than
|
||||
Fedora. On Fedora Rust dependencies are packaged as RPMs, e.g.
|
||||
``rust-pyo3+default-devel`` RPM. These packages don't exist on RHEL and
|
||||
CentOS. Instead python-cryptography uses a tar ball with vendored crates.
|
||||
The tar ball is created by a script:
|
||||
|
||||
```shell
|
||||
./vendor_rust.py
|
||||
rhpkg upload cryptography-3.4-vendor.tar.bz2
|
||||
```
|
||||
|
Binary file not shown.
@ -6,24 +6,18 @@
|
||||
%global pyo3_version 0.13.1
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 3.4.6
|
||||
Release: 2%{?dist}
|
||||
Version: 3.4.7
|
||||
Release: 1%{?dist}
|
||||
Summary: PyCA's cryptography library
|
||||
|
||||
License: ASL 2.0 or BSD
|
||||
URL: https://cryptography.io/en/latest/
|
||||
Source0: %{pypi_source}
|
||||
Source1: %{pypi_source}.asc
|
||||
# key ids of upstream authors are published in the AUTHORS file:
|
||||
# https://github.com/pyca/cryptography/blob/master/AUTHORS.rst
|
||||
# gpg2 --recv-keys "05FD 9FA1 6CF7 5735 0D91 A560 235A E5F1 29F9 ED98"
|
||||
# gpg2 --export --export-options export-minimal "05FD 9FA1 6CF7 5735 0D91 A560 235A E5F1 29F9 ED98" > gpgkey-05FD_9FA1_6CF7_5735_0D91_A560_235A_E5F1_29F9_ED98.gpg
|
||||
Source2: gpgkey-05FD_9FA1_6CF7_5735_0D91_A560_235A_E5F1_29F9_ED98.gpg
|
||||
%if 0%{?rhel}
|
||||
Source0: https://github.com/pyca/cryptography/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
# created by ./vendor_rust.py helper script
|
||||
Source3: cryptography-%{version}-vendor.tar.bz2
|
||||
Source4: conftest-skipper.py
|
||||
%endif
|
||||
Source1: cryptography-%{version}-vendor.tar.bz2
|
||||
Source2: conftest-skipper.py
|
||||
|
||||
ExclusiveArch: %{rust_arches}
|
||||
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: gcc
|
||||
@ -41,7 +35,6 @@ BuildRequires: python%{python3_pkgversion}-setuptools-rust >= 0.11.3
|
||||
BuildRequires: python%{python3_pkgversion}-six >= 1.4.1
|
||||
|
||||
%if %{with tests}
|
||||
BuildRequires: python%{python3_pkgversion}-cryptography-vectors = %{version}
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: python%{python3_pkgversion}-hypothesis >= 1.11.4
|
||||
BuildRequires: python%{python3_pkgversion}-iso8601
|
||||
@ -64,13 +57,16 @@ Summary: PyCA's cryptography library
|
||||
Requires: openssl-libs
|
||||
Requires: python%{python3_pkgversion}-six >= 1.4.1
|
||||
Requires: python%{python3_pkgversion}-cffi >= 1.7
|
||||
%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9
|
||||
# Can be safely removed in Fedora 37
|
||||
Obsoletes: python%{python3_pkgversion}-cryptography-vectors < 3.4.7
|
||||
%endif
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname}
|
||||
cryptography is a package designed to expose cryptographic primitives and
|
||||
recipes to Python developers.
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -p1 -n %{srcname}-%{version}
|
||||
|
||||
%generate_buildrequires
|
||||
@ -84,7 +80,7 @@ rm -f Cargo.lock
|
||||
cd ../..
|
||||
%else
|
||||
# RHEL: use vendored Rust crates
|
||||
%cargo_prep -V 3
|
||||
%cargo_prep -V 1
|
||||
%endif
|
||||
|
||||
%build
|
||||
@ -102,12 +98,14 @@ find . -name .keep -print -delete
|
||||
# skip hypothesis tests on RHEL
|
||||
rm -rf tests/hypothesis
|
||||
# append skipper to skip iso8601 and pretend tests
|
||||
cat < %{SOURCE4} >> tests/conftest.py
|
||||
cat < %{SOURCE2} >> tests/conftest.py
|
||||
%endif
|
||||
|
||||
# see https://github.com/pyca/cryptography/issues/4885 and
|
||||
# see https://bugzilla.redhat.com/show_bug.cgi?id=1761194 for deselected tests
|
||||
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=${PWD}/vectors:%{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
|
||||
|
||||
%files -n python%{python3_pkgversion}-%{srcname}
|
||||
@ -117,6 +115,11 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest -k "not (test_
|
||||
%{python3_sitearch}/%{srcname}-%{version}-py*.egg-info
|
||||
|
||||
%changelog
|
||||
* Wed Apr 21 2021 Christian Heimes <cheimes@redhat.com> - 3.4.7-1
|
||||
- Update to 3.4.7
|
||||
- Remove dependency on python-cryptography-vectors package and use vectors
|
||||
directly from Github source tar ball. Related: rhbz#1952343
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.4.6-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
|
5
sources
5
sources
@ -1,3 +1,2 @@
|
||||
SHA512 (cryptography-3.4.6.tar.gz) = 30b712adc5cc114faeb7bfef0b9de88c6daefa5a8b99e53bd6d37b8ed560bd1d396cbb202902c307b90f40d695bde151164436bf233fb726dc836c8b70126653
|
||||
SHA512 (cryptography-3.4.6.tar.gz.asc) = 91e8c5f5e9e0d440d0882f0bf2f5f039b299c88f03f52d4060f0ee2a18d46ca6503d77444196db91b8d29c7b302b238461795d252777f9bc2953c52789df9fad
|
||||
SHA512 (cryptography-3.4.6-vendor.tar.bz2) = a3e8b6218c6714730bd235e21e5a1d3389e6c1a15542fa22898fd242dcd7a45f6032054ee42799ba87b8d304717318838a944255823d8a47180810796fd41a82
|
||||
SHA512 (cryptography-3.4.7.tar.gz) = e76d0949fbaca06d2f72805bdce8ea85056ae45b978f51d70d1367bbfb1067e9db76a9f080f890e95ec52c788a3d2fd3ba0a286901f97ee2911ebd7a7a8f71a9
|
||||
SHA512 (cryptography-3.4.7-vendor.tar.bz2) = 67060536b5d48e0497290fb3307329d57e9ac56cb9ee13c2fb1b2f93d059872d411d9dbff3f00bece23a8593d667799de86630b3748337b204f8776ef3f0a387
|
||||
|
Loading…
Reference in New Issue
Block a user