[pacman-dev] [PATCH 6/7] make alpm download config accessible without curl

Andrew Gregory andrew.gregory.8 at gmail.com
Sat Jan 16 07:21:00 UTC 2021


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 at 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


More information about the pacman-dev mailing list