blob: 7a523a0c7ae1f9f2b50976706d2a12ff6da652ed (
plain)
- #!/bin/sh
- # Author: Tom Marble <tom.marble@sun.com>
- # License: GPLv2
- # Origin: https://add-apt-key.dev.java.net/
- PROGRAM=add-apt-key
- # KEYSERVER=pgp.mit.edu
- KEYSERVER=subkeys.pgp.net
- verbose=""
- error () {
- local err="$1"
- shift
- echo "$*"
- exit $err
- }
- usage () {
- rv=$1
- cat >&2 <<EOF
- usage: $PROGRAM [-h|--help] [-v|--verbose] [-k|--keyserver name] key-id
- EOF
- exit $rv
- }
- vecho () {
- [ -z "$verbose" ] || echo >&2 "$@"
- }
- vcmd () {
- vecho $*
- $*
- }
- if [ -x /usr/bin/id ] && [ `id -u` -ne 0 ]; then
- error 1 "$PROGRAM can only run as root"
- fi
- if [ -e /etc/default/add-apt-key ]; then
- . /etc/default/add-apt-key
- fi
- keyid=""
- while [ "$#" -gt 0 ]; do
- case "$1" in
- -v|--verbose)
- verbose=yes;;
- -h|--help)
- usage 0;;
- -k|--keyserver)
- [ "$#" -gt 1 ] || usage 1
- KEYSERVER=$2
- shift;;
- -*)
- usage 1;;
- *)
- [ -z "$keyid" ] || usage 1
- keyid="$1"
- ;;
- esac
- shift
- done
- [ "$#" -eq 0 ] || usage 1
- [ -n "$keyid" ] || usage 1
- vecho "requesting key $keyid from $KEYSERVER ..."
- vcmd gpg --keyserver $KEYSERVER --recv-keys $keyid
- [ "$?" -eq 0 ] || error 3 "key $keyid not found"
- vecho "adding $keyid to APT key ring ..."
- vcmd gpg --armor --export $keyid | apt-key add -
- [ "$?" -eq 0 ] || error 4 "unable to add key $keyid to apt-key ring"
- vecho "done"
- exit 0
|