def _generate_gpg_key_if_does_not_exist(config): """:returns: True if the gpg key existed before""" gnupg_directory = path.join(path.expanduser("~"), ".gnupg") already_generated = all([ path.exists(path.join(gnupg_directory, filename)) for filename in GPG_FILENAMES ]) home_key_path = path.join(path.expanduser("~"), 'gpg.key') already_generated = already_generated and path.exists(home_key_path) if not already_generated: rmtree(gnupg_directory, ignore_errors=True) log_execute_assert_success([ 'gpg', '--batch', '--gen-key', resource_filename(__name__, 'gpg_batch_file') ]) pid = log_execute_assert_success(['gpg', '--export', '--armor']) with fopen(path.join(path.expanduser("~"), ".rpmmacros"), 'w') as fd: fd.write(GPG_TEMPLATE) with fopen(home_key_path, 'w') as fd: fd.write(pid.get_stdout().decode()) data_key_path = path.join(config.artifacts_directory, 'packages', 'gpg.key') if not path.exists(data_key_path): copy(home_key_path, data_key_path) return not already_generated
def _generate_gpg_key_if_does_not_exist(config): """:returns: True if the gpg key existed before""" gnupg_directory = path.join(path.expanduser("~"), ".gnupg") already_generated = all([path.exists(path.join(gnupg_directory, filename)) for filename in GPG_FILENAMES]) home_key_path = path.join(path.expanduser("~"), 'gpg.key') already_generated = already_generated and path.exists(home_key_path) if not already_generated: rmtree(gnupg_directory, ignore_errors=True) log_execute_assert_success(['gpg', '--batch', '--gen-key', resource_filename(__name__, 'gpg_batch_file')]) pid = log_execute_assert_success(['gpg', '--export', '--armor']) with fopen(path.join(path.expanduser("~"), ".rpmmacros"), 'w') as fd: fd.write(GPG_TEMPLATE) with fopen(home_key_path, 'w') as fd: fd.write(pid.get_stdout()) data_key_path = path.join(config.artifacts_directory, 'packages', 'gpg.key') if not path.exists(data_key_path): copy(home_key_path, data_key_path) return not already_generated
def _import_gpg_key_to_rpm_database(): key = path.join(path.expanduser("~"), 'gpg.key') log_execute_assert_success(['rpm', '--import', key])