Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock
Please unblock package golang-1.7 golang-1.7 ftbfs in testing currently because a change in tzdata 2017a-1 broke one of the tests (bug #859583). Upstream have already patched this so I'm just backporting that. Will attach debdiff. unblock golang-1.7/1.7.4-2 -- System Information: Debian Release: stretch/sid APT prefers xenial-updates APT policy: (500, 'xenial-updates'), (500, 'xenial-security'), (500, 'xenial'), (400, 'xenial-proposed'), (100, 'xenial-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.4.0-71-generic (SMP w/4 CPU cores) Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru golang-1.7-1.7.4/debian/changelog golang-1.7-1.7.4/debian/changelog --- golang-1.7-1.7.4/debian/changelog 2016-12-03 10:30:36.000000000 +1300 +++ golang-1.7-1.7.4/debian/changelog 2017-04-05 12:21:02.000000000 +1200 @@ -1,3 +1,9 @@ +golang-1.7 (1.7.4-2) unstable; urgency=medium + + * Backport CL 37964 for tzdata 2017a changes (Closes: #859583) + + -- Michael Hudson-Doyle <[email protected]> Wed, 05 Apr 2017 11:53:49 +1200 + golang-1.7 (1.7.4-1) unstable; urgency=medium * Update to 1.7.4 upstream release (Closes: #846545) diff -Nru golang-1.7-1.7.4/debian/patches/cl-37964--tzdata-2017a.patch golang-1.7-1.7.4/debian/patches/cl-37964--tzdata-2017a.patch --- golang-1.7-1.7.4/debian/patches/cl-37964--tzdata-2017a.patch 1970-01-01 12:00:00.000000000 +1200 +++ golang-1.7-1.7.4/debian/patches/cl-37964--tzdata-2017a.patch 2017-04-05 11:53:05.000000000 +1200 @@ -0,0 +1,89 @@ +From 91563ced5897faf729a34be7081568efcfedda31 Mon Sep 17 00:00:00 2001 +From: Alberto Donizetti <[email protected]> +Date: Thu, 09 Mar 2017 13:20:54 +0100 +Subject: [PATCH] time: make the ParseInLocation test more robust + +The tzdata 2017a update (2017-02-28) changed the abbreviation of the +Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the +numeric '+03'. + +Update the test so that it skips the checks if we're using a recent +tzdata release. + +Fixes #19457 + +Change-Id: I45d705a5520743a611bdd194dc8f8d618679980c +Reviewed-on: https://go-review.googlesource.com/37964 +Reviewed-by: Ian Lance Taylor <[email protected]> +Run-TryBot: Ian Lance Taylor <[email protected]> +TryBot-Result: Gobot Gobot <[email protected]> +--- + +--- a/src/time/format_test.go ++++ b/src/time/format_test.go +@@ -244,27 +244,45 @@ + } + } + ++// TestParseInLocation checks that the Parse and ParseInLocation ++// functions do not get confused by the fact that AST (Arabia Standard ++// Time) and AST (Atlantic Standard Time) are different time zones, ++// even though they have the same abbreviation. ++// ++// ICANN has been slowly phasing out invented abbreviation in favor of ++// numeric time zones (for example, the Asia/Baghdad time zone ++// abbreviation got changed from AST to +03 in the 2017a tzdata ++// release); but we still want to make sure that the time package does ++// not get confused on systems with slightly older tzdata packages. + func TestParseInLocation(t *testing.T) { +- // Check that Parse (and ParseInLocation) understand that +- // Feb 01 AST (Arabia Standard Time) and Feb 01 AST (Atlantic Standard Time) +- // are in different time zones even though both are called AST + + baghdad, err := LoadLocation("Asia/Baghdad") + if err != nil { + t.Fatal(err) + } + +- t1, err := ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", baghdad) ++ var t1, t2 Time ++ ++ t1, err = ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", baghdad) + if err != nil { + t.Fatal(err) + } +- t2 := Date(2013, February, 1, 00, 00, 00, 0, baghdad) +- if t1 != t2 { +- t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad) = %v, want %v", t1, t2) +- } ++ + _, offset := t1.Zone() +- if offset != 3*60*60 { +- t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad).Zone = _, %d, want _, %d", offset, 3*60*60) ++ ++ // A zero offset means that ParseInLocation did not recognize the ++ // 'AST' abbreviation as matching the current location (Baghdad, ++ // where we'd expect a +03 hrs offset); likely because we're using ++ // a recent tzdata release (2017a or newer). ++ // If it happens, skip the Baghdad test. ++ if offset != 0 { ++ t2 = Date(2013, February, 1, 00, 00, 00, 0, baghdad) ++ if t1 != t2 { ++ t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad) = %v, want %v", t1, t2) ++ } ++ if offset != 3*60*60 { ++ t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad).Zone = _, %d, want _, %d", offset, 3*60*60) ++ } + } + + blancSablon, err := LoadLocation("America/Blanc-Sablon") +@@ -272,6 +290,9 @@ + t.Fatal(err) + } + ++ // In this case 'AST' means 'Atlantic Standard Time', and we ++ // expect the abbreviation to correctly match the american ++ // location. + t1, err = ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", blancSablon) + if err != nil { + t.Fatal(err) diff -Nru golang-1.7-1.7.4/debian/patches/series golang-1.7-1.7.4/debian/patches/series --- golang-1.7-1.7.4/debian/patches/series 2016-12-03 09:43:53.000000000 +1300 +++ golang-1.7-1.7.4/debian/patches/series 2017-04-05 11:52:52.000000000 +1200 @@ -1 +1,2 @@ cl-29995--tzdata-2016g.patch +cl-37964--tzdata-2017a.patch

