[dgit import tarball golang-1.11 1.11.6-1+deb10u4 golang-1.11_1.11.6-1+deb10u4.debian.tar.xz]
--- /dev/null
+golang-1.11 (1.11.6-1+deb10u4) buster-security; urgency=high
+
+ * Team upload.
+
+ [ Dr. Tobias Quathamer ]
+ * cryptobyte: fix panic due to malformed ASN.1 inputs on 32-bit archs
+ https://github.com/golang/go/issues/36837
+ CVE-2020-7919
+ * net/http: Expect 100-continue panics in httputil.ReverseProxy
+ https://github.com/golang/go/issues/34902
+ CVE-2020-15586
+ * encoding/binary: ReadUvarint and ReadVarint can read an unlimited
+ number of bytes from invalid inputs
+ https://github.com/golang/go/issues/40618
+ CVE-2020-16845
+
+ [ Shengjing Zhu ]
+ * crypto/elliptic: incorrect operations on the P-224 curve
+ https://github.com/golang/go/issues/43786
+ CVE-2021-3114
+
+ -- Shengjing Zhu <zhsj@debian.org> Mon, 25 Jan 2021 03:15:38 +0800
+
+golang-1.11 (1.11.6-1+deb10u3) buster-security; urgency=high
+
+ * crypto/dsa: prevent bad public keys from causing panic
+ https://github.com/golang/go/issues/34960
+ CVE-2019-17596
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Sat, 19 Oct 2019 14:12:42 +0200
+
+golang-1.11 (1.11.6-1+deb10u2) buster-security; urgency=high
+
+ * Fix normalization of headers with spaces before the colon.
+ https://github.com/golang/go/issues/34541
+ CVE-2019-16276
+ * Refresh patches
+ * Adapt gbp.conf for security branch
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Thu, 26 Sep 2019 11:55:04 +0200
+
+golang-1.11 (1.11.6-1+deb10u1) buster-security; urgency=high
+
+ * Fix Denial of Service vulnerabilities in the HTTP/2 implementation.
+ https://github.com/golang/go/issues/33631
+ CVE-2019-9512, CVE-2019-9514
+ * Fix multiple Parsing Issues in URL.Parse
+ https://github.com/golang/go/issues/29098
+ CVE-2019-14809
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Thu, 15 Aug 2019 21:48:59 +0200
+
+golang-1.11 (1.11.6-1) unstable; urgency=medium
+
+ * New upstream version 1.11.6, fixing CVE-2019-9741. (Closes: #924630)
+ * Delete d/patches/0005-fix-MIPS-SGTconst-with-shift-rules.patch, applied
+ upstream.
+ * Refreshed other patches.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Mon, 18 Mar 2019 09:37:17 +1300
+
+golang-1.11 (1.11.5-1) unstable; urgency=high
+
+ * New upstream version 1.11.5, fixing CVE-2019-6486
+
+ -- Michael Stapelberg <stapelberg@debian.org> Thu, 24 Jan 2019 08:23:06 +0100
+
+golang-1.11 (1.11.4-4) unstable; urgency=medium
+
+ * Team upload.
+ * Add patch "unix: fix Fstatat by using fillStat_t on linux/mips64x"
+ This fixes the "Fstatat: returned stat does not match Stat/Lstat"
+ errors detected by TestFstatat.
+ See https://go-review.googlesource.com/c/sys/+/155747
+ * Re-enable TestFstatat on mips64el
+
+ -- Anthony Fok <foka@debian.org> Fri, 28 Dec 2018 11:39:40 -0700
+
+golang-1.11 (1.11.4-3) unstable; urgency=medium
+
+ * Team upload.
+ * Add patch "cmd/compile: fix MIPS SGTconst-with-shift rules"
+ by Cherry Zhang. This fixes the root problem behind the
+ "slice bounds out of range" build error seen in 1.11.4
+ on mips and mipsel architectures.
+ See https://go-review.googlesource.com/c/go/+/155798
+ * Bump Standards-Version to 4.3.0 (no change)
+
+ -- Anthony Fok <foka@debian.org> Wed, 26 Dec 2018 00:24:18 -0700
+
+golang-1.11 (1.11.4-2) unstable; urgency=medium
+
+ * Switch team address to tracker.d.o
+ * Update patches for git-buildpackage
+ * Add new patch to disable test for mips64el
+ * Do not compress favicon.ico.
+ Thanks to Dato Simó <dato@debian.org> (Closes: #917132)
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Sun, 23 Dec 2018 19:26:45 +0100
+
+golang-1.11 (1.11.4-1) unstable; urgency=medium
+
+ * New upstream version 1.11.4
+ * Make lintian override agnostic of golang version
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Sun, 16 Dec 2018 13:48:52 +0100
+
+golang-1.11 (1.11.3-1) unstable; urgency=medium
+
+ * New upstream version 1.11.3
+ - Refresh patches
+ * Update gbp.conf to new style syntax
+ * Suggest brz as alternative to bzr; it provides the same command-line API.
+ * Add myself to Uploaders
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Thu, 13 Dec 2018 23:23:40 +0100
+
+golang-1.11 (1.11.2-2) unstable; urgency=medium
+
+ * d/patches/arm64-arm64asm-recognise-new-ssbb-pssbb-mnemonics-fr.patch:
+ backport workaround for objdump's support of newer mnemonics on arm64.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Mon, 26 Nov 2018 13:24:37 +1300
+
+golang-1.11 (1.11.2-1) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Michael Hudson-Doyle ]
+ * New upstream major version.
+ * Update debhelper compat level to 11.
+ * Remove GOCACHE files after running tests.
+ * Stop dh_strip_nondeterminism from looking at testdata directories.
+
+ [ Dr. Tobias Quathamer ]
+ * Build-Depend on debhelper v11
+ * Override two false positive Lintian errors (missing depends
+ on sensible-utils)
+ * Add Lintian overrides for testdata
+ * Include /usr/share/dpkg/architecture.mk for DEB_HOST_ARCH
+ * Refresh patch for new upstream version
+ * Fix Lintian warnings about wrong interpreter path
+ * Make two scripts executable which have been missed by upstream
+ * Remove three unneeded lintian overrides
+ * Use HTTPS URL for d/watch
+ * Update to Standards-Version 4.2.1
+ - Use HTTPS for d/copyright
+ * Update d/copyright
+
+ -- Dr. Tobias Quathamer <toddy@debian.org> Tue, 20 Nov 2018 22:51:44 +0100
+
+golang-1.10 (1.10.3-1) unstable; urgency=medium
+
+ * New upstream version 1.10.3
+ * Restore changelog entry for 1.10.1-3, and fix that for 1.10.2-1, oops.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Thu, 14 Jun 2018 14:55:58 +1200
+
+golang-1.10 (1.10.2-1) unstable; urgency=medium
+
+ * New upstream version 1.10.2.
+ - d/patches/0003-Backport_nopie_fix.patch: removed, now included upstream.
+ - d/patches/0004-Backport_mips_octeon3_fp_fix.patch: removed, also included
+ upstream.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Wed, 23 May 2018 15:24:03 +1200
+
+golang-1.10 (1.10.1-3) unstable; urgency=high
+
+ * Team upload.
+
+ [ Michael Hudson-Doyle ]
+ * Install the 'misc' and 'api' directories as part of the golang-1.10-src
+ package as some tools (vgo, go tool trace) expect them to be there.
+ (Closes: 894992¸ LP: #1743598)
+
+ [ Martín Ferrari ]
+ * Backport fix for FP bug in mips/Octeon III. Closes: #892088. Raising
+ severity.
+
+ -- Martín Ferrari <tincho@debian.org> Sun, 22 Apr 2018 21:21:05 +0000
+
+golang-1.10 (1.10.1-2) unstable; urgency=medium
+
+ * Team upload.
+ * Backport patch that fixes FTBFS in arm64.
+ * debian/copyright: Update attribution.
+ * debian/source: Update lintian-overrides.
+
+ -- Martín Ferrari <tincho@debian.org> Wed, 18 Apr 2018 15:38:49 +0000
+
+golang-1.10 (1.10.1-1) unstable; urgency=medium
+
+ * New upstream version 1.10.1.
+ * d/patches/0002-reproducible-BUILD_PATH_PREFIX_MAP.patch: update patch tags
+ to reference upstream discussion of this topic.
+ * d/control, d/control.in: Update Vcs-* to point to salsa.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Tue, 03 Apr 2018 15:34:12 +1200
+
+golang-1.10 (1.10-1) unstable; urgency=medium
+
+ * New upstream version 1.10
+
+ -- Michael Stapelberg <stapelberg@debian.org> Sat, 17 Feb 2018 12:57:14 +0100
+
+golang-1.10 (1.10~rc2-1) unstable; urgency=medium
+
+ * New upstream version, fixing CVE-2018-6574.
+ * d/patches/0001-os-signal-skip-TestTerminalSignal-if-posix_openpt-fa.patch,
+ d/patches/0003-cmd-vendor-github.com-google-pprof-cherry-pick-fix-t.patch,
+ d/patches/0004-cmd-link-internal-loadelf-fix-logic-for-computing-EL.patch:
+ removed, now included upstream.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Thu, 08 Feb 2018 10:46:52 +1300
+
+golang-1.10 (1.10~rc1-2) unstable; urgency=medium
+
+ * d/patches/0004-cmd-link-internal-loadelf-fix-logic-for-computing-EL.patch:
+ Backport from upstream to fix build issues on armhf (causes ftbfs on
+ Ubuntu but not Debian for some reason, but could produce broken binaries
+ on Debian too).
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Wed, 07 Feb 2018 22:10:22 +1300
+
+golang-1.10 (1.10~rc1-1) unstable; urgency=medium
+
+ * New upstream version 1.10~rc1.
+ * d/patches/0004-cmd-dist-use-buildmode-pie-for-pie-testing.patch,
+ d/patches/0006-misc-cgo-testcarchive-use-no-pie-where-needed.patch,
+ d/patches/0003-Do-not-use-SP-as-index-reg.patch: removed, included upstream.
+ * d/patches/0002-reproducible-BUILD_PATH_PREFIX_MAP.patch: refreshed.
+ * d/patches/0001-os-signal-skip-TestTerminalSignal-if-posix_openpt-fa.patch:
+ Add to fix test failure in chroot.
+ * d/patches/0003-cmd-vendor-github.com-google-pprof-cherry-pick-fix-t.patch:
+ Add to fix test failure when $HOME is not writable.
+ * d/rules: Set GOCACHE to "off" during build to avoid shipping cache files.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Wed, 31 Jan 2018 14:46:12 +1300
+
+golang-1.9 (1.9.2-4) unstable; urgency=medium
+
+ * Enable building on mips, mipsel and mips64. (Closes: 879764)
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Fri, 08 Dec 2017 14:09:24 +1300
+
+golang-1.9 (1.9.2-3) unstable; urgency=medium
+
+ * Remove workaround for now fixed debhelper bug #879762
+ * Backport three patches from upstream to fix ftbfs on ppc64el with new kernel.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Tue, 31 Oct 2017 12:16:17 +1300
+
+golang-1.9 (1.9.2-2) unstable; urgency=medium
+
+ [ Martín Ferrari ]
+ * Add debian/patches/0003-Do-not-use-SP-as-index-reg.patch (Closes: #877541)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Fri, 27 Oct 2017 08:55:32 +0200
+
+golang-1.9 (1.9.2-1) unstable; urgency=medium
+
+ * New upstream version 1.9.2
+ * Work around debhelper bug #879762
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Thu, 26 Oct 2017 13:46:40 +1300
+
+golang-1.9 (1.9.1-2) unstable; urgency=medium
+
+ * Update debian/copyright (Closes: #873740)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 09 Oct 2017 18:03:49 +0200
+
+golang-1.9 (1.9.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Use my @debian.org address in Uploaders.
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Fri, 06 Oct 2017 13:04:46 +1300
+
+golang-1.9 (1.9-1) unstable; urgency=medium
+
+ [ Michael Hudson-Doyle ]
+ * New upstream release.
+ * Suppress some new lintian errors in golang-1.9-src.
+
+ [ Michael Stapelberg ]
+ * Add debian/patches/0002-reproducible-BUILD_PATH_PREFIX_MAP.patch
+
+ -- Michael Hudson-Doyle <mwhudson@debian.org> Wed, 30 Aug 2017 16:31:09 +1200
+
+golang-1.8 (1.8.3-1) unstable; urgency=medium
+
+ * New upstream release. (Closes: 863292, 863307)
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 01 Jun 2017 21:06:00 +1200
+
+golang-1.8 (1.8.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 10 Apr 2017 13:29:28 +1200
+
+golang-1.8 (1.8-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 02 Mar 2017 10:11:55 +1300
+
+golang-1.8 (1.8~rc3-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Fri, 27 Jan 2017 10:23:56 +1300
+
+golang-1.8 (1.8~rc2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Fri, 20 Jan 2017 12:15:27 +1300
+
+golang-1.8 (1.8~rc1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 16 Jan 2017 15:51:54 +1300
+
+golang-1.8 (1.8~beta2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 20 Dec 2016 14:19:55 +1300
+
+golang-1.8 (1.8~beta1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Remove d/patches/cl-29995--tzdata-2016g.patch, included upstream.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 07 Dec 2016 17:38:57 -0800
+
+golang-1.7 (1.7.4-1) unstable; urgency=medium
+
+ * Update to 1.7.4 upstream release (Closes: #846545)
+ - https://groups.google.com/d/topic/golang-announce/2lP5z9i9ySY/discussion
+ - https://golang.org/issue/17965 (potential DoS vector in net/http)
+ - https://github.com/golang/go/compare/go1.7.3...go1.7.4
+
+ -- Tianon Gravi <tianon@debian.org> Fri, 02 Dec 2016 13:30:36 -0800
+
+golang-1.7 (1.7.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Delete d/patches/cl-28850.patch, applied upstream.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 20 Oct 2016 09:10:47 +1300
+
+golang-1.7 (1.7.1-3) unstable; urgency=medium
+
+ * Backport CL 29995 for tzdata 2016g changes (Closes: #839317)
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 03 Oct 2016 15:12:28 -0700
+
+golang-1.7 (1.7.1-2) unstable; urgency=medium
+
+ * Add upstream patch for s390x FTBFS
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 12 Sep 2016 09:32:10 -0700
+
+golang-1.7 (1.7.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Re-enable tests on s390x now that gcc-6 has been fixed in unstable.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 08 Sep 2016 13:04:33 +1200
+
+golang-1.7 (1.7-3) unstable; urgency=medium
+
+ * Add "s390x" to Architectures
+
+ -- Tianon Gravi <tianon@debian.org> Tue, 23 Aug 2016 07:35:16 -0700
+
+golang-1.7 (1.7-2) unstable; urgency=medium
+
+ * Disable tests on armel.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 16 Aug 2016 15:18:07 +1200
+
+golang-1.7 (1.7-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 16 Aug 2016 11:37:34 +1200
+
+golang-1.7 (1.7~rc4-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 02 Aug 2016 15:10:22 +1200
+
+golang-1.7 (1.7~rc3-1) unstable; urgency=medium
+
+ [ Tianon Gravi ]
+ * Remove outdated README files (README.source and README.Debian)
+
+ [ Michael Hudson-Doyle ]
+ * New upstream release.
+ * Suppress inaccurate source-is-missing lintian warnings.
+ * Update Standards-Version to 3.9.8 (no changes required).
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 11 Jul 2016 18:31:57 -0700
+
+golang-1.7 (1.7~rc2-1) unstable; urgency=medium
+
+ * Update to 1.7rc2 upstream release.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 19 Jul 2016 14:40:14 +1200
+
+golang-1.7 (1.7~rc1-1) unstable; urgency=medium
+
+ [ Paul Tagliamonte ]
+ * Use a secure transport for the Vcs-Git and Vcs-Browser URL
+
+ [ Tianon Gravi ]
+ * Update to 1.7rc1 upstream release (new packages, not used by default; see
+ also src:golang-defaults)
+ * Update Vcs-Git to reference a particular branch
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 11 Jul 2016 16:10:12 -0700
+
+golang-1.6 (1.6.2-2) unstable; urgency=medium
+
+ * Update "golang-any" in "Build-Depends" to fallback to "golang-go | gccgo"
+ (will help with backporting)
+
+ -- Tianon Gravi <tianon@debian.org> Thu, 23 Jun 2016 20:01:00 -0700
+
+golang-1.6 (1.6.2-1) unstable; urgency=medium
+
+ * Update to 1.6.2 upstream release (Closes: #825696)
+ * Build-Depend on golang-any instead of golang-go (Closes: #824421)
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Fri, 03 Jun 2016 07:50:44 -0700
+
+golang-1.6 (1.6.1-1) unstable; urgency=medium
+
+ * Build golang version-specific packages (Closes: #818415)
+ * Things that (conceptually at least) move to new golang version independent
+ golang-defaults source package:
+ - Man pages.
+ - Suggesting golang-golang-x-tools.
+ - Breaks/Replace-ing of old golang-go-$GOOS-$GOARCH packages.
+ * Stop using alternatives to manage /usr/bin/go.
+ * sed trickery in debian/rules to support easy changes to new golang versions.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 01 Jun 2016 10:04:53 -0700
+
+golang (2:1.6.1-2) unstable; urgency=medium
+
+ * Don't strip testdata files, causes build failures on some platforms.
+
+ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 13 Apr 2016 15:47:46 -0700
+
+golang (2:1.6.1-1) unstable; urgency=medium
+
+ [ Michael Hudson-Doyle ]
+ * Breaks/Replaces: older golang-golang-x-tools, not Conflicts, to ensure
+ smooth upgrades.
+ * Strip the binaries as it has worked for the last five years or so and
+ upstream sees no reason to disable it.
+
+ [ Tianon Gravi ]
+ * Update to 1.6.1 upstream release (Closes: #820369)
+ - Fix CVE-2016-3959: infinite loop in several big integer routines
+
+ -- Tianon Gravi <tianon@debian.org> Tue, 12 Apr 2016 23:06:43 -0700
+
+golang (2:1.6-1) unstable; urgency=medium
+
+ * Update to 1.6 upstream release (thanks Hilko!)
+ - change "ar" arguments to quiet spurious warnings while using gccgo
+ (Closes: #807138)
+ - skip multicast listen test (Closes: #814849)
+ - skip userns tests when chrooted (Closes: #807303)
+ - use correct ELF header for armhf binaries (Closes: #734357)
+ - Update debian/rules clean for new location of generated file.
+
+ [ Michael Hudson-Doyle ]
+ * Respect "nocheck" in DEB_BUILD_OPTIONS while building to skip tests
+ (Closes: #807290)
+ * Trim Build-Depends (Closes: #807299)
+ * Fix several minor debian/copyright issues (Closes: #807304)
+ * Remove inconsistently included race-built packages (Closes: #807294)
+
+ [ Tianon Gravi ]
+ * Add "-k" to "run.bash" invocation so that we do a full test run every time
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 29 Feb 2016 16:10:32 -0800
+
+golang (2:1.5.3-1) unstable; urgency=high
+
+ * Update to 1.5.3 upstream release
+ - Fix CVE-2015-8618: Carry propagation in Int.Exp Montgomery code in
+ math/big library (Closes: #809168)
+ * Add "Breaks" to properly complement our "Replaces" (Closes: #810595)
+
+ -- Tianon Gravi <tianon@debian.org> Thu, 14 Jan 2016 07:41:44 -0800
+
+golang (2:1.5.2-1) unstable; urgency=medium
+
+ * Update to 1.5.2 upstream release (Closes: #807136)
+
+ -- Tianon Gravi <tianon@debian.org> Tue, 05 Jan 2016 19:59:22 -0800
+
+golang (2:1.5.1-4) unstable; urgency=medium
+
+ * Add Conflicts to force newer golang-go.tools too (Closes: #803559)
+
+ -- Tianon Gravi <tianon@debian.org> Tue, 03 Nov 2015 21:57:54 -0800
+
+golang (2:1.5.1-3) unstable; urgency=medium
+
+ * Remove architecture qualification on golang-go Build-Depend now that
+ golang-go is available for more architectures.
+
+ -- Tianon Gravi <tianon@debian.org> Thu, 29 Oct 2015 07:40:38 -0700
+
+golang (2:1.5.1-2) unstable; urgency=medium
+
+ * Add Conflicts to force newer golang-golang-x-tools (Closes: #802945).
+
+ -- Tianon Gravi <tianon@debian.org> Tue, 27 Oct 2015 13:28:56 -0700
+
+golang (2:1.5.1-1) unstable; urgency=medium
+
+ * Upload to unstable.
+ * Update to 1.5.1 upstream release (see notes from experimental uploads for
+ what's changed).
+ * Skip tests on architectures where the tests fail.
+
+ -- Tianon Gravi <tianon@debian.org> Sat, 24 Oct 2015 10:22:02 -0700
+
+golang (2:1.4.3-3) unstable; urgency=medium
+
+ * Fix FTBFS for non-amd64 architectures due to handling of "-race".
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 05 Oct 2015 02:04:07 -0700
+
+golang (2:1.5.1-1~exp2) experimental; urgency=medium
+
+ * Upload to experimental.
+ * Add arch-qualifiers to "golang-go" build-depends to unblock the buildds
+ (Closes: #800479); thanks Tim!
+
+ -- Tianon Gravi <tianon@debian.org> Wed, 30 Sep 2015 11:19:26 -0700
+
+golang (2:1.4.3-2) unstable; urgency=medium
+
+ * Update Recommends/Suggests, especially to add gcc, etc.
+ * Refactor "debian/rules" to utilize debhelper more effectively, especially
+ for arch vs indep building (mostly backported from the 1.5+ changes), which
+ fixes the "arch:all" FTBFS.
+
+ -- Tianon Gravi <tianon@debian.org> Sun, 27 Sep 2015 22:06:07 -0700
+
+golang (2:1.5.1-1~exp1) experimental; urgency=low
+
+ * Upload to experimental.
+ * Update to 1.5.1 upstream release (Closes: #796150).
+ - Compiler and runtime written entirely in Go.
+ - Concurrent garbage collector.
+ - GOMAXPROCS=runtime.NumCPU() by default.
+ - "internal" packages for all, not just core.
+ - Experimental "vendoring" support.
+ - Cross-compilation no longer requires a complete rebuild of the stdlib in
+ GOROOT, and thus the golang-go-GOHOST-GOARCH packages are removed.
+ * Sync debian/copyright with the Ubuntu delta. (thanks doko!)
+ * Remove patches that no longer apply.
+ * Add more supported arches to "debian/rules" code for detecting
+ appropriate GOARCH/GOHOSTARCH values; thanks mwhudson and tpot!
+ (Closes: #799907)
+ * Refactor "debian/rules" to utilize debhelper more effectively, especially
+ for arch vs indep building.
+ * Move "dpkg-architecture" to "GOOS"/"GOARCH" code into a simple shell script
+ for easier maintenance.
+
+ -- Tianon Gravi <tianon@debian.org> Fri, 25 Sep 2015 14:36:53 -0700
+
+golang (2:1.4.3-1) unstable; urgency=medium
+
+ * New upstream version (https://golang.org/doc/devel/release.html#go1.4.minor)
+ - includes previous CVE and non-CVE security fixes, especially
+ TEMP-0000000-1C4729
+
+ -- Tianon Gravi <tianon@debian.org> Fri, 25 Sep 2015 00:02:31 -0700
+
+golang (2:1.4.2-4) unstable; urgency=high
+
+ * Apply backported CVE fixes (Closes: #795106).
+ - CVE-2015-5739: Invalid headers are parsed as valid headers
+ - CVE-2015-5740: RFC 7230 3.3.3 4 violation
+ - CVE-2015-5741: other discoveries of security-relevant RFC 7230 violations
+
+ -- Tianon Gravi <tianon@debian.org> Mon, 14 Sep 2015 12:27:57 -0700
+
+golang (2:1.4.2-3) unstable; urgency=medium
+
+ * Add missing "prerm" for our new alternatives (thanks piuparts).
+
+ -- Tianon Gravi <admwiggin@gmail.com> Tue, 05 May 2015 17:38:37 -0600
+
+golang (2:1.4.2-2) unstable; urgency=medium
+
+ * Move "go" and "gofmt" into "/usr/lib/go" and use alternatives to provide
+ appropriate symlinks (Closes: #779503, #782301).
+ * Relax "golang-go.tools" relationship to Suggests (from Recommends).
+ * Add "go get" VCS options to Suggests for golang-go (bzr, git, mercurial,
+ subversion).
+
+ -- Tianon Gravi <admwiggin@gmail.com> Tue, 05 May 2015 00:37:53 -0600
+
+golang (2:1.4.2-1) unstable; urgency=medium
+
+ * New upstream version
+ (https://golang.org/doc/devel/release.html#go1.4.minor)
+
+ -- Tianon Gravi <admwiggin@gmail.com> Sat, 02 May 2015 10:06:34 -0600
+
+golang (2:1.4.1-1~exp1) experimental; urgency=low
+
+ * New upstream version (https://golang.org/doc/go1.4)
+ - all editor support files have been removed from misc/ upstream upstream,
+ so golang-mode, kate-syntax-go, and vim-syntax-go can no longer be
+ provided; see https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins
+ for an upstream-maintained list of potential replacements
+
+ -- Tianon Gravi <admwiggin@gmail.com> Fri, 16 Jan 2015 00:52:10 -0500
+
+golang (2:1.3.3-1) unstable; urgency=medium
+
+ * New upstream version (https://code.google.com/p/go/source/list?name=go1.3.3)
+ - time: removed from tests now obsolete assumption about Australian tz
+ abbreviations
+ - net: temporarily skip TestAcceptIgnoreSomeErrors
+ - runtime: hide cgocallback_gofunc calling cgocallbackg from linker
+ - runtime: fix GOTRACEBACK reading on Windows, Plan 9
+ - nacltest.bash: unset GOROOT
+ - cmd/5l, cmd/6l, cmd/8l: fix nacl binary corruption bug
+ * Add Paul and myself as uploaders. Many, many thanks to Michael for his work
+ so far on this package (and hopefully more to come).
+
+ -- Tianon Gravi <admwiggin@gmail.com> Fri, 12 Dec 2014 16:11:02 -0500
+
+golang (2:1.3.2-1) unstable; urgency=medium
+
+ * New upstream version
+
+ -- Michael Stapelberg <stapelberg@debian.org> Fri, 26 Sep 2014 23:21:45 +0200
+
+golang (2:1.3.1-1) unstable; urgency=medium
+
+ * New upstream version
+
+ -- Michael Stapelberg <stapelberg@debian.org> Wed, 13 Aug 2014 09:15:58 +0200
+
+golang (2:1.3-4) unstable; urgency=medium
+
+ [ Tianon Gravi ]
+ * update debian/watch for upstream's latest move (Closes: #756415)
+ * backport archive/tar patch to fix PAX headers (Closes: #756416)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Sat, 02 Aug 2014 21:02:24 +0200
+
+golang (2:1.3-3) unstable; urgency=medium
+
+ * don’t depend on emacs23, depend on emacs instead (Closes: #754013)
+ * install include/ in golang-src, VERSION in golang-go (Closes: #693186)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 07 Jul 2014 08:30:50 +0200
+
+golang (2:1.3-2) unstable; urgency=medium
+
+ * Add /usr/lib/go/test symlink
+ * Build with GO386=387 to favor the 387 floating point unit over sse2
+ instructions (Closes: #753160)
+ * Add debian/patches/0001-backport-delete-whole-line.patch to fix a
+ deprecation warning about flet in the emacs part of golang-mode
+ (Closes: #753607)
+ * Migrate to emacsen >2 (Closes: #753607)
+ * Backport two patches to improve archive/tar performance (for docker):
+ debian/patches/0002-archive-tar-reuse-temporary-buffer-in-writeHeader.patch
+ debian/patches/0003-archive-tar-reuse-temporary-buffer-in-readHeader.patch
+
+ -- Michael Stapelberg <stapelberg@debian.org> Thu, 03 Jul 2014 23:33:46 +0200
+
+golang (2:1.3-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Drop patches merged upstream:
+ - debian/patches/add-tar-xattr-support.patch
+ - debian/patches/add-tar-xattr-support.patch
+ * Fix debian/watch (Thanks Tianon) (Closes: #748290)
+ * Remove dangling symlink /usr/lib/go/lib/godoc (Closes: #747968)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Thu, 19 Jun 2014 09:23:36 +0200
+
+golang (2:1.2.1-2) unstable; urgency=low
+
+ * Re-apply debian/patches/add-tar-xattr-support.patch which got lost when
+ uploading 1.2.1-1; sorry about that.
+
+ -- Michael Stapelberg <stapelberg@debian.org> Sat, 08 Mar 2014 20:01:12 +0100
+
+golang (2:1.2.1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 03 Mar 2014 17:40:57 +0100
+
+golang (2:1.2-3) unstable; urgency=low
+
+ * add debian/patches/add-tar-xattr-support.patch to have xattr support in
+ tar (cherry-picked from upstream) (Thanks proppy) (Closes: #739586)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 24 Feb 2014 19:34:16 +0100
+
+golang (2:1.2-2) unstable; urgency=low
+
+ * add patches/add-src-pkg-debug-elf-testdata-hello.patch to provide source
+ for the testdata/ ELF binaries (Closes: #716853)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 31 Dec 2013 18:28:29 +0100
+
+golang (2:1.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * drop patches/archive-tar-fix-links-and-pax.patch, it is merged upstream
+ * godoc(1) is now in the Debian package golang-go.tools, it was moved into a
+ separate repository by upstream.
+ * move patches/godoc-symlinks.diff to golang-go.tools
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 02 Dec 2013 23:57:24 +0100
+
+golang (2:1.1.2-3) unstable; urgency=low
+
+ * cherry-pick upstream commit: archive-tar-fix-links-and-pax.patch
+ (Closes: #730566)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 26 Nov 2013 18:59:27 +0100
+
+golang (2:1.1.2-2) unstable; urgency=low
+
+ * Build golang-go-linux-* for each architecture (Thanks James Page)
+ (Closes: #719611)
+ * Update lintian-overrides to override statically-linked-binary and
+ unstripped-binary-or-object for all of golang-go
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 20 Aug 2013 08:13:40 +0200
+
+golang (2:1.1.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Relicense debian/ under the Go license to match upstream. All copyright
+ holders agreed to this. (Closes: #716907)
+ * golang-mode: don’t install for a number of emacs versions which are not
+ supported upstream (Thanks Kevin Ryde) (Closes: #702511, #717521)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 13 Aug 2013 13:47:58 +0200
+
+golang (2:1.1.1-4) unstable; urgency=low
+
+ * Disable stripping, it breaks go binaries on some architectures. This drops
+ the golang-dbg package which would be empty now. (Thanks Robie Basak)
+ (Closes: #717172)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Wed, 17 Jul 2013 19:15:18 +0200
+
+golang (2:1.1.1-3) unstable; urgency=low
+
+ * Ship */runtime/cgo.a in golang-go to ensure it is present. It can only be
+ used on the native architecture anyway (cannot be used when
+ cross-compiling), so having it in golang-go-$GOOS-$GOARCH is not
+ necessary. Even worse, since these packages are arch: all, they will be
+ built precisely once, and only the runtime/cgo.a for the buildd’s native
+ arch will be present. (Closes: #715025)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Thu, 11 Jul 2013 20:25:52 +0200
+
+golang (2:1.1.1-2) unstable; urgency=low
+
+ [ James Page ]
+ * Ensure smooth upgrade path from << 2:1.1-2 (Closes: #714838)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Wed, 03 Jul 2013 18:05:58 +0200
+
+golang (2:1.1.1-1) unstable; urgency=low
+
+ * Imported Upstream version 1.1.1
+
+ -- Ingo Oeser <nightlyone@googlemail.com> Fri, 14 Jun 2013 23:25:44 +0200
+
+golang (2:1.1-2) unstable; urgency=low
+
+ [ Ondřej Surý ]
+ * Promote Michael to Maintainer
+
+ [ Michael Stapelberg ]
+ * Build golang-go-$GOOS-$GOARCH packages for cross-compiling (Closes: #710090)
+ * Build race detector on linux/amd64 (only supported arch) (Closes: #710691)
+ * Switch compression to xz (50% smaller binaries)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Fri, 07 Jun 2013 23:18:09 +0200
+
+golang (2:1.1-1) unstable; urgency=low
+
+ * New upstream release: Go 1.1!
+ * Remove the long obsolete goinstall debconf question and config file.
+ goinstall does not exist anymore since a long time.
+ This also obsoletes the need for any translations
+ (Closes: #685923, #692478)
+ * Emacs go-mode auto-mode-alist entry was fixed upstream (Closes: #670371)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 14 May 2013 19:36:04 +0200
+
+golang (2:1.1~hg20130405-1) experimental; urgency=low
+
+ * Provide a new hg tip snapshot. This includes what was recently released as
+ Go 1.1 beta.
+
+ -- Michael Stapelberg <stapelberg@debian.org> Fri, 05 Apr 2013 18:24:36 +0200
+
+golang (2:1.1~hg20130323-1) experimental; urgency=low
+
+ * Provide a new hg tip snapshot.
+ * Add debian/watch (Closes: #699698)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Sat, 23 Mar 2013 11:31:26 +0100
+
+golang (2:1.1~hg20130304-2) experimental; urgency=low
+
+ * Fix FTBFS of binary-arch only builds (as performed by buildds)
+ caused by 'rm' not finding jquery.js in golang-doc
+ (Thanks Peter Green)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Tue, 05 Mar 2013 00:49:27 +0100
+
+golang (2:1.1~hg20130304-1) experimental; urgency=low
+
+ * Provide a hg tip snapshot (2013-03-04) in Debian experimental.
+ Current hg tip is a good approximation to Go 1.1 and should get
+ some testing within Debian in order to package Go 1.1 well when
+ it is released. Thanks to Andrew Gerrand.
+
+ -- Michael Stapelberg <stapelberg@debian.org> Mon, 04 Mar 2013 21:28:58 +0100
+
+golang (2:1.0.2-2) unstable; urgency=low
+
+ * Add myself to uploaders, as discussed in #683421.
+ * cherry-pick r820ffde8c396 (net/http: non-keepalive connections close
+ successfully) (Closes: #683421)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Thu, 02 Aug 2012 14:25:58 +0200
+
+golang (2:1.0.2-1.1) unstable; urgency=low
+
+ * Non-maintainer upload. (as discussed with Ondřej in #679692)
+ * Fix godoc-symlinks.diff (godoc didn’t find docs) (Closes: #679692)
+
+ -- Michael Stapelberg <stapelberg@debian.org> Fri, 20 Jul 2012 17:59:38 +0200
+
+golang (2:1.0.2-1) unstable; urgency=low
+
+ [ Ondřej Surý ]
+ * Imported Upstream version 1.0.2
+ * Update Vcs fields to reflect new git repository location
+ * Kill get-orig-source, since 1.0.0, the tarballs can be downloaded from
+ webpage
+
+ [ Michael Stapelberg ]
+ * golang-mode: use debian-pkg-add-load-path-item (Closes: #664802)
+ * add manpages (Closes: #632964)
+ * Use updated pt.po from Pedro Ribeiro (Closes: #674958)
+
+ -- Ondřej Surý <ondrej@sury.org> Thu, 28 Jun 2012 12:14:15 +0200
+
+golang (2:1.0.1-1) unstable; urgency=low
+
+ * Imported Upstream version 1.0.1
+ * Apply godoc patch to display package list correctly (Closes: #669354)
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 02 May 2012 15:44:59 +0200
+
+golang (2:1-6) unstable; urgency=low
+
+ * Merge upstream patch to fix homedir issue
+ (http://code.google.com/p/go/source/detail?r=709120aecee0)
+ * Disable GNU/KFreeBSD build (Closes: #668794)
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 18 Apr 2012 09:53:30 +0200
+
+golang (2:1-5) unstable; urgency=low
+
+ * Rewrite test conditions to make them more readable
+ (and fix the debian/rules to really not check on armel+kfreebsd)
+ * Patch upstream test to not fail on missing home directory
+
+ -- Ondřej Surý <ondrej@debian.org> Sun, 15 Apr 2012 12:35:53 +0200
+
+golang (2:1-4) unstable; urgency=low
+
+ * Disable tests on Debian GNU/KFreeBSD, they just hang now (Closes: #668794)
+ * Disable tests on armel, but the invalid instruction needs fixing in
+ upstream
+ * Create fake home directory to pass the os/user test
+
+ -- Ondřej Surý <ondrej@debian.org> Sun, 15 Apr 2012 10:49:09 +0200
+
+golang (2:1-3) unstable; urgency=high
+
+ * Use VERSION provided by upstream for packaging purposes
+ * Run tests as a part of a build process
+ * Install full src tree (except pkg/debug) because go command depend
+ on sources available
+ * Install sources without testdata and *_test.go
+ * Remove circular dependency golang-go->golang-doc->golang-go
+ * Make sure that timestamp on installed binaries and libraries is same
+ because go build/install recompiles everything if the go binary has
+ more recent timestamp than libraries (Closes: #668235)
+ + Need to update timestamps at postinst time because already created
+ directories can have time in the past
+ * Fix couple of lintian errors and warnings
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 11 Apr 2012 23:21:47 +0200
+
+golang (2:1-2) unstable; urgency=low
+
+ * Remove preserving of old -tools settings, there are too many options
+ now anyway (Closes: #666007)
+
+ -- Ondřej Surý <ondrej@debian.org> Fri, 06 Apr 2012 16:52:13 +0200
+
+golang (2:1-1) unstable; urgency=low
+
+ * New major upstream release Go 1 (Closes: #666942)
+ * Bumb epoch to 2, since 1 < 60 < 2011 (I wonder if next version will be 0 :)
+ * Debconf templates and debian/control reviewed by the debian-l10n-
+ english team as part of the Smith review project. (Closes: #663181)
+ * [Debconf translation updates]
+ + Pick existing translations from golang-weekly and do appropriate
+ sed magic to fit golang templates. (Closes: #666884, #666880, #666881)
+ + Dutch; (Jeroen Schot). (Closes: #664598)
+ + Czech (Michal Simunek). (Closes: #665385)
+ + Spanish; (Camaleón). (Closes: #666177)
+ + Danish (Joe Hansen). (Closes: #666526)
+
+ -- Ondřej Surý <ondrej@debian.org> Fri, 06 Apr 2012 16:04:17 +0200
+
+golang (1:60.3-2) unstable; urgency=low
+
+ * debconf-gettextize package templates
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 20 Feb 2012 22:01:10 +0100
+
+golang (1:60.3-1) unstable; urgency=low
+
+ * Imported Upstream version 60.3
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 28 Nov 2011 08:46:18 +0100
+
+golang (1:60.2-1) unstable; urgency=low
+
+ * Imported Upstream version 60.2
+
+ -- Ondřej Surý <ondrej@debian.org> Thu, 06 Oct 2011 08:57:00 +0200
+
+golang (1:60.1-1) unstable; urgency=low
+
+ * Imported Upstream version 60.1
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 19 Sep 2011 10:18:12 +0200
+
+golang (1:60-1) unstable; urgency=low
+
+ * Imported Upstream version 60
+ * Save upstream VERSION to the archive
+ * Use GOVERSION as generated by src/version.bash on hg archive time
+ * Add support for goinstall dashboard debconf question in the Debian
+ packaging
+ * Read goinstall dashboard option from debian configuration file
+ * Remove 005-goinstall_dont_call_home_by_default.patch; replaced by
+ configuration option
+ * Fix directory name for upstream archive checkout
+
+ -- Ondřej Surý <ondrej@debian.org> Tue, 13 Sep 2011 13:13:59 +0200
+
+golang (1:59-1) unstable; urgency=low
+
+ * Imported Upstream version 59
+ * Refresh patches to a new release
+ * Fix FTBFS on ARM (Closes: #634270)
+ * Update version.bash to work with Debian packaging and not hg
+ repository
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 03 Aug 2011 17:04:59 +0200
+
+golang (1:58.1-2) unstable; urgency=low
+
+ * Install golang-doc package by default (Recommends from golang-tools,
+ Depends from golang)
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 18 Jul 2011 09:13:43 +0200
+
+golang (1:58.1-1) unstable; urgency=low
+
+ * Imported Upstream version 58.1
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 13 Jul 2011 08:39:04 +0200
+
+golang (1:58-1) unstable; urgency=low
+
+ * Imported Upstream version 58
+ + Add NEWS file with upstream API changes
+ * Remove patch to not update standard package, fixed in upstream
+
+ -- Ondřej Surý <ondrej@debian.org> Thu, 30 Jun 2011 15:36:35 +0200
+
+golang (1:57.2-1) unstable; urgency=low
+
+ * Imported Upstream version 57.2
+ * More spelling fixes (Closes: #630660)
+
+ -- Ondřej Surý <ondrej@debian.org> Thu, 16 Jun 2011 11:10:58 +0200
+
+golang (1:57.1-4) unstable; urgency=low
+
+ * Description update to have proper articles and capitalization
+ (Closes: #630189)
+ * Add extended description about Go being experimental and that the
+ languager can change between releases
+
+ -- Ondřej Surý <ondrej@debian.org> Tue, 14 Jun 2011 21:38:11 +0200
+
+golang (1:57.1-3) unstable; urgency=low
+
+ * Fix "the Google's Go implementation" in extended description
+ (Closes: #627814)
+ * Update Vcs-* links
+ * Install vim ftplugin files into correct directory (Closes: #629844)
+
+ -- Ondřej Surý <ondrej@debian.org> Thu, 09 Jun 2011 10:10:41 +0200
+
+golang (1:57.1-2) unstable; urgency=low
+
+ * Bump standards version to 3.9.2
+ * Capitalize Kate (Closes: #627036)
+ * Import slightly modified patch to be more clear about $GOPATH
+ installs for non-root users
+ * Remove don't install deps patch from goinstall; deprecated by
+ $GOPATH installs
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 23 May 2011 11:07:11 +0200
+
+golang (1:57.1-1) unstable; urgency=low
+
+ * Add support for dot-minor releases
+ * Imported Upstream version 57.1
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 16 May 2011 11:45:53 +0200
+
+golang (1:57-3) unstable; urgency=low
+
+ [ Florian Weimer ]
+ * golang-tools: install gofix binary
+
+ [ Ondřej Surý ]
+ * Add lintian-overrides for gofix binary
+
+ -- Ondřej Surý <ondrej@debian.org> Sat, 07 May 2011 20:41:58 +0200
+
+golang (1:57-2) unstable; urgency=low
+
+ * Remove weekly code from debian/rules
+ * Add golang meta-package
+ * Don't create tool chain symlinks twice
+ * Make debian/rules more generic for simpler sync between weekly
+ and release branches
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 04 May 2011 16:48:24 +0200
+
+golang (1:57-1) unstable; urgency=low
+
+ * Imported Upstream version r57
+ * Bumped epoch version to 1, to convert from date based versions
+ to release number based version
+ * Allow release to migrate to testing (Closes: #624408)
+ * Add kate and vim syntax highlighting (Closes: #624544)
+ * Add -dbg package with debugging symbols
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 04 May 2011 01:20:07 +0200
+
+golang (2011.04.27-2) unstable; urgency=low
+
+ * Fix yet another build failure on kfreebsd (use linux userspace)
+
+ -- Ondřej Surý <ondrej@debian.org> Fri, 29 Apr 2011 16:22:47 +0200
+
+golang (2011.04.27-1) unstable; urgency=low
+
+ * Imported Upstream version 2011.04.27
+ * Update debian/rules to allow pulling weekly upstream releases
+ * Don't remove RUNPATH from binaries; fixed upstream (golang#1527)
+ * Set GOHOSTOS and GOHOSTARCH to match dpkg-architecture variables
+ * Add support for kfreebsd-i386, kfreebsd-amd64, armel and armhf
+ architectures
+ + 006-fix_kfreebsd_build.patch:
+ - Add GNU/KFreeBSD support by replacing all uname calls by $(GOOS)
+ + 007-use_native_dynamic_linker_on_kfreebsd.patch:
+ - Use native kfreebsd dynamic linker (/lib/ld-*.so.1)
+ * Add information about available architectures (Closes: #623877)
+ * Don't strip gotest
+ * Add Depends: golang-go to golang-tools
+ * Add better support for armhf
+
+ -- Ondřej Surý <ondrej@debian.org> Thu, 28 Apr 2011 16:14:39 +0200
+
+golang (2011.04.13-1) unstable; urgency=low
+
+ [ Florian Weimer ]
+ * Delete bin directory in clean target
+ * Enable parallel build
+ * golang-src: install source files directly
+ * Use proper symlink targets for architecture-independent toolchain
+ names
+ * Emacs mode: indent keys in struct literals properly
+
+ [ Ondřej Surý ]
+ * Imported Upstream weekly version 2011.04.13
+ * Update patches to new weekly release
+ * Add lintian-override for gotest binary
+
+ -- Ondřej Surý <ondrej@debian.org> Tue, 26 Apr 2011 09:59:28 +0200
+
+golang (2011.03.07.1-1) unstable; urgency=low
+
+ * Imported Upstream version 2011.03.07.1
+ * Install to /usr/lib/go
+ * Remove xkcd strip to get rid of CC-NC-BY
+ * Update golang-src.install to new upstream
+ * Remove 002-use_GOROOT_FINAL_in_generated_binaries.patch; merged
+ upstream
+ * Make all .go files no-executable
+ * Update lintian-overrides to include both types of syntax
+
+ -- Ondřej Surý <ondrej@debian.org> Wed, 20 Apr 2011 17:36:48 +0200
+
+golang (2011.02.15-2) unstable; urgency=low
+
+ [ Ondřej Surý ]
+ * Add ${misc:Depends} to golang-mode to shutup lintian
+ * Rehaul build system and add golang-src package with .go source files
+ * goinstall: do not automatically install prerequisities
+ * goinstall: don't report to dashboard by default
+ * Add a README.Debian about local modifications to goinstall
+ * Add warning about local modifications also directly to goinstall command
+
+ [ Florian Weimer ]
+ * Fix syntax error in 004-
+ dont_reinstall_dependencies_in_goinstall.patch
+
+ -- Ondřej Surý <ondrej@debian.org> Fri, 18 Feb 2011 16:02:09 +0100
+
+golang (2011.02.15-1) unstable; urgency=low
+
+ [ Obey Arthur Liu ]
+ * Added pkg-google git repo to control file
+
+ [ Florian Weimer ]
+ * Build golang-mode package
+
+ [ Ondřej Surý ]
+ * Imported Upstream version 2011.02.15
+ * Don't compress godoc documentation
+ * Correctly use $GOROOT_FINAL in the build chain
+ * Remove RPATH/RUNPATH from go binaries
+
+ -- Ondřej Surý <ondrej@debian.org> Fri, 18 Feb 2011 11:39:10 +0100
+
+golang (2011.02.01.1-1) unstable; urgency=low
+
+ [ Ivan Wong ]
+ * Initial release (Closes: #574371)
+
+ [ Jonathan Nieder ]
+ * Fill out copyright file
+ * Rewrite debian/rules using dh driver
+ * debian: fix get-orig-source rule
+ * debian: do not install extra files on repeated build
+ * debian: fix reversed ‘if’
+ * debian: do not leave around stale debian/env.sh+ file
+ * debian: Build-Depends on awk instead of gawk
+ * debian: add run-time dependency on perl
+ * debian: add build-time dependency on perl
+ * debian: fix setting of GOARM on arm
+ * debian: do not compress files in web page
+ * debian: install favicon
+
+ [ Ondřej Surý ]
+ * Make myself a maintainer
+ * Add patch to allow IPv4 on IPv6 sockets (Courtesy of Florian Weimer)
+ * Use GOROOT_FINAL and change GOBIN to /usr/bin
+ * Get rid of env.sh and wrappers
+ * Add support for building in i386 pbuilder on amd64 architecture
+ * Rename source package to golang to match upstream repository name
+ * Add golang-doc package
+ * Split package into compiler, docs and tools
+ * Don't install quietgcc and hgpatch
+ * Don't generate fake gomake
+ * Update golang-doc package
+ * Export GOHOSTARCH and GOHOSTOS
+ * Disable build time checks
+ * Fail on missed installed files
+ * Revert s{tmp{golang-go{ change in DESTDIR
+ * Relicence debian/ files from versionless GPL to GPL-3
+ * Move golang-doc to doc section
+ * Add more lintian overrides for Go binaries
+ * Install all 6,8,5 variants of commands
+ * Install golang-* symlinks for 6,8,5* commands
+ * Don't strip govet as well
+ * Remove ${shlibs:Depends} where it doesn't belong
+ * Move more html files to golang-doc package
+ * Remove codereview directory - some python code to deal with mercurial
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 14 Feb 2011 17:42:39 +0100
--- /dev/null
+#
+# WARNING: "debian/control" is generated via "debian/rules gencontrol" (sourced from "debian/control.in")
+#
+
+Source: golang-1.11
+Section: devel
+Priority: optional
+Maintainer: Go Compiler Team <team+go-compiler@tracker.debian.org>
+Uploaders: Michael Stapelberg <stapelberg@debian.org>,
+ Paul Tagliamonte <paultag@debian.org>,
+ Tianon Gravi <tianon@debian.org>,
+ Michael Hudson-Doyle <mwhudson@debian.org>,
+ Dr. Tobias Quathamer <toddy@debian.org>
+Vcs-Browser: https://salsa.debian.org/go-team/compiler/golang/tree/golang-1.11
+Vcs-Git: https://salsa.debian.org/go-team/compiler/golang.git -b golang-1.11
+Build-Depends: debhelper (>= 11),
+ golang-any (>= 2:1.4~) | golang-go (>= 2:1.4~) | gccgo (>= 4:5~),
+ netbase
+Standards-Version: 4.3.0
+Homepage: https://golang.org
+
+Package: golang-1.11-go
+Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el s390x
+Depends: golang-1.11-src (>= ${source:Version}),
+ ${misc:Depends},
+ ${perl:Depends},
+ ${shlibs:Depends}
+Recommends: g++, gcc, libc6-dev, pkg-config
+Suggests: bzr | brz, ca-certificates, git, mercurial, subversion
+Description: Go programming language compiler, linker, compiled stdlib
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides an assembler, compiler, linker, and compiled libraries
+ for the Go programming language.
+ .
+ Go supports cross-compilation, but as of Go 1.5, it is no longer necessary to
+ pre-compile the standard library inside GOROOT for cross-compilation to work.
+
+Package: golang-1.11-src
+Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el s390x
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Go programming language - source files
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides the Go programming language source files needed for
+ cross-compilation.
+
+Package: golang-1.11-doc
+Depends: golang-1.11-go, ${misc:Depends}
+Architecture: all
+Section: doc
+Description: Go programming language - documentation
+ The Go programming language is an open source project to make
+ programmers more productive. Go is expressive, concise, clean, and
+ efficient. Its concurrency mechanisms make it easy to write programs
+ that get the most out of multicore and networked machines, while its
+ novel type system enables flexible and modular program construction.
+ Go compiles quickly to machine code yet has the convenience of
+ garbage collection and the power of run-time reflection. It's a fast,
+ statically typed, compiled language that feels like a dynamically
+ typed, interpreted language.
+ .
+ This package provides the documentation for the Go programming
+ language. You can view the formatted documentation by running "godoc
+ --http=:6060", and then visiting http://localhost:6060/doc/install.html.
+
+Package: golang-1.11
+Depends: golang-1.11-doc (>= ${source:Version}),
+ golang-1.11-go (>= ${source:Version}),
+ golang-1.11-src (>= ${source:Version}),
+ ${misc:Depends}
+Architecture: all
+Description: Go programming language compiler - metapackage
+ The Go programming language is an open source project to make
+ programmers more productive. Go is expressive, concise, clean, and
+ efficient. Its concurrency mechanisms make it easy to write programs
+ that get the most out of multicore and networked machines, while its
+ novel type system enables flexible and modular program construction.
+ Go compiles quickly to machine code yet has the convenience of
+ garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a
+ dynamically typed, interpreted language.
+ .
+ This package is a metapackage that, when installed, guarantees
+ that (most of) a full Go development environment is installed.
--- /dev/null
+Source: golang-X.Y
+Section: devel
+Priority: optional
+Maintainer: Go Compiler Team <team+go-compiler@tracker.debian.org>
+Uploaders: Michael Stapelberg <stapelberg@debian.org>,
+ Paul Tagliamonte <paultag@debian.org>,
+ Tianon Gravi <tianon@debian.org>,
+ Michael Hudson-Doyle <mwhudson@debian.org>,
+ Dr. Tobias Quathamer <toddy@debian.org>
+Vcs-Browser: https://salsa.debian.org/go-team/compiler/golang/tree/golang-X.Y
+Vcs-Git: https://salsa.debian.org/go-team/compiler/golang.git -b golang-X.Y
+Build-Depends: debhelper (>= 11),
+ golang-any (>= 2:1.4~) | golang-go (>= 2:1.4~) | gccgo (>= 4:5~),
+ netbase
+Standards-Version: 4.3.0
+Homepage: https://golang.org
+
+Package: golang-X.Y-go
+Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el s390x
+Depends: golang-X.Y-src (>= ${source:Version}),
+ ${misc:Depends},
+ ${perl:Depends},
+ ${shlibs:Depends}
+Recommends: g++, gcc, libc6-dev, pkg-config
+Suggests: bzr | brz, ca-certificates, git, mercurial, subversion
+Description: Go programming language compiler, linker, compiled stdlib
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides an assembler, compiler, linker, and compiled libraries
+ for the Go programming language.
+ .
+ Go supports cross-compilation, but as of Go 1.5, it is no longer necessary to
+ pre-compile the standard library inside GOROOT for cross-compilation to work.
+
+Package: golang-X.Y-src
+Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el s390x
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Go programming language - source files
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides the Go programming language source files needed for
+ cross-compilation.
+
+Package: golang-X.Y-doc
+Depends: golang-X.Y-go, ${misc:Depends}
+Architecture: all
+Section: doc
+Description: Go programming language - documentation
+ The Go programming language is an open source project to make
+ programmers more productive. Go is expressive, concise, clean, and
+ efficient. Its concurrency mechanisms make it easy to write programs
+ that get the most out of multicore and networked machines, while its
+ novel type system enables flexible and modular program construction.
+ Go compiles quickly to machine code yet has the convenience of
+ garbage collection and the power of run-time reflection. It's a fast,
+ statically typed, compiled language that feels like a dynamically
+ typed, interpreted language.
+ .
+ This package provides the documentation for the Go programming
+ language. You can view the formatted documentation by running "godoc
+ --http=:6060", and then visiting http://localhost:6060/doc/install.html.
+
+Package: golang-X.Y
+Depends: golang-X.Y-doc (>= ${source:Version}),
+ golang-X.Y-go (>= ${source:Version}),
+ golang-X.Y-src (>= ${source:Version}),
+ ${misc:Depends}
+Architecture: all
+Description: Go programming language compiler - metapackage
+ The Go programming language is an open source project to make
+ programmers more productive. Go is expressive, concise, clean, and
+ efficient. Its concurrency mechanisms make it easy to write programs
+ that get the most out of multicore and networked machines, while its
+ novel type system enables flexible and modular program construction.
+ Go compiles quickly to machine code yet has the convenience of
+ garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a
+ dynamically typed, interpreted language.
+ .
+ This package is a metapackage that, when installed, guarantees
+ that (most of) a full Go development environment is installed.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: golang
+Source: https://github.com/golang/go
+
+Files: *
+Copyright: © 2009, 2010, The Go Authors. All rights reserved.
+License: Go
+
+Files:
+ src/cmd/compile/internal/gc/gsubr.go
+ src/cmd/internal/objabi/autotype.go
+ src/cmd/internal/objabi/head.go
+ src/cmd/internal/objabi/reloctype.go
+ src/cmd/internal/objabi/symkind.go
+ src/cmd/internal/obj/arm64/a.out.go
+ src/cmd/internal/obj/arm64/asm7.go
+ src/cmd/internal/obj/arm64/list7.go
+ src/cmd/internal/obj/arm64/obj7.go
+ src/cmd/internal/obj/arm/a.out.go
+ src/cmd/internal/obj/arm/asm5.go
+ src/cmd/internal/obj/arm/list5.go
+ src/cmd/internal/obj/arm/obj5.go
+ src/cmd/internal/obj/mips/a.out.go
+ src/cmd/internal/obj/mips/asm0.go
+ src/cmd/internal/obj/mips/list0.go
+ src/cmd/internal/obj/mips/obj0.go
+ src/cmd/internal/obj/ppc64/a.out.go
+ src/cmd/internal/obj/ppc64/asm9.go
+ src/cmd/internal/obj/ppc64/list9.go
+ src/cmd/internal/obj/ppc64/obj9.go
+ src/cmd/internal/obj/s390x/asmz.go
+ src/cmd/internal/obj/s390x/a.out.go
+ src/cmd/internal/obj/s390x/listz.go
+ src/cmd/internal/obj/s390x/objz.go
+ src/cmd/internal/obj/data.go
+ src/cmd/internal/obj/ld.go
+ src/cmd/internal/obj/link.go
+ src/cmd/internal/obj/pass.go
+ src/cmd/internal/obj/sym.go
+ src/cmd/internal/obj/x86/a.out.go
+ src/cmd/internal/obj/x86/asm6.go
+ src/cmd/internal/obj/x86/list6.go
+ src/cmd/internal/obj/x86/obj6.go
+ src/cmd/link/internal/amd64/asm.go
+ src/cmd/link/internal/amd64/l.go
+ src/cmd/link/internal/amd64/obj.go
+ src/cmd/link/internal/arm64/asm.go
+ src/cmd/link/internal/arm64/l.go
+ src/cmd/link/internal/arm64/obj.go
+ src/cmd/link/internal/arm/asm.go
+ src/cmd/link/internal/arm/l.go
+ src/cmd/link/internal/arm/obj.go
+ src/cmd/link/internal/ld/ar.go
+ src/cmd/link/internal/ld/data.go
+ src/cmd/link/internal/ld/ld.go
+ src/cmd/link/internal/ld/lib.go
+ src/cmd/link/internal/ld/link.go
+ src/cmd/link/internal/ld/main.go
+ src/cmd/link/internal/ld/sym.go
+ src/cmd/link/internal/ld/symtab.go
+ src/cmd/link/internal/mips/asm.go
+ src/cmd/link/internal/mips/l.go
+ src/cmd/link/internal/mips/obj.go
+ src/cmd/link/internal/mips64/asm.go
+ src/cmd/link/internal/mips64/l.go
+ src/cmd/link/internal/mips64/obj.go
+ src/cmd/link/internal/ppc64/asm.go
+ src/cmd/link/internal/ppc64/l.go
+ src/cmd/link/internal/ppc64/obj.go
+ src/cmd/link/internal/s390x/asm.go
+ src/cmd/link/internal/s390x/l.go
+ src/cmd/link/internal/s390x/obj.go
+ src/cmd/link/internal/sym/segment.go
+ src/cmd/link/internal/sym/symbols.go
+ src/cmd/link/internal/sym/symkind.go
+ src/cmd/link/internal/x86/asm.go
+ src/cmd/link/internal/x86/l.go
+ src/cmd/link/internal/x86/obj.go
+ src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/libmach8db.c
+ src/runtime/memclr_arm.s
+ src/runtime/memmove_386.s
+ src/runtime/memmove_amd64.s
+ src/runtime/memmove_arm.s
+ src/runtime/memmove_plan9_386.s
+ src/runtime/memmove_plan9_amd64.s
+ src/runtime/vlop_386.s
+ src/runtime/vlop_arm.s
+ src/runtime/vlrt.go
+Origin: Plan 9 from User Space include/, src/lib9/, src/libmach/
+ Inferno utils/include/, utils/libmach/, utils/6c/, utils/iar/,
+ utils/6l/, utils/6a/, utils/5c/, utils/8c/, utils/iyacc/,
+ utils/5l/, utils/6c/, utils/8l/, utils/nm/, utils/cc/,
+ utils/5a/, utils/8a/, lib9/, libkern/, libbio/
+Copyright: © 1994-1999 Lucent Technologies Inc. All rights reserved.
+ Portions © 1997-1999 Vita Nuova Limited
+ Portions © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com)
+ Portions © 2001-2007 Russ Cox. All rights reserved.
+ Portions © 2004,2006 Bruce Ellis
+ Portions © 1995-2007 C H Forsyth (forsyth@terzarima.net)
+ Revisions © 2000-2007 Lucent Technologies Inc. and others
+ Portions © 2009 The Go Authors. All rights reserved.
+License: X11
+
+Files: src/debug/dwarf/testdata/typedef.macho
+ src/debug/dwarf/testdata/typedef.elf
+Source: src/debug/dwarf/testdata/typedef.c
+Copyright: © 2009, The Go Authors. All rights reserved.
+License: Go
+
+Files:
+ src/debug/macho/testdata/fat-gcc*
+ src/debug/macho/testdata/clang*
+ src/debug/macho/testdata/gcc*
+Source: src/debug/macho/testdata/hello.c
+Copyright: © 2009, 2010, The Go Authors. All rights reserved.
+License: Go
+
+Files:
+ src/debug/elf/testdata/*-exec
+ src/debug/elf/testdata/*.obj
+ src/debug/elf/testdata/hello-world-core.gz
+Source: src/debug/elf/testdata/hello.c
+Copyright: © 2009, 2010, The Go Authors. All rights reserved.
+License: Go
+
+Files: src/debug/elf/elf.go
+ src/cmd/link/internal/ld/elf.go
+Origin: FreeBSD src/sys/sys/elf{32,64,_common}.h, src/sys/*/include/elf.h
+Copyright: © 1996-1998 John D. Polstra. All rights reserved.
+ © 2001 David E. O'Brien
+ Portions © 2009 The Go Authors. All rights reserved.
+License: FreeBSD
+
+Files: src/math/cmplx/asin.go
+ src/math/cmplx/exp.go
+ src/math/cmplx/log.go
+ src/math/cmplx/pow.go
+ src/math/cmplx/sin.go
+ src/math/cmplx/sqrt.go
+ src/math/cmplx/tan.go
+ src/math/atan.go
+ src/math/gamma.go
+ src/math/sin.go
+ src/math/tan.go
+ src/math/tanh.go
+Copyright: © 2009, 2011 The Go Authors. All rights reserved.
+ Based on code © 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier
+License: Go
+
+Files: src/math/log1p.go
+ src/math/acosh.go
+ src/math/asinh.go
+ src/math/atanh.go
+ src/math/cbrt.go
+ src/math/erf.go
+ src/math/exp.go
+ src/math/expm1.go
+ src/math/j0.go
+ src/math/j1.go
+ src/math/jn.go
+ src/math/lgamma.go
+ src/math/log.go
+ src/math/remainder.go
+ src/math/sqrt.go
+Copyright: © 2010 The Go Authors. All rights reserved.
+ Based on code © 1993 by Sun Microsystems, Inc. All rights reserved.
+License: Go
+Comment:
+ Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ .
+ Developed at SunPro, a Sun Microsystems, Inc. business.
+ Permission to use, copy, modify, and distribute this
+ software is freely granted, provided that this notice
+ is preserved.
+
+Files: src/image/jpeg/idct.go
+Origin: Translated from idct.c in the MPEG-2 (ISO/IEC 13818-4)
+ technical report video software verifier (mpeg2decode)
+ version 960109
+Copyright: © 1996, MPEG Software Simulation Group. All Rights Reserved.
+License: MPEG
+
+Files: src/image/png/testdata/pngsuite/*
+Origin: libpng 1.2.40, contrib/pngsuite/*
+Copyright: © Willem van Schaik, 1999
+License: noderivs
+ Permission to use, copy, and distribute these images for any purpose and
+ without fee is hereby granted.
+
+Files: src/cmd/vendor/github.com/google/pprof/*
+Copyright: 2014, 2016 Google Inc.
+License: Apache-2.0
+
+Files: src/cmd/vendor/github.com/google/pprof/third_party/svg/svgpan.go
+Copyright: 2009-2017 Andrea Leofreddi <a.leofreddi@itcharm.com>
+License: BSD-2-clause-svgpan
+
+Files: favicon.ico
+ doc/gopher/*
+Copyright: Renée French
+License: CC-BY-3.0
+Comment:
+ The mascot and logo were designed by
+ Renée French <http://reneefrench.blogspot.com>, who also designed
+ Glenda <http://plan9.bell-labs.com/plan9/glenda.html>,
+ the Plan 9 bunny.
+ The gopher is derived from one she used for an WFMU <http://wfmu.org/>
+ T-shirt design some years ago.
+ The logo and mascot are covered by the
+ Creative Commons Attribution 3.0 <http://creativecommons.org/licenses/by/3.0>
+ license.
+
+Files: misc/trace/*
+Copyright: 2012 The Chromium Authors
+License: BSD-3-clause
+
+Files: debian/*
+Copyright: 2010 Ivan Wong <ivanwyc@gmail.com>
+ 2010 Ondřej Surý <ondrej@debian.org>
+ 2012 Michael Stapelberg <stapelberg@debian.org>
+ 2014 Canonical Ltd
+ 2014 Tianon Gravi <tianon@debian.org>
+License: Go
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: Go
+ Copyright © 2009 The Go Authors. All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ .
+ Subject to the terms and conditions of this License, Google hereby
+ grants to You a perpetual, worldwide, non-exclusive, no-charge,
+ royalty-free, irrevocable (except as stated in this section) patent
+ license to make, have made, use, offer to sell, sell, import, and
+ otherwise transfer this implementation of Go, where such license
+ applies only to those patent claims licensable by Google that are
+ necessarily infringed by use of this implementation of Go. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that this
+ implementation of Go or a Contribution incorporated within this
+ implementation of Go constitutes direct or contributory patent
+ infringement, then any patent licenses granted to You under this
+ License for this implementation of Go shall terminate as of the date
+ such litigation is filed.
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the Apache License, Version 2.0 can be found at
+ /usr/share/common-licenses/Apache-2.0.
+
+License: X11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: FreeBSD
+ Copyright (c) 1996-1998 John D. Polstra. All rights reserved.
+ Copyright (c) 2001 David E. O'Brien
+ Portions Copyright 2009 The Go Authors. All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+License: MPEG
+ These software programs are available to the user without any license fee or
+ royalty on an "as is" basis. The MPEG Software Simulation Group disclaims
+ any and all warranties, whether express, implied, or statuary, including any
+ implied warranties or merchantability or of fitness for a particular
+ purpose. In no event shall the copyright-holder be liable for any
+ incidental, punitive, or consequential damages of any kind whatsoever
+ arising from the use of these programs.
+ .
+ This disclaimer of warranty extends to the user of these programs and user's
+ customers, employees, agents, transferees, successors, and assigns.
+ .
+ The MPEG Software Simulation Group does not represent or warrant that the
+ programs furnished hereunder are free of infringement of any third-party
+ patents.
+ .
+ Commercial implementations of MPEG-1 and MPEG-2 video, including shareware,
+ are subject to royalty fees to patent holders. Many of these patents are
+ general enough such that they are unavoidable regardless of implementation
+ design.
+
+License: CC-BY-3.0
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
+ CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
+ PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
+ WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
+ PROHIBITED.
+ .
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
+ AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS
+ LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU
+ THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH
+ TERMS AND CONDITIONS.
+ .
+ 1. Definitions
+ .
+ a. "Adaptation" means a work based upon the Work, or upon the Work
+ and other pre-existing works, such as a translation, adaptation,
+ derivative work, arrangement of music or other alterations of a
+ literary or artistic work, or phonogram or performance and
+ includes cinematographic adaptations or any other form in which
+ the Work may be recast, transformed, or adapted including in any
+ form recognizably derived from the original, except that a work
+ that constitutes a Collection will not be considered an
+ Adaptation for the purpose of this License. For the avoidance of
+ doubt, where the Work is a musical work, performance or
+ phonogram, the synchronization of the Work in timed-relation
+ with a moving image ("synching") will be considered an
+ Adaptation for the purpose of this License.
+ .
+ b. "Collection" means a collection of literary or artistic works,
+ such as encyclopedias and anthologies, or performances,
+ phonograms or broadcasts, or other works or subject matter other
+ than works listed in Section 1(f) below, which, by reason of the
+ selection and arrangement of their contents, constitute
+ intellectual creations, in which the Work is included in its
+ entirety in unmodified form along with one or more other
+ contributions, each constituting separate and independent works
+ in themselves, which together are assembled into a collective
+ whole. A work that constitutes a Collection will not be
+ considered an Adaptation (as defined above) for the purposes of
+ this License.
+ .
+ c. "Distribute" means to make available to the public the original
+ and copies of the Work or Adaptation, as appropriate, through
+ sale or other transfer of ownership.
+ .
+ d. "Licensor" means the individual, individuals, entity or entities
+ that offer(s) the Work under the terms of this License.
+ .
+ e. "Original Author" means, in the case of a literary or artistic
+ work, the individual, individuals, entity or entities who
+ created the Work or if no individual or entity can be
+ identified, the publisher; and in addition (i) in the case of a
+ performance the actors, singers, musicians, dancers, and other
+ persons who act, sing, deliver, declaim, play in, interpret or
+ otherwise perform literary or artistic works or expressions of
+ folklore; (ii) in the case of a phonogram the producer being the
+ person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of
+ broadcasts, the organization that transmits the broadcast.
+ .
+ f. "Work" means the literary and/or artistic work offered under the
+ terms of this License including without limitation any
+ production in the literary, scientific and artistic domain,
+ whatever may be the mode or form of its expression including
+ digital form, such as a book, pamphlet and other writing; a
+ lecture, address, sermon or other work of the same nature; a
+ dramatic or dramatico-musical work; a choreographic work or
+ entertainment in dumb show; a musical composition with or
+ without words; a cinematographic work to which are assimilated
+ works expressed by a process analogous to cinematography; a work
+ of drawing, painting, architecture, sculpture, engraving or
+ lithography; a photographic work to which are assimilated works
+ expressed by a process analogous to photography; a work of
+ applied art; an illustration, map, plan, sketch or
+ three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a
+ phonogram; a compilation of data to the extent it is protected
+ as a copyrightable work; or a work performed by a variety or
+ circus performer to the extent it is not otherwise considered a
+ literary or artistic work.
+ .
+ g. "You" means an individual or entity exercising rights under this
+ License who has not previously violated the terms of this
+ License with respect to the Work, or who has received express
+ permission from the Licensor to exercise rights under this
+ License despite a previous violation.
+ .
+ h. "Publicly Perform" means to perform public recitations of the
+ Work and to communicate to the public those public recitations,
+ by any means or process, including by wire or wireless means or
+ public digital performances; to make available to the public
+ Works in such a way that members of the public may access these
+ Works from a place and at a place individually chosen by them;
+ to perform the Work to the public by any means or process and
+ the communication to the public of the performances of the Work,
+ including by public digital performance; to broadcast and
+ rebroadcast the Work by any means including signs, sounds or
+ images.
+ .
+ i. "Reproduce" means to make copies of the Work by any means
+ including without limitation by sound or visual recordings and
+ the right of fixation and reproducing fixations of the Work,
+ including storage of a protected performance or phonogram in
+ digital form or other electronic medium.
+ .
+ 2. Fair Dealing Rights. Nothing in this License is intended to
+ reduce, limit, or restrict any uses free from copyright or rights
+ arising from limitations or exceptions that are provided for in
+ connection with the copyright protection under copyright law or other
+ applicable laws.
+ .
+ 3. License Grant. Subject to the terms and conditions of this License,
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+ perpetual (for the duration of the applicable copyright) license to
+ exercise the rights in the Work as stated below:
+ .
+ a. to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the
+ Collections;
+ .
+ b. to create and Reproduce Adaptations provided that any such
+ Adaptation, including any translation in any medium, takes
+ reasonable steps to clearly label, demarcate or otherwise
+ identify that changes were made to the original Work. For
+ example, a translation could be marked "The original work was
+ translated from English to Spanish," or a modification could
+ indicate "The original work has been modified.";
+ .
+ c. to Distribute and Publicly Perform the Work including as
+ incorporated in Collections; and,
+ .
+ d. to Distribute and Publicly Perform Adaptations.
+ .
+ e. For the avoidance of doubt:
+ .
+ i. Non-waivable Compulsory License Schemes. In those
+ jurisdictions in which the right to collect royalties
+ through any statutory or compulsory licensing scheme cannot
+ be waived, the Licensor reserves the exclusive right to
+ collect such royalties for any exercise by You of the
+ rights granted under this License;
+ .
+ ii. Waivable Compulsory License Schemes. In those jurisdictions
+ in which the right to collect royalties through any
+ statutory or compulsory licensing scheme can be waived, the
+ Licensor waives the exclusive right to collect such
+ royalties for any exercise by You of the rights granted
+ under this License; and,
+ .
+ iii. Voluntary License Schemes. The Licensor waives the right to
+ collect royalties, whether individually or, in the event
+ that the Licensor is a member of a collecting society that
+ administers voluntary licensing schemes, via that society,
+ from any exercise by You of the rights granted under this
+ License.
+ .
+ The above rights may be exercised in all media and formats whether
+ now known or hereafter devised. The above rights include the right to
+ make such modifications as are technically necessary to exercise the
+ rights in other media and formats. Subject to Section 8(f), all
+ rights not expressly granted by Licensor are hereby reserved.
+ .
+ 4. Restrictions. The license granted in Section 3 above is expressly
+ made subject to and limited by the following restrictions:
+ .
+ a. You may Distribute or Publicly Perform the Work only under the
+ terms of this License. You must include a copy of, or the
+ Uniform Resource Identifier (URI) for, this License with every
+ copy of the Work You Distribute or Publicly Perform. You may not
+ offer or impose any terms on the Work that restrict the terms of
+ this License or the ability of the recipient of the Work to
+ exercise the rights granted to that recipient under the terms of
+ the License. You may not sublicense the Work. You must keep
+ intact all notices that refer to this License and to the
+ disclaimer of warranties with every copy of the Work You
+ Distribute or Publicly Perform. When You Distribute or Publicly
+ Perform the Work, You may not impose any effective technological
+ measures on the Work that restrict the ability of a recipient of
+ the Work from You to exercise the rights granted to that
+ recipient under the terms of the License. This Section 4(a)
+ applies to the Work as incorporated in a Collection, but this
+ does not require the Collection apart from the Work itself to be
+ made subject to the terms of this License. If You create a
+ Collection, upon notice from any Licensor You must, to the
+ extent practicable, remove from the Collection any credit as
+ required by Section 4(b), as requested. If You create an
+ Adaptation, upon notice from any Licensor You must, to the
+ extent practicable, remove from the Adaptation any credit as
+ required by Section 4(b), as requested.
+ .
+ b. If You Distribute, or Publicly Perform the Work or any
+ Adaptations or Collections, You must, unless a request has been
+ made pursuant to Section 4(a), keep intact all copyright notices
+ for the Work and provide, reasonable to the medium or means You
+ are utilizing: (i) the name of the Original Author (or
+ pseudonym, if applicable) if supplied, and/or if the Original
+ Author and/or Licensor designate another party or parties (e.g.,
+ a sponsor institute, publishing entity, journal) for attribution
+ ("Attribution Parties") in Licensor's copyright notice, terms of
+ service or by other reasonable means, the name of such party or
+ parties; (ii) the title of the Work if supplied; (iii) to the
+ extent reasonably practicable, the URI, if any, that Licensor
+ specifies to be associated with the Work, unless such URI does
+ not refer to the copyright notice or licensing information for
+ the Work; and (iv) , consistent with Section 3(b), in the case
+ of an Adaptation, a credit identifying the use of the Work in
+ the Adaptation (e.g., "French translation of the Work by
+ Original Author," or "Screenplay based on original Work by
+ Original Author"). The credit required by this Section 4 (b) may
+ be implemented in any reasonable manner; provided, however, that
+ in the case of a Adaptation or Collection, at a minimum such
+ credit will appear, if a credit for all contributing authors of
+ the Adaptation or Collection appears, then as part of these
+ credits and in a manner at least as prominent as the credits for
+ the other contributing authors. For the avoidance of doubt, You
+ may only use the credit required by this Section for the purpose
+ of attribution in the manner set out above and, by exercising
+ Your rights under this License, You may not implicitly or
+ explicitly assert or imply any connection with, sponsorship or
+ endorsement by the Original Author, Licensor and/or Attribution
+ Parties, as appropriate, of You or Your use of the Work, without
+ the separate, express prior written permission of the Original
+ Author, Licensor and/or Attribution Parties.
+ .
+ c. Except as otherwise agreed in writing by the Licensor or as may
+ be otherwise permitted by applicable law, if You Reproduce,
+ Distribute or Publicly Perform the Work either by itself or as
+ part of any Adaptations or Collections, You must not distort,
+ mutilate, modify or take other derogatory action in relation to
+ the Work which would be prejudicial to the Original Author's
+ honor or reputation. Licensor agrees that in those jurisdictions
+ (e.g. Japan), in which any exercise of the right granted in
+ Section 3(b) of this License (the right to make Adaptations)
+ would be deemed to be a distortion, mutilation, modification or
+ other derogatory action prejudicial to the Original Author's
+ honor and reputation, the Licensor will waive or not assert, as
+ appropriate, this Section, to the fullest extent permitted by
+ the applicable national law, to enable You to reasonably
+ exercise Your right under Section 3(b) of this License (right to
+ make Adaptations) but not otherwise.
+ .
+ 5. Representations, Warranties and Disclaimer
+ .
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING,
+ LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR
+ WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED,
+ STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF
+ TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE,
+ NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY,
+ OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
+ SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES,
+ SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY
+ APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
+ LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR
+ EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK,
+ EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ .
+ 7. Termination
+ .
+ a. This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this
+ License. Individuals or entities who have received Adaptations
+ or Collections from You under this License, however, will not
+ have their licenses terminated provided such individuals or
+ entities remain in full compliance with those licenses.
+ Sections 1, 2, 5, 6, 7, and 8 will survive any termination of
+ this License.
+ .
+ b. Subject to the above terms and conditions, the license granted
+ here is perpetual (for the duration of the applicable copyright
+ in the Work). Notwithstanding the above, Licensor reserves the
+ right to release the Work under different license terms or to
+ stop distributing the Work at any time; provided, however that
+ any such election will not serve to withdraw this License (or
+ any other license that has been, or is required to be, granted
+ under the terms of this License), and this License will continue
+ in full force and effect unless terminated as stated above.
+ .
+ 8. Miscellaneous
+ .
+ a. Each time You Distribute or Publicly Perform the Work or a
+ Collection, the Licensor offers to the recipient a license to
+ the Work on the same terms and conditions as the license granted
+ to You under this License.
+ .
+ b. Each time You Distribute or Publicly Perform an Adaptation,
+ Licensor offers to the recipient a license to the original Work
+ on the same terms and conditions as the license granted to You
+ under this License.
+ .
+ c. If any provision of this License is invalid or unenforceable
+ under applicable law, it shall not affect the validity or
+ enforceability of the remainder of the terms of this License,
+ and without further action by the parties to this agreement,
+ such provision shall be reformed to the minimum extent necessary
+ to make such provision valid and enforceable.
+ .
+ d. No term or provision of this License shall be deemed waived and
+ no breach consented to unless such waiver or consent shall be in
+ writing and signed by the party to be charged with such waiver
+ or consent.
+ .
+ e. This License constitutes the entire agreement between the
+ parties with respect to the Work licensed here. There are no
+ understandings, agreements or representations with respect to
+ the Work not specified here. Licensor shall not be bound by any
+ additional provisions that may appear in any communication from
+ You. This License may not be modified without the mutual written
+ agreement of the Licensor and You.
+ .
+ f. The rights granted under, and the subject matter referenced, in
+ this License were drafted utilizing the terminology of the Berne
+ Convention for the Protection of Literary and Artistic Works (as
+ amended on September 28, 1979), the Rome Convention of 1961, the
+ WIPO Copyright Treaty of 1996, the WIPO Performances and
+ Phonograms Treaty of 1996 and the Universal Copyright Convention
+ (as revised on July 24, 1971). These rights and subject matter
+ take effect in the relevant jurisdiction in which the License
+ terms are sought to be enforced according to the corresponding
+ provisions of the implementation of those treaty provisions in
+ the applicable national law. If the standard suite of rights
+ granted under applicable copyright law includes additional
+ rights not granted under this License, such additional rights
+ are deemed to be included in the License; this License is not
+ intended to restrict the license of any rights under applicable law.
+
+License: BSD-2-clause-svgpan
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ EVENT SHALL Andrea Leofreddi OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ .
+ The views and conclusions contained in the software and documentation are those
+ of the authors and should not be interpreted as representing official policies,
+ either expressed or implied, of Andrea Leofreddi.
--- /dev/null
+AUTHORS
+CONTRIBUTORS
+README.md
--- /dev/null
+#
+# WARNING: "debian/gbp.conf" is generated via "debian/rules gencontrol" (sourced from "debian/gbp.conf.in")
+#
+
+[DEFAULT]
+debian-branch = debian/1.11/buster
+debian-tag = debian/%(version)s
+upstream-branch = upstream-1.11
+upstream-tag = upstream/%(version)s
+pristine-tar = True
+
+[dch]
+meta = 1
--- /dev/null
+[DEFAULT]
+debian-branch = debian/1.11/buster
+debian-tag = debian/%(version)s
+upstream-branch = upstream-X.Y
+upstream-tag = upstream/%(version)s
+pristine-tar = True
+
+[dch]
+meta = 1
--- /dev/null
+usr/share/doc/golang-X.Y-doc/html
--- /dev/null
+doc/* /usr/share/doc/golang-X.Y-doc/html/
+favicon.ico /usr/share/doc/golang-X.Y-doc
--- /dev/null
+usr/share/doc/golang-X.Y-doc/favicon.ico /usr/lib/go-X.Y/favicon.ico
+usr/share/doc/golang-X.Y-doc/html /usr/lib/go-X.Y/doc
--- /dev/null
+# While golang-X.Y-doc ships HTML files, they are not intended to be viewed
+# directly in a browser or other HTML-capable tool. Instead, they have to be
+# served by using e.g. “godoc -http=:6060”, see also
+# http://bugs.debian.org/702642
+golang-X.Y-doc: possible-documentation-but-no-doc-base-registration
--- /dev/null
+usr/lib/go-X.Y
+usr/share/go-X.Y/src/
--- /dev/null
+VERSION /usr/lib/go-X.Y/
+bin/go /usr/lib/go-X.Y/bin/
+bin/gofmt /usr/lib/go-X.Y/bin/
+pkg/*_* /usr/lib/go-X.Y/pkg/
+pkg/include /usr/share/go-X.Y/pkg/
+pkg/tool /usr/lib/go-X.Y/pkg/
--- /dev/null
+usr/share/go-X.Y/pkg/include /usr/lib/go-X.Y/pkg/include
+usr/share/go-X.Y/src /usr/lib/go-X.Y/src
+usr/share/go-X.Y/test /usr/lib/go-X.Y/test
--- /dev/null
+# Go always links statically.
+golang-X.Y-go: statically-linked-binary
+
+# False positive, the file does not use one of the binaries in sensible-utils
+golang-X.Y-go: missing-depends-on-sensible-utils usr/lib/go-X.Y/pkg/linux_amd64/cmd/vendor/github.com/google/pprof/internal/driver.a
--- /dev/null
+#!/bin/sh
+set -e
+
+case "$1" in
+ configure)
+ # Very ugly hack to set timestamps same as /usr/lib/go-X.Y/bin/go
+ find /usr/lib/go-X.Y/pkg -exec touch -r /usr/lib/go-X.Y/bin/go {} \;
+ ;;
+ *)
+ ;;
+esac
+
+#DEBHELPER#
--- /dev/null
+api /usr/share/go-X.Y/
+misc /usr/share/go-X.Y/
+src /usr/share/go-X.Y/
+test /usr/share/go-X.Y/
--- /dev/null
+# golang-X.Y-src ships ELF object files and binaries as testdata for the
+# debug/dwarf, debug/elf and runtime/pprof packages.
+golang-X.Y-src: arch-dependent-file-in-usr-share
+golang-X.Y-src: unstripped-binary-or-object
+golang-X.Y-src: binary-from-other-architecture
+golang-X.Y-src: statically-linked-binary
+
+# False positive, the file does not use one of the binaries in sensible-utils
+golang-X.Y-src: missing-depends-on-sensible-utils usr/share/go-X.Y/src/cmd/vendor/github.com/google/pprof/internal/driver/commands.go
+
+# These files are only testdata
+golang-X.Y-src: executable-not-elf-or-script usr/share/go-X.Y/src/cmd/internal/buildid/testdata/a.pe
+golang-X.Y-src: executable-not-elf-or-script usr/share/go-X.Y/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64
+golang-X.Y-src: executable-not-elf-or-script usr/share/go-X.Y/src/cmd/internal/buildid/testdata/a.macho
+golang-X.Y-src: executable-not-elf-or-script usr/share/go-X.Y/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64
+
+# These files are only testdata
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/dwarf/testdata/line-clang.elf
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/dwarf/testdata/line-gcc.elf
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/dwarf/testdata/ranges.elf
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/dwarf/testdata/split.elf
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/dwarf/testdata/typedef.elf
+golang-X.Y-src: hardening-no-relro usr/share/go-X.Y/src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-X.Y-src: hardening-no-relro usr/share/go-X.Y/src/debug/elf/testdata/gcc-amd64-linux-exec
+golang-X.Y-src: hardening-no-pie usr/share/go-X.Y/src/debug/elf/testdata/gcc-amd64-linux-exec
--- /dev/null
+#!/bin/sh
+set -e
+
+__goos__deb_arch_os() {
+ case "$1" in
+ kfreebsd) echo freebsd ;;
+ linux) echo "$1" ;;
+ *) echo >&2 "error: unrecongized DEB_*_ARCH_OS: $1"; exit 1 ;;
+ esac
+}
+
+__goarch__deb_arch_cpu() {
+ case "$1" in
+ amd64|arm|arm64|mips|ppc64|s390x) echo "$1" ;;
+ i386) echo 386 ;;
+ mips64el) echo mips64le ;;
+ mipsel) echo mipsle ;;
+ ppc64el) echo ppc64le ;;
+ *) echo >&2 "error: unrecongized DEB_*_ARCH_CPU: $1"; exit 1 ;;
+ esac
+}
+
+# build machine
+# The machine the package is built on.
+#
+# host machine
+# The machine the package is built for.
+
+export GOHOSTOS="$(__goos__deb_arch_os "$(dpkg-architecture -qDEB_BUILD_ARCH_OS 2>/dev/null)")"
+export GOOS="$(__goos__deb_arch_os "$(dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)")"
+
+export GOHOSTARCH="$(__goarch__deb_arch_cpu "$(dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null)")"
+export GOARCH="$(__goarch__deb_arch_cpu "$(dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)")"
+
+if [ -z "$GOHOSTOS" -o -z "$GOOS" -o -z "$GOHOSTARCH" -o -z "$GOARCH" ]; then
+ exit 1
+fi
+
+# Always use the 387 floating point unit instead of sse2. This is important to
+# ensure that the binaries we build (both when compiling golang on the buildds
+# and when users cross-compile for 386) can actually run on older CPUs (where
+# old means e.g. an AMD Athlon XP 2400+). See http://bugs.debian.org/753160 and
+# https://code.google.com/p/go/issues/detail?id=8152
+export GO386=387
+
+unset GOARM
+if [ "$GOARCH" = 'arm' ]; then
+ # start with GOARM=5 for maximum compatibility (see note about GO386 above)
+ GOARM=5
+ case "$(dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null)" in
+ armhf) GOARM=6 ;;
+ esac
+fi
+export GOARM
+
+eval "$@"
--- /dev/null
+From: Michael Stapelberg <stapelberg@debian.org>
+Date: Thu, 8 Feb 2018 10:00:00 +0100
+Subject: Reproducible BUILD_PATH_PREFIX_MAP
+
+Make builds reproducible by honoring BUILD_PATH_PREFIX_MAP
+Upstream has rejected the patch in this form and promised to implement an
+alternative they are happy with instead. That hasn't happened yet though.
+
+Bug: https://github.com/golang/go/issues/22491, https://github.com/golang/go/issues/16860
+Forwarded: https://golang.org/cl/73291 (rejected upstream though)
+---
+ src/cmd/go/internal/work/gc.go | 5 ++-
+ src/cmd/link/internal/ld/buildpathprefix.go | 56 +++++++++++++++++++++++++++++
+ src/cmd/link/internal/ld/dwarf.go | 4 +--
+ src/cmd/link/internal/ld/pcln.go | 4 +--
+ 4 files changed, 64 insertions(+), 5 deletions(-)
+ create mode 100644 src/cmd/link/internal/ld/buildpathprefix.go
+
+diff --git a/src/cmd/go/internal/work/gc.go b/src/cmd/go/internal/work/gc.go
+index 6e5333c..f91edb6 100644
+--- a/src/cmd/go/internal/work/gc.go
++++ b/src/cmd/go/internal/work/gc.go
+@@ -466,7 +466,10 @@ func (gcToolchain) ld(b *Builder, root *Action, out, importcfg, mainpkg string)
+ dir, out = filepath.Split(out)
+ }
+
+- return b.run(root, dir, root.Package.ImportPath, nil, cfg.BuildToolexec, base.Tool("link"), "-o", out, "-importcfg", importcfg, ldflags, mainpkg)
++ // Apply the rewrite of $WORK to /tmp/go-build also to DWARF file tables:
++ env := []string{"BUILD_PATH_PREFIX_MAP=/tmp/go-build=" + b.WorkDir + ":" + os.Getenv("BUILD_PATH_PREFIX_MAP")}
++
++ return b.run(root, dir, root.Package.ImportPath, env, cfg.BuildToolexec, base.Tool("link"), "-o", out, "-importcfg", importcfg, ldflags, mainpkg)
+ }
+
+ func (gcToolchain) ldShared(b *Builder, root *Action, toplevelactions []*Action, out, importcfg string, allactions []*Action) error {
+diff --git a/src/cmd/link/internal/ld/buildpathprefix.go b/src/cmd/link/internal/ld/buildpathprefix.go
+new file mode 100644
+index 0000000..8cda8a5
+--- /dev/null
++++ b/src/cmd/link/internal/ld/buildpathprefix.go
+@@ -0,0 +1,56 @@
++// Copyright 2010 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++package ld
++
++import (
++ "log"
++ "os"
++ "strings"
++ "sync"
++)
++
++func decode(s string) string {
++ s = strings.Replace(s, "%.", ":", -1)
++ s = strings.Replace(s, "%+", "=", -1)
++ s = strings.Replace(s, "%#", "%", -1)
++ return s
++}
++
++type prefixMapEntry struct {
++ target string
++ source string
++}
++
++var (
++ buildPathPrefixMap []prefixMapEntry
++ buildPathPrefixMapOnce sync.Once
++)
++
++// See https://reproducible-builds.org/specs/build-path-prefix-map/
++func applyBuildPathPrefixMap(dir string) string {
++ // Parse the BUILD_PATH_PREFIX_MAP only once; this function gets called for
++ // every compiled file.
++ buildPathPrefixMapOnce.Do(func() {
++ for _, item := range strings.Split(os.Getenv("BUILD_PATH_PREFIX_MAP"), ":") {
++ if strings.TrimSpace(item) == "" {
++ continue
++ }
++ parts := strings.Split(item, "=")
++ if got, want := len(parts), 2; got != want {
++ log.Fatalf("parsing BUILD_PATH_PREFIX_MAP: incorrect number of = separators in item %q: got %d, want %d", item, got-1, want-1)
++ }
++ buildPathPrefixMap = append(buildPathPrefixMap, prefixMapEntry{
++ target: decode(parts[0]),
++ source: decode(parts[1]),
++ })
++ }
++ })
++ for _, e := range buildPathPrefixMap {
++ if strings.HasPrefix(dir, e.source) {
++ return e.target + strings.TrimPrefix(dir, e.source)
++ }
++ }
++ return dir
++}
+diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go
+index ae6f90b..6d9dd59 100644
+--- a/src/cmd/link/internal/ld/dwarf.go
++++ b/src/cmd/link/internal/ld/dwarf.go
+@@ -1132,7 +1132,7 @@ func writelines(ctxt *Link, lib *sym.Library, textp []*sym.Symbol, ls *sym.Symbo
+ newattr(dwinfo, dwarf.DW_AT_language, dwarf.DW_CLS_CONSTANT, int64(lang), 0)
+ newattr(dwinfo, dwarf.DW_AT_stmt_list, dwarf.DW_CLS_PTR, ls.Size, ls)
+ // OS X linker requires compilation dir or absolute path in comp unit name to output debug info.
+- compDir := getCompilationDir()
++ compDir := applyBuildPathPrefixMap(getCompilationDir())
+ // TODO: Make this be the actual compilation directory, not
+ // the linker directory. If we move CU construction into the
+ // compiler, this should happen naturally.
+@@ -1188,7 +1188,7 @@ func writelines(ctxt *Link, lib *sym.Library, textp []*sym.Symbol, ls *sym.Symbo
+ }
+ // File indexes are 1-based.
+ fileNums[int(f.Value)] = len(fileNums) + 1
+- Addstring(ls, f.Name)
++ Addstring(ls, applyBuildPathPrefixMap(f.Name))
+ ls.AddUint8(0)
+ ls.AddUint8(0)
+ ls.AddUint8(0)
+diff --git a/src/cmd/link/internal/ld/pcln.go b/src/cmd/link/internal/ld/pcln.go
+index 7b7f706..8941d51 100644
+--- a/src/cmd/link/internal/ld/pcln.go
++++ b/src/cmd/link/internal/ld/pcln.go
+@@ -301,7 +301,7 @@ func (ctxt *Link) pclntab() {
+ off = int32(ftab.SetAddr(ctxt.Arch, int64(off), s))
+
+ // name int32
+- nameoff := nameToOffset(s.Name)
++ nameoff := nameToOffset(applyBuildPathPrefixMap(s.Name))
+ off = int32(ftab.SetUint32(ctxt.Arch, int64(off), uint32(nameoff)))
+
+ // args int32
+@@ -444,7 +444,7 @@ func (ctxt *Link) pclntab() {
+ ftab.SetUint32(ctxt.Arch, int64(start), uint32(len(ctxt.Filesyms)+1))
+ for i := len(ctxt.Filesyms) - 1; i >= 0; i-- {
+ s := ctxt.Filesyms[i]
+- ftab.SetUint32(ctxt.Arch, int64(start)+s.Value*4, uint32(ftabaddstring(ctxt, ftab, s.Name)))
++ ftab.SetUint32(ctxt.Arch, int64(start)+s.Value*4, uint32(ftabaddstring(ctxt, ftab, applyBuildPathPrefixMap(s.Name))))
+ }
+
+ ftab.Size = int64(len(ftab.P))
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Wed, 19 Dec 2018 13:16:45 +0100
+Subject: Fix Lintian warnings about wrong interpreter path
+
+The command used for this change is as follows:
+
+grep -rH "/usr/bin/env perl" * | cut -d: -f1 | xargs -n1 sed -i -e "s,/usr/bin/env perl,/usr/bin/perl,"
+---
+ src/cmd/vendor/golang.org/x/sys/unix/mksyscall.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl | 2 +-
+ src/cmd/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl | 2 +-
+ src/syscall/mksyscall.pl | 2 +-
+ src/syscall/mksyscall_solaris.pl | 2 +-
+ src/syscall/mksysctl_openbsd.pl | 2 +-
+ src/syscall/mksysnum_darwin.pl | 2 +-
+ src/syscall/mksysnum_dragonfly.pl | 2 +-
+ src/syscall/mksysnum_freebsd.pl | 2 +-
+ src/syscall/mksysnum_linux.pl | 2 +-
+ src/syscall/mksysnum_netbsd.pl | 2 +-
+ src/syscall/mksysnum_openbsd.pl | 2 +-
+ test/errchk | 2 +-
+ 18 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksyscall.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksyscall.pl
+index 1f6b926..4c91625 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksyscall.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksyscall.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
+index 3e6ed9d..432da9c 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
+index 49f186f..69b78cb 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+
+ # Copyright 2011 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
+index 5453c53..fd16c4b 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
+index 6804f41..02a3836 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
+index a0a22bf..2d4fd80 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
+index 85988b1..e5c135b 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
+index 84edf60..f52e80e 100755
+--- a/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
++++ b/src/cmd/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksyscall.pl b/src/syscall/mksyscall.pl
+index ccce82e..3da9cad 100755
+--- a/src/syscall/mksyscall.pl
++++ b/src/syscall/mksyscall.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksyscall_solaris.pl b/src/syscall/mksyscall_solaris.pl
+index 9172975..db6f18e 100755
+--- a/src/syscall/mksyscall_solaris.pl
++++ b/src/syscall/mksyscall_solaris.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysctl_openbsd.pl b/src/syscall/mksysctl_openbsd.pl
+index ea462a7..7e8a3e2 100755
+--- a/src/syscall/mksysctl_openbsd.pl
++++ b/src/syscall/mksysctl_openbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+
+ # Copyright 2011 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+diff --git a/src/syscall/mksysnum_darwin.pl b/src/syscall/mksysnum_darwin.pl
+index af21e85..9e59261 100755
+--- a/src/syscall/mksysnum_darwin.pl
++++ b/src/syscall/mksysnum_darwin.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysnum_dragonfly.pl b/src/syscall/mksysnum_dragonfly.pl
+index e9a634b..a8df18d 100755
+--- a/src/syscall/mksysnum_dragonfly.pl
++++ b/src/syscall/mksysnum_dragonfly.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysnum_freebsd.pl b/src/syscall/mksysnum_freebsd.pl
+index c04ada9..f9b7b91 100755
+--- a/src/syscall/mksysnum_freebsd.pl
++++ b/src/syscall/mksysnum_freebsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysnum_linux.pl b/src/syscall/mksysnum_linux.pl
+index 5fb1d0e..ebeb9a8 100755
+--- a/src/syscall/mksysnum_linux.pl
++++ b/src/syscall/mksysnum_linux.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysnum_netbsd.pl b/src/syscall/mksysnum_netbsd.pl
+index 4f5150a..53783ff 100755
+--- a/src/syscall/mksysnum_netbsd.pl
++++ b/src/syscall/mksysnum_netbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/src/syscall/mksysnum_openbsd.pl b/src/syscall/mksysnum_openbsd.pl
+index 0b0c9df..41e8f47 100755
+--- a/src/syscall/mksysnum_openbsd.pl
++++ b/src/syscall/mksysnum_openbsd.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
+diff --git a/test/errchk b/test/errchk
+index 1cb57bb..a69b29d 100755
+--- a/test/errchk
++++ b/test/errchk
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Copyright 2009 The Go Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
--- /dev/null
+From: Michael Hudson-Doyle <michael.hudson@canonical.com>
+Date: Thu, 20 Sep 2018 09:20:31 +0200
+Subject: arm64/arm64asm: recognise new ssbb/pssbb mnemonics from objdump
+
+Fixes golang/go#27754
+
+Change-Id: I8fcc3bc3c718cf0d93afbd1d383df48316b522d4
+Reviewed-on: https://go-review.googlesource.com/136455
+Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
+TryBot-Result: Gobot Gobot <gobot@golang.org>
+Reviewed-by: Cherry Zhang <cherryyz@google.com>
+---
+ .../vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go
+index 261c7ca..3baf8a1 100644
+--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go
++++ b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go
+@@ -103,6 +103,13 @@ func allowedMismatchObjdump(text string, inst *Inst, dec ExtInst) bool {
+ return true
+ }
+ }
++ // New objdump supports some newer mnemonics than this package. This
++ // package should be updated to support the new mnemonics and the sense
++ // of this reversed to continue passing with older objdumps but that
++ // requires internal ARM tooling.
++ if newForm, ok := newMnemonics[text]; ok && newForm == dec.text {
++ return true
++ }
+ // GNU objdump misses spaces between operands for some instructions (e.g., "ld1 {v10.2s, v11.2s}, [x23],#16")
+ if strings.Replace(text, " ", "", -1) == strings.Replace(dec.text, " ", "", -1) {
+ return true
+@@ -148,3 +155,8 @@ var oldObjdumpMismatch = map[string]string{
+ "strh": "sturh",
+ "prfm": "prfum",
+ }
++
++var newMnemonics = map[string]string{
++ "dsb #0x00": "ssbb",
++ "dsb #0x04": "pssbb",
++}
--- /dev/null
+From: Anthony Fok <foka@debian.org>
+Date: Fri, 28 Dec 2018 06:18:00 -0700
+Subject: [PATCH] unix: fix Fstatat by using fillStat_t on linux/mips64x
+
+The stat structure on linux/mips64x differ between C library and the kernel,
+as described in the stat(2) man page.
+
+Fstat, Lstat and Stat on linux/mips64x already converts the stat structure
+using a fillStat_t function, very similar to __xstat_conv in GLIBC.
+Doing the same for Fstatat before calling SYS_NEWFSTATAT fixes the
+"Fstatat: returned stat does not match Stat/Lstat" error in TestFstatat.
+
+Fixes golang/go#29401
+
+Change-Id: I0b2a7b274acc3c7c9fc7ae2afe722dd6225da383
+Reviewed-on: https://go-review.googlesource.com/c/155747
+Reviewed-by: Ian Lance Taylor <iant@golang.org>
+Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
+---
+ .../golang.org/x/sys/unix/syscall_linux_mips64x.go | 9 ++++++-
+ .../golang.org/x/sys/unix/zsyscall_linux_mips64.go | 30 +++++++++++-----------
+ .../x/sys/unix/zsyscall_linux_mips64le.go | 30 +++++++++++-----------
+ 3 files changed, 38 insertions(+), 31 deletions(-)
+
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+index ad99103..18541dc 100644
+--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
++++ b/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+@@ -12,7 +12,6 @@ package unix
+ //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+ //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
+ //sys Fchown(fd int, uid int, gid int) (err error)
+-//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
+ //sys Fstatfs(fd int, buf *Statfs_t) (err error)
+ //sys Ftruncate(fd int, length int64) (err error)
+ //sysnb Getegid() (egid int)
+@@ -148,6 +147,7 @@ type stat_t struct {
+ }
+
+ //sys fstat(fd int, st *stat_t) (err error)
++//sys fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT
+ //sys lstat(path string, st *stat_t) (err error)
+ //sys stat(path string, st *stat_t) (err error)
+
+@@ -158,6 +158,13 @@ func Fstat(fd int, s *Stat_t) (err error) {
+ return
+ }
+
++func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) {
++ st := &stat_t{}
++ err = fstatat(dirfd, path, st, flags)
++ fillStat_t(s, st)
++ return
++}
++
+ func Lstat(path string, s *Stat_t) (err error) {
+ st := &stat_t{}
+ err = lstat(path, st)
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+index 382e072..9edc1f4 100644
+--- a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
++++ b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+@@ -1547,21 +1547,6 @@ func Fchown(fd int, uid int, gid int) (err error) {
+
+ // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+-func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
+- var _p0 *byte
+- _p0, err = BytePtrFromString(path)
+- if err != nil {
+- return
+- }
+- _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
+- if e1 != 0 {
+- err = errnoErr(e1)
+- }
+- return
+-}
+-
+-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+-
+ func Fstatfs(fd int, buf *Statfs_t) (err error) {
+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
+ if e1 != 0 {
+@@ -2121,6 +2106,21 @@ func fstat(fd int, st *stat_t) (err error) {
+
+ // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
++func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) {
++ var _p0 *byte
++ _p0, err = BytePtrFromString(path)
++ if err != nil {
++ return
++ }
++ _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0)
++ if e1 != 0 {
++ err = errnoErr(e1)
++ }
++ return
++}
++
++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
++
+ func lstat(path string, st *stat_t) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+diff --git a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+index da33eb1..9e65776 100644
+--- a/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
++++ b/src/cmd/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+@@ -1547,21 +1547,6 @@ func Fchown(fd int, uid int, gid int) (err error) {
+
+ // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+-func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
+- var _p0 *byte
+- _p0, err = BytePtrFromString(path)
+- if err != nil {
+- return
+- }
+- _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
+- if e1 != 0 {
+- err = errnoErr(e1)
+- }
+- return
+-}
+-
+-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+-
+ func Fstatfs(fd int, buf *Statfs_t) (err error) {
+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
+ if e1 != 0 {
+@@ -2121,6 +2106,21 @@ func fstat(fd int, st *stat_t) (err error) {
+
+ // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
++func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) {
++ var _p0 *byte
++ _p0, err = BytePtrFromString(path)
++ if err != nil {
++ return
++ }
++ _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0)
++ if e1 != 0 {
++ err = errnoErr(e1)
++ }
++ return
++}
++
++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
++
+ func lstat(path string, st *stat_t) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Thu, 15 Aug 2019 21:34:14 +0200
+Subject: Fix CVE-2019-9512 and CVE-2019-9514
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/e152b01a468a1c18a290bf9aec52ccea7693c7f2
+---
+ src/net/http/h2_bundle.go | 54 +++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 45 insertions(+), 9 deletions(-)
+
+diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
+index 2cd2b86..6182495 100644
+--- a/src/net/http/h2_bundle.go
++++ b/src/net/http/h2_bundle.go
+@@ -3835,10 +3835,11 @@ func (p *http2pipe) Done() <-chan struct{} {
+ }
+
+ const (
+- http2prefaceTimeout = 10 * time.Second
+- http2firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway
+- http2handlerChunkWriteSize = 4 << 10
+- http2defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to?
++ http2prefaceTimeout = 10 * time.Second
++ http2firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway
++ http2handlerChunkWriteSize = 4 << 10
++ http2defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to?
++ http2maxQueuedControlFrames = 10000
+ )
+
+ var (
+@@ -3946,6 +3947,15 @@ func (s *http2Server) maxConcurrentStreams() uint32 {
+ return http2defaultMaxStreams
+ }
+
++// maxQueuedControlFrames is the maximum number of control frames like
++// SETTINGS, PING and RST_STREAM that will be queued for writing before
++// the connection is closed to prevent memory exhaustion attacks.
++func (s *http2Server) maxQueuedControlFrames() int {
++ // TODO: if anybody asks, add a Server field, and remember to define the
++ // behavior of negative values.
++ return http2maxQueuedControlFrames
++}
++
+ type http2serverInternalState struct {
+ mu sync.Mutex
+ activeConns map[*http2serverConn]struct{}
+@@ -4254,6 +4264,7 @@ type http2serverConn struct {
+ sawFirstSettings bool // got the initial SETTINGS frame after the preface
+ needToSendSettingsAck bool
+ unackedSettings int // how many SETTINGS have we sent without ACKs?
++ queuedControlFrames int // control frames in the writeSched queue
+ clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit)
+ advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client
+ curClientStreams uint32 // number of open streams initiated by the client
+@@ -4644,6 +4655,14 @@ func (sc *http2serverConn) serve() {
+ }
+ }
+
++ // If the peer is causing us to generate a lot of control frames,
++ // but not reading them from us, assume they are trying to make us
++ // run out of memory.
++ if sc.queuedControlFrames > sc.srv.maxQueuedControlFrames() {
++ sc.vlogf("http2: too many control frames in send queue, closing connection")
++ return
++ }
++
+ // Start the shutdown timer after sending a GOAWAY. When sending GOAWAY
+ // with no error code (graceful shutdown), don't start the timer until
+ // all open streams have been completed.
+@@ -4845,6 +4864,14 @@ func (sc *http2serverConn) writeFrame(wr http2FrameWriteRequest) {
+ }
+
+ if !ignoreWrite {
++ if wr.isControl() {
++ sc.queuedControlFrames++
++ // For extra safety, detect wraparounds, which should not happen,
++ // and pull the plug.
++ if sc.queuedControlFrames < 0 {
++ sc.conn.Close()
++ }
++ }
+ sc.writeSched.Push(wr)
+ }
+ sc.scheduleFrameWrite()
+@@ -4962,10 +4989,8 @@ func (sc *http2serverConn) wroteFrame(res http2frameWriteResult) {
+ // If a frame is already being written, nothing happens. This will be called again
+ // when the frame is done being written.
+ //
+-// If a frame isn't being written we need to send one, the best frame
+-// to send is selected, preferring first things that aren't
+-// stream-specific (e.g. ACKing settings), and then finding the
+-// highest priority stream.
++// If a frame isn't being written and we need to send one, the best frame
++// to send is selected by writeSched.
+ //
+ // If a frame isn't being written and there's nothing else to send, we
+ // flush the write buffer.
+@@ -4993,6 +5018,9 @@ func (sc *http2serverConn) scheduleFrameWrite() {
+ }
+ if !sc.inGoAway || sc.goAwayCode == http2ErrCodeNo {
+ if wr, ok := sc.writeSched.Pop(); ok {
++ if wr.isControl() {
++ sc.queuedControlFrames--
++ }
+ sc.startFrameWrite(wr)
+ continue
+ }
+@@ -5285,6 +5313,8 @@ func (sc *http2serverConn) processSettings(f *http2SettingsFrame) error {
+ if err := f.ForeachSetting(sc.processSetting); err != nil {
+ return err
+ }
++ // TODO: judging by RFC 7540, Section 6.5.3 each SETTINGS frame should be
++ // acknowledged individually, even if multiple are received before the ACK.
+ sc.needToSendSettingsAck = true
+ sc.scheduleFrameWrite()
+ return nil
+@@ -9476,7 +9506,7 @@ type http2WriteScheduler interface {
+
+ // Pop dequeues the next frame to write. Returns false if no frames can
+ // be written. Frames with a given wr.StreamID() are Pop'd in the same
+- // order they are Push'd.
++ // order they are Push'd. No frames should be discarded except by CloseStream.
+ Pop() (wr http2FrameWriteRequest, ok bool)
+ }
+
+@@ -9520,6 +9550,12 @@ func (wr http2FrameWriteRequest) StreamID() uint32 {
+ return wr.stream.id
+ }
+
++// isControl reports whether wr is a control frame for MaxQueuedControlFrames
++// purposes. That includes non-stream frames and RST_STREAM frames.
++func (wr http2FrameWriteRequest) isControl() bool {
++ return wr.stream == nil
++}
++
+ // DataSize returns the number of flow control bytes that must be consumed
+ // to write this entire frame. This is 0 for non-DATA frames.
+ func (wr http2FrameWriteRequest) DataSize() int {
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Thu, 15 Aug 2019 21:37:24 +0200
+Subject: Fix CVE-2019-14809
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/c1d9ca70995dc232a2145e3214f94e03409f6fcc
+---
+ src/net/http/transport.go | 2 ++
+ src/net/http/transport_test.go | 2 +-
+ src/net/url/url.go | 54 +++++++++++++++---------------
+ src/net/url/url_test.go | 76 ++++++++++++++++++++++--------------------
+ 4 files changed, 69 insertions(+), 65 deletions(-)
+
+diff --git a/src/net/http/transport.go b/src/net/http/transport.go
+index 40947ba..0a9812e 100644
+--- a/src/net/http/transport.go
++++ b/src/net/http/transport.go
+@@ -640,6 +640,8 @@ func resetProxyConfig() {
+ }
+
+ func (t *Transport) connectMethodForRequest(treq *transportRequest) (cm connectMethod, err error) {
++ // TODO: the validPort check is redundant after CL 189258, as url.URL.Port
++ // only returns valid ports now. golang.org/issue/33600
+ if port := treq.URL.Port(); !validPort(port) {
+ return cm, fmt.Errorf("invalid URL port %q", port)
+ }
+diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
+index aa8beb9..b2036df 100644
+--- a/src/net/http/transport_test.go
++++ b/src/net/http/transport_test.go
+@@ -4111,7 +4111,7 @@ func TestTransportRejectsAlphaPort(t *testing.T) {
+ t.Fatalf("got %#v; want *url.Error", err)
+ }
+ got := ue.Err.Error()
+- want := `invalid URL port "123foo"`
++ want := `invalid port ":123foo" after host`
+ if got != want {
+ t.Errorf("got error %q; want %q", got, want)
+ }
+diff --git a/src/net/url/url.go b/src/net/url/url.go
+index 8d2a856..b13677c 100644
+--- a/src/net/url/url.go
++++ b/src/net/url/url.go
+@@ -636,6 +636,11 @@ func parseHost(host string) (string, error) {
+ }
+ return host1 + host2 + host3, nil
+ }
++ } else if i := strings.LastIndex(host, ":"); i != -1 {
++ colonPort := host[i:]
++ if !validOptionalPort(colonPort) {
++ return "", fmt.Errorf("invalid port %q after host", colonPort)
++ }
+ }
+
+ var err error
+@@ -1033,44 +1038,39 @@ func (u *URL) RequestURI() string {
+ return result
+ }
+
+-// Hostname returns u.Host, without any port number.
++// Hostname returns u.Host, stripping any valid port number if present.
+ //
+-// If Host is an IPv6 literal with a port number, Hostname returns the
+-// IPv6 literal without the square brackets. IPv6 literals may include
+-// a zone identifier.
++// If the result is enclosed in square brackets, as literal IPv6 addresses are,
++// the square brackets are removed from the result.
+ func (u *URL) Hostname() string {
+- return stripPort(u.Host)
++ host, _ := splitHostPort(u.Host)
++ return host
+ }
+
+ // Port returns the port part of u.Host, without the leading colon.
+-// If u.Host doesn't contain a port, Port returns an empty string.
++//
++// If u.Host doesn't contain a valid numeric port, Port returns an empty string.
+ func (u *URL) Port() string {
+- return portOnly(u.Host)
++ _, port := splitHostPort(u.Host)
++ return port
+ }
+
+-func stripPort(hostport string) string {
+- colon := strings.IndexByte(hostport, ':')
+- if colon == -1 {
+- return hostport
+- }
+- if i := strings.IndexByte(hostport, ']'); i != -1 {
+- return strings.TrimPrefix(hostport[:i], "[")
+- }
+- return hostport[:colon]
+-}
++// splitHostPort separates host and port. If the port is not valid, it returns
++// the entire input as host, and it doesn't check the validity of the host.
++// Unlike net.SplitHostPort, but per RFC 3986, it requires ports to be numeric.
++func splitHostPort(hostport string) (host, port string) {
++ host = hostport
+
+-func portOnly(hostport string) string {
+- colon := strings.IndexByte(hostport, ':')
+- if colon == -1 {
+- return ""
+- }
+- if i := strings.Index(hostport, "]:"); i != -1 {
+- return hostport[i+len("]:"):]
++ colon := strings.LastIndexByte(host, ':')
++ if colon != -1 && validOptionalPort(host[colon:]) {
++ host, port = host[:colon], host[colon+1:]
+ }
+- if strings.Contains(hostport, "]") {
+- return ""
++
++ if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") {
++ host = host[1 : len(host)-1]
+ }
+- return hostport[colon+len(":"):]
++
++ return
+ }
+
+ // Marshaling interface implementations.
+diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go
+index 369ea6c..babdaec 100644
+--- a/src/net/url/url_test.go
++++ b/src/net/url/url_test.go
+@@ -422,10 +422,10 @@ var urltests = []URLTest{
+ },
+ // worst case host, still round trips
+ {
+- "scheme://!$&'()*+,;=hello!:port/path",
++ "scheme://!$&'()*+,;=hello!:1/path",
+ &URL{
+ Scheme: "scheme",
+- Host: "!$&'()*+,;=hello!:port",
++ Host: "!$&'()*+,;=hello!:1",
+ Path: "/path",
+ },
+ "",
+@@ -1420,11 +1420,13 @@ func TestParseErrors(t *testing.T) {
+ {"http://[::1]", false},
+ {"http://[::1]:80", false},
+ {"http://[::1]:namedport", true}, // rfc3986 3.2.3
++ {"http://x:namedport", true}, // rfc3986 3.2.3
+ {"http://[::1]/", false},
+ {"http://[::1]a", true},
+ {"http://[::1]%23", true},
+ {"http://[::1%25en0]", false}, // valid zone id
+ {"http://[::1]:", false}, // colon, but no port OK
++ {"http://x:", false}, // colon, but no port OK
+ {"http://[::1]:%38%30", true}, // not allowed: % encoding only for non-ASCII
+ {"http://[::1%25%41]", false}, // RFC 6874 allows over-escaping in zone
+ {"http://[%10::1]", true}, // no %xx escapes in IP address
+@@ -1616,46 +1618,46 @@ func TestURLErrorImplementsNetError(t *testing.T) {
+ }
+ }
+
+-func TestURLHostname(t *testing.T) {
++func TestURLHostnameAndPort(t *testing.T) {
+ tests := []struct {
+- host string // URL.Host field
+- want string
++ in string // URL.Host field
++ host string
++ port string
+ }{
+- {"foo.com:80", "foo.com"},
+- {"foo.com", "foo.com"},
+- {"FOO.COM", "FOO.COM"}, // no canonicalization (yet?)
+- {"1.2.3.4", "1.2.3.4"},
+- {"1.2.3.4:80", "1.2.3.4"},
+- {"[1:2:3:4]", "1:2:3:4"},
+- {"[1:2:3:4]:80", "1:2:3:4"},
+- {"[::1]:80", "::1"},
++ {"foo.com:80", "foo.com", "80"},
++ {"foo.com", "foo.com", ""},
++ {"foo.com:", "foo.com", ""},
++ {"FOO.COM", "FOO.COM", ""}, // no canonicalization
++ {"1.2.3.4", "1.2.3.4", ""},
++ {"1.2.3.4:80", "1.2.3.4", "80"},
++ {"[1:2:3:4]", "1:2:3:4", ""},
++ {"[1:2:3:4]:80", "1:2:3:4", "80"},
++ {"[::1]:80", "::1", "80"},
++ {"[::1]", "::1", ""},
++ {"[::1]:", "::1", ""},
++ {"localhost", "localhost", ""},
++ {"localhost:443", "localhost", "443"},
++ {"some.super.long.domain.example.org:8080", "some.super.long.domain.example.org", "8080"},
++ {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:17000", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "17000"},
++ {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", ""},
++
++ // Ensure that even when not valid, Host is one of "Hostname",
++ // "Hostname:Port", "[Hostname]" or "[Hostname]:Port".
++ // See https://golang.org/issue/29098.
++ {"[google.com]:80", "google.com", "80"},
++ {"google.com]:80", "google.com]", "80"},
++ {"google.com:80_invalid_port", "google.com:80_invalid_port", ""},
++ {"[::1]extra]:80", "::1]extra", "80"},
++ {"google.com]extra:extra", "google.com]extra:extra", ""},
+ }
+ for _, tt := range tests {
+- u := &URL{Host: tt.host}
+- got := u.Hostname()
+- if got != tt.want {
+- t.Errorf("Hostname for Host %q = %q; want %q", tt.host, got, tt.want)
++ u := &URL{Host: tt.in}
++ host, port := u.Hostname(), u.Port()
++ if host != tt.host {
++ t.Errorf("Hostname for Host %q = %q; want %q", tt.in, host, tt.host)
+ }
+- }
+-}
+-
+-func TestURLPort(t *testing.T) {
+- tests := []struct {
+- host string // URL.Host field
+- want string
+- }{
+- {"foo.com", ""},
+- {"foo.com:80", "80"},
+- {"1.2.3.4", ""},
+- {"1.2.3.4:80", "80"},
+- {"[1:2:3:4]", ""},
+- {"[1:2:3:4]:80", "80"},
+- }
+- for _, tt := range tests {
+- u := &URL{Host: tt.host}
+- got := u.Port()
+- if got != tt.want {
+- t.Errorf("Port for Host %q = %q; want %q", tt.host, got, tt.want)
++ if port != tt.port {
++ t.Errorf("Port for Host %q = %q; want %q", tt.in, port, tt.port)
+ }
+ }
+ }
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Thu, 26 Sep 2019 11:46:46 +0200
+Subject: Fix CVE-2019-16276
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/6e6f4aaf70c8b1cc81e65a26332aa9409de03ad8
+---
+ src/net/http/serve_test.go | 4 ++++
+ src/net/http/transport_test.go | 27 +++++++++++++++++++++++++++
+ src/net/textproto/reader.go | 10 ++--------
+ src/net/textproto/reader_test.go | 13 ++++++-------
+ 4 files changed, 39 insertions(+), 15 deletions(-)
+
+diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go
+index a438541..18edf98 100644
+--- a/src/net/http/serve_test.go
++++ b/src/net/http/serve_test.go
+@@ -4725,6 +4725,10 @@ func TestServerValidatesHeaders(t *testing.T) {
+ {"foo\xffbar: foo\r\n", 400}, // binary in header
+ {"foo\x00bar: foo\r\n", 400}, // binary in header
+ {"Foo: " + strings.Repeat("x", 1<<21) + "\r\n", 431}, // header too large
++ // Spaces between the header key and colon are not allowed.
++ // See RFC 7230, Section 3.2.4.
++ {"Foo : bar\r\n", 400},
++ {"Foo\t: bar\r\n", 400},
+
+ {"foo: foo foo\r\n", 200}, // LWS space is okay
+ {"foo: foo\tfoo\r\n", 200}, // LWS tab is okay
+diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
+index b2036df..dff940e 100644
+--- a/src/net/http/transport_test.go
++++ b/src/net/http/transport_test.go
+@@ -4838,3 +4838,30 @@ func TestClientTimeoutKillsConn_AfterHeaders(t *testing.T) {
+ t.Fatal("timeout")
+ }
+ }
++
++func TestInvalidHeaderResponse(t *testing.T) {
++ setParallel(t)
++ defer afterTest(t)
++ cst := newClientServerTest(t, h1Mode, HandlerFunc(func(w ResponseWriter, r *Request) {
++ conn, buf, _ := w.(Hijacker).Hijack()
++ buf.Write([]byte("HTTP/1.1 200 OK\r\n" +
++ "Date: Wed, 30 Aug 2017 19:09:27 GMT\r\n" +
++ "Content-Type: text/html; charset=utf-8\r\n" +
++ "Content-Length: 0\r\n" +
++ "Foo : bar\r\n\r\n"))
++ buf.Flush()
++ conn.Close()
++ }))
++ defer cst.close()
++ res, err := cst.c.Get(cst.ts.URL)
++ if err != nil {
++ t.Fatal(err)
++ }
++ defer res.Body.Close()
++ if v := res.Header.Get("Foo"); v != "" {
++ t.Errorf(`unexpected "Foo" header: %q`, v)
++ }
++ if v := res.Header.Get("Foo "); v != "bar" {
++ t.Errorf(`bad "Foo " header value: %q, want %q`, v, "bar")
++ }
++}
+diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
+index feb464b..6a37b2d 100644
+--- a/src/net/textproto/reader.go
++++ b/src/net/textproto/reader.go
+@@ -492,18 +492,12 @@ func (r *Reader) ReadMIMEHeader() (MIMEHeader, error) {
+ return m, err
+ }
+
+- // Key ends at first colon; should not have trailing spaces
+- // but they appear in the wild, violating specs, so we remove
+- // them if present.
++ // Key ends at first colon.
+ i := bytes.IndexByte(kv, ':')
+ if i < 0 {
+ return m, ProtocolError("malformed MIME header line: " + string(kv))
+ }
+- endKey := i
+- for endKey > 0 && kv[endKey-1] == ' ' {
+- endKey--
+- }
+- key := canonicalMIMEHeaderKey(kv[:endKey])
++ key := canonicalMIMEHeaderKey(kv[:i])
+
+ // As per RFC 7230 field-name is a token, tokens consist of one or more chars.
+ // We could return a ProtocolError here, but better to be liberal in what we
+diff --git a/src/net/textproto/reader_test.go b/src/net/textproto/reader_test.go
+index 7cff7b4..3af77d2 100644
+--- a/src/net/textproto/reader_test.go
++++ b/src/net/textproto/reader_test.go
+@@ -188,11 +188,10 @@ func TestLargeReadMIMEHeader(t *testing.T) {
+ }
+ }
+
+-// Test that we read slightly-bogus MIME headers seen in the wild,
+-// with spaces before colons, and spaces in keys.
++// TestReadMIMEHeaderNonCompliant checks that we don't normalize headers
++// with spaces before colons, and accept spaces in keys.
+ func TestReadMIMEHeaderNonCompliant(t *testing.T) {
+- // Invalid HTTP response header as sent by an Axis security
+- // camera: (this is handled by IE, Firefox, Chrome, curl, etc.)
++ // These invalid headers will be rejected by net/http according to RFC 7230.
+ r := reader("Foo: bar\r\n" +
+ "Content-Language: en\r\n" +
+ "SID : 0\r\n" +
+@@ -202,9 +201,9 @@ func TestReadMIMEHeaderNonCompliant(t *testing.T) {
+ want := MIMEHeader{
+ "Foo": {"bar"},
+ "Content-Language": {"en"},
+- "Sid": {"0"},
+- "Audio Mode": {"None"},
+- "Privilege": {"127"},
++ "SID ": {"0"},
++ "Audio Mode ": {"None"},
++ "Privilege ": {"127"},
+ }
+ if !reflect.DeepEqual(m, want) || err != nil {
+ t.Fatalf("ReadMIMEHeader =\n%v, %v; want:\n%v", m, err, want)
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Sat, 19 Oct 2019 14:03:22 +0200
+Subject: Fix CVE-2019-17596
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/2017d88dbc096381d4f348d2fb08bfb3c2b7ed73
+---
+ src/crypto/dsa/dsa.go | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/crypto/dsa/dsa.go b/src/crypto/dsa/dsa.go
+index 575314b..2fc4f1f 100644
+--- a/src/crypto/dsa/dsa.go
++++ b/src/crypto/dsa/dsa.go
+@@ -279,6 +279,9 @@ func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool {
+ }
+
+ w := new(big.Int).ModInverse(s, pub.Q)
++ if w == nil {
++ return false
++ }
+
+ n := pub.Q.BitLen()
+ if n&7 != 0 {
--- /dev/null
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Fri, 31 Jan 2020 22:15:57 +0100
+Subject: Fix CVE-2020-7919
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/b13ce14c4a6aa59b7b041ad2b6eed2d23e15b574
+---
+ src/vendor/golang_org/x/crypto/cryptobyte/asn1.go | 5 +++--
+ src/vendor/golang_org/x/crypto/cryptobyte/string.go | 7 +------
+ 2 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/src/vendor/golang_org/x/crypto/cryptobyte/asn1.go b/src/vendor/golang_org/x/crypto/cryptobyte/asn1.go
+index 08314b4..e7c32e3 100644
+--- a/src/vendor/golang_org/x/crypto/cryptobyte/asn1.go
++++ b/src/vendor/golang_org/x/crypto/cryptobyte/asn1.go
+@@ -470,7 +470,8 @@ func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool {
+ // It reports whether the read was successful.
+ func (s *String) ReadASN1BitString(out *encoding_asn1.BitString) bool {
+ var bytes String
+- if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 {
++ if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 ||
++ len(bytes)*8/8 != len(bytes) {
+ return false
+ }
+
+@@ -740,7 +741,7 @@ func (s *String) readASN1(out *String, outTag *asn1.Tag, skipHeader bool) bool {
+ length = headerLen + len32
+ }
+
+- if uint32(int(length)) != length || !s.ReadBytes((*[]byte)(out), int(length)) {
++ if int(length) < 0 || !s.ReadBytes((*[]byte)(out), int(length)) {
+ return false
+ }
+ if skipHeader && !out.Skip(int(headerLen)) {
+diff --git a/src/vendor/golang_org/x/crypto/cryptobyte/string.go b/src/vendor/golang_org/x/crypto/cryptobyte/string.go
+index 39bf98a..589d297 100644
+--- a/src/vendor/golang_org/x/crypto/cryptobyte/string.go
++++ b/src/vendor/golang_org/x/crypto/cryptobyte/string.go
+@@ -24,7 +24,7 @@ type String []byte
+ // read advances a String by n bytes and returns them. If less than n bytes
+ // remain, it returns nil.
+ func (s *String) read(n int) []byte {
+- if len(*s) < n {
++ if len(*s) < n || n < 0 {
+ return nil
+ }
+ v := (*s)[:n]
+@@ -105,11 +105,6 @@ func (s *String) readLengthPrefixed(lenLen int, outChild *String) bool {
+ length = length << 8
+ length = length | uint32(b)
+ }
+- if int(length) < 0 {
+- // This currently cannot overflow because we read uint24 at most, but check
+- // anyway in case that changes in the future.
+- return false
+- }
+ v := s.read(int(length))
+ if v == nil {
+ return false
--- /dev/null
+From: Russ Cox <rsc@golang.org>
+Date: Mon, 13 Jul 2020 13:27:22 -0400
+Subject: Fix CVE-2020-15586
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/fa98f46741f818913a8c11b877520a548715131f
+---
+ src/net/http/server.go | 43 ++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 36 insertions(+), 7 deletions(-)
+
+diff --git a/src/net/http/server.go b/src/net/http/server.go
+index c24ad75..e1c4a73 100644
+--- a/src/net/http/server.go
++++ b/src/net/http/server.go
+@@ -423,6 +423,16 @@ type response struct {
+ wants10KeepAlive bool // HTTP/1.0 w/ Connection "keep-alive"
+ wantsClose bool // HTTP request has Connection "close"
+
++ // canWriteContinue is a boolean value accessed as an atomic int32
++ // that says whether or not a 100 Continue header can be written
++ // to the connection.
++ // writeContinueMu must be held while writing the header.
++ // These two fields together synchronize the body reader
++ // (the expectContinueReader, which wants to write 100 Continue)
++ // against the main writer.
++ canWriteContinue atomicBool
++ writeContinueMu sync.Mutex
++
+ w *bufio.Writer // buffers output in chunks to chunkWriter
+ cw chunkWriter
+
+@@ -513,6 +523,7 @@ type atomicBool int32
+
+ func (b *atomicBool) isSet() bool { return atomic.LoadInt32((*int32)(b)) != 0 }
+ func (b *atomicBool) setTrue() { atomic.StoreInt32((*int32)(b), 1) }
++func (b *atomicBool) setFalse() { atomic.StoreInt32((*int32)(b), 0) }
+
+ // declareTrailer is called for each Trailer header when the
+ // response header is written. It notes that a header will need to be
+@@ -877,21 +888,27 @@ type expectContinueReader struct {
+ resp *response
+ readCloser io.ReadCloser
+ closed bool
+- sawEOF bool
++ sawEOF atomicBool
+ }
+
+ func (ecr *expectContinueReader) Read(p []byte) (n int, err error) {
+ if ecr.closed {
+ return 0, ErrBodyReadAfterClose
+ }
+- if !ecr.resp.wroteContinue && !ecr.resp.conn.hijacked() {
+- ecr.resp.wroteContinue = true
+- ecr.resp.conn.bufw.WriteString("HTTP/1.1 100 Continue\r\n\r\n")
+- ecr.resp.conn.bufw.Flush()
++ w := ecr.resp
++ if !w.wroteContinue && w.canWriteContinue.isSet() && !w.conn.hijacked() {
++ w.wroteContinue = true
++ w.writeContinueMu.Lock()
++ if w.canWriteContinue.isSet() {
++ w.conn.bufw.WriteString("HTTP/1.1 100 Continue\r\n\r\n")
++ w.conn.bufw.Flush()
++ w.canWriteContinue.setFalse()
++ }
++ w.writeContinueMu.Unlock()
+ }
+ n, err = ecr.readCloser.Read(p)
+ if err == io.EOF {
+- ecr.sawEOF = true
++ ecr.sawEOF.setTrue()
+ }
+ return
+ }
+@@ -1289,7 +1306,7 @@ func (cw *chunkWriter) writeHeader(p []byte) {
+ // because we don't know if the next bytes on the wire will be
+ // the body-following-the-timer or the subsequent request.
+ // See Issue 11549.
+- if ecr, ok := w.req.Body.(*expectContinueReader); ok && !ecr.sawEOF {
++ if ecr, ok := w.req.Body.(*expectContinueReader); ok && !ecr.sawEOF.isSet() {
+ w.closeAfterReply = true
+ }
+
+@@ -1533,6 +1550,17 @@ func (w *response) write(lenData int, dataB []byte, dataS string) (n int, err er
+ }
+ return 0, ErrHijacked
+ }
++
++ if w.canWriteContinue.isSet() {
++ // Body reader wants to write 100 Continue but hasn't yet.
++ // Tell it not to. The store must be done while holding the lock
++ // because the lock makes sure that there is not an active write
++ // this very moment.
++ w.writeContinueMu.Lock()
++ w.canWriteContinue.setFalse()
++ w.writeContinueMu.Unlock()
++ }
++
+ if !w.wroteHeader {
+ w.WriteHeader(StatusOK)
+ }
+@@ -1823,6 +1851,7 @@ func (c *conn) serve(ctx context.Context) {
+ if req.ProtoAtLeast(1, 1) && req.ContentLength != 0 {
+ // Wrap the Body reader with one that replies on the connection
+ req.Body = &expectContinueReader{readCloser: req.Body, resp: w}
++ w.canWriteContinue.setTrue()
+ }
+ } else if req.Header.get("Expect") != "" {
+ w.sendExpectationFailed()
--- /dev/null
+From: Katie Hockman <katie@golang.org>
+Date: Tue, 4 Aug 2020 11:45:32 -0400
+Subject: Fix CVE-2020-16845
+
+Cherry-picked from upstream:
+https://github.com/golang/go/commit/027d7241ce050d197e7fabea3d541ffbe3487258
+---
+ src/encoding/binary/varint.go | 5 +++--
+ src/encoding/binary/varint_test.go | 18 ++++++++++++------
+ 2 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/src/encoding/binary/varint.go b/src/encoding/binary/varint.go
+index bcb8ac9..38af610 100644
+--- a/src/encoding/binary/varint.go
++++ b/src/encoding/binary/varint.go
+@@ -106,13 +106,13 @@ var overflow = errors.New("binary: varint overflows a 64-bit integer")
+ func ReadUvarint(r io.ByteReader) (uint64, error) {
+ var x uint64
+ var s uint
+- for i := 0; ; i++ {
++ for i := 0; i < MaxVarintLen64; i++ {
+ b, err := r.ReadByte()
+ if err != nil {
+ return x, err
+ }
+ if b < 0x80 {
+- if i > 9 || i == 9 && b > 1 {
++ if i == 9 && b > 1 {
+ return x, overflow
+ }
+ return x | uint64(b)<<s, nil
+@@ -120,6 +120,7 @@ func ReadUvarint(r io.ByteReader) (uint64, error) {
+ x |= uint64(b&0x7f) << s
+ s += 7
+ }
++ return x, overflow
+ }
+
+ // ReadVarint reads an encoded signed integer from r and returns it as an int64.
+diff --git a/src/encoding/binary/varint_test.go b/src/encoding/binary/varint_test.go
+index ca411ec..6ef4c99 100644
+--- a/src/encoding/binary/varint_test.go
++++ b/src/encoding/binary/varint_test.go
+@@ -121,21 +121,27 @@ func TestBufferTooSmall(t *testing.T) {
+ }
+ }
+
+-func testOverflow(t *testing.T, buf []byte, n0 int, err0 error) {
++func testOverflow(t *testing.T, buf []byte, x0 uint64, n0 int, err0 error) {
+ x, n := Uvarint(buf)
+ if x != 0 || n != n0 {
+ t.Errorf("Uvarint(%v): got x = %d, n = %d; want 0, %d", buf, x, n, n0)
+ }
+
+- x, err := ReadUvarint(bytes.NewReader(buf))
+- if x != 0 || err != err0 {
+- t.Errorf("ReadUvarint(%v): got x = %d, err = %s; want 0, %s", buf, x, err, err0)
++ r := bytes.NewReader(buf)
++ len := r.Len()
++ x, err := ReadUvarint(r)
++ if x != x0 || err != err0 {
++ t.Errorf("ReadUvarint(%v): got x = %d, err = %s; want %d, %s", buf, x, err, x0, err0)
++ }
++ if read := len - r.Len(); read > MaxVarintLen64 {
++ t.Errorf("ReadUvarint(%v): read more than MaxVarintLen64 bytes, got %d", buf, read)
+ }
+ }
+
+ func TestOverflow(t *testing.T) {
+- testOverflow(t, []byte{0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x2}, -10, overflow)
+- testOverflow(t, []byte{0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x1, 0, 0}, -13, overflow)
++ testOverflow(t, []byte{0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x2}, 0, -10, overflow)
++ testOverflow(t, []byte{0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x1, 0, 0}, 0, -13, overflow)
++ testOverflow(t, []byte{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, 1<<64-1, 0, overflow) // 11 bytes, should overflow
+ }
+
+ func TestNonCanonicalZero(t *testing.T) {
--- /dev/null
+From: Filippo Valsorda <filippo@golang.org>
+Date: Fri, 8 Jan 2021 03:56:58 +0100
+Subject: Fixes CVE-2021-3114
+
+Cherry-pick from upstream:
+https://github.com/golang/go/commit/d95ca9138026cbe40e0857d76a81a16d03230871
+---
+ src/crypto/elliptic/p224.go | 41 +++---
+ src/crypto/elliptic/p224_test.go | 277 ++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 298 insertions(+), 20 deletions(-)
+
+diff --git a/src/crypto/elliptic/p224.go b/src/crypto/elliptic/p224.go
+index 2ea63f3..8c76021 100644
+--- a/src/crypto/elliptic/p224.go
++++ b/src/crypto/elliptic/p224.go
+@@ -386,10 +386,11 @@ func p224Invert(out, in *p224FieldElement) {
+ // p224Contract converts a FieldElement to its unique, minimal form.
+ //
+ // On entry, in[i] < 2**29
+-// On exit, in[i] < 2**28
++// On exit, out[i] < 2**28 and out < p
+ func p224Contract(out, in *p224FieldElement) {
+ copy(out[:], in[:])
+
++ // First, carry the bits above 28 to the higher limb.
+ for i := 0; i < 7; i++ {
+ out[i+1] += out[i] >> 28
+ out[i] &= bottom28Bits
+@@ -397,10 +398,13 @@ func p224Contract(out, in *p224FieldElement) {
+ top := out[7] >> 28
+ out[7] &= bottom28Bits
+
++ // Use the reduction identity to carry the overflow.
++ //
++ // a + top * 2²²⁴ = a + top * 2⁹⁶ - top
+ out[0] -= top
+ out[3] += top << 12
+
+- // We may just have made out[i] negative. So we carry down. If we made
++ // We may just have made out[0] negative. So we carry down. If we made
+ // out[0] negative then we know that out[3] is sufficiently positive
+ // because we just added to it.
+ for i := 0; i < 3; i++ {
+@@ -425,13 +429,12 @@ func p224Contract(out, in *p224FieldElement) {
+ // There are two cases to consider for out[3]:
+ // 1) The first time that we eliminated top, we didn't push out[3] over
+ // 2**28. In this case, the partial carry chain didn't change any values
+- // and top is zero.
++ // and top is now zero.
+ // 2) We did push out[3] over 2**28 the first time that we eliminated top.
+- // The first value of top was in [0..16), therefore, prior to eliminating
+- // the first top, 0xfff1000 <= out[3] <= 0xfffffff. Therefore, after
+- // overflowing and being reduced by the second carry chain, out[3] <=
+- // 0xf000. Thus it cannot have overflowed when we eliminated top for the
+- // second time.
++ // The first value of top was in [0..2], therefore, after overflowing
++ // and being reduced by the second carry chain, out[3] <= 2<<12 - 1.
++ // In both cases, out[3] cannot have overflowed when we eliminated top for
++ // the second time.
+
+ // Again, we may just have made out[0] negative, so do the same carry down.
+ // As before, if we made out[0] negative then we know that out[3] is
+@@ -470,12 +473,11 @@ func p224Contract(out, in *p224FieldElement) {
+ bottom3NonZero |= bottom3NonZero >> 1
+ bottom3NonZero = uint32(int32(bottom3NonZero<<31) >> 31)
+
+- // Everything depends on the value of out[3].
+- // If it's > 0xffff000 and top4AllOnes != 0 then the whole value is >= p
+- // If it's = 0xffff000 and top4AllOnes != 0 and bottom3NonZero != 0,
+- // then the whole value is >= p
++ // Assuming top4AllOnes != 0, everything depends on the value of out[3].
++ // If it's > 0xffff000 then the whole value is > p
++ // If it's = 0xffff000 and bottom3NonZero != 0, then the whole value is >= p
+ // If it's < 0xffff000, then the whole value is < p
+- n := out[3] - 0xffff000
++ n := 0xffff000 - out[3]
+ out3Equal := n
+ out3Equal |= out3Equal >> 16
+ out3Equal |= out3Equal >> 8
+@@ -484,8 +486,8 @@ func p224Contract(out, in *p224FieldElement) {
+ out3Equal |= out3Equal >> 1
+ out3Equal = ^uint32(int32(out3Equal<<31) >> 31)
+
+- // If out[3] > 0xffff000 then n's MSB will be zero.
+- out3GT := ^uint32(int32(n) >> 31)
++ // If out[3] > 0xffff000 then n's MSB will be one.
++ out3GT := uint32(int32(n) >> 31)
+
+ mask := top4AllOnes & ((out3Equal & bottom3NonZero) | out3GT)
+ out[0] -= 1 & mask
+@@ -494,6 +496,15 @@ func p224Contract(out, in *p224FieldElement) {
+ out[5] -= 0xfffffff & mask
+ out[6] -= 0xfffffff & mask
+ out[7] -= 0xfffffff & mask
++
++ // Do one final carry down, in case we made out[0] negative. One of
++ // out[0..3] needs to be positive and able to absorb the -1 or the value
++ // would have been < p, and the subtraction wouldn't have happened.
++ for i := 0; i < 3; i++ {
++ mask := uint32(int32(out[i]) >> 31)
++ out[i] += (1 << 28) & mask
++ out[i+1] -= 1 & mask
++ }
+ }
+
+ // Group element functions.
+diff --git a/src/crypto/elliptic/p224_test.go b/src/crypto/elliptic/p224_test.go
+index 8b4fa04..c3141b6 100644
+--- a/src/crypto/elliptic/p224_test.go
++++ b/src/crypto/elliptic/p224_test.go
+@@ -6,7 +6,11 @@ package elliptic
+
+ import (
+ "math/big"
++ "math/bits"
++ "math/rand"
++ "reflect"
+ "testing"
++ "testing/quick"
+ )
+
+ var toFromBigTests = []string{
+@@ -21,16 +25,16 @@ func p224AlternativeToBig(in *p224FieldElement) *big.Int {
+ ret := new(big.Int)
+ tmp := new(big.Int)
+
+- for i := uint(0); i < 8; i++ {
++ for i := len(in) - 1; i >= 0; i-- {
++ ret.Lsh(ret, 28)
+ tmp.SetInt64(int64(in[i]))
+- tmp.Lsh(tmp, 28*i)
+ ret.Add(ret, tmp)
+ }
+- ret.Mod(ret, p224.P)
++ ret.Mod(ret, P224().Params().P)
+ return ret
+ }
+
+-func TestToFromBig(t *testing.T) {
++func TestP224ToFromBig(t *testing.T) {
+ for i, test := range toFromBigTests {
+ n, _ := new(big.Int).SetString(test, 16)
+ var x p224FieldElement
+@@ -41,7 +45,270 @@ func TestToFromBig(t *testing.T) {
+ }
+ q := p224AlternativeToBig(&x)
+ if n.Cmp(q) != 0 {
+- t.Errorf("#%d: %x != %x (alternative)", i, n, m)
++ t.Errorf("#%d: %x != %x (alternative)", i, n, q)
+ }
+ }
+ }
++
++// quickCheckConfig32 will make each quickcheck test run (32 * -quickchecks)
++// times. The default value of -quickchecks is 100.
++var quickCheckConfig32 = &quick.Config{MaxCountScale: 32}
++
++// weirdLimbs can be combined to generate a range of edge-case field elements.
++var weirdLimbs = [...]uint32{
++ 0, 1, (1 << 29) - 1,
++ (1 << 12), (1 << 12) - 1,
++ (1 << 28), (1 << 28) - 1,
++}
++
++func generateLimb(rand *rand.Rand) uint32 {
++ const bottom29Bits = 0x1fffffff
++ n := rand.Intn(len(weirdLimbs) + 3)
++ switch n {
++ case len(weirdLimbs):
++ // Random value.
++ return uint32(rand.Int31n(1 << 29))
++ case len(weirdLimbs) + 1:
++ // Sum of two values.
++ k := generateLimb(rand) + generateLimb(rand)
++ return k & bottom29Bits
++ case len(weirdLimbs) + 2:
++ // Difference of two values.
++ k := generateLimb(rand) - generateLimb(rand)
++ return k & bottom29Bits
++ default:
++ return weirdLimbs[n]
++ }
++}
++
++func (p224FieldElement) Generate(rand *rand.Rand, size int) reflect.Value {
++ return reflect.ValueOf(p224FieldElement{
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ generateLimb(rand),
++ })
++}
++
++func isInBounds(x *p224FieldElement) bool {
++ return bits.Len32(x[0]) <= 29 &&
++ bits.Len32(x[1]) <= 29 &&
++ bits.Len32(x[2]) <= 29 &&
++ bits.Len32(x[3]) <= 29 &&
++ bits.Len32(x[4]) <= 29 &&
++ bits.Len32(x[5]) <= 29 &&
++ bits.Len32(x[6]) <= 29 &&
++ bits.Len32(x[7]) <= 29
++}
++
++func TestP224Mul(t *testing.T) {
++ mulMatchesBigInt := func(a, b, out p224FieldElement) bool {
++ var tmp p224LargeFieldElement
++ p224Mul(&out, &a, &b, &tmp)
++
++ exp := new(big.Int).Mul(p224AlternativeToBig(&a), p224AlternativeToBig(&b))
++ exp.Mod(exp, P224().Params().P)
++ got := p224AlternativeToBig(&out)
++ if exp.Cmp(got) != 0 || !isInBounds(&out) {
++ t.Logf("a = %x", a)
++ t.Logf("b = %x", b)
++ t.Logf("p224Mul(a, b) = %x = %v", out, got)
++ t.Logf("a * b = %v", exp)
++ return false
++ }
++
++ return true
++ }
++
++ a := p224FieldElement{0xfffffff, 0xfffffff, 0xf00ffff, 0x20f, 0x0, 0x0, 0x0, 0x0}
++ b := p224FieldElement{1, 0, 0, 0, 0, 0, 0, 0}
++ if !mulMatchesBigInt(a, b, p224FieldElement{}) {
++ t.Fail()
++ }
++
++ if err := quick.Check(mulMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224Square(t *testing.T) {
++ squareMatchesBigInt := func(a, out p224FieldElement) bool {
++ var tmp p224LargeFieldElement
++ p224Square(&out, &a, &tmp)
++
++ exp := p224AlternativeToBig(&a)
++ exp.Mul(exp, exp)
++ exp.Mod(exp, P224().Params().P)
++ got := p224AlternativeToBig(&out)
++ if exp.Cmp(got) != 0 || !isInBounds(&out) {
++ t.Logf("a = %x", a)
++ t.Logf("p224Square(a, b) = %x = %v", out, got)
++ t.Logf("a * a = %v", exp)
++ return false
++ }
++
++ return true
++ }
++
++ if err := quick.Check(squareMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224Add(t *testing.T) {
++ addMatchesBigInt := func(a, b, out p224FieldElement) bool {
++ p224Add(&out, &a, &b)
++
++ exp := new(big.Int).Add(p224AlternativeToBig(&a), p224AlternativeToBig(&b))
++ exp.Mod(exp, P224().Params().P)
++ got := p224AlternativeToBig(&out)
++ if exp.Cmp(got) != 0 {
++ t.Logf("a = %x", a)
++ t.Logf("b = %x", b)
++ t.Logf("p224Add(a, b) = %x = %v", out, got)
++ t.Logf("a + b = %v", exp)
++ return false
++ }
++
++ return true
++ }
++
++ if err := quick.Check(addMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224Reduce(t *testing.T) {
++ reduceMatchesBigInt := func(a p224FieldElement) bool {
++ out := a
++ // TODO: generate higher values for functions like p224Reduce that are
++ // expected to work with higher input bounds.
++ p224Reduce(&out)
++
++ exp := p224AlternativeToBig(&a)
++ got := p224AlternativeToBig(&out)
++ if exp.Cmp(got) != 0 || !isInBounds(&out) {
++ t.Logf("a = %x = %v", a, exp)
++ t.Logf("p224Reduce(a) = %x = %v", out, got)
++ return false
++ }
++
++ return true
++ }
++
++ if err := quick.Check(reduceMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224Contract(t *testing.T) {
++ contractMatchesBigInt := func(a, out p224FieldElement) bool {
++ p224Contract(&out, &a)
++
++ exp := p224AlternativeToBig(&a)
++ got := p224AlternativeToBig(&out)
++ if exp.Cmp(got) != 0 {
++ t.Logf("a = %x = %v", a, exp)
++ t.Logf("p224Contract(a) = %x = %v", out, got)
++ return false
++ }
++
++ // Check that out < P.
++ for i := range p224P {
++ k := 8 - i - 1
++ if out[k] > p224P[k] {
++ t.Logf("p224Contract(a) = %x", out)
++ return false
++ }
++ if out[k] < p224P[k] {
++ return true
++ }
++ }
++ t.Logf("p224Contract(a) = %x", out)
++ return false
++ }
++
++ if !contractMatchesBigInt(p224P, p224FieldElement{}) {
++ t.Error("p224Contract(p) is broken")
++ }
++ pMinus1 := p224FieldElement{0, 0, 0, 0xffff000, 0xfffffff, 0xfffffff, 0xfffffff, 0xfffffff}
++ if !contractMatchesBigInt(pMinus1, p224FieldElement{}) {
++ t.Error("p224Contract(p - 1) is broken")
++ }
++ // Check that we can handle input above p, but lowest limb zero.
++ a := p224FieldElement{0, 1, 0, 0xffff000, 0xfffffff, 0xfffffff, 0xfffffff, 0xfffffff}
++ if !contractMatchesBigInt(a, p224FieldElement{}) {
++ t.Error("p224Contract(p + 2²⁸) is broken")
++ }
++ // Check that we can handle input above p, but lowest three limbs zero.
++ b := p224FieldElement{0, 0, 0, 0xffff001, 0xfffffff, 0xfffffff, 0xfffffff, 0xfffffff}
++ if !contractMatchesBigInt(b, p224FieldElement{}) {
++ t.Error("p224Contract(p + 2⁸⁴) is broken")
++ }
++
++ if err := quick.Check(contractMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224IsZero(t *testing.T) {
++ if got := p224IsZero(&p224FieldElement{}); got != 1 {
++ t.Errorf("p224IsZero(0) = %d, expected 1", got)
++ }
++ if got := p224IsZero((*p224FieldElement)(&p224P)); got != 1 {
++ t.Errorf("p224IsZero(p) = %d, expected 1", got)
++ }
++ if got := p224IsZero(&p224FieldElement{1}); got != 0 {
++ t.Errorf("p224IsZero(1) = %d, expected 0", got)
++ }
++
++ isZeroMatchesBigInt := func(a p224FieldElement) bool {
++ isZero := p224IsZero(&a)
++
++ big := p224AlternativeToBig(&a)
++ if big.Sign() == 0 && isZero != 1 {
++ return false
++ }
++ if big.Sign() != 0 && isZero != 0 {
++ return false
++ }
++ return true
++ }
++
++ if err := quick.Check(isZeroMatchesBigInt, quickCheckConfig32); err != nil {
++ t.Error(err)
++ }
++}
++
++func TestP224Invert(t *testing.T) {
++ var out p224FieldElement
++
++ p224Invert(&out, &p224FieldElement{})
++ if got := p224IsZero(&out); got != 1 {
++ t.Errorf("p224Invert(0) = %x, expected 0", out)
++ }
++
++ p224Invert(&out, (*p224FieldElement)(&p224P))
++ if got := p224IsZero(&out); got != 1 {
++ t.Errorf("p224Invert(p) = %x, expected 0", out)
++ }
++
++ p224Invert(&out, &p224FieldElement{1})
++ p224Contract(&out, &out)
++ if out != (p224FieldElement{1}) {
++ t.Errorf("p224Invert(1) = %x, expected 1", out)
++ }
++
++ var tmp p224LargeFieldElement
++ a := p224FieldElement{1, 2, 3, 4, 5, 6, 7, 8}
++ p224Invert(&out, &a)
++ p224Mul(&out, &out, &a, &tmp)
++ p224Contract(&out, &out)
++ if out != (p224FieldElement{1}) {
++ t.Errorf("p224Invert(a) * a = %x, expected 1", out)
++ }
++}
--- /dev/null
+0001-Reproducible-BUILD_PATH_PREFIX_MAP.patch
+0002-Fix-Lintian-warnings-about-wrong-interpreter-path.patch
+0003-arm64-arm64asm-recognise-new-ssbb-pssbb-mnemonics-fr.patch
+0004-fix-Fstatat-by-using-fillStat_t-on-linux-mips64x.patch
+0005-Fix-CVE-2019-9512-and-CVE-2019-9514.patch
+0006-Fix-CVE-2019-14809.patch
+0007-Fix-CVE-2019-16276.patch
+0008-Fix-CVE-2019-17596.patch
+0009-Fix-CVE-2020-7919.patch
+0010-Fix-CVE-2020-15586.patch
+0011-Fix-CVE-2020-16845.patch
+0012-Fix-CVE-2021-3114.patch
--- /dev/null
+#!/usr/bin/make -f
+# This file is in the public domain.
+# You may freely use, modify, distribute, and relicense it.
+
+export GOVER := $(shell perl -w -mDpkg::Version -e 'Dpkg::Version->new(`dpkg-parsechangelog -SVersion`)->version() =~ /^([0-9]+\.[0-9]+)/ && print("$$1\n")')
+
+export GOROOT := $(CURDIR)
+export GOROOT_FINAL := /usr/lib/go-$(GOVER)
+
+# We need DEB_HOST_ARCH, so include the needed makefile snippet
+include /usr/share/dpkg/architecture.mk
+
+RUN_TESTS := true
+# armel: ???
+# ppc64: ???
+ifneq (,$(filter armel ppc64,$(DEB_HOST_ARCH)))
+ RUN_TESTS := false
+endif
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+ RUN_TESTS := false
+endif
+
+%:
+ +dh $@ $(opt_no_act)
+
+gencontrol:
+ for file in control gbp.conf source/lintian-overrides watch; do \
+ { \
+ echo '#'; \
+ echo '# WARNING: "debian/'$$file'" is generated via "debian/rules gencontrol" (sourced from "debian/'$$file'.in")'; \
+ echo '#'; \
+ echo; \
+ sed -e 's/X.Y/$(GOVER)/g' debian/$$file.in; \
+ } > debian/$$file; \
+ done
+
+override_dh_auto_clean: gencontrol
+ # remove autogenerated files
+ rm -f \
+ src/cmd/cgo/zdefaultcc.go \
+ src/cmd/go/zdefaultcc.go \
+ src/cmd/internal/obj/zbootstrap.go \
+ src/runtime/internal/sys/zversion.go
+ # remove built objects
+ rm -rf bin pkg
+ @set -e; cd debian; for x in golang-X.Y-*; do \
+ rm -f -v golang-$(GOVER)-$${x##golang-X.Y-}; \
+ done
+
+override_dh_prep:
+ dh_prep
+ @set -e; cd debian; for x in golang-X.Y-*; do \
+ sed -e 's/X.Y/$(GOVER)/g' $$x > golang-$(GOVER)-$${x##golang-X.Y-}; \
+ done
+
+
+override_dh_auto_test-arch:
+ifeq (true, $(RUN_TESTS))
+ set -ex; \
+ cd src; \
+ export PATH="$(GOROOT)/bin:$$PATH"; \
+ eval "$$(go tool dist env)"; \
+ bash run.bash -k -no-rebuild;
+ # -k keep going even when error occurred
+ # -no-rebuild don't rebuild std and cmd packages
+
+ # On linux/amd64 run.bash installs some race enabled standard library
+ # packages. Delete them again to avoid accidentally including them in
+ # the package.
+ set -ex; \
+ export PATH="$(GOROOT)/bin:$$PATH"; \
+ eval "$$(go tool dist env)"; \
+ rm -rf "$(GOROOT)/pkg/$${GOOS}_$${GOARCH}_race/"
+else
+ # skip the tests on platforms where they fail
+endif
+ # Remove GOCACHE files
+ rm -rf pkg/obj
+
+override_dh_compress-indep:
+ dh_compress -Xusr/share/doc/golang-$(GOVER)-doc/html -Xusr/share/doc/golang-$(GOVER)-doc/favicon.ico
+
+override_dh_install-indep:
+ dh_install --fail-missing
+
+override_dh_install-arch:
+ dh_install --fail-missing
+ # Remove Plan9 rc(1) scripts
+ find debian/golang-$(GOVER)-src/usr/share/go-$(GOVER)/src -type f -name '*.rc' -delete
+ # Remove empty /usr/share/go-$(GOVER)/src from golang-$(GOVER)-go, it is provided by golang-$(GOVER)-src
+ find debian/golang-$(GOVER)-go/usr/share/go-$(GOVER)/src -type d -delete
+ # Touch built and installed files and directories to have same timestamp
+ touch debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg
+ find debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg -exec touch -r $(CURDIR)/debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg {} \;
+ # Make two scripts executable which have been missed by upstream
+ chmod a+x debian/golang-$(GOVER)-src/usr/share/go-$(GOVER)/src/cmp.bash
+ chmod a+x debian/golang-$(GOVER)-src/usr/share/go-$(GOVER)/src/runtime/mknacl.sh
+
+override_dh_strip:
+ dh_strip -Xtestdata
+
+override_dh_strip_nondeterminism:
+ dh_strip_nondeterminism -Xtestdata
+
+override_dh_shlibdeps:
+ dh_shlibdeps -Xtestdata -Xtest
+
+override_dh_auto_build-arch:
+ [ -f VERSION ] || echo "debian snapshot +$$(dpkg-parsechangelog -SVersion)" > VERSION
+ export GOROOT_BOOTSTRAP=$$(env -i go env GOROOT) \
+ && cd src \
+ && $(CURDIR)/debian/helpers/goenv.sh \
+ bash ./make.bash --no-banner
+
+opt_no_act :=
+ifneq (,$(findstring n,$(MAKEFLAGS)))
+ opt_no_act := --no-act
+endif
--- /dev/null
+3.0 (quilt)
--- /dev/null
+#
+# WARNING: "debian/source/lintian-overrides" is generated via "debian/rules gencontrol" (sourced from "debian/source/lintian-overrides.in")
+#
+
+golang-1.11 source: source-contains-prebuilt-binary src/cmd/internal/buildid/testdata/a.elf
+golang-1.11 source: source-contains-prebuilt-binary src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/cycle.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-clang.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-gcc.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/ranges.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/split.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf
+golang-1.11 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf4
+golang-1.11 source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-1.11 source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-amd64-linux-exec
+golang-1.11 source: source-contains-prebuilt-binary src/debug/elf/testdata/*.obj
+golang-1.11 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/escapeinfo.gox
+golang-1.11 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/time.gox
+golang-1.11 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/unicode.gox
+golang-1.11 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32
+golang-1.11 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32be
+golang-1.11 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64
+golang-1.11 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64be
+golang-1.11 source: source-contains-prebuilt-binary src/runtime/race/*.syso
+golang-1.11 source: source-contains-prebuilt-windows-binary src/cmd/internal/buildid/testdata/a.pe
+golang-1.11 source: source-contains-prebuilt-windows-binary src/debug/dwarf/testdata/line-gcc-win.bin
+golang-1.11 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-exec
+golang-1.11 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-no-symbols-exec
+golang-1.11 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-amd64-mingw-exec
+
+golang-1.11 source: source-is-missing src/runtime/race/*.syso
+golang-1.11 source: source-is-missing src/cmd/internal/buildid/testdata/a.elf
+golang-1.11 source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
+golang-1.11 source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
+
+# All these files are compiled from src/debug/elf/testdata/hello.c
+# with various toolchain and options to be used as test data for the
+# elf parser.
+golang-1.11 source: source-is-missing src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-1.11 source: source-is-missing src/debug/elf/testdata/gcc-amd64-linux-exec
+golang-1.11 source: source-is-missing src/debug/elf/testdata/*.obj
+
+# These files are compiled from src/debug/dwarf/testdata/line2.c with clang and gcc.
+golang-1.11 source: source-is-missing src/debug/dwarf/testdata/line-clang.elf
+golang-1.11 source: source-is-missing src/debug/dwarf/testdata/line-gcc.elf
+
+# Compiled from src/debug/dwarf/testdata/typedef.c with dwarf version 4.
+golang-1.11 source: source-is-missing src/debug/dwarf/testdata/typedef.elf4
+
+golang-1.11 source: source-is-missing src/runtime/pprof/testdata/test*
+golang-1.11 source: source-is-missing src/go/internal/gccgoimporter/testdata/*.gox
+
+# This is not a typo.
+golang-1.11 source: unknown-file-in-debian-source lintian-overrides.in
--- /dev/null
+golang-X.Y source: source-contains-prebuilt-binary src/cmd/internal/buildid/testdata/a.elf
+golang-X.Y source: source-contains-prebuilt-binary src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/cycle.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-clang.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-gcc.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/ranges.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/split.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf
+golang-X.Y source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf4
+golang-X.Y source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-X.Y source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-amd64-linux-exec
+golang-X.Y source: source-contains-prebuilt-binary src/debug/elf/testdata/*.obj
+golang-X.Y source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/escapeinfo.gox
+golang-X.Y source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/time.gox
+golang-X.Y source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/unicode.gox
+golang-X.Y source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32
+golang-X.Y source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32be
+golang-X.Y source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64
+golang-X.Y source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64be
+golang-X.Y source: source-contains-prebuilt-binary src/runtime/race/*.syso
+golang-X.Y source: source-contains-prebuilt-windows-binary src/cmd/internal/buildid/testdata/a.pe
+golang-X.Y source: source-contains-prebuilt-windows-binary src/debug/dwarf/testdata/line-gcc-win.bin
+golang-X.Y source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-exec
+golang-X.Y source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-no-symbols-exec
+golang-X.Y source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-amd64-mingw-exec
+
+golang-X.Y source: source-is-missing src/runtime/race/*.syso
+golang-X.Y source: source-is-missing src/cmd/internal/buildid/testdata/a.elf
+golang-X.Y source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
+golang-X.Y source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
+
+# All these files are compiled from src/debug/elf/testdata/hello.c
+# with various toolchain and options to be used as test data for the
+# elf parser.
+golang-X.Y source: source-is-missing src/debug/elf/testdata/gcc-386-freebsd-exec
+golang-X.Y source: source-is-missing src/debug/elf/testdata/gcc-amd64-linux-exec
+golang-X.Y source: source-is-missing src/debug/elf/testdata/*.obj
+
+# These files are compiled from src/debug/dwarf/testdata/line2.c with clang and gcc.
+golang-X.Y source: source-is-missing src/debug/dwarf/testdata/line-clang.elf
+golang-X.Y source: source-is-missing src/debug/dwarf/testdata/line-gcc.elf
+
+# Compiled from src/debug/dwarf/testdata/typedef.c with dwarf version 4.
+golang-X.Y source: source-is-missing src/debug/dwarf/testdata/typedef.elf4
+
+golang-X.Y source: source-is-missing src/runtime/pprof/testdata/test*
+golang-X.Y source: source-is-missing src/go/internal/gccgoimporter/testdata/*.gox
+
+# This is not a typo.
+golang-X.Y source: unknown-file-in-debian-source lintian-overrides.in
--- /dev/null
+#
+# WARNING: "debian/watch" is generated via "debian/rules gencontrol" (sourced from "debian/watch.in")
+#
+
+version=3
+opts=\
+uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
+ https://golang.org/dl/ .*/go(1.11\S*)\.src\.tar\.gz
--- /dev/null
+version=3
+opts=\
+uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
+ https://golang.org/dl/ .*/go(X.Y\S*)\.src\.tar\.gz