Subject: bug#36051: "guix import gnu" says public key is not in keyring

From: Jesse Gibbons <[email-masked]>
Date: Sat, 1 Jun 2019 21:33:51 -0600

I am trying to define the gnurobots package using guix import. I try
the following and get the corresponding results:

~$ guix import gnu gnurobots

Starting download of /tmp/guix-file.sRnZ4I
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz...
 gnurobots-1.2.0.tar.gz  173KiB       163KiB/s 00:01
[##################] 100.0%

Starting download of /tmp/guix-file.cZoC7H
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz.sig...
 ….0.tar.gz.sig  72B                  170KiB/s 00:00
[##################] 100.0% In execvp of gpgv: No such file or directory
guix import: warning: signature verification failed for
`ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz' guix import:
warning: (could be because the public key is not in your keyring) guix
import: error: 'gnu' import failed

~$ guix import gnu --key-download=interactive gnurobots

Starting download of /tmp/guix-file.e0KAGy
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz...
 gnurobots-1.2.0.tar.gz  173KiB       162KiB/s 00:01
[##################] 100.0%

Starting download of /tmp/guix-file.lStU1V
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz.sig...
 ….0.tar.gz.sig  72B                  111KiB/s 00:00
[##################] 100.0% In execvp of gpgv: No such file or directory
guix import: warning: signature verification failed for
`ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz' guix import:
warning: (could be because the public key is not in your keyring) guix
import: error: 'gnu' import failed

~$ guix import gnu --key-download=always gnurobots

Starting download of /tmp/guix-file.DtCU1Y
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz...
 gnurobots-1.2.0.tar.gz  173KiB       178KiB/s 00:01
[##################] 100.0%

Starting download of /tmp/guix-file.QOlbzN
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz.sig...
 ….0.tar.gz.sig  72B                   48KiB/s 00:00
[##################] 100.0% In execvp of gpgv: No such file or directory
guix import: warning: signature verification failed for
`ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz' guix import:
warning: (could be because the public key is not in your keyring) guix
import: error: 'gnu' import failed

 ~$ guix import gnu --key-download=never gnurobots

Starting download of /tmp/guix-file.fgTq6E
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz...
 gnurobots-1.2.0.tar.gz  173KiB       132KiB/s 00:01
[##################] 100.0%

Starting download of /tmp/guix-file.v4rsPY
From ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz.sig...
 ….0.tar.gz.sig  72B                   51KiB/s 00:00
[##################] 100.0% In execvp of gpgv: No such file or directory
guix import: warning: signature verification failed for
`ftp://ftp.gnu.org/gnu/gnurobots/gnurobots-1.2.0.tar.gz' guix import:
warning: (could be because the public key is not in your keyring) guix
import: error: 'gnu' import failed

It appears the --key-download option does nothing, even though the
documentation says --key-download=always should automatically
install the missing keys, and there should be a prompt if the option
is omitted. This is fixed when I install gnupg. It appears guix needs
gnupg as a propagated input for this function to work statelessly.

If anyone has a contrary opinion, please express it. I will
make, test, and submit a patch on Monday if nobody beats me to it.

--Jesse