Date: Thursday, February 16, 2023 @ 09:42:43
  Author: eworm
Revision: 469097

upgpkg: curl 7.88.0-3: build from git, collect upstream fixes

Modified:
  curl/trunk/PKGBUILD
Deleted:
  curl/trunk/0001-Revert-http2-minor-buffer-and-error-path-fixes.patch

-----------------------------------------------------------+
 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch |   56 --------
 PKGBUILD                                                  |   79 +++++++-----
 2 files changed, 51 insertions(+), 84 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:38:34 UTC (rev 469096)
+++ 0001-Revert-http2-minor-buffer-and-error-path-fixes.patch   2023-02-16 
09:42:43 UTC (rev 469097)
@@ -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:38:34 UTC (rev 469096)
+++ PKGBUILD    2023-02-16 09:42:43 UTC (rev 469097)
@@ -6,51 +6,72 @@
 
 pkgbase=curl
 pkgname=(curl libcurl-compat 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'
 arch=('x86_64')
-url='https://curl.haxx.se'
+url='https://curl.haxx.se/'
 license=('MIT')
 depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 
'libgssapi_krb5.so'
          'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 
'libssh2.so'
          'openssl' 'zlib' 'zstd' 'libzstd.so')
-makedepends=('patchelf')
+makedepends=('git' 'patchelf')
 provides=('libcurl.so')
-source=("https://curl.haxx.se/download/${pkgname}-${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'
-  --mandir='/usr/share/man'
-  --disable-ldap
-  --disable-ldaps
-  --disable-manual
-  --enable-ipv6
-  --enable-threaded-resolver
-  --with-gssapi
-  --with-libssh2
-  --with-random='/dev/urandom'
-  --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
+_backports=(
+  # git master
+  'curl-7_88_0..8c939453f587b8565af33927361edf40b48544ea'
 )
 
+_reverts=(
+)
+
 prepare() {
-  cd "${srcdir}/${pkgbase}-${pkgver}"
+  cd "$pkgbase"
 
-  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() {
+  local _configure_options=(
+    --prefix='/usr'
+    --mandir='/usr/share/man'
+    --disable-ldap
+    --disable-ldaps
+    --disable-manual
+    --enable-ipv6
+    --enable-threaded-resolver
+    --with-gssapi
+    --with-libssh2
+    --with-random='/dev/urandom'
+    --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
+  )
+
   mkdir build-curl{,-compat,-gnutls}
 
   # build curl
   cd "${srcdir}"/build-curl
 
-  "${srcdir}/${pkgbase}-${pkgver}"/configure \
+  "${srcdir}/${pkgbase}"/configure \
     "${_configure_options[@]}" \
     --with-openssl \
     --enable-versioned-symbols
@@ -60,7 +81,7 @@
   # build libcurl-compat
   cd "${srcdir}"/build-curl-compat
 
-  "${srcdir}/${pkgbase}-${pkgver}"/configure \
+  "${srcdir}/${pkgbase}"/configure \
     "${_configure_options[@]}" \
     --with-openssl \
     --disable-versioned-symbols
@@ -70,7 +91,7 @@
   # build libcurl-gnutls
   cd "${srcdir}"/build-curl-gnutls
 
-  "${srcdir}/${pkgbase}-${pkgver}"/configure \
+  "${srcdir}/${pkgbase}"/configure \
     "${_configure_options[@]}" \
     --disable-versioned-symbols \
     --without-openssl \
@@ -86,15 +107,16 @@
   make DESTDIR="${pkgdir}" install
   make DESTDIR="${pkgdir}" install -C scripts
 
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd "${srcdir}/${pkgname}"
 
   # license
-  install -Dt "${pkgdir}/usr/share/licenses/$pkgname" -m0644 COPYING
+  install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m0644 COPYING
 }
 
 package_libcurl-compat() {
   pkgdesc='An URL retrieval library (without versioned symbols)'
   depends=('curl' 'openssl')
+  provides=('libcurl-compat.so')
 
   cd "${srcdir}"/build-curl-compat
 
@@ -113,6 +135,7 @@
 package_libcurl-gnutls() {
   pkgdesc='An URL retrieval library (without versioned symbols and linked 
against gnutls)'
   depends=('curl' 'gnutls')
+  provides=('libcurl-gnutls.so')
 
   cd "${srcdir}"/build-curl-gnutls
 

Reply via email to