0

I'm behind a firewall (i have the proxy setup - just like in Why does add-apt-repository now fail to retrieve keys behind my proxy server, but I can update package lists and manually receive the keys?). I try to apt-get and it says 'retrieving key ... timeout failed' as expected. I've tried every trick and resigned myself to manually retrieving keys.

This manual trick works in some places but not others and this is my question here.

$ sudo apt-add-repository ppa:rael-gc/scudcloud
 ScudCloud is a non official desktop client app for Slack.
Slack (http://slack.com) is a platform for team communication.

Source: https://github.com/raelgc/scudcloud

To install it:

sudo apt-add-repository -y ppa:rael-gc/scudcloud
sudo apt-get update
sudo apt-get install scudcloud
 More info: https://launchpad.net/~rael-gc/+archive/ubuntu/scudcloud
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmps2xm19n_/secring.gpg' created
gpg: keyring `/tmp/tmps2xm19n_/pubring.gpg' created
gpg: requesting key F4E3FBBE from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

I lookup the key at http://keyserver.ubuntu.com (prefix with 0x - ie. 0xF4E3FBBE) and copy the public key to a file, say /tmp/keyfile.

$ sudo apt-key add /tmp/keyfile
> Ok

$ apt-key list
/etc/apt/trusted.gpg
--------------------
pub   1024D/437D05B5 2004-09-12
uid                  Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
sub   2048g/79164387 2004-09-12

....

pub   4096R/F4E3FBBE 2014-04-15
uid                  Launchpad PPA for Rael

The key is in there.

$ sudo apt-add-repository ppa:rael-gc/scudcloud
...
gpg: requesting key F4E3FBBE from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Why does it try and retrieve the key again?

Fortunately that step isn't necessary as following on and doing the rest succeeds:

$ sudo apt-get update
$ sudo apt-get install scudcloud

But why does apt-add-repository try to do the keyserver lookup again?

HankCa
  • 276

1 Answers1

0

apt-add-repository will always try to get the key - it doesn't check whether it already exists in the keyring. Make a feature request if you need.

muru
  • 197,895
  • 55
  • 485
  • 740
  • And so it seems that it adds the repository anyway given that I can continue with an update and install after manually adding the key. Seems odd then that it doesn't check for the keys existence. Are there any edge cases for why apt-add-repository might have this behaviour? – HankCa Feb 07 '16 at 22:24