summaryrefslogtreecommitdiffstats
path: root/utils/opkg-key
diff options
context:
space:
mode:
authorticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-15 00:16:36 (EST)
committer ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2008-12-15 00:16:36 (EST)
commit968549573f2146ef6efa8abef722533b82716b2b (patch)
treeadf86ffc7e1c2c33ce92df479e8889d1977e179e /utils/opkg-key
parentf3c3b7a6b89c7acdc4eb1c42670522b6b20e015f (diff)
opkg: * Add opkg-key utility
* Move update-alternatives to utils directory * Update opkg_verify_file function to import keys from /etc/opkg git-svn-id: http://opkg.googlecode.com/svn/trunk@106 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'utils/opkg-key')
-rwxr-xr-xutils/opkg-key74
1 files changed, 74 insertions, 0 deletions
diff --git a/utils/opkg-key b/utils/opkg-key
new file mode 100755
index 0000000..266bb66
--- /dev/null
+++ b/utils/opkg-key
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# Based on apt-key from apt-0.6.25
+# Licensed under GPL Version 2
+
+set -e
+
+usage() {
+ echo "Usage: opkg-key [options] command [arguments]"
+ echo
+ echo "Manage opkg's list of trusted keys"
+ echo
+ echo " opkg-key add <file> - add the key contained in <file> ('-' for stdin)"
+ echo " opkg-key del <keyid> - remove the key <keyid>"
+ echo " opkg-key list - list keys"
+ echo
+ echo "Options:"
+ echo " -o <root> Use <root> as the offline root directory"
+ echo
+}
+
+if [ "$1" = "-o" ]; then
+ ROOT=$2
+ shift 2
+ echo "Note: using \"$ROOT\" as root path"
+else
+ ROOT=""
+fi
+
+command="$1"
+if [ -z "$command" ]; then
+ usage
+ exit 1
+fi
+shift
+
+if [ "$command" != "help" ] && ! which gpg >/dev/null 2>&1; then
+ echo >&2 "Warning: gnupg does not seem to be installed."
+ echo >&2 "Warning: opkg-key requires gnupg for most operations."
+ echo >&2
+fi
+
+# We don't use a secret keyring, of course, but gpg panics and
+# implodes if there isn't one available
+
+GPG="gpg --no-options --no-default-keyring --keyring $ROOT/etc/opkg/trusted.gpg --secret-keyring $ROOT/etc/opkg/secring.gpg --trustdb-name $ROOT/etc/opkg/trustdb.gpg"
+
+case "$command" in
+ add)
+ $GPG --quiet --batch --import "$1"
+ echo "OK"
+ ;;
+ del|rm|remove)
+ $GPG --quiet --batch --delete-key --yes "$1"
+ echo "OK"
+ ;;
+ list)
+ $GPG --batch --list-keys
+ ;;
+ finger*)
+ $GPG --batch --fingerprint
+ ;;
+ adv*)
+ echo "Executing: $GPG $*"
+ $GPG $*
+ ;;
+ help)
+ usage
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+esac