]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-key
- fix parse error when dpkg sends unexpected data
[apt.git] / cmdline / apt-key
index be2b19a1af87a79fc42030259b3f2e7b8e6eb592..3bd1a92d9c838ed847a4a086afb448fbba5eed1b 100755 (executable)
@@ -9,14 +9,14 @@ GPG_CMD="gpg --no-options --no-default-keyring --secret-keyring /etc/apt/secring
 GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg"
 
 
-ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg
-REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
+ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
+REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg
 
 
 update() {
     if [ ! -f $ARCHIVE_KEYRING ]; then
        echo >&2 "ERROR: Can't find the archive-keyring"
-       echo >&2 "Is the ubuntu-keyring package installed?"
+       echo >&2 "Is the debian-archive-keyring package installed?"
        exit 1
     fi
 
@@ -24,9 +24,9 @@ update() {
     $GPG_CMD --quiet --batch --keyring $ARCHIVE_KEYRING --export | $GPG --ignore-time-conflict --import
 
     # remove no-longer used keys
-    keys=`$GPG_CMD --keyring $REMOVED_KEYS --with-colons --list-keys|awk '/^pub/{FS=":";print $5}'`
+    keys=`$GPG_CMD --keyring $REMOVED_KEYS --with-colons --list-keys | grep ^pub | cut -d: -f5`
     for key in $keys; do
-       if $GPG --list-keys --with-colons | awk '/^pub/{FS=":";print $5}'|grep -q $key; then
+       if $GPG --list-keys --with-colons | grep ^pub | cut -d: -f5 | grep -q $key; then
            $GPG --quiet --batch --delete-key --yes ${key}
        fi
     done
@@ -39,6 +39,8 @@ usage() {
     echo
     echo "  apt-key add <file>          - add the key contained in <file> ('-' for stdin)"
     echo "  apt-key del <keyid>         - remove the key <keyid>"
+    echo "  apt-key export <keyid>      - output the key <keyid>"
+    echo "  apt-key exportall           - output all trusted keys"
     echo "  apt-key update              - update keys using the keyring package"
     echo "  apt-key list                - list keys"
     echo
@@ -75,6 +77,12 @@ case "$command" in
     finger*)
         $GPG --batch --fingerprint
         ;;
+    export)
+        $GPG --armor --export "$1"
+        ;;
+    exportall)
+        $GPG --armor --export
+        ;;
     adv*)
         echo "Executing: $GPG $*"
         $GPG $*