Go to file
2024-01-16 14:35:29 +01:00
.gitignore Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
conftest-skipper.py Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
ouroboros-0.17.patch Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
pyo3-0.19.patch Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
python3.12-cryptography.spec Rename SPEC to python3.12-cryptography.spec 2024-01-16 14:35:29 +01:00
README.md Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
sources Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01:00
vendor_rust.py Import from Fedora python-cryptography @ bee6bfd 2024-01-16 14:35:27 +01: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