[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 37/55] curl: remove compatibility code, require 7.29.0
From: |
Paolo Bonzini |
Subject: |
[PULL 37/55] curl: remove compatibility code, require 7.29.0 |
Date: |
Mon, 21 Dec 2020 15:44:29 +0100 |
cURL 7.16.0 was released in October 2006. Just remove code that is
in all likelihood not being used anywhere, and require the oldest version
found in currently supported distros, which is 7.29.0 from CentOS 7.
pkg-config is enough for QEMU, since it does not need extra information
such as the path for certicate authorities. All supported platforms
today will all have pkg-config for curl, so we can drop curl-config.
Suggested-by: Daniel Berrangé <berrange@redhat.com>
Reviewed-by: Daniel Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
block/curl.c | 28 ----------------------------
configure | 9 ++-------
2 files changed, 2 insertions(+), 35 deletions(-)
diff --git a/block/curl.c b/block/curl.c
index d24a4c5897..4ff895df8f 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -37,26 +37,6 @@
// #define DEBUG_VERBOSE
-#if LIBCURL_VERSION_NUM >= 0x071000
-/* The multi interface timer callback was introduced in 7.16.0 */
-#define NEED_CURL_TIMER_CALLBACK
-#define HAVE_SOCKET_ACTION
-#endif
-
-#ifndef HAVE_SOCKET_ACTION
-/* If curl_multi_socket_action isn't available, define it statically here in
- * terms of curl_multi_socket. Note that ev_bitmask will be ignored, which is
- * less efficient but still safe. */
-static CURLMcode __curl_multi_socket_action(CURLM *multi_handle,
- curl_socket_t sockfd,
- int ev_bitmask,
- int *running_handles)
-{
- return curl_multi_socket(multi_handle, sockfd, running_handles);
-}
-#define curl_multi_socket_action __curl_multi_socket_action
-#endif
-
#define PROTOCOLS (CURLPROTO_HTTP | CURLPROTO_HTTPS | \
CURLPROTO_FTP | CURLPROTO_FTPS)
@@ -140,7 +120,6 @@ typedef struct BDRVCURLState {
static void curl_clean_state(CURLState *s);
static void curl_multi_do(void *arg);
-#ifdef NEED_CURL_TIMER_CALLBACK
/* Called from curl_multi_do_locked, with s->mutex held. */
static int curl_timer_cb(CURLM *multi, long timeout_ms, void *opaque)
{
@@ -156,7 +135,6 @@ static int curl_timer_cb(CURLM *multi, long timeout_ms,
void *opaque)
}
return 0;
}
-#endif
/* Called from curl_multi_do_locked, with s->mutex held. */
static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action,
@@ -433,7 +411,6 @@ static void curl_multi_do(void *arg)
static void curl_multi_timeout_do(void *arg)
{
-#ifdef NEED_CURL_TIMER_CALLBACK
BDRVCURLState *s = (BDRVCURLState *)arg;
int running;
@@ -446,9 +423,6 @@ static void curl_multi_timeout_do(void *arg)
curl_multi_check_completion(s);
qemu_mutex_unlock(&s->mutex);
-#else
- abort();
-#endif
}
/* Called with s->mutex held. */
@@ -598,10 +572,8 @@ static void curl_attach_aio_context(BlockDriverState *bs,
s->multi = curl_multi_init();
s->aio_context = new_context;
curl_multi_setopt(s->multi, CURLMOPT_SOCKETFUNCTION, curl_sock_cb);
-#ifdef NEED_CURL_TIMER_CALLBACK
curl_multi_setopt(s->multi, CURLMOPT_TIMERDATA, s);
curl_multi_setopt(s->multi, CURLMOPT_TIMERFUNCTION, curl_timer_cb);
-#endif
}
static QemuOptsList runtime_opts = {
diff --git a/configure b/configure
index 8dd9c33685..c75196beb1 100755
--- a/configure
+++ b/configure
@@ -3426,17 +3426,12 @@ done
##########################################
# curl probe
if test "$curl" != "no" ; then
- if $pkg_config libcurl --exists; then
- curlconfig="$pkg_config libcurl"
- else
- curlconfig=curl-config
- fi
cat > $TMPC << EOF
#include <curl/curl.h>
int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; }
EOF
- curl_cflags=$($curlconfig --cflags 2>/dev/null)
- curl_libs=$($curlconfig --libs 2>/dev/null)
+ curl_cflags=$($pkg_config libcurl --cflags 2>/dev/null)
+ curl_libs=$($pkg_config libcurl --libs 2>/dev/null)
if compile_prog "$curl_cflags" "$curl_libs" ; then
curl=yes
else
--
2.29.2
- [PULL 29/55] meson: use pkg-config method for libudev, (continued)
- [PULL 29/55] meson: use pkg-config method for libudev, Paolo Bonzini, 2020/12/21
- [PULL 25/55] Makefile: add dummy target for build.ninja dependencies, Paolo Bonzini, 2020/12/21
- [PULL 43/55] libssh: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 48/55] zstd: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 50/55] virtfs: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 13/55] test-char: Destroy chardev correctly at char_file_test_internal(), Paolo Bonzini, 2020/12/21
- [PULL 35/55] configure: remove CONFIG_FILEVERSION and CONFIG_PRODUCTVERSION, Paolo Bonzini, 2020/12/21
- [PULL 27/55] meson: switch minimum meson version to 0.56.0, Paolo Bonzini, 2020/12/21
- [PULL 55/55] win32: drop fd registration to the main-loop on setting non-block, Paolo Bonzini, 2020/12/21
- [PULL 32/55] configure: remove useless code to check for Xen PCI passthrough, Paolo Bonzini, 2020/12/21
- [PULL 37/55] curl: remove compatibility code, require 7.29.0,
Paolo Bonzini <=
- [PULL 36/55] brlapi: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 30/55] meson: use dependency to gate block modules, Paolo Bonzini, 2020/12/21
- [PULL 09/55] tests/docker: Remove the remainders of debian9 containers from the Makefile, Paolo Bonzini, 2020/12/21
- [PULL 23/55] util: Extract flush_icache_range to cacheflush.c, Paolo Bonzini, 2020/12/21
- [PULL 34/55] configure: accept --enable-slirp, Paolo Bonzini, 2020/12/21
- [PULL 28/55] meson: fix detection of curses with pkgconfig, Paolo Bonzini, 2020/12/21
- [PULL 26/55] meson: update submodule to 0.56.0, Paolo Bonzini, 2020/12/21
- [PULL 22/55] remove TCG includes from common code, Paolo Bonzini, 2020/12/21
- [PULL 41/55] libiscsi: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 42/55] libnfs: convert to meson, Paolo Bonzini, 2020/12/21