60 lines
1.1 KiB
Markdown
60 lines
1.1 KiB
Markdown
# 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
|
|
|
|
```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.spec
|
|
spectool -gf python-cryptography.spec
|
|
```
|
|
|
|
Upload new source
|
|
|
|
```shell
|
|
fedpkg new-sources cryptography-3.4.tar.gz
|
|
```
|
|
|
|
Commit changes
|
|
|
|
```shell
|
|
fedpkg commit --clog
|
|
fedpkg push
|
|
```
|
|
|
|
Build
|
|
|
|
```shell
|
|
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
|
|
```
|