rpm/rpmio/rpmpgp_legacy
Panu Matilainen 725ca51695 Allow building rpm without OpenPGP support
For bootstrapping purposes, having rpm depend on Rust is painful, but
directing people to unmaintained crypto code as an alternative is
hair-raising. As a middle ground, let rpm be built without OpenPGP
support at all, which at least gives you a functional rpm and rpm-build
even if you can't sign or verify signatures.

Achieving this is a moderately complex dance which can't meaningfully
be split into multiple commits because everything is interconnected:

Add a new WITH_SEQUOIA option to control use of Sequoia, on by default.
When Sequoia is disabled, default to a newly added dummy PGP implementation
instead which just returns error on everything. And finally, if the
older WITH_INTERNAL_OPENPGP is enabled, use the old PGP implementation.

As the intent is to cut out rpmpgp_legacy to a separate repository,
sanity requires that we also split the openssl/libgcrypt code at the
digest/signature fault line. It's not ideal, but the alternative of
having unused crypto code on which an external component depends on
is just not sustainable. This way, the signature side of things is
quite neatly cut off with the PGP stuff. The diff looks big but there
are no code/functional changes in the libgcrypt/openssl split.
2024-03-20 12:42:33 +02:00
..
CMakeLists.txt Allow building rpm without OpenPGP support 2024-03-20 12:42:33 +02:00
digest_libgcrypt.c Allow building rpm without OpenPGP support 2024-03-20 12:42:33 +02:00
digest_openssl.c Allow building rpm without OpenPGP support 2024-03-20 12:42:33 +02:00
rpmpgp_internal.c Public rpmpgp.h header mass cleanup 2023-10-12 14:38:14 +03:00
rpmpgp_internal.h Refactor internal PGP parser pgpValStr() uses to use the public API 2023-10-12 11:46:36 +03:00