[pacman-dev] [PATCH 6/7] make alpm download config accessible without curl
Download-related config options are currently limited to builds with curl. This causes compilation errors when those options are used without an appropriate guard which often goes unnoticed because we all use curl. Front-ends providing their own download callback may also want to use these settings. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> --- I saw the patch to hide the offending use of parallel_downloads after I wrote this. I think it makes more sense to just make these available to the front-end; we've already had one attempt to parallelize xfercommand. lib/libalpm/handle.c | 12 ------------ lib/libalpm/handle.h | 3 ++- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 3994f314..0444ee5d 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -303,11 +303,7 @@ const char SYMEXPORT *alpm_option_get_dbext(alpm_handle_t *handle) int SYMEXPORT alpm_option_get_parallel_downloads(alpm_handle_t *handle) { CHECK_HANDLE(handle, return -1); -#ifdef HAVE_LIBCURL return handle->parallel_downloads; -#else - return 1; -#endif } int SYMEXPORT alpm_option_set_logcb(alpm_handle_t *handle, alpm_cb_log cb) @@ -854,11 +850,7 @@ int SYMEXPORT alpm_option_set_disable_dl_timeout(alpm_handle_t *handle, unsigned short disable_dl_timeout) { CHECK_HANDLE(handle, return -1); -#ifdef HAVE_LIBCURL handle->disable_dl_timeout = disable_dl_timeout; -#else - (void)disable_dl_timeout; /* silence unused variable warnings */ -#endif return 0; } @@ -866,11 +858,7 @@ int SYMEXPORT alpm_option_set_parallel_downloads(alpm_handle_t *handle, unsigned int num_streams) { CHECK_HANDLE(handle, return -1); -#ifdef HAVE_LIBCURL ASSERT(num_streams >= 1, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1)); handle->parallel_downloads = num_streams; -#else - (void)num_streams; /* silence unused variable warnings */ -#endif return 0; } diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index 9fef0fbf..3e7d323e 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -60,9 +60,10 @@ struct __alpm_handle_t { #ifdef HAVE_LIBCURL /* libcurl handle */ CURLM *curlm; +#endif + unsigned short disable_dl_timeout; unsigned int parallel_downloads; /* number of download streams */ -#endif #ifdef HAVE_LIBGPGME alpm_list_t *known_keys; /* keys verified to be in our keychain */ -- 2.30.0
On Sat, 16 Jan 2021 at 07:23, Andrew Gregory <andrew.gregory.8@gmail.com> wrote:
Download-related config options are currently limited to builds with curl. This causes compilation errors when those options are used without an appropriate guard which often goes unnoticed because we all use curl. Front-ends providing their own download callback may also want to use these settings.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> ---
I saw the patch to hide the offending use of parallel_downloads after I wrote this. I think it makes more sense to just make these available to the front-end; we've already had one attempt to parallelize xfercommand.
As the author of said patch your fix seems better IMHO. The only thing I'd suggest is adding a Fixes-style reference for the "offending" commit. Here and for other patches in this series. Thanks -Emil P.S. Didn't see the gitlab-ci.yml until Allan mentioned. Props for keeping an eye on the results.
participants (2)
-
Andrew Gregory
-
Emil Velikov