This is a follow-up on the upstream issue to fix intermittent issues in librepo component when parsing armored PGP key blocks.
Example:
[SKIPPED] rust-srpm-macros-epel-26.3-1.el9.noarch.rpm: Already downloaded Red Hat Enterprise Linux - BaseOS 3.5 MB/s | 3.6 kB 00:00 Traceback (most recent call last): File "/usr/bin/dnf-3", line 62, in <module> main.user_main(sys.argv[1:], exit_code=True) File "/usr/lib/python3.12/site-packages/dnf/cli/main.py", line 208, in user_main errcode = main(args) ^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/cli/main.py", line 67, in main return _main(base, args, cli_class, option_parser_class) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/cli/main.py", line 106, in _main return cli_run(cli, base) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/cli/main.py", line 130, in cli_run ret = resolving(cli, base) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/cli/main.py", line 183, in resolving base.do_transaction(display=displays) File "/usr/lib/python3.12/site-packages/dnf/cli/cli.py", line 238, in do_transaction self.gpgsigcheck(install_pkgs) File "/usr/lib/python3.12/site-packages/dnf/cli/cli.py", line 294, in gpgsigcheck self._get_key_for_package(po, fn) File "/usr/lib/python3.12/site-packages/dnf/base.py", line 2539, in _get_key_for_package keys = dnf.crypto.retrieve(keyurl, repo) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/crypto.py", line 137, in retrieve keyinfos = rawkey2infos(handle) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/dnf/crypto.py", line 127, in rawkey2infos keys = libdnf.repo.Key.keysFromFd(key_fo.fileno()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/libdnf/repo.py", line 341, in keysFromFd return _repo.Key_keysFromFd(fileDescriptor) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: Parsing armored OpenPGP packet(s) failed
- links to