Rebase to version 8.12.1

Resolves: RHEL-84132
This commit is contained in:
Jacek Migacz 2025-03-24 09:13:13 +01:00
parent 1255f124e7
commit bf224297d3
7 changed files with 104 additions and 113 deletions

View File

@ -1,35 +0,0 @@
From 3eec5afbd0b6377eca893c392569b2faf094d970 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 5 Aug 2024 00:17:17 +0200
Subject: [PATCH] sigpipe: init the struct so that first apply ignores
Initializes 'no_signal' to TRUE, so that a call to sigpipe_apply() after
init ignores the signal (unless CURLOPT_NOSIGNAL) is set.
I have read the existing code multiple times now and I think it gets the
initial state reversed this missing to ignore.
Regression from 17e6f06ea37136c36d27
Reported-by: Rasmus Thomsen
Fixes #14344
Closes #14390
---
lib/sigpipe.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/sigpipe.h b/lib/sigpipe.h
index b91a2f513..d78afd905 100644
--- a/lib/sigpipe.h
+++ b/lib/sigpipe.h
@@ -39,6 +39,7 @@ struct sigpipe_ignore {
static void sigpipe_init(struct sigpipe_ignore *ig)
{
memset(ig, 0, sizeof(*ig));
+ ig->no_signal = TRUE;
}
/*
--
2.45.2

View File

@ -1,56 +1,56 @@
From 84b7e1cf486761e99361f5dcf5879cd7baf51b58 Mon Sep 17 00:00:00 2001 From da51b3d89a33fb3a1cbc5dd5faebc4ee18bbcc46 Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com> From: Jan Macku <jamacku@redhat.com>
Date: Thu, 1 Feb 2024 13:01:23 +0100 Date: Wed, 11 Sep 2024 09:21:25 +0200
Subject: [PATCH 2/2] prevent multilib conflicts on the curl-config script Subject: [PATCH] prevent multilib conflicts on the curl-config script
--- ---
curl-config.in | 23 +++++------------------ curl-config.in | 23 +++++------------------
docs/curl-config.1 | 4 +++- docs/curl-config.md | 4 +++-
libcurl.pc.in | 1 + libcurl.pc.in | 1 +
3 files changed, 9 insertions(+), 19 deletions(-) 3 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/curl-config.in b/curl-config.in diff --git a/curl-config.in b/curl-config.in
index 54f92d9..15a60da 100644 index 294e083..df41899 100644
--- a/curl-config.in --- a/curl-config.in
+++ b/curl-config.in +++ b/curl-config.in
@@ -78,7 +78,7 @@ while test $# -gt 0; do @@ -75,7 +75,7 @@ while test "$#" -gt 0; do
;; ;;
--cc) --cc)
- echo '@CC@' - echo '@CC@'
+ echo "gcc" + echo 'gcc'
;; ;;
--prefix) --prefix)
@@ -157,33 +157,20 @@ while test $# -gt 0; do @@ -155,16 +155,7 @@ while test "$#" -gt 0; do
;; ;;
--libs) --libs)
- if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then - if test "X@libdir@" != 'X/usr/lib' -a "X@libdir@" != 'X/usr/lib64'; then
- CURLLIBDIR="-L@libdir@ " - curllibdir="-L@libdir@ "
- else - else
- CURLLIBDIR="" - curllibdir=''
- fi - fi
- if test "X@ENABLE_SHARED@" = "Xno"; then - if test 'X@ENABLE_SHARED@' = 'Xno'; then
- echo "${CURLLIBDIR}-lcurl @LIBCURL_LIBS@" - echo "${curllibdir}-lcurl @LIBCURL_PC_LIBS_PRIVATE@"
- else - else
- echo "${CURLLIBDIR}-lcurl" - echo "${curllibdir}-lcurl"
- fi - fi
+ echo -lcurl + echo '-lcurl'
;; ;;
--ssl-backends) --ssl-backends)
echo '@SSL_BACKENDS@' @@ -172,16 +163,12 @@ while test "$#" -gt 0; do
;; ;;
--static-libs) --static-libs)
- if test "X@ENABLE_STATIC@" != "Xno" ; then - if test 'X@ENABLE_STATIC@' != 'Xno'; then
- echo "@libdir@/libcurl.@libext@" @LDFLAGS@ @LIBCURL_LIBS@ - echo "@libdir@/libcurl.@libext@ @LIBCURL_PC_LDFLAGS_PRIVATE@ @LIBCURL_PC_LIBS_PRIVATE@"
- else - else
- echo 'curl was built with static libraries disabled' >&2 - echo 'curl was built with static libraries disabled' >&2
- exit 1 - exit 1
- fi - fi
+ echo "curl was built with static libraries disabled" >&2 + echo 'curl was built with static libraries disabled' >&2
+ exit 1 + exit 1
;; ;;
@ -60,11 +60,11 @@ index 54f92d9..15a60da 100644
;; ;;
*) *)
diff --git a/docs/curl-config.1 b/docs/curl-config.1 diff --git a/docs/curl-config.md b/docs/curl-config.md
index c142cb9..0e189b4 100644 index 4dfaab6..f4e847e 100644
--- a/docs/curl-config.md --- a/docs/curl-config.md
+++ b/docs/curl-config.md +++ b/docs/curl-config.md
@@ -48,7 +48,9 @@ no, one or several names. If more than one name, they will appear @@ -87,7 +87,9 @@ no, one or several names. If more than one name, they appear comma-separated.
## --static-libs ## --static-libs
Shows the complete set of libs and other linker options you need in order to Shows the complete set of libs and other linker options you need in order to
@ -76,10 +76,10 @@ index c142cb9..0e189b4 100644
## --version ## --version
diff --git a/libcurl.pc.in b/libcurl.pc.in diff --git a/libcurl.pc.in b/libcurl.pc.in
index 9db6b0f..dcac692 100644 index 8f6f9b4..f69815c 100644
--- a/libcurl.pc.in --- a/libcurl.pc.in
+++ b/libcurl.pc.in +++ b/libcurl.pc.in
@@ -31,6 +31,7 @@ libdir=@libdir@ @@ -28,6 +28,7 @@ libdir=@libdir@
includedir=@includedir@ includedir=@includedir@
supported_protocols="@SUPPORT_PROTOCOLS@" supported_protocols="@SUPPORT_PROTOCOLS@"
supported_features="@SUPPORT_FEATURES@" supported_features="@SUPPORT_FEATURES@"
@ -88,5 +88,5 @@ index 9db6b0f..dcac692 100644
Name: libcurl Name: libcurl
URL: https://curl.se/ URL: https://curl.se/
-- --
2.43.0 2.46.0

View File

@ -1,30 +0,0 @@
From d506d885aa16b4a87acbac082eea41dccdc7b69f Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Wed, 15 Feb 2023 10:42:38 +0100
Subject: [PATCH] Revert "runtests: consider warnings fatal and error on them"
While it might be useful for upstream developers, it is not so useful
for downstream consumers.
This reverts upstream commit 22f795c834cfdbacbb1b55426028a581e3cf67a8.
---
tests/runtests.pl | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 71644ad18..0cf85c3fe 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -55,8 +55,7 @@
# given, this won't be a problem.
use strict;
-# Promote all warnings to fatal
-use warnings FATAL => 'all';
+use warnings;
use 5.006;
use POSIX qw(strftime);
--
2.39.1

View File

@ -0,0 +1,11 @@
--- a/scripts/completion.pl 2025-03-24 11:39:22.649337303 +0100
+++ b/scripts/completion.pl 2025-03-24 11:39:49.595969960 +0100
@@ -143,7 +143,7 @@
sub call_curl {
my ($cmd) = @_;
- my $output = `"$curl" $cmd`;
+ my $output = `LD_LIBRARY_PATH=../lib/.libs "$curl" $cmd`;
if ($? == -1) {
die "Could not run curl: $!";
} elsif ((my $exit_code = $? >> 8) != 0) {

View File

@ -0,0 +1,48 @@
From 82baec8c7cd40361585d8793dfe4531f7aad30e3 Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
Date: Wed, 11 Dec 2024 13:16:12 +0100
Subject: [PATCH] test616: disable valgrind
Valgrind disable was removed in upstream in https://github.com/curl/curl/commit/c91c37b6e87ceee760b7bb334c8e97e03ee93e93#diff-e01fd8774cf5b26329c7dc7dc03ec49745469205f3d501ced72c9d133455d5e7L35
But test 616 is still failing under valgrind, so disable valgrind for this test.
```
valgrind ERROR ==188588== 144 bytes in 1 blocks are definitely lost in loss record 1 of 1
==188588== at 0x484B133: calloc (vg_replace_malloc.c:1675)
==188588== by 0x4BB7575: ??? (in /usr/lib64/libssh.so.4.10.1)
==188588== by 0x4BB8CC6: sftp_fstat (in /usr/lib64/libssh.so.4.10.1)
==188588== by 0x48EEAFB: myssh_statemach_act (libssh.c:1610)
==188588== by 0x48F1B9D: myssh_multi_statemach.lto_priv.0 (libssh.c:2095)
==188588== by 0x48BA971: UnknownInlinedFun (multi.c:1643)
==188588== by 0x48BA971: UnknownInlinedFun (multi.c:2314)
==188588== by 0x48BA971: multi_runsingle (multi.c:2768)
==188588== by 0x48BCCA4: curl_multi_perform (multi.c:3016)
==188588== by 0x4884E4A: UnknownInlinedFun (easy.c:701)
==188588== by 0x4884E4A: UnknownInlinedFun (easy.c:796)
==188588== by 0x4884E4A: curl_easy_perform (easy.c:815)
==188588== by 0x10C12B: UnknownInlinedFun (tool_operate.c:2902)
==188588== by 0x10C12B: UnknownInlinedFun (tool_operate.c:3127)
==188588== by 0x10C12B: UnknownInlinedFun (tool_operate.c:3249)
==188588== by 0x10C12B: main (tool_main.c:271)
==188588==
```
---
tests/data/test616 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/data/test616 b/tests/data/test616
index f76c68a..0ebc734 100644
--- a/tests/data/test616
+++ b/tests/data/test616
@@ -32,5 +32,8 @@ SFTP retrieval of empty file
#
# Verify data after the test has been "shot"
<verify>
+<valgrind>
+disable
+</valgrind>
</verify>
</testcase>
--
2.47.1

View File

@ -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: 8.9.1 Version: 8.12.1
Release: 5%{?dist} Release: 1%{?dist}
License: curl License: curl
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,14 +10,14 @@ 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 crashes with transmission due to SIGPIPE
Patch001: 0001-curl-8.9.1-sigpipe-init-the-struct-so-that-first-apply-ignores.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
# do not fail on warnings in the upstream test driver # link against libcurl from buildroot during shell completions generation
Patch102: 0102-curl-7.88.0-tests-warnings.patch Patch102: 0102-curl-8.12.1-lt-curl-mismatch.patch
# test616: disable valgrind
Patch105: 0105-curl-8.11.1-test616.patch
Provides: curl-full = %{version}-%{release} Provides: curl-full = %{version}-%{release}
# do not fail when trying to install curl-minimal after drop # do not fail when trying to install curl-minimal after drop
@ -88,6 +88,7 @@ BuildRequires: perl(Exporter)
BuildRequires: perl(File::Basename) BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Copy) BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec)
BuildRequires: perl(I18N::Langinfo)
BuildRequires: perl(IPC::Open2) BuildRequires: perl(IPC::Open2)
BuildRequires: perl(List::Util) BuildRequires: perl(List::Util)
BuildRequires: perl(Memoize) BuildRequires: perl(Memoize)
@ -218,6 +219,10 @@ sed -e 's|^35$|35,52|' -i tests/data/test323
eval "$cmd" eval "$cmd"
) )
# avoid unnecessary arch-dependent line in the processed file
sed -e '/# Used in @libdir@/d' \
-i curl-config.in
# regenerate the configure script and Makefile.in files # regenerate the configure script and Makefile.in files
autoreconf -fiv autoreconf -fiv
@ -256,7 +261,6 @@ export common_configure_opts=" \
--disable-ldaps \ --disable-ldaps \
--disable-mqtt \ --disable-mqtt \
--disable-ntlm \ --disable-ntlm \
--disable-ntlm-wb \
--disable-pop3 \ --disable-pop3 \
--disable-rtsp \ --disable-rtsp \
--disable-smb \ --disable-smb \
@ -281,7 +285,6 @@ export common_configure_opts=" \
--enable-ldaps \ --enable-ldaps \
--enable-mqtt \ --enable-mqtt \
--enable-ntlm \ --enable-ntlm \
--enable-ntlm-wb \
--enable-pop3 \ --enable-pop3 \
--enable-rtsp \ --enable-rtsp \
--enable-smb \ --enable-smb \
@ -348,27 +351,18 @@ install -m 644 docs/libcurl/libcurl.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal
cd build-full cd build-full
%make_install %make_install
# install zsh completion for curl
# (we have to override LD_LIBRARY_PATH because we eliminated rpath)
LD_LIBRARY_PATH="$RPM_BUILD_ROOT%{_libdir}:$LD_LIBRARY_PATH" \
%make_install -C scripts
# do not install /usr/share/fish/completions/curl.fish which is also installed # do not install /usr/share/fish/completions/curl.fish which is also installed
# by fish-3.0.2-1.module_f31+3716+57207597 and would trigger a conflict # by fish-3.0.2-1.module_f31+3716+57207597 and would trigger a conflict
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/fish rm -rf ${RPM_BUILD_ROOT}%{_datadir}/fish
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la
# Don't install man for mk-ca-bundle it's upstream bug
# should be fixed in next release https://github.com/curl/curl/pull/12843
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mk-ca-bundle.1*
%ldconfig_scriptlets -n libcurl %ldconfig_scriptlets -n libcurl
%ldconfig_scriptlets -n libcurl-minimal %ldconfig_scriptlets -n libcurl-minimal
%files %files
%doc CHANGES %doc CHANGES.md
%doc README %doc README
%doc docs/BUGS.md %doc docs/BUGS.md
%doc docs/FAQ %doc docs/FAQ
@ -401,6 +395,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mk-ca-bundle.1*
%{_libdir}/libcurl.so.4.[0-9].[0-9].minimal %{_libdir}/libcurl.so.4.[0-9].[0-9].minimal
%changelog %changelog
* Wed Mar 19 2025 Jacek Migacz <jmigacz@redhat.com> - 8.12.1-1
- new upstream release (RHEL-84132)
* Tue Nov 05 2024 Jacek Migacz <jmigacz@redhat.com> - 8.9.1-6 * Tue Nov 05 2024 Jacek Migacz <jmigacz@redhat.com> - 8.9.1-6
- use tls-ca-bundle.pem instead of ca-bundle.crt (RHEL-56966) - use tls-ca-bundle.pem instead of ca-bundle.crt (RHEL-56966)

View File

@ -1,2 +1,2 @@
SHA512 (curl-8.9.1.tar.xz) = a0fe234402875db194aad4e4208b7e67e7ffc1562622eea90948d4b9b0122c95c3dde8bbe2f7445a687cb3de7cb09f20e5819d424570442d976aa4c913227fc7 SHA512 (curl-8.12.1.tar.xz) = 88915468fa1bb7256e3dd6c9d058ada6894faa1e3e7800c7d9bfee3e8be4081ae57e7f2bf260c5342b709499fc4302ddc2d7864e25bfa3300fa07f118a3de603
SHA512 (curl-8.9.1.tar.xz.asc) = 18acd58436d70900ab6912b84774da2c451b9dbfc83d6d00f85bbbe7894b67075918e58956fdb753fcc1486e4f10caa31139d7c68b037d7c83dc2e9c2fae9f9b SHA512 (curl-8.12.1.tar.xz.asc) = 41fc5582935090d13940d86974fdea3ea901dd5dab156c16029a87f811d2535172c59dc8dc366f2ffc37bcf85accbecb5aa765bc7b83c2991a3ef402bf25af69