curl: backport fixes, move license to libcurl.

We also update the rtmp configure arg for the preferred format.

This version currently fails tests on i686 due to memory exhaustion in
the multithreaded test:

    URL: none
    lib3026.c:67 Couldn't create thread, errno 11

Moving the license to libcurl is more correct, since it can be used
without the main curl package.

Fixes: #33781

Co-authored-by: Érico Nogueira <erico.erc@gmail.com>
This commit is contained in:
Mouad Charradi 2022-06-24 22:05:16 -03:00 committed by Érico Nogueira
parent bb392c19d3
commit af67bfc9d1
2 changed files with 44 additions and 5 deletions

View File

@ -0,0 +1,40 @@
From 52e822173aa3cd4f610531d32fbf943f026cdca6 Mon Sep 17 00:00:00 2001
From: Thomas Weißschuh <thomas@t-8ch.de>
Date: Sun, 3 Jul 2022 18:20:44 +0200
Subject: select: do not return fatal error on EINTR from poll()
The same was done for select() in 5912da25 but poll() was missed.
Bug: https://bugs.archlinux.org/task/75201
Reported-by: Alexandre Bury (gyscos at archlinux)
Ref: https://github.com/curl/curl/issues/8921
Ref: https://github.com/curl/curl/pull/8961
Ref: https://github.com/curl/curl/commit/5912da25#r77584294
Closes https://github.com/curl/curl/pull/9091
---
lib/select.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/select.c b/lib/select.c
index c16358d56..2ac074677 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -310,8 +310,12 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms)
else
pending_ms = 0;
r = poll(ufds, nfds, pending_ms);
- if(r <= 0)
+ if(r <= 0) {
+ if((r == -1) && (SOCKERRNO == EINTR))
+ /* make EINTR from select or poll not a "lethal" error */
+ r = 0;
return r;
+ }
for(i = 0; i < nfds; i++) {
if(ufds[i].fd == CURL_SOCKET_BAD)
--
cgit v1.2.3-18-g5258

View File

@ -1,10 +1,10 @@
# Template file for 'curl'
pkgname=curl
version=7.84.0
revision=1
revision=2
build_style=gnu-configure
configure_args="ac_cv_sizeof_off_t=8 --enable-threaded-resolver --enable-ipv6
$(vopt_with rtmp) $(vopt_with gssapi) $(vopt_enable ldap) $(vopt_with gnutls)
$(vopt_with rtmp librtmp) $(vopt_with gssapi) $(vopt_enable ldap) $(vopt_with gnutls)
$(vopt_enable ldap ldaps) $(vopt_with ssh libssh2) $(vopt_with ssl) $(vopt_with zstd)
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt --without-libidn2
ac_cv_path_NROFF=/usr/bin/mandoc"
@ -58,16 +58,15 @@ post_install() {
if [ -n "$XBPS_CROSS_BASE" ]; then
# Leave $XBPS_CROSS_BASE in --configure to reflect how it was built
vsed -i $DESTDIR/usr/bin/curl-config \
-e "/[ ]*--static-libs)/,/[ ]*;;/ s,-L$XBPS_CROSS_BASE,-L,"
-e "/[ ]*--static-libs)/,/[ ]*;;/ s,-L${XBPS_CROSS_BASE},-L,"
fi
vlicense COPYING
}
libcurl_package() {
short_desc="Multiprotocol file transfer library"
pkg_install() {
vmove "usr/lib/*.so.*"
vlicense COPYING
}
}