summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/meta
diff options
context:
space:
mode:
authorRandy Witt <randy.e.witt@linux.intel.com>2016-02-19 08:45:25 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-26 17:16:25 +0000
commit7bb9e8ddbfabfbaebe1b3cb635b6d9979854cc47 (patch)
tree2255b9e26f87d9aab9c92fe9f76d44f2ef421e8f /meta/recipes-core/meta
parent64ab17b707dc431aaed880d6d8615971243f46f8 (diff)
downloadpoky-7bb9e8ddbfabfbaebe1b3cb635b6d9979854cc47.tar.gz
signing-keys: Make signing keys the only publisher of keys
Previously the keys were put into the os-release package. The package indexing code was also deploying the keys rather than only using the keys. This change makes signing-keys.bb the only publisher of the keys and also uses standard tasks that already have sstate. (From OE-Core rev: 1e38068ac38dfd067655dfd41464e28439179306) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/meta')
-rw-r--r--meta/recipes-core/meta/signing-keys.bb61
1 files changed, 43 insertions, 18 deletions
diff --git a/meta/recipes-core/meta/signing-keys.bb b/meta/recipes-core/meta/signing-keys.bb
index d7763c664e..1d0e8344ef 100644
--- a/meta/recipes-core/meta/signing-keys.bb
+++ b/meta/recipes-core/meta/signing-keys.bb
@@ -3,37 +3,62 @@
3 3
4DESCRIPTION = "Make public keys of the signing keys available" 4DESCRIPTION = "Make public keys of the signing keys available"
5LICENSE = "MIT" 5LICENSE = "MIT"
6PACKAGES = "" 6LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
7 7 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
8do_fetch[noexec] = "1" 8
9do_unpack[noexec] = "1" 9
10do_patch[noexec] = "1" 10inherit allarch deploy
11do_configure[noexec] = "1"
12do_compile[noexec] = "1"
13do_install[noexec] = "1"
14do_package[noexec] = "1"
15do_packagedata[noexec] = "1"
16do_package_write_ipk[noexec] = "1"
17do_package_write_rpm[noexec] = "1"
18do_package_write_deb[noexec] = "1"
19do_populate_sysroot[noexec] = "1"
20 11
21EXCLUDE_FROM_WORLD = "1" 12EXCLUDE_FROM_WORLD = "1"
13INHIBIT_DEFAULT_DEPS = "1"
14
15PACKAGES =+ "${PN}-rpm ${PN}-packagefeed"
22 16
17FILES_${PN}-rpm = "${sysconfdir}/pki/rpm-gpg"
18FILES_${PN}-packagefeed = "${sysconfdir}/pki/packagefeed-gpg"
23 19
24python do_export_public_keys () { 20python do_get_public_keys () {
25 from oe.gpg_sign import get_signer 21 from oe.gpg_sign import get_signer
26 22
27 if d.getVar("RPM_SIGN_PACKAGES", True): 23 if d.getVar("RPM_SIGN_PACKAGES", True):
28 # Export public key of the rpm signing key 24 # Export public key of the rpm signing key
29 signer = get_signer(d, d.getVar('RPM_GPG_BACKEND', True)) 25 signer = get_signer(d, d.getVar('RPM_GPG_BACKEND', True))
30 signer.export_pubkey(d.getVar('RPM_GPG_PUBKEY', True), 26 signer.export_pubkey(os.path.join(d.expand('${B}'), 'rpm-key'),
31 d.getVar('RPM_GPG_NAME', True)) 27 d.getVar('RPM_GPG_NAME', True))
32 28
33 if d.getVar('PACKAGE_FEED_SIGN', True) == '1': 29 if d.getVar('PACKAGE_FEED_SIGN', True) == '1':
34 # Export public key of the feed signing key 30 # Export public key of the feed signing key
35 signer = get_signer(d, d.getVar('PACKAGE_FEED_GPG_BACKEND', True)) 31 signer = get_signer(d, d.getVar('PACKAGE_FEED_GPG_BACKEND', True))
36 signer.export_pubkey(d.getVar('PACKAGE_FEED_GPG_PUBKEY', True), 32 signer.export_pubkey(os.path.join(d.expand('${B}'), 'pf-key'),
37 d.getVar('PACKAGE_FEED_GPG_NAME', True)) 33 d.getVar('PACKAGE_FEED_GPG_NAME', True))
38} 34}
39addtask do_export_public_keys before do_build 35do_get_public_keys[cleandirs] = "${B}"
36addtask get_public_keys before do_install
37
38do_install () {
39 if [ -f "${B}/rpm-key" ]; then
40 install -D -m 0644 "${B}/rpm-key" "${D}${sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-${DISTRO_VERSION}"
41 fi
42 if [ -f "${B}/pf-key" ]; then
43 install -D -m 0644 "${B}/pf-key" "${D}${sysconfdir}/pki/packagefeed-gpg/PACKAGEFEED-GPG-KEY-${DISTRO_VERSION}"
44 fi
45}
46
47sysroot_stage_all_append () {
48 sysroot_stage_dir ${D}${sysconfdir}/pki ${SYSROOT_DESTDIR}${sysconfdir}/pki
49}
50
51do_deploy () {
52 if [ -f "${B}/rpm-key" ]; then
53 install -D -m 0644 "${B}/rpm-key" "${DEPLOYDIR}/RPM-GPG-KEY-${DISTRO_VERSION}"
54 fi
55 if [ -f "${B}/pf-key" ]; then
56 install -D -m 0644 "${B}/pf-key" "${DEPLOYDIR}/PACKAGEFEED-GPG-KEY-${DISTRO_VERSION}"
57 fi
58}
59do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_RPM}"
60# cleandirs should possibly be in deploy.bbclass but we need it
61do_deploy[cleandirs] = "${DEPLOYDIR}"
62# clear stamp-extra-info since MACHINE is normally put there by deploy.bbclass
63do_deploy[stamp-extra-info] = ""
64addtask deploy after do_get_public_keys