blob: 84aeb980684d4c3ffd32423e45832c77e15684f8 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "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
Patrick Williams213cb262021-08-07 19:21:33 -05008# ${D}${datadir}/opkg/keyrings/ in a do_install:append function. These
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009# 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
Patrick Williams213cb262021-08-07 19:21:33 -050033FILES:${PN} = "${datadir}/opkg/keyrings"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050034
35# We need 'opkg-key' to run the postinst script
Patrick Williams213cb262021-08-07 19:21:33 -050036RDEPENDS:${PN} = "opkg"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050037
Patrick Williams213cb262021-08-07 19:21:33 -050038pkg_postinst_ontarget:${PN} () {
Andrew Geisslerc182c622020-05-15 14:13:32 -050039 if test -x ${bindir}/opkg-key
40 then
41 ${bindir}/opkg-key populate
42 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -050043}