diff options
author | Ross Burton <ross.burton@intel.com> | 2016-07-21 16:28:45 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-25 23:47:02 +0100 |
commit | d4a5b5d11c6d7d5aba5f2eb88db091c1b98ef87c (patch) | |
tree | 3e3dc3c1c6b817c274f4c3bc1293af49d63c4a3f | |
parent | 05dcb054fcd0c80bb09612c3e15b6b1f0487aae8 (diff) | |
download | openembedded-core-d4a5b5d11c6d7d5aba5f2eb88db091c1b98ef87c.tar.gz openembedded-core-d4a5b5d11c6d7d5aba5f2eb88db091c1b98ef87c.tar.bz2 openembedded-core-d4a5b5d11c6d7d5aba5f2eb88db091c1b98ef87c.zip |
oeqa/selftest/signing: use a temporary directory for GPG home
Instead of using a directory in the layer as the GPG home and carefully deleting
the right files from it, use tempfile to create a temporary directory which will
be cleaned up for us.
Also change the public/secret key variables to be absolute paths as they're
always used as absolute paths.
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/lib/oeqa/selftest/signing.py | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/meta/lib/oeqa/selftest/signing.py b/meta/lib/oeqa/selftest/signing.py index 1babca07df..beafd63794 100644 --- a/meta/lib/oeqa/selftest/signing.py +++ b/meta/lib/oeqa/selftest/signing.py @@ -12,30 +12,18 @@ from oeqa.utils.ftools import write_file class Signing(oeSelfTest): gpg_dir = "" - pub_key_name = 'key.pub' - secret_key_name = 'key.secret' + pub_key_path = "" + secret_key_path = "" @classmethod def setUpClass(cls): - # Import the gpg keys + cls.gpg_home_dir = tempfile.TemporaryDirectory(prefix="oeqa-signing-") + cls.gpg_dir = cls.gpg_home_dir.name - cls.gpg_dir = os.path.join(cls.testlayer_path, 'files/signing/') + cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub") + cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret") - # key.secret key.pub are located in gpg_dir - pub_key_location = cls.gpg_dir + cls.pub_key_name - secret_key_location = cls.gpg_dir + cls.secret_key_name - runCmd('gpg --homedir %s --import %s %s' % (cls.gpg_dir, pub_key_location, secret_key_location)) - - @classmethod - def tearDownClass(cls): - # Delete the files generated by 'gpg --import' - - gpg_files = glob.glob(cls.gpg_dir + '*.gpg*') - random_seed_file = cls.gpg_dir + 'random_seed' - gpg_files.append(random_seed_file) - - for gpg_file in gpg_files: - runCmd('rm -f ' + gpg_file) + runCmd('gpg --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) @testcase(1362) def test_signing_packages(self): @@ -57,7 +45,7 @@ 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%s"\n' % (self.gpg_dir, self.pub_key_name) + feature += 'RPM_GPG_PUBKEY = "%s"\n' % self.pub_key_path feature += 'GPG_PATH = "%s"\n' % self.gpg_dir self.write_config(feature) @@ -81,8 +69,8 @@ class Signing(oeSelfTest): # Use a temporary rpmdb rpmdb = tempfile.mkdtemp(prefix='oeqa-rpmdb') - runCmd('%s/rpm --define "_dbpath %s" --import %s%s' % - (staging_bindir_native, rpmdb, self.gpg_dir, self.pub_key_name)) + runCmd('%s/rpm --define "_dbpath %s" --import %s' % + (staging_bindir_native, rpmdb, self.pub_key_path)) ret = runCmd('%s/rpm --define "_dbpath %s" --checksig %s' % (staging_bindir_native, rpmdb, pkg_deploy)) |