cryptography pinned to the last release without a rust dependency (<4.3)
does not support openssl v3 and thus Jammy, as a result the following
error occurs when deploying on Jammy-Yoga but not Focal-Yoga:
ImportError: /var/lib/juju/agents/unit-keystone-saml-mellon-4/.venv/lib/python3.10/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: FIPS_mode
Update to the latest version of cryptography to resolve this and
backport various build changes to support this from 1167cc6133 (Add
Kinetic and Zed support):
- Unpin cryptography
- Install the required rust compiler at build time,
- Switch the charm to build binary wheels
- Build separate binary releases for Focal (20.04) and Jammy (22.04).
- Switch to charmcraft_channel 2.0/stable for 22.04 support
- Move interface/layer env vars to charmcraft.yaml
- Pin tox to < 4.0.0
- Re-generate a new build.lock with latest versions
Closes-Bug: #1975491
Change-Id: I4666c4a079ba34f9c3e310c3f4ead3ae8476c007