diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-01-20 15:08:41 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-22 23:42:36 +0000 |
commit | e2ddf409f405ab570ea7f6ed87180789b3a54607 (patch) | |
tree | 4339ce623e6fa5b51b5996395f19b6fbd4a65971 /meta | |
parent | 4b4bb1e905cc20462f4fbc1105ac3fac7af93b15 (diff) | |
download | openembedded-core-e2ddf409f405ab570ea7f6ed87180789b3a54607.tar.gz openembedded-core-e2ddf409f405ab570ea7f6ed87180789b3a54607.tar.bz2 openembedded-core-e2ddf409f405ab570ea7f6ed87180789b3a54607.zip |
oeqa/selftest/signing: use temporary rpmdb
Use temporary rpmdb when importing gpg public key and checking rpm
signature. This patch should fix a problem where test_signing_packages()
sometimes fails with
"pmdb: BDB1540 configured environment flags incompatible with existing
environment"
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oeqa/selftest/signing.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/signing.py b/meta/lib/oeqa/selftest/signing.py index c33662b253..c402e3709a 100644 --- a/meta/lib/oeqa/selftest/signing.py +++ b/meta/lib/oeqa/selftest/signing.py @@ -3,6 +3,8 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var import os import glob import re +import shutil +import tempfile from oeqa.utils.decorators import testcase @@ -69,11 +71,17 @@ class Signing(oeSelfTest): pkg_deploy = os.path.join(deploy_dir_rpm, package_arch, '.'.join((pf, package_arch, 'rpm'))) - runCmd('%s/rpm --import %s%s' % (staging_bindir_native, self.gpg_dir, self.pub_key_name)) + # Use a temporary rpmdb + rpmdb = tempfile.mkdtemp(prefix='oeqa-rpmdb') - ret = runCmd('%s/rpm --checksig %s' % (staging_bindir_native, pkg_deploy)) + runCmd('%s/rpm --define "_dbpath %s" --import %s%s' % + (staging_bindir_native, rpmdb, self.gpg_dir, self.pub_key_name)) + + ret = runCmd('%s/rpm --define "_dbpath %s" --checksig %s' % + (staging_bindir_native, rpmdb, pkg_deploy)) # tmp/deploy/rpm/i586/ed-1.9-r0.i586.rpm: rsa sha1 md5 OK self.assertIn('rsa sha1 md5 OK', ret.output, 'Package signed incorrectly.') + shutil.rmtree(rpmdb) @testcase(1382) def test_signing_sstate_archive(self): |