[arch-commits] Commit in libcurl-compat/trunk (2 files)
Christian Hesse
eworm at archlinux.org
Fri May 24 07:53:02 UTC 2019
Date: Friday, May 24, 2019 @ 07:53:01
Author: eworm
Revision: 469544
upgpkg: libcurl-compat 7.65.0-2
backport fix
Added:
libcurl-compat/trunk/0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch
Modified:
libcurl-compat/trunk/PKGBUILD
--------------------------------------------------------+
0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch | 200 +++++++++++++++
PKGBUILD | 16 -
2 files changed, 212 insertions(+), 4 deletions(-)
Added: 0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch
===================================================================
--- 0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch (rev 0)
+++ 0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch 2019-05-24 07:53:01 UTC (rev 469544)
@@ -0,0 +1,200 @@
+From c6b58137237a89081b4efc33ae0ecf7282e40132 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Wed, 22 May 2019 23:15:34 +0200
+Subject: [PATCH] Revert "progress: CURL_DISABLE_PROGRESS_METER"
+
+This reverts commit 3b06e68b7734cb10a555f9d7e804dd5d808236a4.
+
+Clearly this change wasn't good enough as it broke CURLOPT_LOW_SPEED_LIMIT +
+CURLOPT_LOW_SPEED_TIME
+
+Reported-by: Dave Reisner
+
+Fixes #3927
+Closes #3928
+---
+ lib/progress.c | 110 ++++++++++++++++++++++---------------------------
+ 1 file changed, 49 insertions(+), 61 deletions(-)
+
+diff --git a/lib/progress.c b/lib/progress.c
+index f586d59b4..fe9929bb9 100644
+--- a/lib/progress.c
++++ b/lib/progress.c
+@@ -5,7 +5,7 @@
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel at haxx.se>, et al.
++ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel at haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+@@ -31,7 +31,6 @@
+ /* check rate limits within this many recent milliseconds, at minimum. */
+ #define MIN_RATE_LIMIT_PERIOD 3000
+
+-#ifndef CURL_DISABLE_PROGRESS_METER
+ /* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero
+ byte) */
+ static void time2str(char *r, curl_off_t seconds)
+@@ -120,7 +119,6 @@ static char *max5data(curl_off_t bytes, char *max5)
+
+ return max5;
+ }
+-#endif
+
+ /*
+
+@@ -364,13 +362,17 @@ void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
+ }
+ }
+
+-#ifndef CURL_DISABLE_PROGRESS_METER
+-static void progress_meter(struct connectdata *conn)
++/*
++ * Curl_pgrsUpdate() returns 0 for success or the value returned by the
++ * progress callback!
++ */
++int Curl_pgrsUpdate(struct connectdata *conn)
+ {
+ struct curltime now;
+ curl_off_t timespent;
+ curl_off_t timespent_ms; /* milliseconds */
+ struct Curl_easy *data = conn->data;
++ int nowindex = data->progress.speeder_c% CURR_TIME;
+ bool shownow = FALSE;
+ curl_off_t dl = data->progress.downloaded;
+ curl_off_t ul = data->progress.uploaded;
+@@ -397,9 +399,7 @@ static void progress_meter(struct connectdata *conn)
+ /* Calculations done at most once a second, unless end is reached */
+ if(data->progress.lastshow != now.tv_sec) {
+ int countindex; /* amount of seconds stored in the speeder array */
+- int nowindex = data->progress.speeder_c% CURR_TIME;
+- if(!(data->progress.flags & PGRS_HIDE))
+- shownow = TRUE;
++ shownow = TRUE;
+
+ data->progress.lastshow = now.tv_sec;
+
+@@ -461,12 +461,8 @@ static void progress_meter(struct connectdata *conn)
+ data->progress.ulspeed + data->progress.dlspeed;
+
+ } /* Calculations end */
+- if(!shownow)
+- /* only show the internal progress meter once per second */
+- return;
+- else {
+- /* If there's no external callback set, use internal code to show
+- progress */
++
++ if(!(data->progress.flags & PGRS_HIDE)) {
+ /* progress meter has not been shut off */
+ char max5[6][10];
+ curl_off_t dlpercen = 0;
+@@ -481,6 +477,42 @@ static void progress_meter(struct connectdata *conn)
+ curl_off_t dlestimate = 0;
+ curl_off_t total_estimate;
+
++ if(data->set.fxferinfo) {
++ int result;
++ /* There's a callback set, call that */
++ Curl_set_in_callback(data, true);
++ result = data->set.fxferinfo(data->set.progress_client,
++ data->progress.size_dl,
++ data->progress.downloaded,
++ data->progress.size_ul,
++ data->progress.uploaded);
++ Curl_set_in_callback(data, false);
++ if(result)
++ failf(data, "Callback aborted");
++ return result;
++ }
++ if(data->set.fprogress) {
++ int result;
++ /* The older deprecated callback is set, call that */
++ Curl_set_in_callback(data, true);
++ result = data->set.fprogress(data->set.progress_client,
++ (double)data->progress.size_dl,
++ (double)data->progress.downloaded,
++ (double)data->progress.size_ul,
++ (double)data->progress.uploaded);
++ Curl_set_in_callback(data, false);
++ if(result)
++ failf(data, "Callback aborted");
++ return result;
++ }
++
++ if(!shownow)
++ /* only show the internal progress meter once per second */
++ return 0;
++
++ /* If there's no external callback set, use internal code to show
++ progress */
++
+ if(!(data->progress.flags & PGRS_HEADERS_OUT)) {
+ if(data->state.resume_from) {
+ fprintf(data->set.err,
+@@ -563,57 +595,13 @@ static void progress_meter(struct connectdata *conn)
+ time_total, /* 8 letters */ /* total time */
+ time_spent, /* 8 letters */ /* time spent */
+ time_left, /* 8 letters */ /* time left */
+- max5data(data->progress.current_speed, max5[5])
+- );
++ max5data(data->progress.current_speed, max5[5]) /* current speed */
++ );
+
+ /* we flush the output stream to make it appear as soon as possible */
+ fflush(data->set.err);
+- } /* don't show now */
+-}
+-#else
+- /* progress bar disabled */
+-#define progress_meter(x)
+-#endif
+-
+
+-/*
+- * Curl_pgrsUpdate() returns 0 for success or the value returned by the
+- * progress callback!
+- */
+-int Curl_pgrsUpdate(struct connectdata *conn)
+-{
+- struct Curl_easy *data = conn->data;
+- if(!(data->progress.flags & PGRS_HIDE)) {
+- if(data->set.fxferinfo) {
+- int result;
+- /* There's a callback set, call that */
+- Curl_set_in_callback(data, true);
+- result = data->set.fxferinfo(data->set.progress_client,
+- data->progress.size_dl,
+- data->progress.downloaded,
+- data->progress.size_ul,
+- data->progress.uploaded);
+- Curl_set_in_callback(data, false);
+- if(result)
+- failf(data, "Callback aborted");
+- return result;
+- }
+- if(data->set.fprogress) {
+- int result;
+- /* The older deprecated callback is set, call that */
+- Curl_set_in_callback(data, true);
+- result = data->set.fprogress(data->set.progress_client,
+- (double)data->progress.size_dl,
+- (double)data->progress.downloaded,
+- (double)data->progress.size_ul,
+- (double)data->progress.uploaded);
+- Curl_set_in_callback(data, false);
+- if(result)
+- failf(data, "Callback aborted");
+- return result;
+- }
+- }
+- progress_meter(conn);
++ } /* !(data->progress.flags & PGRS_HIDE) */
+
+ return 0;
+ }
+--
+2.21.0
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-05-24 07:49:56 UTC (rev 469543)
+++ PKGBUILD 2019-05-24 07:53:01 UTC (rev 469544)
@@ -3,7 +3,7 @@
pkgname=libcurl-compat
pkgver=7.65.0
-pkgrel=1
+pkgrel=2
pkgdesc='An URL retrieval library (without versioned symbols)'
arch=('x86_64')
url='https://curl.haxx.se'
@@ -11,11 +11,19 @@
depends=('curl' 'glibc' 'krb5' 'openssl' 'libpsl' 'zlib'
'libssh2.so')
options=('strip')
-source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc})
+source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc}
+ '0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch')
+sha512sums=('8b4a61e1ed5e4417f8162ca91ec5f5b89305c290298e1d5d2e8222fdeec766f02704788a9206784ebfd9b6198fc9a288ca25f5957b57382bffeeff28c3db8556'
+ 'SKIP'
+ '50573335ee83dbb5e10947bf957ffa60c17244c480d55b761eb749b4d53403f52d58b86bbefbbc5905657922ec274122ec96cbde5cd48d3559b866ad9fbc2de7')
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
-sha512sums=('8b4a61e1ed5e4417f8162ca91ec5f5b89305c290298e1d5d2e8222fdeec766f02704788a9206784ebfd9b6198fc9a288ca25f5957b57382bffeeff28c3db8556'
- 'SKIP')
+prepare() {
+ cd curl-${pkgver}
+
+ patch -Np1 < ../0001-Revert-progress-CURL_DISABLE_PROGRESS_METER.patch
+}
+
build() {
cd curl-${pkgver}
More information about the arch-commits
mailing list