Resolves: #2162716 - fix regression in a public header file
This commit is contained in:
parent
c3e870d57a
commit
8ff989f4fd
55
0001-curl-7.87.0-header-file-regression.patch
Normal file
55
0001-curl-7.87.0-header-file-regression.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From 613d3c45879636e88b88fcebee48dc77de345291 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Patrick Monnerat <patrick@monnerat.net>
|
||||||
|
Date: Fri, 23 Dec 2022 15:35:27 +0100
|
||||||
|
Subject: [PATCH] typecheck: accept expressions for option/info parameters
|
||||||
|
|
||||||
|
As expressions can have side effects, evaluate only once.
|
||||||
|
|
||||||
|
To enable deprecation reporting only once, get rid of the __typeof__
|
||||||
|
use to define the local temporary variable and use the target type
|
||||||
|
(CURLoption/CURLINFO). This also avoids multiple reports on type
|
||||||
|
conflicts (if some) by the curlcheck_* macros.
|
||||||
|
|
||||||
|
Note that CURLOPT_* and CURLINFO_* symbols may be deprecated, but not
|
||||||
|
their values: a curl_easy_setopt call with an integer constant as option
|
||||||
|
will never report a deprecation.
|
||||||
|
|
||||||
|
Reported-by: Thomas Klausner
|
||||||
|
Fixes #10148
|
||||||
|
Closes #10149
|
||||||
|
|
||||||
|
Upstream-commit: e2aed004302e51cfa5b6ce8c8ab65ef92aa83196
|
||||||
|
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
---
|
||||||
|
include/curl/typecheck-gcc.h | 6 ++----
|
||||||
|
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/curl/typecheck-gcc.h b/include/curl/typecheck-gcc.h
|
||||||
|
index bf655bb..85aa8b7 100644
|
||||||
|
--- a/include/curl/typecheck-gcc.h
|
||||||
|
+++ b/include/curl/typecheck-gcc.h
|
||||||
|
@@ -42,9 +42,8 @@
|
||||||
|
*/
|
||||||
|
#define curl_easy_setopt(handle, option, value) \
|
||||||
|
__extension__({ \
|
||||||
|
- CURL_IGNORE_DEPRECATION(__typeof__(option) _curl_opt = option;) \
|
||||||
|
+ CURLoption _curl_opt = (option); \
|
||||||
|
if(__builtin_constant_p(_curl_opt)) { \
|
||||||
|
- (void) option; \
|
||||||
|
CURL_IGNORE_DEPRECATION( \
|
||||||
|
if(curlcheck_long_option(_curl_opt)) \
|
||||||
|
if(!curlcheck_long(value)) \
|
||||||
|
@@ -120,9 +119,8 @@
|
||||||
|
/* wraps curl_easy_getinfo() with typechecking */
|
||||||
|
#define curl_easy_getinfo(handle, info, arg) \
|
||||||
|
__extension__({ \
|
||||||
|
- CURL_IGNORE_DEPRECATION(__typeof__(info) _curl_info = info;) \
|
||||||
|
+ CURLINFO _curl_info = (info); \
|
||||||
|
if(__builtin_constant_p(_curl_info)) { \
|
||||||
|
- (void) info; \
|
||||||
|
CURL_IGNORE_DEPRECATION( \
|
||||||
|
if(curlcheck_string_info(_curl_info)) \
|
||||||
|
if(!curlcheck_arr((arg), char *)) \
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
|
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
|
||||||
Name: curl
|
Name: curl
|
||||||
Version: 7.87.0
|
Version: 7.87.0
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
Source0: https://curl.se/download/%{name}-%{version}.tar.xz
|
Source0: https://curl.se/download/%{name}-%{version}.tar.xz
|
||||||
Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
|
Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
|
||||||
@ -10,6 +10,9 @@ Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
|
|||||||
# which points to the GPG key as of April 7th 2016 of https://daniel.haxx.se/mykey.asc
|
# which points to the GPG key as of April 7th 2016 of https://daniel.haxx.se/mykey.asc
|
||||||
Source2: mykey.asc
|
Source2: mykey.asc
|
||||||
|
|
||||||
|
# fix regression in a public header file (#2162716)
|
||||||
|
Patch1: 0001-curl-7.87.0-header-file-regression.patch
|
||||||
|
|
||||||
# patch making libcurl multilib ready
|
# patch making libcurl multilib ready
|
||||||
Patch101: 0101-curl-7.32.0-multilib.patch
|
Patch101: 0101-curl-7.32.0-multilib.patch
|
||||||
|
|
||||||
@ -197,6 +200,7 @@ be installed.
|
|||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
# Fedora patches
|
# Fedora patches
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
@ -431,6 +435,9 @@ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la
|
|||||||
%{_libdir}/libcurl.so.4.[0-9].[0-9].minimal
|
%{_libdir}/libcurl.so.4.[0-9].[0-9].minimal
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 20 2023 Kamil Dudka <kdudka@redhat.com> - 7.87.0-4
|
||||||
|
- fix regression in a public header file (#2162716)
|
||||||
|
|
||||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.87.0-3
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.87.0-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user