!95 【Mainline】Fix failure of compiling with curl-7.88.1
From: @yixiangzhike Reviewed-by: @hubin95 Signed-off-by: @hubin95
This commit is contained in:
commit
63aae2c4b4
@ -0,0 +1,48 @@
|
||||
From d2bf497b12fbd49b4996ccf0744303ffd67735b1 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Paprocki <andrew@ishiboo.com>
|
||||
Date: Wed, 21 Dec 2022 11:15:00 -0500
|
||||
Subject: [PATCH] PR29926: debuginfod: Fix usage of deprecated CURLINFO_*
|
||||
|
||||
The `CURLINFO_SIZE_DOWNLOAD_T` and `CURLINFO_CONTENT_LENGTH_DOWNLOAD_T`
|
||||
identifiers are `enum`s, not pre-processor definitions, so the current
|
||||
`#ifdef` logic is not selecting the newer API. This results in the
|
||||
older identifiers being used and they now generate errors when compiled
|
||||
against Curl 7.87, which has silently deprecated them, causing GCC to
|
||||
emit `-Werror=deprecated-declarations`.
|
||||
|
||||
Instead, the newer identifiers were added in Curl 7.55, so explicitly
|
||||
check for `CURL_AT_LEAST_VERSION(7, 55, 0)` instead of the current
|
||||
logic. This eliminates the error when compiling against Curl 7.87.
|
||||
|
||||
Ref: https://github.com/curl/curl/pull/1511
|
||||
|
||||
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
|
||||
---
|
||||
debuginfod/debuginfod-client.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
|
||||
index 8873fcc8..692aecce 100644
|
||||
--- a/debuginfod/debuginfod-client.c
|
||||
+++ b/debuginfod/debuginfod-client.c
|
||||
@@ -1456,7 +1456,7 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
deflate-compressing proxies, this number is likely to be
|
||||
unavailable, so -1 may show. */
|
||||
CURLcode curl_res;
|
||||
-#ifdef CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
|
||||
+#if CURL_AT_LEAST_VERSION(7, 55, 0)
|
||||
curl_off_t cl;
|
||||
curl_res = curl_easy_getinfo(target_handle,
|
||||
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
|
||||
@@ -1491,7 +1491,7 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
if (target_handle) /* we've committed to a server; report its download progress */
|
||||
{
|
||||
CURLcode curl_res;
|
||||
-#ifdef CURLINFO_SIZE_DOWNLOAD_T
|
||||
+#if CURL_AT_LEAST_VERSION(7, 55, 0)
|
||||
curl_off_t dl;
|
||||
curl_res = curl_easy_getinfo(target_handle,
|
||||
CURLINFO_SIZE_DOWNLOAD_T,
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
From 304741e11018c29e7ff17751e05dcc5c786a3fd9 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Wed, 21 Dec 2022 18:21:08 +0100
|
||||
Subject: [PATCH] debuginfod: Define CURL_AT_LEAST_VERSION if necessary
|
||||
|
||||
Older curl.h don't define CURL_AT_LEAST_VERSION, so define it
|
||||
ourselves because it is nicer than doing hex encoded version
|
||||
comparisons.
|
||||
|
||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||
---
|
||||
debuginfod/debuginfod-client.c | 7 +++++++
|
||||
1 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
|
||||
index 692aecce..a16165bd 100644
|
||||
--- a/debuginfod/debuginfod-client.c
|
||||
+++ b/debuginfod/debuginfod-client.c
|
||||
@@ -105,6 +105,13 @@ void debuginfod_end (debuginfod_client *c) { }
|
||||
#include <fts.h>
|
||||
#endif
|
||||
|
||||
+/* Older curl.h don't define CURL_AT_LEAST_VERSION. */
|
||||
+#ifndef CURL_AT_LEAST_VERSION
|
||||
+ #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
|
||||
+ #define CURL_AT_LEAST_VERSION(x,y,z) \
|
||||
+ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
|
||||
+#endif
|
||||
+
|
||||
#include <pthread.h>
|
||||
|
||||
static pthread_once_t init_control = PTHREAD_ONCE_INIT;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
From 6560fb26a62ef135a804357ef4f15a47de3e49b3 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Tue, 10 Jan 2023 23:20:41 +0100
|
||||
Subject: [PATCH] debuginfod-client: Use CURLOPT_PROTOCOLS_STR for libcurl >=
|
||||
7.85.0
|
||||
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=29926
|
||||
|
||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||
---
|
||||
debuginfod/debuginfod-client.c | 5 +++++
|
||||
1 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
|
||||
index 5ebddbd..4326b59 100644
|
||||
--- a/debuginfod/debuginfod-client.c
|
||||
+++ b/debuginfod/debuginfod-client.c
|
||||
@@ -1024,8 +1024,13 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
|
||||
/* Only allow http:// + https:// + file:// so we aren't being
|
||||
redirected to some unsupported protocol. */
|
||||
+#if CURL_AT_LEAST_VERSION(7, 85, 0)
|
||||
+ curl_easy_setopt(data[i].handle, CURLOPT_PROTOCOLS_STR,
|
||||
+ "http,https,file");
|
||||
+#else
|
||||
curl_easy_setopt(data[i].handle, CURLOPT_PROTOCOLS,
|
||||
CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FILE);
|
||||
+#endif
|
||||
curl_easy_setopt(data[i].handle, CURLOPT_URL, data[i].url);
|
||||
if (vfd >= 0)
|
||||
curl_easy_setopt(data[i].handle, CURLOPT_ERRORBUFFER, data[i].errbuf);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# -*- rpm-spec from http://elfutils.org/ -*-
|
||||
Name: elfutils
|
||||
Version: 0.187
|
||||
Release: 10
|
||||
Release: 11
|
||||
Summary: A collection of utilities and DSOs to handle ELF files and DWARF data
|
||||
URL: http://elfutils.org/
|
||||
License: GPLv3+ and (GPLv2+ or LGPLv3+)
|
||||
@ -12,6 +12,9 @@ Patch1: Fix-error-of-parsing-object-file-perms.patch
|
||||
Patch2: Fix-issue-of-moving-files-by-ar-or-br.patch
|
||||
Patch3: Get-instance-correctly-for-eu-ar-N-option.patch
|
||||
Patch4: elfutils-Add-sw64-architecture.patch
|
||||
Patch5: backport-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch
|
||||
Patch6: backport-debuginfod-Define-CURL_AT_LEAST_VERSION-if-necessary.patch
|
||||
Patch7: backport-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch
|
||||
|
||||
Requires: elfutils-libelf = %{version}-%{release}
|
||||
Requires: elfutils-libs = %{version}-%{release}
|
||||
@ -177,6 +180,9 @@ such servers to download those files on demand.
|
||||
%ifarch sw_64
|
||||
%patch4 -p1
|
||||
%endif
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
|
||||
%build
|
||||
%configure --program-prefix=%{_programprefix}
|
||||
@ -326,6 +332,12 @@ exit 0
|
||||
%systemd_postun_with_restart debuginfod.service
|
||||
|
||||
%changelog
|
||||
* Fri Mar 10 2023 yixiangzhike<yixiangzhike007@163.com> - 0.187-11
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:Fix failure of compiling with curl-7.88.1
|
||||
|
||||
* Mon Nov 14 2022 wuzx<wuzx1226@qq.com> - 0.187-10
|
||||
- Type:feature
|
||||
- CVE:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user