repo: Improve GPG error messages

The signing test is failing here on EL7 beta for me - it seems like
gnupg isn't honoring the homedir.
This commit is contained in:
Colin Walters 2014-01-30 17:17:36 -05:00
parent ffb19aef9a
commit f36cc6a44c
1 changed files with 13 additions and 3 deletions

View File

@ -1549,14 +1549,23 @@ ostree_repo_sign_commit (OstreeRepo *self,
} }
info = gpgme_ctx_get_engine_info (context); info = gpgme_ctx_get_engine_info (context);
if ((err = gpgme_set_protocol (context, GPGME_PROTOCOL_OpenPGP)) !=
GPG_ERR_NO_ERROR)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Unable to set gpg protocol");
goto out;
}
if (homedir != NULL) if (homedir != NULL)
{ {
if ((err = gpgme_ctx_set_engine_info (context, info->protocol, info->file_name, homedir)) if ((err = gpgme_ctx_set_engine_info (context, info->protocol, "ostree", homedir))
!= GPG_ERR_NO_ERROR) != GPG_ERR_NO_ERROR)
{ {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Unable to set gpg homedir"); "Unable to set gpg homedir to '%s'",
homedir);
goto out; goto out;
} }
} }
@ -1565,7 +1574,8 @@ ostree_repo_sign_commit (OstreeRepo *self,
if ((err = gpgme_get_key (context, key_id, &key, 1)) != GPG_ERR_NO_ERROR) if ((err = gpgme_get_key (context, key_id, &key, 1)) != GPG_ERR_NO_ERROR)
{ {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"No gpg key found with the given key-id"); "No gpg key found with ID %s (homedir: %s)", key_id,
homedir ? homedir : "<default>");
goto out; goto out;
} }