[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990354: unblock: curl/7.74.0-1.3



Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal

Please unblock package curl

[ Reason ]

My NMU fixes an RC bug (#989064) where Bernd reported a regression in
the output of the curl -w option. As there's probably a huge amount of
scripts deployed that parse this output, I agreed with the RC status
and uploaded the upstream fix for the issue.

[ Impact ]

Users (including scripts) that expect time to be reported in seconds
will be confused by the answer in microseconds.

[ Tests ]

curl runs a test suite during the build (actually, three times as it
builds three flavors of itself). Also curl has a huge amount of
reverse dependencies with autopkgtest. curl triggered some regressions
in minor flaky tests but by now, we're only waiting for armhf to finish
testing.

[ Risks ]

curl is of course a key package, but the patch is small and comes
straight from upstream.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock curl/7.74.0-1.3
diff -Nru curl-7.74.0/debian/changelog curl-7.74.0/debian/changelog
--- curl-7.74.0/debian/changelog	2021-04-03 14:43:39.000000000 +0200
+++ curl-7.74.0/debian/changelog	2021-06-25 20:59:54.000000000 +0200
@@ -1,3 +1,11 @@
+curl (7.74.0-1.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add upstream patch bc7ecc7 so curl -w times shown as seconds with
+    fractions (Closes: #989064)
+
+ -- Paul Gevers <elbrus@debian.org>  Fri, 25 Jun 2021 20:59:54 +0200
+
 curl (7.74.0-1.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru curl-7.74.0/debian/patches/fix-regression-microseconds-instead-of-seconds.patch curl-7.74.0/debian/patches/fix-regression-microseconds-instead-of-seconds.patch
--- curl-7.74.0/debian/patches/fix-regression-microseconds-instead-of-seconds.patch	1970-01-01 01:00:00.000000000 +0100
+++ curl-7.74.0/debian/patches/fix-regression-microseconds-instead-of-seconds.patch	2021-06-25 20:59:54.000000000 +0200
@@ -0,0 +1,87 @@
+From bc7ecc71c0c11d22fdbe6415a7945bfc43dc3c33 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Tue, 15 Dec 2020 08:09:29 +0100
+Subject: [PATCH] =?UTF-8?q?too=C4=BA=5Fwriteout:=20fix=20the=20-w=20time?=
+ =?UTF-8?q?=20output=20units?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix regression from commit fc813f80e1bcac (#6248) that changed the unit
+to microseconds instead of seconds with fractions
+
+Reported-by: 不确定
+Fixes #6321
+Closes #6322
+---
+ src/tool_writeout.c | 22 +++++++++++++++-------
+ 1 file changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/src/tool_writeout.c b/src/tool_writeout.c
+index c12738c439aa..8b9f590053e5 100644
+--- a/src/tool_writeout.c
++++ b/src/tool_writeout.c
+@@ -106,6 +106,14 @@ static const struct writeoutvar variables[] = {
+    0, JSON_NONE}
+ };
+ 
++static void us2sec(FILE *stream, curl_off_t us)
++{
++  curl_off_t secs = us / 1000000;
++  us %= 1000000;
++  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU ".%06" CURL_FORMAT_CURL_OFF_TU,
++          secs, us);
++}
++
+ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo)
+ {
+   FILE *stream = stdout;
+@@ -190,41 +198,41 @@ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo)
+               case VAR_REDIRECT_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME_T, &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_TOTAL_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_NAMELOOKUP_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME_T,
+                                      &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_CONNECT_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME_T, &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_APPCONNECT_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME_T,
+                                      &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_PRETRANSFER_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME_T,
+                                      &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_STARTTRANSFER_TIME:
+                 if(CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME_T,
+                                      &offinfo))
+-                  fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU, offinfo);
++                  us2sec(stream, offinfo);
+                 break;
+               case VAR_SIZE_UPLOAD:
+                 if(CURLE_OK ==
diff -Nru curl-7.74.0/debian/patches/series curl-7.74.0/debian/patches/series
--- curl-7.74.0/debian/patches/series	2021-04-03 14:43:39.000000000 +0200
+++ curl-7.74.0/debian/patches/series	2021-06-25 20:59:54.000000000 +0200
@@ -7,6 +7,7 @@
 13_fix-man-formatting.patch
 14_transfer-strip-credentials-from-the-auto-referer-hea.patch
 15_vtls-add-isproxy-argument-to-Curl_ssl_get-addsession.patch
+fix-regression-microseconds-instead-of-seconds.patch
 
 # do not add patches below
 90_gnutls.patch

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: