Adding a custom repository to aptitude: launchpad

Sometimes you need to install software on your linux box, which couldn’t be found over the normal repositories.

Me for example tried to install XBMC

add-apt-repository ppa:team-xbmc

First i got this error:

Error: can't find signing_key_fingerprint at <a href="https://launchpad.net/api/1.0/~team-xmbc/+archive/ppa">https://launchpad.net/api/1.0/~team-xmbc/+archive/ppa</a>

I spelt XBMC incorrect (wrong: XMBC)

So if you spelt your software correctly or copyed your commandlines from a reliable source the following will happen:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

So when you execute your add-apt-repositry command it implicity executes the above command. As you can see the gpg (i always mix this up with pgp) launches with a lot of parameters which you cannot remember if you are not that interessted.

And as you know problems always come in packs just look at the lines below

gpg: requesting key xxxxxxx from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

The thing is that GPG cannot go over https. More to read here. So we need to edit the preferences that GPG is forced to get the keys over http. Just edit ppa.py with following line

vim /usr/share/pyshared/softwareproperties/ppa.py

Search for

"keyserver.ubuntu.com"

and edit it to

"hkp://keyserver.ubuntu.com:80"

Edit this back when you are done installing your software from launchpad. Otherwise you are getting your software insecurely and aptitude is always nagging about it 😉

gpg: requesting key 91E7EE5E from hkp server keyserver.ubuntu.com
gpg: key 91E7EE5E: public key "Launchpad PPA for XBMC for Linux" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Execute your last command and you will see the above. And for the fact, that I am very talented to missspell something here is another error I got:

W: Failed to fetch http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/dists/lucid/main/binary-armel/Packages.gz  404  Not Found

But this one is easy. I only entered a wrong PPA address before.

Just go to this file

vim /etc/apt/sources.list.d/
and delete all the wrong lines out of it.
So that should it be. Stay entertained!