Schlagwort-Archive: openpgp

PPA key Importskript reloaded

[Update]Da Launchpad die Art geändert hat wie die OpenPGP-Keys auf der jeweiligen PPA-Seite erscheinen, hier ein Update des Skriptes[/Update]

So schnell kanns gehen, gestern noch aktuell, heute schon wieder komplett veraltet, naja fast.

Gestern gabs ja das Skript zum Import der PPA-Keys, ihr erinnert euch...

In den unglaublich zahlreichen Kommentaren 😉 kam die Idee auf, das ganze so umzugestalten das einfach automatisch alle Keys der in der sources.list aufgeführten PPAs heruntergeladen werden.

Et Voila:

Einmal als Paste

Und einmal zum Download

Nach dem Download die Datei ausführbar machen
chmod +x import-all-ppa-keys
und ausführen
import-all-ppa-keys [pfad zur sources.list]

zum Beispiel:

import-all-ppa-keys /etc/apt/sources.list.d/eure.sources.list

Beim ausführen werden alle OpenPGP Keys aus den Seiten extrahiert und ins lokale “apt-System” importiert.

Einen weiteren Vorteil hat das ganze auch noch. Ich beginne mich langsam mit sed anzufreunden.

Skript zum Import von Launchpad PPA OpenPGP Keys

[Update]Hier gibts eine etwas verbesserte Version des Skriptes, das automatisch alle Keys für die in der sources.list vorhandenen PPAs importiert[/Update]

In der neuesten Version unterstützt das Launchpad PPA System auch endlich das signieren der PPAs. Allerdings ist das Hinzufügen der Keys in das lokale System durchaus als Quälerei zu bezeichnen (hier ist der Prozess beschrieben).

Darum hier ein kleines Skript, welches das ganze ein wenig vereinfachen sollte:

#!/bin/bash
# Script for retrieving and adding
# Launchpad PPA OpenPGP keys to the local system.

if [ "$1" != "" ]; then
string=`curl -s $1 | grep 'OpenPGP key' | sed -e 's/.*code>\(.*\)<\/code.*/\1/'`
echo "$string"

gpg --no-verbose --no-default-keyring --keyring /tmp/tmp.keyring --keyserver keyserver.ubuntu.com --recv $string&& gpg --no-default-keyring --keyring /tmp/tmp.keyring --export --armor $string | sudo apt-key add - && rm /tmp/tmp.keyring
if [ $? = 0 ]; then
echo ""
echo "Key successfully imported"
echo ""
exit 0
elif [ $? = 1 ]; then
echo ""
echo "An error occured, please check the PPA URL"
echo ""
fi
else
echo "Please use the right syntax:"
echo "import-ppa-key [PPA URL]"
echo "PPA URL looks like this: https://edge.launchpad.net/~user/+archive/ppa"
exit 1
fi

Das ganze gibts auch nochmal hier im noPaste-Service: http://paste.pocoo.org/show/102735/
Oder hier direkt als Datei zum herunterladen: http://zeroathome.de/files/import-ppa-key

Wie immer, nicht schön, aber es funktioniert 😉

Nach dem Download die Datei ausführbar machen
chmod +x import-ppa-key
und ausführen
import-ppa-key [PPA URL]
der Parameter [PPA-URL] sollte folgendermaßen aussehen:
https://edge.launchpad.net/~user/+archive/ppa

zum Beispiel:

import-ppa-key https://edge.launchpad.net/~transmissionbt/+archive/ppa

Beim ausführen wird der OpenPGP Key aus der Seite extrahiert und ins lokale "apt-System" eingefügt.