Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | SUMMARY = "Keyrings for verifying opkg packages and feeds" |
| 2 | LICENSE = "MIT" |
| 3 | LIC_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 Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 8 | # ${D}${datadir}/opkg/keyrings/ in a do_install:append function. These |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 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 | |
| 18 | OPKG_KEYRING_KEYS ?= "" |
| 19 | |
| 20 | do_compile() { |
| 21 | for name in ${OPKG_KEYRING_KEYS}; do |
| 22 | gpg --export ${name} > ${B}/key-${name}.gpg |
| 23 | done |
| 24 | } |
| 25 | |
| 26 | do_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 Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 33 | FILES:${PN} = "${datadir}/opkg/keyrings" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 34 | |
| 35 | # We need 'opkg-key' to run the postinst script |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 36 | RDEPENDS:${PN} = "opkg" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 37 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 38 | pkg_postinst_ontarget:${PN} () { |
Andrew Geissler | c182c62 | 2020-05-15 14:13:32 -0500 | [diff] [blame] | 39 | if test -x ${bindir}/opkg-key |
| 40 | then |
| 41 | ${bindir}/opkg-key populate |
| 42 | fi |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 43 | } |