Date: Thursday, February 16, 2023 @ 09:42:54 Author: eworm Revision: 1400815
upgpkg: lib32-curl 7.88.0-3: build from git, collect upstream fixes Modified: lib32-curl/trunk/PKGBUILD Deleted: lib32-curl/trunk/0001-Revert-http2-minor-buffer-and-error-path-fixes.patch -----------------------------------------------------------+ 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch | 56 -------- PKGBUILD | 77 +++++++----- 2 files changed, 50 insertions(+), 83 deletions(-) Deleted: 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch =================================================================== --- 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch 2023-02-16 09:17:37 UTC (rev 1400814) +++ 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch 2023-02-16 09:42:54 UTC (rev 1400815) @@ -1,56 +0,0 @@ -From 7c5f90353e2e107b9464a73dbdd58e5cc90ec22f Mon Sep 17 00:00:00 2001 -From: Christian Hesse <[email protected]> -Date: Wed, 15 Feb 2023 12:22:41 +0100 -Subject: [PATCH 1/1] Revert "http2: minor buffer and error path fixes" - -This reverts commit 8c762f59983a3e9e2b80fdb34aa5e08f1d9a1c7d. ---- - lib/http2.c | 17 ++++------------- - tests/tests-httpd/test_05_errors.py | 18 +++++++----------- - 2 files changed, 11 insertions(+), 24 deletions(-) - -diff --git a/lib/http2.c b/lib/http2.c -index 46fc74645..db968ed2d 100644 ---- a/lib/http2.c -+++ b/lib/http2.c -@@ -1905,9 +1905,8 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, struct Curl_easy *data, - - if(stream->memlen) { - ssize_t retlen = stream->memlen; -- -- /* TODO: all this buffer handling is very brittle */ -- stream->len += stream->memlen; -+ DEBUGF(LOG_CF(data, cf, "[h2sid=%u] recv: returns %zd", -+ stream->stream_id, retlen)); - stream->memlen = 0; - - if(ctx->pause_stream_id == stream->stream_id) { -@@ -1919,10 +1918,6 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, struct Curl_easy *data, - Curl_expire(data, 0, EXPIRE_RUN_NOW); - } - else if(stream->closed) { -- if(stream->reset || stream->error) { -- nread = http2_handle_stream_close(cf, data, stream, err); -- goto out; -- } - /* this stream is closed, trigger a another read ASAP to detect that */ - DEBUGF(LOG_CF(data, cf, "[h2sid=%u] is closed now, run again", - stream->stream_id)); -@@ -1934,15 +1929,11 @@ static ssize_t cf_h2_recv(struct Curl_cfilter *cf, struct Curl_easy *data, - } - - nread = retlen; -- DEBUGF(LOG_CF(data, cf, "[h2sid=%u] cf_h2_recv -> %zd", -- stream->stream_id, nread)); - goto out; - } - -- if(stream->closed) { -- nread = http2_handle_stream_close(cf, data, stream, err); -- goto out; -- } -+ if(stream->closed) -+ return http2_handle_stream_close(cf, data, stream, err); - - if(!data->state.drain && Curl_conn_cf_data_pending(cf->next, data)) { - DEBUGF(LOG_CF(data, cf, "[h2sid=%u] pending data, set drain", Modified: PKGBUILD =================================================================== --- PKGBUILD 2023-02-16 09:17:37 UTC (rev 1400814) +++ PKGBUILD 2023-02-16 09:42:54 UTC (rev 1400815) @@ -7,42 +7,48 @@ pkgbase=lib32-curl pkgname=(lib32-curl lib32-libcurl-compat lib32-libcurl-gnutls) -pkgver=7.88.0 -pkgrel=2 +_tag='67c55cb8b3f5a530478201fd780a533fce92b2eb' # git rev-parse v${_tag_name} +_tag_name='7_88_0' +pkgver="${_tag_name//_/.}" +pkgrel=3 pkgdesc='An URL retrieval utility and library (32-bit)' arch=('x86_64') -url='https://curl.haxx.se' +url='https://curl.haxx.se/' license=('MIT') depends=('curl' 'lib32-brotli' 'lib32-libidn2' 'lib32-libssh2' 'lib32-krb5' 'lib32-libpsl' 'lib32-zlib' 'lib32-zstd') -makedepends=('lib32-gnutls' 'lib32-openssl') +makedepends=('git' 'lib32-gnutls' 'lib32-openssl') provides=('libcurl.so') -source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc} - '0001-Revert-http2-minor-buffer-and-error-path-fixes.patch') -sha512sums=('bfaac71e97a45d884be410872a55fdb365f9d03c11620fb12e82c7f26dbbb6a417b51dd0dc2a3631e95fb36e37a72c7f73fd6cf5f796c154f1424395c03c22cb' - 'SKIP' - 'c06b5738290394e20c666fbb9d0f4b08ce5a3c668dd1ae2d6271b42235526b929c1caac1238aa05bc541a82eb6c9678a81f7d8dc2c3ad282188f934b9b036699') validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg +source=("git+https://github.com/bagder/curl.git#tag=${_tag}?signed") +sha512sums=('SKIP') -_configure_options=( - --prefix='/usr' - --disable-dependency-tracking - --disable-ldap - --disable-ldaps - --enable-ipv6 - --enable-manual - --enable-threaded-resolver - --with-gssapi - --with-libssh2 - --with-random='/dev/urandom' - --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' - --libdir='/usr/lib32' +_backports=( + # git master + 'curl-7_88_0..8c939453f587b8565af33927361edf40b48544ea' ) +_reverts=( +) + prepare() { - cd "${srcdir}/curl-${pkgver}" + cd curl - patch -Np1 < ../0001-Revert-http2-minor-buffer-and-error-path-fixes.patch + local _c + for _c in "${_backports[@]}"; do + if [[ $_c == *..* ]]; then + git log --oneline --reverse "${_c}" + else + git log --oneline -1 "${_c}" + fi + git cherry-pick -n -m1 "${_c}" + done + for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" + git revert -n "${_c}" + done + + autoreconf -fi } build() { @@ -50,12 +56,27 @@ export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + local _configure_options=( + --prefix='/usr' + --disable-dependency-tracking + --disable-ldap + --disable-ldaps + --enable-ipv6 + --enable-manual + --enable-threaded-resolver + --with-gssapi + --with-libssh2 + --with-random='/dev/urandom' + --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' + --libdir='/usr/lib32' + ) + mkdir build-curl{,-compat,-gnutls} # build lib32-curl cd "${srcdir}"/build-curl - "${srcdir}/curl-${pkgver}"/configure \ + "${srcdir}/curl"/configure \ "${_configure_options[@]}" \ --with-openssl \ --enable-versioned-symbols @@ -66,7 +87,7 @@ # build lib32-libcurl-compat cd "${srcdir}"/build-curl-compat - "${srcdir}/curl-${pkgver}"/configure \ + "${srcdir}/curl"/configure \ "${_configure_options[@]}" \ --with-openssl \ --disable-versioned-symbols @@ -76,7 +97,7 @@ # build lib32-libcurl-gnutls cd "${srcdir}"/build-curl-gnutls - "${srcdir}/curl-${pkgver}"/configure \ + "${srcdir}/curl"/configure \ "${_configure_options[@]}" \ --disable-versioned-symbols \ --without-openssl \ @@ -101,6 +122,7 @@ package_lib32-libcurl-compat() { pkgdesc='An URL retrieval utility and library (32-bit, without versioned symbols)' depends+=('lib32-openssl') + provides=('libcurl-compat.so') cd "${srcdir}"/build-curl-compat @@ -120,6 +142,7 @@ package_lib32-libcurl-gnutls() { pkgdesc='An URL retrieval utility and library (32-bit, without versioned symbols and linked against gnutls)' depends+=('lib32-gnutls') + provides=('libcurl-gnutls.so') cd "${srcdir}"/build-curl-gnutls
