[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5275/8267] sign_rpm.bbclass: do not set/use RPM_GPG_PUBKEY



commit 4581e2c3e65178c3fb38cc0598382c69914abe51
Author: Alexander Kanavin <alexander kanavin linux intel com>
Date:   Wed Mar 22 14:43:36 2017 +0200

    sign_rpm.bbclass: do not set/use RPM_GPG_PUBKEY
    
    This is entirely unnecessary (we can ask the signer backend to export the
    key to a file when needed), and was causing confusing selftest failures
    due to the variable being set from two different places.
    
    [YOCTO #11191]
    
    (From OE-Core rev: 74ea979044368dc28c24325e7e77471b70aa8fe8)
    
    Signed-off-by: Alexander Kanavin <alexander kanavin linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/sign_rpm.bbclass     |    7 -------
 meta/lib/oe/package_manager.py    |    4 +++-
 meta/lib/oeqa/selftest/signing.py |    1 -
 3 files changed, 3 insertions(+), 9 deletions(-)
---
diff --git a/meta/classes/sign_rpm.bbclass b/meta/classes/sign_rpm.bbclass
index 2a08020..bc2e947 100644
--- a/meta/classes/sign_rpm.bbclass
+++ b/meta/classes/sign_rpm.bbclass
@@ -28,13 +28,6 @@ python () {
     for var in ('RPM_GPG_NAME', 'RPM_GPG_PASSPHRASE'):
         if not d.getVar(var):
             raise_sanity_error("You need to define %s in the config" % var, d)
-
-    # Set the expected location of the public key
-    d.setVar('RPM_GPG_PUBKEY', os.path.join(d.getVar('STAGING_DIR_TARGET', False),
-                                            d.getVar('sysconfdir', False),
-                                            'pki',
-                                            'rpm-gpg',
-                                            'RPM-GPG-KEY-${DISTRO_VERSION}'))
 }
 
 python sign_rpm () {
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 2a4df61..8b2b331 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -520,7 +520,9 @@ class RpmPM(PackageManager):
             open(platformconfdir + "macros", 'a').write("%_prefer_color 7")
 
         if self.d.getVar('RPM_SIGN_PACKAGES') == '1':
-            pubkey_path = self.d.getVar('RPM_GPG_PUBKEY')
+            signer = get_signer(self.d, self.d.getVar('RPM_GPG_BACKEND'))
+            pubkey_path = oe.path.join(self.d.getVar('B'), 'rpm-key')
+            signer.export_pubkey(pubkey_path, self.d.getVar('RPM_GPG_NAME'))
             rpm_bin = bb.utils.which(os.getenv('PATH'), "rpmkeys")
             cmd = [rpm_bin, '--root=%s' % self.target_rootfs, '--import', pubkey_path]
             try:
diff --git a/meta/lib/oeqa/selftest/signing.py b/meta/lib/oeqa/selftest/signing.py
index c1dd801..0ac3d1f 100644
--- a/meta/lib/oeqa/selftest/signing.py
+++ b/meta/lib/oeqa/selftest/signing.py
@@ -51,7 +51,6 @@ class Signing(oeSelfTest):
         feature = 'INHERIT += "sign_rpm"\n'
         feature += 'RPM_GPG_PASSPHRASE = "test123"\n'
         feature += 'RPM_GPG_NAME = "testuser"\n'
-        feature += 'RPM_GPG_PUBKEY = "%s"\n' % self.pub_key_path
         feature += 'GPG_PATH = "%s"\n' % self.gpg_dir
 
         self.write_config(feature)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]