The --keyserver-options=auto-key-retrieve option does not work. It is
described as an obsolete alias for the option auto-key-retrieve, but
it is still documented, so that it is still expected to be supported.
Note that it is still used by libmodule-signature-perl.
The test I did:
zira:~> MODULE_SIGNATURE_VERBOSE=1 MODULE_SIGNATURE_KEYSERVER=pgpkeys.eu cpan -i XML::RPC
Reading '/home/vinc17/.cpan/Metadata'
Database was generated on Thu, 11 Jan 2024 22:41:02 GMT
Running install for module 'XML::RPC'
CPAN: Digest::SHA loaded ok (v6.04)
CPAN: Module::Signature loaded ok (v0.88)
Executing gpg/--verify/--batch/--no-tty/--keyserver=hkp://pgpkeys.eu:11371/--keyserver-options=auto-key-retrieve//tmp/E4jnBjTWP8
gpg: Signature made 2023-12-17T16:29:09 CET
gpg: using RSA key 77576125A905F1BA
gpg: Can't check signature: No public key
Signature invalid for file /home/vinc17/.cpan/sources/authors/id/C/CA/CAVAC/CHECKSUMS. Please investigate.
[...]
zira:~[2]> gpg --keyserver pgpkeys.eu --recv-keys 77576125A905F1BA
gpg: key 328DA867450F89EC: 13 duplicate signatures removed
gpg: key 328DA867450F89EC: "PAUSE Batch Signing Key 2024 <pause@pause.perl.org>" 1 new user ID
gpg: key 328DA867450F89EC: "PAUSE Batch Signing Key 2024 <pause@pause.perl.org>" 14 new signatures
gpg: key 328DA867450F89EC: "PAUSE Batch Signing Key 2024 <pause@pause.perl.org>" 2 new subkeys
gpg: Total number processed: 1
gpg: new user IDs: 1
gpg: new subkeys: 2
gpg: new signatures: 14
zira:~> MODULE_SIGNATURE_VERBOSE=1 MODULE_SIGNATURE_KEYSERVER=pgpkeys.eu cpan -i XML::RPC
Reading '/home/vinc17/.cpan/Metadata'
Database was generated on Thu, 11 Jan 2024 22:41:02 GMT
Running install for module 'XML::RPC'
CPAN: Digest::SHA loaded ok (v6.04)
CPAN: Module::Signature loaded ok (v0.88)
Executing gpg/--verify/--batch/--no-tty/--keyserver=hkp://pgpkeys.eu:11371/--keyserver-options=auto-key-retrieve//tmp/TMJRFmY_zR
gpg: Signature made 2023-12-17T16:29:09 CET
gpg: using RSA key 77576125A905F1BA
gpg: Good signature from "PAUSE Batch Signing Key 2024 <pause@pause.perl.org>" [unknown]
[...]
In summary, the public key was missing and wasn't retrieved
automatically, even though --keyserver-options=auto-key-retrieve was
used. Then I retrieved the key explicitly with --recv-keys and using
the same keyserver, which succeeded, and the signature could be
verified.