The python-cryptography rpms
Find a file
Jeremy Cline 143d2e3463
Fix the build for ELN
PyO3 doesn't support Python 3.13 until 0.22, but cryptography 0.42 is
using 0.20 at the moment. Use ABI3 forward compatibility for ELN builds
until cryptography updates.

The Rawhide build is using crates from the distro which must be setting
this in some way, but I'm not familiar enough with PyO3 or Fedora's Rust
packaging to find it quickly.

Fixes rhbz#2295602
2024-07-03 14:43:42 -04:00
.gitignore Update to 42.0.8, resolves RHBZ#2251816" 2024-07-03 09:25:42 -04:00
changelog Switch to autorelease and autochangelog macros 2024-07-03 10:27:54 -04:00
conftest-skipper.py Skip iso8601 and pretend tests on RHEL 2021-02-12 16:47:08 +01:00
python-cryptography.spec Fix the build for ELN 2024-07-03 14:43:42 -04:00
README.md Update to 3.4.7, use vectors from sources (#1952024) 2021-04-22 08:07:57 +02:00
skip-overflow-tests-32bit.patch Update to 42.0.8, resolves RHBZ#2251816" 2024-07-03 09:25:42 -04:00
sources Update to 42.0.8, resolves RHBZ#2251816" 2024-07-03 09:25:42 -04:00
vendor_rust.py Update to 42.0.8, resolves RHBZ#2251816" 2024-07-03 09:25:42 -04:00

PyCA cryptography

https://cryptography.io/en/latest/

Packaging python-cryptography

The example assumes

  • Fedora Rawhide (f34)
  • PyCA cryptography release 3.4
  • Update Bugzilla issue is RHBZ#00000001

Build new python-cryptography

Switch and update branch

fedpkg switch-branch rawhide
fedpkg pull

Bump version and get sources

rpmdev-bumpspec -c "Update to 3.4 (#00000001)" -n 3.4 python-cryptography.spec
spectool -gf python-cryptography.spec

Upload new source

fedpkg new-sources cryptography-3.4.tar.gz

Commit changes

fedpkg commit --clog
fedpkg push

Build

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:

./vendor_rust.py
rhpkg upload cryptography-3.4-vendor.tar.bz2