Allow for alternative signing methods
The Arch Linux database/package signing mechanism was originally written around PGP, being the most establish file signing mechanism at the time. Since this time, other signing methods have become established, and potentially provide better packager/user experience than PGP. We should allow for other signing methods to be implemented in libalpm.
To achieve this will require:
- A rework/abstraction of the signing backend in libalpm. Currently this is very gpgme focused, and needs to be abstracted away to more general functions. Note that
alpm_db_check_pgp_signature
andalpm_pkg_check_pgp_signature
exist as a potential step towards this, though are underused. - Implement a secondary signing method. This requires thinking of how repos would configure which signing method is being used, or implementing a function to determine signature type. Adding a repo-specific configuration option to pacman.conf would be my preference.
I'd suggest that the openssh signature method would be a good target for a second file signing mechanism.