summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2018-11-24 15:56:11 -0800
committerAllan McRae <allan@archlinux.org>2018-11-27 22:48:43 +1000
commit3726693612a7ab34a1cd27916a6d65314299812c (patch)
tree5d6287997c1e6ff702f58dac9cb16b547bf8fbb5
parent508b4e3ec0cb3e365942f4dc0626edda4789932b (diff)
downloadpacman-3726693612a7ab34a1cd27916a6d65314299812c.tar.gz
pacman-3726693612a7ab34a1cd27916a6d65314299812c.zip
add specific error for missing gpg support
"wrong or NULL argument passed" is a useless error for end users. Fixes FS#60880. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--lib/libalpm/alpm.h4
-rw-r--r--lib/libalpm/be_sync.c2
-rw-r--r--lib/libalpm/error.c3
-rw-r--r--lib/libalpm/handle.c6
4 files changed, 10 insertions, 5 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 2d3d198a..597e11bd 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -118,7 +118,9 @@ typedef enum _alpm_errno_t {
ALPM_ERR_LIBARCHIVE,
ALPM_ERR_LIBCURL,
ALPM_ERR_EXTERNAL_DOWNLOAD,
- ALPM_ERR_GPGME
+ ALPM_ERR_GPGME,
+ /* Missing compile-time features */
+ ALPM_ERR_MISSING_CAPABILITY_SIGNATURES
} alpm_errno_t;
/** Returns the current error code from the handle. */
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 5009a7da..6adf1cd9 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -788,7 +788,7 @@ alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename,
#ifndef HAVE_LIBGPGME
if(level != ALPM_SIG_USE_DEFAULT) {
- RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL);
+ RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, NULL);
}
#endif
diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c
index b4fc99ae..95be9d7b 100644
--- a/lib/libalpm/error.c
+++ b/lib/libalpm/error.c
@@ -159,6 +159,9 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
return _("gpgme error");
case ALPM_ERR_EXTERNAL_DOWNLOAD:
return _("error invoking external downloader");
+ /* Missing compile-time features */
+ case ALPM_ERR_MISSING_CAPABILITY_SIGNATURES:
+ return _("compiled without signature support");
/* Unknown error! */
default:
return _("unexpected error");
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index 2213ce53..be5666dc 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -807,7 +807,7 @@ int SYMEXPORT alpm_option_set_default_siglevel(alpm_handle_t *handle,
handle->siglevel = level;
#else
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
- RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
+ RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
}
#endif
return 0;
@@ -827,7 +827,7 @@ int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle,
handle->localfilesiglevel = level;
#else
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
- RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
+ RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
}
#endif
return 0;
@@ -851,7 +851,7 @@ int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle,
handle->remotefilesiglevel = level;
#else
if(level != 0 && level != ALPM_SIG_USE_DEFAULT) {
- RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1);
+ RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1);
}
#endif
return 0;