summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2020-09-25 13:13:19 +0300
committerJia Zhang <zhang.jia@linux.alibaba.com>2020-10-19 19:32:49 +0800
commita32ddd2b2a51b26c011fa50e441df39304651503 (patch)
treeb34c3a53f36fb308031d61dd095753507a941995
parent696ee1495caa0e1a52a0c212cbdf8d6bb206d9a1 (diff)
downloadmeta-secure-core-a32ddd2b2a51b26c011fa50e441df39304651503.tar.gz
check_gpg_key: Fix gpg-agent.conf creation race condition
If GPG_PATH is already created by signing-keys do_get_public_keys task, subsequent executions of do_package_write_rpm will not create the gpg-agent.conf file anymore. Therefore, the spawned gpg-agent will miss important features such as auto-expand-secmem, leading to the following intermittent build errors: .... Subprocess output: gpg: signing failed: Cannot allocate memory gpg: signing failed: Cannot allocate memory error: gpg exec failed (2) gpg: signing failed: Cannot allocate memory gpg: signing failed: Cannot allocate memory error: gpg exec failed (2) ... Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-rw-r--r--meta-signing-key/classes/user-key-store.bbclass5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta-signing-key/classes/user-key-store.bbclass b/meta-signing-key/classes/user-key-store.bbclass
index 960bde6..5bc650f 100644
--- a/meta-signing-key/classes/user-key-store.bbclass
+++ b/meta-signing-key/classes/user-key-store.bbclass
@@ -477,7 +477,10 @@ def check_gpg_key(basekeyname, keydirfunc, d):
477 status, output = oe.utils.getstatusoutput('mkdir -m 0700 -p %s' % gpg_path) 477 status, output = oe.utils.getstatusoutput('mkdir -m 0700 -p %s' % gpg_path)
478 if status: 478 if status:
479 bb.fatal('Failed to create gpg keying %s: %s' % (gpg_path, output)) 479 bb.fatal('Failed to create gpg keying %s: %s' % (gpg_path, output))
480 f = open(os.path.join(gpg_path, 'gpg-agent.conf'), 'w') 480
481 gpg_conf = os.path.join(gpg_path, 'gpg-agent.conf')
482 if not os.path.exists(gpg_conf):
483 f = open(gpg_conf, 'w')
481 f.write('allow-loopback-pinentry\n') 484 f.write('allow-loopback-pinentry\n')
482 f.write('auto-expand-secmem\n') 485 f.write('auto-expand-secmem\n')
483 f.close() 486 f.close()