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_ontarget_${PN} () { 39 if test -x ${bindir}/opkg-key 40 then 41 ${bindir}/opkg-key populate 42 fi 43} 44