[Bug 1910162] Re: jq fromdate is one hour off and hence FTBFS when local time is during daylight savings

Christian Ehrhardt  1910162 at bugs.launchpad.net
Wed Jan 6 11:16:18 UTC 2021


SRU template added
PPA: https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4390/+packages
Split commits (not in git ubuntu for a merge)
https://code.launchpad.net/~paelzer/ubuntu/+source/jq/+git/jq/+ref/lp-1910162-offtz-GROOVY
https://code.launchpad.net/~paelzer/ubuntu/+source/jq/+git/jq/+ref/lp-1910162-offtz-FOCAL

** Description changed:

+ [Impact]
+ 
+  * An upstream change in version 1.6 turned out to break
+    depending on the current timezone (that is how it went undetected
+    for so long)
+ 
+  * Upstream undid the change and we want to follow them by backporting 
+    that.
+ 
+ [Test Case]
+ 
+  * root at h:~# TZ=America/New_York jq -n '"2018-08-31T00:00:00Z"|fromdate|todate'
+ "2018-08-31T01:00:00Z"
+ 
+ This should return the same time as it was passed.
+ 
+ [Where problems could occur]
+ 
+  * jq can do many things and handling date conversions is just a small 
+    fraction of it. But in that fraction fromdate|todate and regressions 
+    would happen to take place.
+    And vice versa - if a jq user does not use those conversions it should 
+    be a no-op for him.
+ 
+    Another regression could be if users were aware and added workarounds 
+    (like doing -1 after the conversion). Obviously by fixing this it would 
+    then be -1 off afterwards.
+ 
+ 
+ [Other Info]
+  
+  * n/a
+ 
+ ---
+ 
  When trying to build jq locally it FTBFS for me since the unit tests
  that run during the build and check the output of fromdate fail:
  
  Testing 'fromdate' at line number 642
  *** Expected 1425599507, but got 1425603107 for test at line number 644: fromdate
  Testing 'strptime("%Y-%m-%dT%H:%M:%SZ")' at line number 646
  Testing 'strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' at line number 650
  *** Expected 1425599507, but got 1425603107 for test at line number 652: strptime("%Y-%m-%dT%H:%M:%SZ")|mktime
  
  This is caused by this upstream bug
  https://github.com/stedolan/jq/issues/2001 which was fixed by this
  upstream commit
  https://github.com/stedolan/jq/commit/3c5b1419a278dfb192666b33197dc182c670290d
  but this fix is not yet in 1.6-2 as shipped in Ubuntu.
  
  See attached for a debdiff which includes the upstream patch to resolve
  this.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1910162

Title:
  jq fromdate is one hour off and hence FTBFS when local time is during
  daylight savings

Status in jq package in Ubuntu:
  Fix Released
Status in jq source package in Focal:
  Triaged
Status in jq source package in Groovy:
  Triaged
Status in jq source package in Hirsute:
  Fix Released
Status in jq package in Debian:
  Unknown

Bug description:
  [Impact]

   * An upstream change in version 1.6 turned out to break
     depending on the current timezone (that is how it went undetected
     for so long)

   * Upstream undid the change and we want to follow them by backporting 
     that.

  [Test Case]

   * root at h:~# TZ=America/New_York jq -n '"2018-08-31T00:00:00Z"|fromdate|todate'
  "2018-08-31T01:00:00Z"

  This should return the same time as it was passed.

  [Where problems could occur]

   * jq can do many things and handling date conversions is just a small 
     fraction of it. But in that fraction fromdate|todate and regressions 
     would happen to take place.
     And vice versa - if a jq user does not use those conversions it should 
     be a no-op for him.

     Another regression could be if users were aware and added workarounds 
     (like doing -1 after the conversion). Obviously by fixing this it would 
     then be -1 off afterwards.

  
  [Other Info]
   
   * n/a

  ---

  When trying to build jq locally it FTBFS for me since the unit tests
  that run during the build and check the output of fromdate fail:

  Testing 'fromdate' at line number 642
  *** Expected 1425599507, but got 1425603107 for test at line number 644: fromdate
  Testing 'strptime("%Y-%m-%dT%H:%M:%SZ")' at line number 646
  Testing 'strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' at line number 650
  *** Expected 1425599507, but got 1425603107 for test at line number 652: strptime("%Y-%m-%dT%H:%M:%SZ")|mktime

  This is caused by this upstream bug
  https://github.com/stedolan/jq/issues/2001 which was fixed by this
  upstream commit
  https://github.com/stedolan/jq/commit/3c5b1419a278dfb192666b33197dc182c670290d
  but this fix is not yet in 1.6-2 as shipped in Ubuntu.

  See attached for a debdiff which includes the upstream patch to
  resolve this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/jq/+bug/1910162/+subscriptions



More information about the Ubuntu-sponsors mailing list