From 56fc3a29628b2dbbb418adf467ee755c748e02d7 Mon Sep 17 00:00:00 2001 From: sbwml Date: Tue, 2 Apr 2024 09:33:30 +0800 Subject: [PATCH] curl: update to 8.7.1 Signed-off-by: sbwml --- Makefile | 4 +- ...RTTRANSFER-set-the-same-for-everyone.patch | 93 ------------------- patches/200-no_docs_tests.patch | 12 ++- 3 files changed, 10 insertions(+), 99 deletions(-) delete mode 100644 patches/001-TIMER_STARTTRANSFER-set-the-same-for-everyone.patch diff --git a/Makefile b/Makefile index 1969d2d..186f2aa 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/nls.mk PKG_NAME:=curl -PKG_VERSION:=8.6.0 +PKG_VERSION:=8.7.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 @@ -17,7 +17,7 @@ PKG_SOURCE_URL:=https://github.com/curl/curl/releases/download/curl-$(subst .,_, https://dl.uxnr.de/mirror/curl/ \ https://curl.askapache.com/download/ \ https://curl.se/download/ -PKG_HASH:=b4785f2d8877fa92c0e45d7155cf8cc6750dbda961f4b1a45bcbec990cf2fa9b +PKG_HASH:=05bbd2b698e9cfbab477c33aa5e99b4975501835a41b7ca6ca71de03d8849e76 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING diff --git a/patches/001-TIMER_STARTTRANSFER-set-the-same-for-everyone.patch b/patches/001-TIMER_STARTTRANSFER-set-the-same-for-everyone.patch deleted file mode 100644 index 8abd6a3..0000000 --- a/patches/001-TIMER_STARTTRANSFER-set-the-same-for-everyone.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 1db0792c0d11855dcad1ac78817818f8f270c241 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Tue, 5 Mar 2024 11:48:16 +0100 -Subject: [PATCH] TIMER_STARTTRANSFER: set the same for everyone - -- set TIMER_STARTTRANSFER on seeing the first response bytes - in the download client writer, not coming from a CONNECT -- initialized the timer the same way for all protocols -- remove explicit setting of TIMER_STARTTRANSFER in file.c - and c-hyper.c - -Closes #13052 ---- - lib/c-hyper.c | 3 --- - lib/file.c | 2 -- - lib/sendf.c | 22 +++++++++++++--------- - 3 files changed, 13 insertions(+), 14 deletions(-) - ---- a/lib/c-hyper.c -+++ b/lib/c-hyper.c -@@ -152,9 +152,6 @@ static int hyper_each_header(void *userd - return HYPER_ITER_BREAK; - } - -- if(!data->req.bytecount) -- Curl_pgrsTime(data, TIMER_STARTTRANSFER); -- - Curl_dyn_reset(&data->state.headerb); - if(name_len) { - if(Curl_dyn_addf(&data->state.headerb, "%.*s: %.*s\r\n", ---- a/lib/file.c -+++ b/lib/file.c -@@ -541,8 +541,6 @@ static CURLcode file_do(struct Curl_easy - return CURLE_BAD_DOWNLOAD_RESUME; - } - -- Curl_pgrsTime(data, TIMER_STARTTRANSFER); -- - while(!result) { - char tmpbuf[8*1024]; - ssize_t nread; ---- a/lib/sendf.c -+++ b/lib/sendf.c -@@ -541,28 +541,32 @@ static size_t get_max_body_write_len(str - return SIZE_T_MAX; - } - -+struct cw_download_ctx { -+ struct Curl_cwriter super; -+ BIT(started_response); -+}; - /* Download client writer in phase CURL_CW_PROTOCOL that - * sees the "real" download body data. */ - static CURLcode cw_download_write(struct Curl_easy *data, - struct Curl_cwriter *writer, int type, - const char *buf, size_t nbytes) - { -+ struct cw_download_ctx *ctx = (struct cw_download_ctx *)writer; - CURLcode result; - size_t nwrite, excess_len = 0; -+ bool is_connect = !!(type & CLIENTWRITE_CONNECT); -+ -+ if(!is_connect && !ctx->started_response) { -+ Curl_pgrsTime(data, TIMER_STARTTRANSFER); -+ ctx->started_response = TRUE; -+ } - - if(!(type & CLIENTWRITE_BODY)) { -- if((type & CLIENTWRITE_CONNECT) && data->set.suppress_connect_headers) -+ if(is_connect && data->set.suppress_connect_headers) - return CURLE_OK; - return Curl_cwriter_write(data, writer->next, type, buf, nbytes); - } - -- if(!data->req.bytecount) { -- Curl_pgrsTime(data, TIMER_STARTTRANSFER); -- if(data->req.exp100 > EXP100_SEND_DATA) -- /* set time stamp to compare with when waiting for the 100 */ -- data->req.start100 = Curl_now(); -- } -- - /* Here, we deal with REAL BODY bytes. All filtering and transfer - * encodings have been applied and only the true content, e.g. BODY, - * bytes are passed here. -@@ -646,7 +650,7 @@ static const struct Curl_cwtype cw_downl - Curl_cwriter_def_init, - cw_download_write, - Curl_cwriter_def_close, -- sizeof(struct Curl_cwriter) -+ sizeof(struct cw_download_ctx) - }; - - /* RAW client writer in phase CURL_CW_RAW that diff --git a/patches/200-no_docs_tests.patch b/patches/200-no_docs_tests.patch index 4e0ec1a..9284b67 100644 --- a/patches/200-no_docs_tests.patch +++ b/patches/200-no_docs_tests.patch @@ -3,18 +3,22 @@ @@ -135,7 +135,7 @@ CLEANFILES = $(VC14_LIBVCXPROJ) $(VC14_S bin_SCRIPTS = curl-config - SUBDIRS = lib src + SUBDIRS = lib docs src scripts -DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs +DIST_SUBDIRS = $(SUBDIRS) packages include pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libcurl.pc -@@ -243,8 +243,6 @@ cygwinbin: - # We extend the standard install with a custom hook: +@@ -244,12 +244,9 @@ cygwinbin: + if BUILD_DOCS install-data-hook: (cd include && $(MAKE) install) - (cd docs && $(MAKE) install) - (cd docs/libcurl && $(MAKE) install) + else + install-data-hook: + (cd include && $(MAKE) install) +- (cd docs && $(MAKE) install) + endif # We extend the standard uninstall with a custom hook: - uninstall-hook: