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