summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Barker <paul@paulbarker.me.uk>2014-12-21 13:26:27 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-02-03 14:53:56 +0000
commitd8f0011c23a6b8441323974acc70b08c81cfefbd (patch)
tree9c663cbe87423fb35a10f71af3487abbe90c270c
parent9d3e44df2958976fdcaf92a9cfa911f68870194b (diff)
downloadpoky-d8f0011c23a6b8441323974acc70b08c81cfefbd.tar.gz
opkg-keyrings: New recipe
This recipe wraps package and package feed verification keys into a package, making the management and deployment of verification keys much easier. Comments on how to select keys for inclusion in this package are provided in the recipe file. (From OE-Core rev: 2104111edc85d057eb4fadecd007f5c592803da6) Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb48
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb b/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
new file mode 100644
index 0000000000..18d6abdded
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
@@ -0,0 +1,48 @@
1SUMMARY = "Keyrings for verifying opkg packages and feeds"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5# Distro-specific keys can be added to this package in two ways:
6#
7# 1) In a .bbappend, add .gpg and/or .asc files to SRC_URI and install them to
8# ${D}${datadir}/opkg/keyrings/ in a do_install_append function. These
9# files should not be named 'key-$name.gpg' to ensure they don't conflict
10# with keys exported as per (2).
11#
12# 2) In a .bbappend, distro config or local.conf, override the variable
13# OPKG_KEYRING_KEYS to contain a space-separated list of key names. For
14# each name, 'gpg --export $name' will be ran to export the public key to a
15# file named 'key-$name.gpg'. The public key must therefore be in the gpg
16# keyrings on the build machine.
17
18OPKG_KEYRING_KEYS ?= ""
19
20do_compile() {
21 for name in ${OPKG_KEYRING_KEYS}; do
22 gpg --export ${name} > ${B}/key-${name}.gpg
23 done
24}
25
26do_install () {
27 install -d ${D}${datadir}/opkg/keyrings/
28 for name in ${OPKG_KEYRING_KEYS}; do
29 install -m 0644 ${B}/key-${name}.gpg ${D}${datadir}/opkg/keyrings/
30 done
31}
32
33FILES_${PN} = "${datadir}/opkg/keyrings"
34
35# We need 'opkg-key' to run the postinst script
36RDEPENDS_${PN} = "opkg"
37
38pkg_postinst_${PN} () {
39#! /bin/sh
40set -e
41
42if [ x"$D" = "x" ]; then
43 # On target
44 opkg-key populate
45else
46 exit 1
47fi
48}