golang-1.15 (1.15.9-5) unstable; urgency=medium
authorShengjing Zhu <zhsj@debian.org>
Sat, 5 Jun 2021 11:36:34 +0000 (12:36 +0100)
committerShengjing Zhu <zhsj@debian.org>
Sat, 5 Jun 2021 11:36:34 +0000 (12:36 +0100)
  * Team upload.
  * Backport patches for CVE-2021-33195 CVE-2021-33197 CVE-2021-33198
    + CVE-2021-33195: net: Lookup functions may return invalid host names
    + CVE-2021-33197: net/http/httputil: ReverseProxy forwards Connection
      headers if first one is empty
    + CVE-2021-33198: math/big: (*Rat).SetString with "1.770p02041010010011001001"
      crashes with "makeslice: len out of range"

[dgit import unpatched golang-1.15 1.15.9-5]

39 files changed:
1  2 
debian/changelog
debian/control
debian/control.in
debian/copyright
debian/docs
debian/gbp.conf
debian/gbp.conf.in
debian/golang-X.Y-doc.dirs
debian/golang-X.Y-doc.install
debian/golang-X.Y-doc.links
debian/golang-X.Y-doc.lintian-overrides
debian/golang-X.Y-go.dirs
debian/golang-X.Y-go.install
debian/golang-X.Y-go.links
debian/golang-X.Y-go.lintian-overrides
debian/golang-X.Y-go.postinst
debian/golang-X.Y-src.install
debian/golang-X.Y-src.lintian-overrides
debian/helpers/goenv.sh
debian/patches/0001-Disable-test-for-UserHomeDir.patch
debian/patches/0002-Fix-Lintian-warnings-about-wrong-interpreter-path.patch
debian/patches/0003-cmd-go-cmd-cgo-pass-mfp32-and-mhard-soft-float-to-MI.patch
debian/patches/0004-cmd-dist-fix-build-failure-of-misc-cgo-test-on-arm64.patch
debian/patches/0005-cmd-dist-increase-default-timeout-scale-for-arm.patch
debian/patches/0006-skip-userns-test-in-schroot-as-well.patch
debian/patches/0007-CVE-2021-31525.patch
debian/patches/0008-CVE-2021-33196.patch
debian/patches/0009-CVE-2021-33195-1.patch
debian/patches/0010-CVE-2021-33195-2.patch
debian/patches/0011-CVE-2021-33197.patch
debian/patches/0012-CVE-2021-33198.patch
debian/patches/series
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/source/lintian-overrides.in
debian/upstream/signing-key.asc
debian/watch
debian/watch.in

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..16f67c41e2464404613a3923ea9a891945cee577
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1609 @@@
++golang-1.15 (1.15.9-5) unstable; urgency=medium
++
++  * Team upload.
++  * Backport patches for CVE-2021-33195 CVE-2021-33197 CVE-2021-33198
++    + CVE-2021-33195: net: Lookup functions may return invalid host names
++    + CVE-2021-33197: net/http/httputil: ReverseProxy forwards Connection
++      headers if first one is empty
++    + CVE-2021-33198: math/big: (*Rat).SetString with "1.770p02041010010011001001"
++      crashes with "makeslice: len out of range"
++
++ -- Shengjing Zhu <zhsj@debian.org>  Sat, 05 Jun 2021 19:36:34 +0800
++
++golang-1.15 (1.15.9-4) unstable; urgency=medium
++
++  * Team upload.
++  * Backport patch for CVE-2021-33196
++    archive/zip: malformed archive may cause panic or memory exhaustion
++    https://github.com/golang/go/issues/46396
++
++ -- Shengjing Zhu <zhsj@debian.org>  Wed, 02 Jun 2021 10:56:03 +0800
++
++golang-1.15 (1.15.9-3) unstable; urgency=medium
++
++  * Fix failed TestDependencyVersionsConsistent test.
++    When dpkg-source unpack tarball, it produces .pc dir in source dir.
++    The last patch 0007-CVE-2021-31525.patch causes
++    go.mod/go.sum/modules.txt files in .pc dir with old content.
++    Then TestDependencyVersionsConsistent picks these old content in .pc
++    dir, results error:
++    --- FAIL: TestDependencyVersionsConsistent (0.00s)
++        moddeps_test.go:217: Modules within GOROOT require different versions of golang.org/x/net.
++        moddeps_test.go:229: std      requires v0.0.0-20201008223702-a5fa9d4b7c91
++        moddeps_test.go:229: std      requires v0.0.0-20210428183841-261fb518b1ed
++
++ -- Shengjing Zhu <zhsj@debian.org>  Sat, 08 May 2021 14:22:26 +0800
++
++golang-1.15 (1.15.9-2) unstable; urgency=medium
++
++  * Team upload.
++  * Backport patch for CVE-2021-31525
++    net/http: ReadRequest can stack overflow due to recursion with very
++    large headers. https://github.com/golang/go/issues/45711
++
++ -- Shengjing Zhu <zhsj@debian.org>  Sat, 08 May 2021 02:45:35 +0800
++
++golang-1.15 (1.15.9-1) unstable; urgency=medium
++
++  * Team upload.
++  * New upstream version 1.15.9
++    + encoding/xml: infinite loop when using `xml.NewTokenDecoder` with a
++      custom `TokenReader`. CVE-2021-27918
++
++ -- Shengjing Zhu <zhsj@debian.org>  Thu, 11 Mar 2021 23:43:18 +0800
++
++golang-1.15 (1.15.8-4) unstable; urgency=medium
++
++  * Team upload.
++  * Revert "0007-cmd-link-check-CGO_CFLAGS-for-non-g-I-O-options-befo.patch"
++    This patch causes:
++    1. unexpected error message, which makes some packages FTBFS
++       loadinternal: cannot find runtime/cgo
++       Closes: #982701, #982714, #982720, #982724, #982734
++    2. unable to build package on riscv64
++       external linking not supported for linux/riscv64
++
++ -- Shengjing Zhu <zhsj@debian.org>  Mon, 15 Feb 2021 23:19:39 +0800
++
++golang-1.15 (1.15.8-3) unstable; urgency=high
++
++  * Re-upload with urgency=high due to impending freeze.
++
++ -- Michael Hudson-Doyle <mwhudson@debian.org>  Wed, 10 Feb 2021 12:58:55 +1300
++
++golang-1.15 (1.15.8-2) unstable; urgency=medium
++
++  * d/patches/0007-cmd-link-check-CGO_CFLAGS-for-non-g-I-O-options-befo.patch:
++    disable internal linking when dynamically linking and CGO_CFLAGS contains
++    flags that might make host object files that the internal linkers ELF
++    reader does not support. This fixes lots of package builds when LTO is
++    enabled by default via dpkg-buildflags.
++
++ -- Michael Hudson-Doyle <mwhudson@debian.org>  Wed, 10 Feb 2021 09:53:36 +1300
++
++golang-1.15 (1.15.8-1) unstable; urgency=medium
++
++  * Team upload.
++  * New upstream version 1.15.8
++  * Skip userns tests in schroot.
++    When schroot is using overlayfs, it fails to detect it as chroot.
++
++ -- Shengjing Zhu <zhsj@debian.org>  Fri, 05 Feb 2021 20:51:44 +0800
++
++golang-1.15 (1.15.7-1) unstable; urgency=medium
++
++  * Team upload.
++  * New upstream version 1.15.7
++    + crypto/elliptic: incorrect operations on the P-224 curve
++      CVE-2021-3114
++
++ -- Shengjing Zhu <zhsj@debian.org>  Sat, 23 Jan 2021 01:59:14 +0800
++
++golang-1.15 (1.15.6-1) unstable; urgency=medium
++
++  * Team upload.
++
++  [ Balint Reczey ]
++  * cmd/dist: increase default timeout scale for arm (LP: #1893640)
++
++  [ Shengjing Zhu ]
++  * New upstream version 1.15.6
++  * Drop CGO_LDFLAGS patch, fixed in go1.15.6
++
++ -- Shengjing Zhu <zhsj@debian.org>  Sun, 13 Dec 2020 18:27:59 +0800
++
++golang-1.15 (1.15.5-2) unstable; urgency=medium
++
++  * Team upload.
++  * Backport patch to fix usability regression in go1.15.5
++    cmd/go: allow flags in CGO_LDFLAGS environment variable not in security allowlist
++    https://github.com/golang/go/issues/42567
++
++ -- Shengjing Zhu <zhsj@debian.org>  Wed, 18 Nov 2020 00:46:08 +0800
++
++golang-1.15 (1.15.5-1) unstable; urgency=medium
++
++  * New upstream version 1.15.5.
++
++ -- Michael Hudson-Doyle <mwhudson@debian.org>  Fri, 13 Nov 2020 09:40:16 +1300
++
++golang-1.15 (1.15.4-1) unstable; urgency=medium
++
++  * New upstream version 1.15.4.
++
++ -- Michael Hudson-Doyle <mwhudson@debian.org>  Tue, 10 Nov 2020 10:48:51 +1300
++
++golang-1.15 (1.15.2-1) unstable; urgency=medium
++
++  * New upstream version 1.15.2.
++
++ -- Michael Hudson-Doyle <michael.hudson@ubuntu.com>  Tue, 15 Sep 2020 09:51:42 +1200
++
++golang-1.15 (1.15-2) unstable; urgency=medium
++
++  * Team upload.
++  * Backport fix for arm64 cgo test
++    https://go-review.googlesource.com/c/go/+/237858
++
++ -- Shengjing Zhu <zhsj@debian.org>  Thu, 27 Aug 2020 13:44:43 +0800
++
++golang-1.15 (1.15-1) unstable; urgency=medium
++
++  * New upstream version 1.15
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Tue, 25 Aug 2020 19:59:24 +0200
++
++golang-1.15 (1.15~rc2-1) unstable; urgency=medium
++
++  * New upstream version 1.15~rc2
++    - encoding/binary: ReadUvarint and ReadVarint can read an unlimited
++      number of bytes from invalid inputs. CVE-2020-16845
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sun, 09 Aug 2020 16:12:45 +0200
++
++golang-1.15 (1.15~rc1-1) unstable; urgency=medium
++
++  [ Shengjing Zhu ]
++  * Backport patches to fix the FPU ABI problems for mips32
++    https://go-review.googlesource.com/c/go/+/237058/
++
++  [ Dr. Tobias Quathamer ]
++  * New upstream version 1.15~rc1
++    - Refresh patches
++    - net/http: Expect 100-continue panics in httputil.ReverseProxy.
++      See https://github.com/golang/go/issues/34902, fixes CVE-2020-15586
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Mon, 03 Aug 2020 21:22:44 +0200
++
++golang-1.15 (1.15~beta1-2) unstable; urgency=medium
++
++  * Source-only upload.
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Wed, 17 Jun 2020 17:17:08 +0200
++
++golang-1.15 (1.15~beta1-1) unstable; urgency=medium
++
++  * New upstream major version.
++    - Drop patch to fix FTBFS on $HOME managed with git, has been
++      applied upstream.
++    - Refresh remaining patches
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Mon, 15 Jun 2020 21:40:49 +0200
++
++golang-1.14 (1.14.4-1) unstable; urgency=medium
++
++  * New upstream version 1.14.4
++    - Refresh patches
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Mon, 15 Jun 2020 21:19:41 +0200
++
++golang-1.14 (1.14.3-2) unstable; urgency=medium
++
++  * Increase the test timeout that made some builds succeed
++    there on slow hardware (such as emulated riscv64).
++    Thanks to Gianfranco Costamagna (Closes: #960759)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sat, 16 May 2020 14:32:28 +0200
++
++golang-1.14 (1.14.3-1) unstable; urgency=medium
++
++  * New upstream version 1.14.3
++  * Use debhelper v13
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 15 May 2020 15:24:43 +0200
++
++golang-1.14 (1.14.2-1) unstable; urgency=medium
++
++  * New upstream version 1.14.2
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 10 Apr 2020 14:34:21 +0200
++
++golang-1.14 (1.14.1-1) unstable; urgency=medium
++
++  * New upstream version 1.14.1
++    - Add new patch to fix FTBFS on $HOME managed with git.
++      Thanks to Guillem Jover <gjover@sipwise.com> (Closes: #953276)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sat, 21 Mar 2020 14:01:31 +0100
++
++golang-1.14 (1.14-2) unstable; urgency=medium
++
++  * Fix FTBFS if built twice in a row.
++    Some paths of autogenerated files have been changed upstream,
++    so that the removal of those files after the build did no
++    longer succeed.
++    Thanks to Guillem Jover (Closes: #953277)
++  * Update Standards-Version to 4.5.0, no changes needed
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Mon, 09 Mar 2020 14:00:39 +0100
++
++golang-1.14 (1.14-1) unstable; urgency=medium
++
++  * New upstream version 1.14
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Tue, 25 Feb 2020 21:33:50 +0100
++
++golang-1.14 (1.14~rc1-1) unstable; urgency=medium
++
++  * New upstream version 1.14~rc1
++    - Fixes CVE-2020-7919
++  * Add Breaks: dh-golang (<< 1.43~) to golang-go.
++    Thanks to Pirate Praveen <praveen@onenetbeyond.org>
++  * Update upstream's signing key
++  * Add support for riscv64.
++    Thanks to Aurelien Jarno <aurel32@debian.org> (Closes: #950517)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Wed, 05 Feb 2020 23:54:28 +0100
++
++golang-1.14 (1.14~beta1-2) unstable; urgency=medium
++
++  * Source-only upload.
++  * Add two more lintian overrides for testdata
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 26 Dec 2019 20:11:44 +0100
++
++golang-1.14 (1.14~beta1-1) unstable; urgency=medium
++
++  * New upstream major version.
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Wed, 25 Dec 2019 21:27:46 +0100
++
++golang-1.13 (1.13.5-1) unstable; urgency=medium
++
++  * New upstream version 1.13.5
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 05 Dec 2019 12:27:21 +0100
++
++golang-1.13 (1.13.4-1) unstable; urgency=medium
++
++  * New upstream version 1.13.4
++    - Refresh patches
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 01 Nov 2019 21:07:16 +0100
++
++golang-1.13 (1.13.3-1) unstable; urgency=medium
++
++  * New upstream version 1.13.3
++    - Refresh patch
++    - crypto/dsa: invalid public key causes panic in dsa.Verify.
++      Fixes CVE-2019-17596. Closes: #942628
++  * Update Standards-Version to 4.4.1, no changes needed
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sat, 19 Oct 2019 13:30:36 +0200
++
++golang-1.13 (1.13.1-1) unstable; urgency=medium
++
++  * New upstream version 1.13.1
++    - net/textproto: don't normalize headers with spaces before the colon.
++      Fixes CVE-2019-16276. See https://github.com/golang/go/issues/34541
++      and Debian bug #941173
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 26 Sep 2019 11:32:14 +0200
++
++golang-1.13 (1.13-1) unstable; urgency=medium
++
++  * New upstream version 1.13
++    - Refresh patch
++  * Set pristine-tar for gbp to False
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Wed, 04 Sep 2019 11:28:07 +0200
++
++golang-1.13 (1.13~rc2-1) unstable; urgency=medium
++
++  * New upstream version 1.13~rc2
++    - Remove patch for CVE-2019-9512 and CVE-2019-9514,
++      has been applied upstream
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 30 Aug 2019 13:29:21 +0200
++
++golang-1.13 (1.13~rc1-2) unstable; urgency=medium
++
++  * Exclude testdata from dh_makeshlibs.
++    Otherwise, the build fails at least on armel and armhf.
++  * Apply changes from cme fix dpkg
++  * Set Rules-Requires-Root: no
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 22 Aug 2019 15:21:10 +0200
++
++golang-1.13 (1.13~rc1-1) unstable; urgency=medium
++
++  * New upstream version 1.13~rc1
++    - Remove patch for CVE-2019-14809, has been applied upstream
++  * Use dh_missing instead of deprecated dh_install --fail-missing
++  * Do not run dh_dwz, there is no debugging information
++  * Use debhelper-compat (= 12)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 22 Aug 2019 12:48:15 +0200
++
++golang-1.13 (1.13~beta1-3) unstable; 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. Closes: #934955
++  * Fix multiple Parsing Issues in URL.Parse
++    https://github.com/golang/go/issues/29098
++    CVE-2019-14809. Closes: #934954
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sat, 17 Aug 2019 23:47:53 +0200
++
++golang-1.13 (1.13~beta1-2) unstable; urgency=medium
++
++  * Set GOCACHE to fix a FTBFS. (See bug #933958)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 09 Aug 2019 16:40:13 +0200
++
++golang-1.13 (1.13~beta1-1) unstable; urgency=medium
++
++  * New upstream major version.
++    - Remove Reproducible-BUILD_PATH_PREFIX_MAP.patch.
++      This patch is finally no longer needed with Go 1.13.
++      Upstream has implemented a new flag "-trimpath" for the
++      command "go build" which either strips the path or
++      replaces it in the resulting binaries.
++      References:
++      https://github.com/golang/go/issues/16860
++      https://go-review.googlesource.com/c/go/+/173345/
++      https://go-review.googlesource.com/c/go/+/173344/
++    - Remove arm64-arm64asm-recognise-new-ssbb-pssbb-mnemonics-fr.patch.
++      This patch has been cherry-picked from upstream and is now included.
++    - Refresh remaining patches
++    - Fix lintian warning: make scripts executable
++  * Switch to debhelper-compat, but stay at v11 for now
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 01 Aug 2019 14:21:51 +0200
++
++golang-1.12 (1.12.7-1) unstable; urgency=medium
++
++  * New upstream version 1.12.7
++    - Refresh patches
++  * Update Standards-Version to 4.4.0, no changes needed
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Tue, 09 Jul 2019 14:19:07 +0200
++
++golang-1.12 (1.12.5-1) unstable; urgency=medium
++
++  * New upstream version 1.12.5
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 09 May 2019 22:34:40 +0200
++
++golang-1.12 (1.12.4-1) unstable; urgency=medium
++
++  [ Anthony Fok ]
++  * Add /usr/lib/go-X.Y/{api,misc} symlinks.
++    For example, programs such as https://github.com/vugu/vugu and
++    documentation such as https://github.com/golang/go/wiki/WebAssembly
++    expect to find wasm_exec.js at "$(go env GOROOT)/misc/wasm/wasm_exec.js".
++
++  [ Dr. Tobias Quathamer ]
++  * New upstream version 1.12.4
++  * Add five lintian overrides for false positives
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sat, 13 Apr 2019 14:09:40 +0200
++
++golang-1.12 (1.12.1-1) unstable; urgency=medium
++
++  * New upstream version 1.12.1
++  * Use upstream signing key for tarball verification
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sun, 17 Mar 2019 21:56:32 +0100
++
++golang-1.12 (1.12-1) unstable; urgency=medium
++
++  * New upstream version 1.12
++    - Remove patch 0005-Fix-CVE-2019-6486, applied upstream
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Tue, 26 Feb 2019 21:31:48 +0100
++
++golang-1.12 (1.12~beta2-2) unstable; urgency=medium
++
++  * Refresh patch Reproducible BUILD_PATH_PREFIX_MAP.
++    Thanks to Michael Stapelberg!
++  * Add patch to fix CVE-2019-6486. (Closes: #920548)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Sun, 27 Jan 2019 20:05:59 +0100
++
++golang-1.12 (1.12~beta2-1) unstable; urgency=medium
++
++  * New upstream version 1.12~beta2
++    - Remove two patches, applied upstream. Refresh remaining patch.
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 11 Jan 2019 17:14:43 +0100
++
++golang-1.12 (1.12~beta1-4) unstable; urgency=medium
++
++  * Switch watch file to version 4
++  * Update d/copyright
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Mon, 07 Jan 2019 23:06:22 +0100
++
++golang-1.12 (1.12~beta1-3) unstable; urgency=medium
++
++  [ Anthony Fok ]
++  * 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
++
++  [ Dr. Tobias Quathamer ]
++  * Add another lintian override
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Fri, 28 Dec 2018 23:06:20 +0100
++
++golang-1.12 (1.12~beta1-2) unstable; urgency=medium
++
++  [ Anthony Fok ]
++  * 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)
++
++  [ Dr. Tobias Quathamer ]
++  * Do not compress favicon.ico.
++    Thanks to Dato Simó <dato@debian.org> (Closes: #917132)
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Wed, 26 Dec 2018 23:20:03 +0100
++
++golang-1.12 (1.12~beta1-1) unstable; urgency=medium
++
++  * New upstream major version.
++    - Refresh patches
++    - Add new patch to disable test for UserHomeDir
++  * Switch team address to tracker.d.o
++  * Add another lintian override for a false positive
++
++ -- Dr. Tobias Quathamer <toddy@debian.org>  Thu, 20 Dec 2018 12:51:49 +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
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9ecdd70bdd0bd147107fe6413ecea2653cf2e349
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,102 @@@
++#
++# WARNING: "debian/control" is generated via "debian/rules gencontrol" (sourced from "debian/control.in")
++#
++
++Source: golang-1.15
++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>
++Section: devel
++Priority: optional
++Build-Depends: debhelper-compat (= 13),
++               golang-any (>= 2:1.4~) | golang-go (>= 2:1.4~) | gccgo (>= 4:5~),
++               netbase
++Standards-Version: 4.5.0
++Vcs-Browser: https://salsa.debian.org/go-team/compiler/golang/tree/golang-1.15
++Vcs-Git: https://salsa.debian.org/go-team/compiler/golang.git -b golang-1.15
++Homepage: https://golang.org
++Rules-Requires-Root: no
++
++Package: golang-1.15-go
++Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el riscv64 s390x
++Depends: golang-1.15-src (>= ${source:Version}),
++         ${misc:Depends},
++         ${perl:Depends},
++         ${shlibs:Depends}
++Recommends: g++, gcc, libc6-dev, pkg-config
++Breaks: dh-golang (<< 1.43~)
++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.15-src
++Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el riscv64 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.15-doc
++Depends: golang-1.15-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.15
++Depends: golang-1.15-doc (>= ${source:Version}),
++         golang-1.15-go (>= ${source:Version}),
++         golang-1.15-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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0764afc233fc780f700a2d87e35efb8e4d800cd2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,98 @@@
++Source: golang-X.Y
++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>
++Section: devel
++Priority: optional
++Build-Depends: debhelper-compat (= 13),
++               golang-any (>= 2:1.4~) | golang-go (>= 2:1.4~) | gccgo (>= 4:5~),
++               netbase
++Standards-Version: 4.5.0
++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
++Homepage: https://golang.org
++Rules-Requires-Root: no
++
++Package: golang-X.Y-go
++Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64 ppc64el riscv64 s390x
++Depends: golang-X.Y-src (>= ${source:Version}),
++         ${misc:Depends},
++         ${perl:Depends},
++         ${shlibs:Depends}
++Recommends: g++, gcc, libc6-dev, pkg-config
++Breaks: dh-golang (<< 1.43~)
++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 riscv64 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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bd1645defc7079e7bfb2fcbe36e445d8cbf3da50
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,738 @@@
++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/svgpan/svgpan.go
++Copyright: 2009-2017 Andrea Leofreddi <a.leofreddi@itcharm.com>
++License: BSD-3-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>
++           2016-2018 Michael Hudson-Doyle <mwhudson@debian.org>
++           2018 Martín Ferrari <tincho@debian.org>
++           2018-2019 Dr. Tobias Quathamer <toddy@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-3-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.
++ .
++    3. Neither the name of the copyright holder 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 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 COPYRIGHT HOLDERS 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.
diff --cc debian/docs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4ad6ffb6ac8cba912417b11f64a1a3d1839bfb88
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++AUTHORS
++CONTRIBUTORS
++README.md
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9ffba9eeb8a6bf67fd9046b50ef7f4ef8dfc0216
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++#
++# WARNING: "debian/gbp.conf" is generated via "debian/rules gencontrol" (sourced from "debian/gbp.conf.in")
++#
++
++[DEFAULT]
++debian-branch = golang-1.15
++debian-tag = debian/%(version)s
++upstream-branch = upstream-1.15
++upstream-tag = upstream/%(version)s
++pristine-tar = False
++
++[dch]
++meta = 1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cb6cbed76051a639870cc79a1d52448b0a7aad60
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++[DEFAULT]
++debian-branch = golang-X.Y
++debian-tag = debian/%(version)s
++upstream-branch = upstream-X.Y
++upstream-tag = upstream/%(version)s
++pristine-tar = False
++
++[dch]
++meta = 1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8c724f4d4455798862256483a63b2cb709dfdff7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/doc/golang-X.Y-doc/html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5fa12e2955f8993a1ff9cb75478b4a5c27684276
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++doc/* /usr/share/doc/golang-X.Y-doc/html/
++favicon.ico /usr/share/doc/golang-X.Y-doc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1215c306c65e47e4b5867606df451d27dc03e927
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f4aa78547461f99c5f18179613a2f4999b22a548
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..979785ebdcde655d2760e9ac8056b6078f2feb64
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/go-X.Y
++usr/share/go-X.Y/src/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..300f1729ca8cd234b01b159d6a9a7f3298715c9f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++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/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c69926afc1a18a5d1d96268352ec7946b6c1cfad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++usr/share/go-X.Y/api /usr/lib/go-X.Y/api
++usr/share/go-X.Y/misc /usr/lib/go-X.Y/misc
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a44c732767743127d92af834e8e74d5f47b0e17
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..16095724335df4ecab7b78a9c4a855bd8d948dc4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++#!/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#
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b78e2c0540880524dd86f34955514fa713503c0a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++api /usr/share/go-X.Y/
++misc /usr/share/go-X.Y/
++src /usr/share/go-X.Y/
++test /usr/share/go-X.Y/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7c841811b36352d1dd36b0aa96e90d286224af6d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++# 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
++golang-X.Y-src: apparently-corrupted-elf-binary usr/share/go-X.Y/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_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
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/cmd/internal/buildid/testdata/a.pe ASLR DEP/NX
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/debug/dwarf/testdata/line-gcc-win.bin ASLR DEP/NX
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/debug/pe/testdata/gcc-386-mingw-exec ASLR DEP/NX
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/debug/pe/testdata/gcc-386-mingw-no-symbols-exec ASLR DEP/NX
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/debug/pe/testdata/gcc-amd64-mingw-exec ASLR DEP/NX
++golang-X.Y-src: portable-executable-missing-security-features usr/share/go-X.Y/src/debug/pe/testdata/vmlinuz-4.15.0-47-generic ASLR DEP/NX
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bff8307910ca3d23c1f4930634eca0ab02dcdba7
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++#!/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|riscv64|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 "$@"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9be557a675bf78b7feb81af0ac1fc8eaa009c661
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++From: "Dr. Tobias Quathamer" <toddy@debian.org>
++Date: Wed, 19 Dec 2018 14:25:06 +0100
++Subject: Disable test for UserHomeDir.
++
++On Debian buildds, the user home dir does not exist, so this test fails.
++---
++ src/os/os_test.go | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/src/os/os_test.go b/src/os/os_test.go
++index e8c6451..8485c85 100644
++--- a/src/os/os_test.go
+++++ b/src/os/os_test.go
++@@ -2446,6 +2446,8 @@ func TestUserHomeDir(t *testing.T) {
++      if err != nil {
++              t.Skipf("UserHomeDir failed: %v", err)
++      }
+++     // On Debian buildds, the user home dir does not exist.
+++     t.Skip("UserHomeDir does not exist on Debian buildds.")
++      fi, err := Stat(dir)
++      if err != nil {
++              t.Fatal(err)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a1bdc2a6ced44a31374bce315fede445684e8f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,109 @@@
++From: "Dr. Tobias Quathamer" <toddy@debian.org>
++Date: Thu, 1 Aug 2019 13:50:48 +0200
++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/syscall/mksyscall.pl          | 2 +-
++ src/syscall/mksyscall_libc.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 +-
++ 9 files changed, 9 insertions(+), 9 deletions(-)
++
++diff --git a/src/syscall/mksyscall.pl b/src/syscall/mksyscall.pl
++index 25b40d7..007d03c 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_libc.pl b/src/syscall/mksyscall_libc.pl
++index 5ceedc8..405033c 100755
++--- a/src/syscall/mksyscall_libc.pl
+++++ b/src/syscall/mksyscall_libc.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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80b91c57f8bf13302abb2c270b53e7381d791273
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,106 @@@
++From: YunQiang Su <wzssyqa@gmail.com>
++Date: Tue, 9 Jun 2020 04:09:58 +0000
++Subject: cmd/go, cmd/cgo: pass -mfp32 and -mhard/soft-float to MIPS GCC
++
++For mips32 currently, we are using FP32, while the gcc may be FPXX,
++which may generate .MIPS.abiflags and .gnu.attributes section with
++value as FPXX. So the kernel will treat the exe as FPXX, and may
++choose to use FR=1 FPU mode for it.
++Currently, in Go, we use 2 lwc1 to load both half of a double value
++to a pair of even-odd FPR. This behavior can only work with FR=0 mode.
++
++In FR=1 mode, all of 32 FPR are 64bit. If we lwc1 the high-half of a double
++value to an odd FPR, and try to use the previous even FPR to compute, the
++real high-half of even FPR will be unpredicatable.
++We set -mfp32 to force the gcc generate FP32 code and section value.
++
++More details about FP32/FPXX/FP64 are explained in:
++https://web.archive.org/web/20180828210612/https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking
++
++When GOMIPS/GOMIPS64 is set as softfloat, we should also pass
++ -msoft-float to gcc.
++
++Here we also add -mno-odd-spreg option, since Loongson's CPU cannot use
++odd-number FR in FR=0 mode.
++
++Fixes #39435
++
++Change-Id: I54026ad416a815fe43a9261ebf6d02e5519c3930
++---
++ src/cmd/cgo/gcc.go               | 12 ++++++++++--
++ src/cmd/cgo/main.go              |  4 +++-
++ src/cmd/go/internal/work/exec.go | 14 ++++++++++++--
++ 3 files changed, 25 insertions(+), 5 deletions(-)
++
++diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go
++index e512d51..b2d82e7 100644
++--- a/src/cmd/cgo/gcc.go
+++++ b/src/cmd/cgo/gcc.go
++@@ -1548,9 +1548,17 @@ func (p *Package) gccMachine() []string {
++      case "s390x":
++              return []string{"-m64"}
++      case "mips64", "mips64le":
++-             return []string{"-mabi=64"}
+++             if gomips64 == "hardfloat" {
+++                     return []string{"-mabi=64", "-mhard-float"}
+++             } else if gomips64 == "softfloat" {
+++                     return []string{"-mabi=64", "-msoft-float"}
+++             }
++      case "mips", "mipsle":
++-             return []string{"-mabi=32"}
+++             if gomips == "hardfloat" {
+++                     return []string{"-mabi=32", "-mfp32", "-mhard-float", "-mno-odd-spreg"}
+++             } else if gomips == "softfloat" {
+++                     return []string{"-mabi=32", "-msoft-float"}
+++             }
++      }
++      return nil
++ }
++diff --git a/src/cmd/cgo/main.go b/src/cmd/cgo/main.go
++index c72c9ab..ba591aa 100644
++--- a/src/cmd/cgo/main.go
+++++ b/src/cmd/cgo/main.go
++@@ -244,7 +244,7 @@ var gccgoMangleCheckDone bool
++ var gccgoNewmanglingInEffect bool
++ var importRuntimeCgo = flag.Bool("import_runtime_cgo", true, "import runtime/cgo in generated code")
++ var importSyscall = flag.Bool("import_syscall", true, "import syscall in generated code")
++-var goarch, goos string
+++var goarch, goos, gomips, gomips64 string
++ 
++ func main() {
++      objabi.AddVersionFlag() // -V
++@@ -393,6 +393,8 @@ func newPackage(args []string) *Package {
++      if s := os.Getenv("GOOS"); s != "" {
++              goos = s
++      }
+++     gomips = objabi.GOMIPS
+++     gomips64 = objabi.GOMIPS64
++      ptrSize := ptrSizeMap[goarch]
++      if ptrSize == 0 {
++              fatalf("unknown ptrSize for $GOARCH %q", goarch)
++diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
++index eb1efd9..eee0277 100644
++--- a/src/cmd/go/internal/work/exec.go
+++++ b/src/cmd/go/internal/work/exec.go
++@@ -2492,9 +2492,19 @@ func (b *Builder) gccArchArgs() []string {
++      case "s390x":
++              return []string{"-m64", "-march=z196"}
++      case "mips64", "mips64le":
++-             return []string{"-mabi=64"}
+++             args := []string{"-mabi=64"}
+++             if cfg.GOMIPS64 == "hardfloat" {
+++                     return append(args, "-mhard-float")
+++             } else if cfg.GOMIPS64 == "softfloat" {
+++                     return append(args, "-msoft-float")
+++             }
++      case "mips", "mipsle":
++-             return []string{"-mabi=32", "-march=mips32"}
+++             args := []string{"-mabi=32", "-march=mips32"}
+++             if cfg.GOMIPS == "hardfloat" {
+++                     return append(args, "-mhard-float", "-mfp32", "-mno-odd-spreg")
+++             } else if cfg.GOMIPS == "softfloat" {
+++                     return append(args, "-msoft-float")
+++             }
++      case "ppc64":
++              if cfg.Goos == "aix" {
++                      return []string{"-maix64"}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f5c2e49161deafa973581ff85c92fb0e83b47c91
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,325 @@@
++From: Xiangdong Ji <xiangdong.ji@arm.com>
++Date: Wed, 5 Aug 2020 06:02:58 +0000
++Subject: cmd/dist: fix build failure of misc/cgo/test on arm64
++
++Test7978 of misc/cgo/test fails in 'dist test' on arm64 if the C compiler
++is of GCC-9.4 or above and its 'outline atomics' feature is enabled, since
++the internal linking hasn't yet supported "__attribute__((constructor))"
++and also mis-handles hidden visibility.
++
++Two changes are made for 'misc/cgo/test' to fix the issue:
++  1. passing "-tags=internal" for the internal linking PIE case.
++  2. skipping Test7978 on arm64 for the internal linking cases.
++
++This CL fixes 'dist test' failure only, user is expected to pass the option
++'-mno-outline-atomics' via CGO_CFLAGS if running into the same problem when
++building cgo program using internal linking.
++
++Updates #39466
++Change-Id: I2011bb051cae7c43eb0f1c78c7f4fbdb94bf78a6
++---
++ misc/cgo/test/issue7978.go  | 117 ++++++++++++++++++++++++++++++++++++++++++++
++ misc/cgo/test/issue7978b.go |  24 +++++++++
++ misc/cgo/test/testx.go      | 105 ---------------------------------------
++ src/cmd/dist/test.go        |   2 +-
++ 4 files changed, 142 insertions(+), 106 deletions(-)
++ create mode 100644 misc/cgo/test/issue7978.go
++ create mode 100644 misc/cgo/test/issue7978b.go
++
++diff --git a/misc/cgo/test/issue7978.go b/misc/cgo/test/issue7978.go
++new file mode 100644
++index 0000000..18d418f
++--- /dev/null
+++++ b/misc/cgo/test/issue7978.go
++@@ -0,0 +1,117 @@
+++// Copyright 2020 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.
+++
+++// +build !arm64 !internal
+++
+++package cgotest
+++
+++import (
+++     "runtime"
+++     "runtime/debug"
+++     "strings"
+++     "sync/atomic"
+++     "testing"
+++)
+++
+++/*
+++#include <stdint.h>
+++
+++void issue7978cb(void);
+++
+++// use ugly atomic variable sync since that doesn't require calling back into
+++// Go code or OS dependencies
+++static void issue7978c(uint32_t *sync) {
+++     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 0)
+++             ;
+++     __atomic_add_fetch(sync, 1, __ATOMIC_SEQ_CST);
+++     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 2)
+++             ;
+++     issue7978cb();
+++     __atomic_add_fetch(sync, 1, __ATOMIC_SEQ_CST);
+++     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 6)
+++             ;
+++}
+++
+++*/
+++import "C"
+++
+++// issue 7978
+++
+++var issue7978sync uint32
+++
+++func issue7978check(t *testing.T, wantFunc string, badFunc string, depth int) {
+++     runtime.GC()
+++     buf := make([]byte, 65536)
+++     trace := string(buf[:runtime.Stack(buf, true)])
+++     for _, goroutine := range strings.Split(trace, "\n\n") {
+++             if strings.Contains(goroutine, "test.issue7978go") {
+++                     trace := strings.Split(goroutine, "\n")
+++                     // look for the expected function in the stack
+++                     for i := 0; i < depth; i++ {
+++                             if badFunc != "" && strings.Contains(trace[1+2*i], badFunc) {
+++                                     t.Errorf("bad stack: found %s in the stack:\n%s", badFunc, goroutine)
+++                                     return
+++                             }
+++                             if strings.Contains(trace[1+2*i], wantFunc) {
+++                                     return
+++                             }
+++                     }
+++                     t.Errorf("bad stack: didn't find %s in the stack:\n%s", wantFunc, goroutine)
+++                     return
+++             }
+++     }
+++     t.Errorf("bad stack: goroutine not found. Full stack dump:\n%s", trace)
+++}
+++
+++func issue7978wait(store uint32, wait uint32) {
+++     if store != 0 {
+++             atomic.StoreUint32(&issue7978sync, store)
+++     }
+++     for atomic.LoadUint32(&issue7978sync) != wait {
+++             runtime.Gosched()
+++     }
+++}
+++
+++//export issue7978cb
+++func issue7978cb() {
+++     // Force a stack growth from the callback to put extra
+++     // pressure on the runtime. See issue #17785.
+++     growStack(64)
+++     issue7978wait(3, 4)
+++}
+++
+++func growStack(n int) int {
+++     var buf [128]int
+++     if n == 0 {
+++             return 0
+++     }
+++     return buf[growStack(n-1)]
+++}
+++
+++func issue7978go() {
+++     C.issue7978c((*C.uint32_t)(&issue7978sync))
+++     issue7978wait(7, 8)
+++}
+++
+++func test7978(t *testing.T) {
+++     if runtime.Compiler == "gccgo" {
+++             t.Skip("gccgo can not do stack traces of C code")
+++     }
+++     debug.SetTraceback("2")
+++     issue7978sync = 0
+++     go issue7978go()
+++     // test in c code, before callback
+++     issue7978wait(0, 1)
+++     issue7978check(t, "_Cfunc_issue7978c(", "", 1)
+++     // test in go code, during callback
+++     issue7978wait(2, 3)
+++     issue7978check(t, "test.issue7978cb(", "test.issue7978go", 3)
+++     // test in c code, after callback
+++     issue7978wait(4, 5)
+++     issue7978check(t, "_Cfunc_issue7978c(", "_cgoexpwrap", 1)
+++     // test in go code, after return from cgo
+++     issue7978wait(6, 7)
+++     issue7978check(t, "test.issue7978go(", "", 3)
+++     atomic.StoreUint32(&issue7978sync, 8)
+++}
++diff --git a/misc/cgo/test/issue7978b.go b/misc/cgo/test/issue7978b.go
++new file mode 100644
++index 0000000..3ab11ee
++--- /dev/null
+++++ b/misc/cgo/test/issue7978b.go
++@@ -0,0 +1,24 @@
+++// Copyright 2020 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.
+++
+++// GCC-9.4 and above on arm64 introduced the "outline atomics" that the
+++// current internal linking doesn't support.
+++// See issue #39466.
+++
+++// +build arm64,internal
+++
+++package cgotest
+++
+++import (
+++     "runtime"
+++     "testing"
+++)
+++
+++func test7978(t *testing.T) {
+++     if runtime.Compiler == "gccgo" {
+++             t.Skip("gccgo can not do stack traces of C code")
+++     }
+++
+++     t.Skip("skip on arm64+internal")
+++}
++diff --git a/misc/cgo/test/testx.go b/misc/cgo/test/testx.go
++index 7fbc5c6..08c3287 100644
++--- a/misc/cgo/test/testx.go
+++++ b/misc/cgo/test/testx.go
++@@ -12,10 +12,7 @@ package cgotest
++ 
++ import (
++      "runtime"
++-     "runtime/debug"
++-     "strings"
++      "sync"
++-     "sync/atomic"
++      "testing"
++      "time"
++      "unsafe"
++@@ -75,28 +72,6 @@ extern int CheckIssue6907C(_GoString_);
++ 
++ extern void f7665(void);
++ 
++-// issue 7978
++-// Stack tracing didn't work during cgo code after calling a Go
++-// callback.  Make sure GC works and the stack trace is correct.
++-
++-#include <stdint.h>
++-
++-void issue7978cb(void);
++-
++-// use ugly atomic variable sync since that doesn't require calling back into
++-// Go code or OS dependencies
++-static void issue7978c(uint32_t *sync) {
++-     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 0)
++-             ;
++-     __atomic_add_fetch(sync, 1, __ATOMIC_SEQ_CST);
++-     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 2)
++-             ;
++-     issue7978cb();
++-     __atomic_add_fetch(sync, 1, __ATOMIC_SEQ_CST);
++-     while(__atomic_load_n(sync, __ATOMIC_SEQ_CST) != 6)
++-             ;
++-}
++-
++ // issue 8331 part 2 - part 1 in test.go
++ // A typedef of an unnamed struct is the same struct when
++ // #include'd twice.  No runtime test; just make sure it compiles.
++@@ -440,86 +415,6 @@ func test7665(t *testing.T) {
++      }
++ }
++ 
++-// issue 7978
++-
++-var issue7978sync uint32
++-
++-func issue7978check(t *testing.T, wantFunc string, badFunc string, depth int) {
++-     runtime.GC()
++-     buf := make([]byte, 65536)
++-     trace := string(buf[:runtime.Stack(buf, true)])
++-     for _, goroutine := range strings.Split(trace, "\n\n") {
++-             if strings.Contains(goroutine, "test.issue7978go") {
++-                     trace := strings.Split(goroutine, "\n")
++-                     // look for the expected function in the stack
++-                     for i := 0; i < depth; i++ {
++-                             if badFunc != "" && strings.Contains(trace[1+2*i], badFunc) {
++-                                     t.Errorf("bad stack: found %s in the stack:\n%s", badFunc, goroutine)
++-                                     return
++-                             }
++-                             if strings.Contains(trace[1+2*i], wantFunc) {
++-                                     return
++-                             }
++-                     }
++-                     t.Errorf("bad stack: didn't find %s in the stack:\n%s", wantFunc, goroutine)
++-                     return
++-             }
++-     }
++-     t.Errorf("bad stack: goroutine not found. Full stack dump:\n%s", trace)
++-}
++-
++-func issue7978wait(store uint32, wait uint32) {
++-     if store != 0 {
++-             atomic.StoreUint32(&issue7978sync, store)
++-     }
++-     for atomic.LoadUint32(&issue7978sync) != wait {
++-             runtime.Gosched()
++-     }
++-}
++-
++-//export issue7978cb
++-func issue7978cb() {
++-     // Force a stack growth from the callback to put extra
++-     // pressure on the runtime. See issue #17785.
++-     growStack(64)
++-     issue7978wait(3, 4)
++-}
++-
++-func growStack(n int) int {
++-     var buf [128]int
++-     if n == 0 {
++-             return 0
++-     }
++-     return buf[growStack(n-1)]
++-}
++-
++-func issue7978go() {
++-     C.issue7978c((*C.uint32_t)(&issue7978sync))
++-     issue7978wait(7, 8)
++-}
++-
++-func test7978(t *testing.T) {
++-     if runtime.Compiler == "gccgo" {
++-             t.Skip("gccgo can not do stack traces of C code")
++-     }
++-     debug.SetTraceback("2")
++-     issue7978sync = 0
++-     go issue7978go()
++-     // test in c code, before callback
++-     issue7978wait(0, 1)
++-     issue7978check(t, "_Cfunc_issue7978c(", "", 1)
++-     // test in go code, during callback
++-     issue7978wait(2, 3)
++-     issue7978check(t, "test.issue7978cb(", "test.issue7978go", 3)
++-     // test in c code, after callback
++-     issue7978wait(4, 5)
++-     issue7978check(t, "_Cfunc_issue7978c(", "_cgoexpwrap", 1)
++-     // test in go code, after return from cgo
++-     issue7978wait(6, 7)
++-     issue7978check(t, "test.issue7978go(", "", 3)
++-     atomic.StoreUint32(&issue7978sync, 8)
++-}
++-
++ // issue 8331 part 2
++ 
++ var issue8331Var C.issue8331
++diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
++index 2dc9459..ef0c743 100644
++--- a/src/cmd/dist/test.go
+++++ b/src/cmd/dist/test.go
++@@ -1145,7 +1145,7 @@ func (t *tester) cgoTest(dt *distTest) error {
++                      if t.supportedBuildmode("pie") {
++                              t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie")
++                              if t.internalLink() && t.internalLinkPIE() {
++-                                     t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal")
+++                                     t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal", "-tags=internal")
++                              }
++                              t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie")
++                              t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..969cb882bf49a0752d91b41ab1523784f16827b4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++From: Balint Reczey <balint.reczey@canonical.com>
++Date: Mon, 31 Aug 2020 13:14:51 +0200
++Subject: [PATCH] cmd/dist: increase default timeout scale for arm
++
++Forwarded: https://github.com/golang/go/issues/43002
++
++Most developers use (faster) amd64 machines setting the test timeouts,
++but test may run on slower arm ones and also different tests may suffer
++different relative slowdown on the arm CPUs.
++
++Due to those two varying factors it is safer to allow a higher timeout
++scale on arm to avoid tests timing out.
++---
++ src/cmd/dist/test.go | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
++index ef0c743..f1798fc 100644
++--- a/src/cmd/dist/test.go
+++++ b/src/cmd/dist/test.go
++@@ -149,7 +149,7 @@ func (t *tester) run() {
++      t.timeoutScale = 1
++      switch goarch {
++      case "arm":
++-             t.timeoutScale = 2
+++             t.timeoutScale = 3
++      case "mips", "mipsle", "mips64", "mips64le":
++              t.timeoutScale = 4
++      }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..021910f167cfa4720adfab8a0f3f6eaf9410cec7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++From: Shengjing Zhu <zhsj@debian.org>
++Date: Fri, 5 Feb 2021 21:21:45 +0800
++Subject: skip userns test in schroot as well
++
++When schroot is using overlayfs, it fails to detect it as chroot.
++---
++ src/syscall/exec_linux_test.go | 7 +++++++
++ 1 file changed, 7 insertions(+)
++
++diff --git a/src/syscall/exec_linux_test.go b/src/syscall/exec_linux_test.go
++index b79dee7..9f3d651 100644
++--- a/src/syscall/exec_linux_test.go
+++++ b/src/syscall/exec_linux_test.go
++@@ -33,6 +33,10 @@ func isLXC() bool {
++      return os.Getenv("container") == "lxc"
++ }
++ 
+++func isSchroot() bool {
+++     return os.Getenv("SCHROOT_SESSION_ID") != ""
+++}
+++
++ func skipInContainer(t *testing.T) {
++      // TODO: the callers of this func are using this func to skip
++      // tests when running as some sort of "fake root" that's uid 0
++@@ -48,6 +52,9 @@ func skipInContainer(t *testing.T) {
++      if isLXC() {
++              t.Skip("skip this test in LXC container")
++      }
+++     if isSchroot() {
+++             t.Skip("skip this test in Schroot container")
+++     }
++ }
++ 
++ func skipNoUserNamespaces(t *testing.T) {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..277cff210c763c4d57f3538383f25c6659fd10dc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,45 @@@
++From: Katie Hockman <katie@golang.org>
++Date: Wed, 28 Apr 2021 14:47:48 -0400
++Subject: [PATCH] [release-branch.go1.15] std: update golang.org/x/net to
++ 20210428183841-261fb518b1ed
++
++Steps:
++  go get -d golang.org/x/net@release-branch.go1.15
++  go mod tidy
++  go mod vendor
++
++This http2 bundle does not need to be updated.
++
++Fixes #45711
++
++Change-Id: I085ca592dfc8d5d9c328a7979142e88e7130a813
++Reviewed-on: https://go-review.googlesource.com/c/go/+/314790
++Trust: Katie Hockman <katie@golang.org>
++Run-TryBot: Katie Hockman <katie@golang.org>
++Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
++---
++ src/vendor/golang.org/x/net/http/httpguts/httplex.go | 10 ++++++----
++ 1 file changed, 6 insertions(+), 4 deletions(-)
++
++diff --git a/src/vendor/golang.org/x/net/http/httpguts/httplex.go b/src/vendor/golang.org/x/net/http/httpguts/httplex.go
++index e7de24e..c79aa73 100644
++--- a/src/vendor/golang.org/x/net/http/httpguts/httplex.go
+++++ b/src/vendor/golang.org/x/net/http/httpguts/httplex.go
++@@ -137,11 +137,13 @@ func trimOWS(x string) string {
++ // contains token amongst its comma-separated tokens, ASCII
++ // case-insensitively.
++ func headerValueContainsToken(v string, token string) bool {
++-     v = trimOWS(v)
++-     if comma := strings.IndexByte(v, ','); comma != -1 {
++-             return tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token)
+++     for comma := strings.IndexByte(v, ','); comma != -1; comma = strings.IndexByte(v, ',') {
+++             if tokenEqual(trimOWS(v[:comma]), token) {
+++                     return true
+++             }
+++             v = v[comma+1:]
++      }
++-     return tokenEqual(v, token)
+++     return tokenEqual(trimOWS(v), token)
++ }
++ 
++ // lowerASCII returns the ASCII lowercase version of b.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..03265c0a5c273560b35aea042e274f1981a53491
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,124 @@@
++From: Roland Shoemaker <roland@golang.org>
++Date: Tue, 11 May 2021 11:31:31 -0700
++Subject: archive/zip: only preallocate File slice if reasonably sized
++
++Since the number of files in the EOCD record isn't validated, it isn't
++safe to preallocate Reader.Files using that field. A malformed archive
++can indicate it contains up to 1 << 128 - 1 files. We can still safely
++preallocate the slice by checking if the specified number of files in
++the archive is reasonable, given the size of the archive.
++
++Thanks to the OSS-Fuzz project for discovering this issue and to
++Emmanuel Odeke for reporting it.
++
++Updates #46242
++Fixes #46396
++Fixes CVE-2021-33196
++
++Change-Id: I3c76d8eec178468b380d87fdb4a3f2cb06f0ee76
++Reviewed-on: https://go-review.googlesource.com/c/go/+/318909
++Trust: Roland Shoemaker <roland@golang.org>
++Trust: Katie Hockman <katie@golang.org>
++Trust: Joe Tsai <thebrokentoaster@gmail.com>
++Run-TryBot: Roland Shoemaker <roland@golang.org>
++TryBot-Result: Go Bot <gobot@golang.org>
++Reviewed-by: Katie Hockman <katie@golang.org>
++Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
++(cherry picked from commit 74242baa4136c7a9132a8ccd9881354442788c8c)
++Reviewed-on: https://go-review.googlesource.com/c/go/+/322949
++Reviewed-by: Filippo Valsorda <filippo@golang.org>
++
++Origin: backport, https://github.com/golang/go/commit/c92adf420a3d9a5510f9aea382d826f0c9216a10
++---
++ src/archive/zip/reader.go      | 10 ++++++-
++ src/archive/zip/reader_test.go | 59 ++++++++++++++++++++++++++++++++++++++++++
++ 2 files changed, 68 insertions(+), 1 deletion(-)
++
++diff --git a/src/archive/zip/reader.go b/src/archive/zip/reader.go
++index 13ff9dd..2d5151a 100644
++--- a/src/archive/zip/reader.go
+++++ b/src/archive/zip/reader.go
++@@ -84,7 +84,15 @@ func (z *Reader) init(r io.ReaderAt, size int64) error {
++              return err
++      }
++      z.r = r
++-     z.File = make([]*File, 0, end.directoryRecords)
+++     // Since the number of directory records is not validated, it is not
+++     // safe to preallocate z.File without first checking that the specified
+++     // number of files is reasonable, since a malformed archive may
+++     // indicate it contains up to 1 << 128 - 1 files. Since each file has a
+++     // header which will be _at least_ 30 bytes we can safely preallocate
+++     // if (data size / 30) >= end.directoryRecords.
+++     if (uint64(size)-end.directorySize)/30 >= end.directoryRecords {
+++             z.File = make([]*File, 0, end.directoryRecords)
+++     }
++      z.Comment = end.comment
++      rs := io.NewSectionReader(r, 0, size)
++      if _, err = rs.Seek(int64(end.directoryOffset), io.SeekStart); err != nil {
++diff --git a/src/archive/zip/reader_test.go b/src/archive/zip/reader_test.go
++index adca87a..6f67d2e 100644
++--- a/src/archive/zip/reader_test.go
+++++ b/src/archive/zip/reader_test.go
++@@ -1070,3 +1070,62 @@ func TestIssue12449(t *testing.T) {
++              t.Errorf("Error reading the archive: %v", err)
++      }
++ }
+++
+++func TestCVE202133196(t *testing.T) {
+++     // Archive that indicates it has 1 << 128 -1 files,
+++     // this would previously cause a panic due to attempting
+++     // to allocate a slice with 1 << 128 -1 elements.
+++     data := []byte{
+++             0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x08,
+++             0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x02,
+++             0x03, 0x62, 0x61, 0x65, 0x03, 0x04, 0x00, 0x00,
+++             0xff, 0xff, 0x50, 0x4b, 0x07, 0x08, 0xbe, 0x20,
+++             0x5c, 0x6c, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00,
+++             0x00, 0x00, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00,
+++             0x14, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0xbe, 0x20, 0x5c, 0x6c, 0x09, 0x00,
+++             0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00,
+++             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+++             0x01, 0x02, 0x03, 0x50, 0x4b, 0x06, 0x06, 0x2c,
+++             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d,
+++             0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+++             0xff, 0xff, 0xff, 0x31, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x50, 0x4b, 0x06, 0x07, 0x00,
+++             0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00,
+++             0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50,
+++             0x4b, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0xff,
+++             0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+++             0xff, 0xff, 0xff, 0x00, 0x00,
+++     }
+++     _, err := NewReader(bytes.NewReader(data), int64(len(data)))
+++     if err != ErrFormat {
+++             t.Fatalf("unexpected error, got: %v, want: %v", err, ErrFormat)
+++     }
+++
+++     // Also check that an archive containing a handful of empty
+++     // files doesn't cause an issue
+++     b := bytes.NewBuffer(nil)
+++     w := NewWriter(b)
+++     for i := 0; i < 5; i++ {
+++             _, err := w.Create("")
+++             if err != nil {
+++                     t.Fatalf("Writer.Create failed: %s", err)
+++             }
+++     }
+++     if err := w.Close(); err != nil {
+++             t.Fatalf("Writer.Close failed: %s", err)
+++     }
+++     r, err := NewReader(bytes.NewReader(b.Bytes()), int64(b.Len()))
+++     if err != nil {
+++             t.Fatalf("NewReader failed: %s", err)
+++     }
+++     if len(r.File) != 5 {
+++             t.Errorf("Archive has unexpected number of files, got %d, want 5", len(r.File))
+++     }
+++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..121a5df399ce17925d15dec7a23216d5c7badfe5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,369 @@@
++From 31d60cda1f58b7558fc5725d2b9e4531655d980e Mon Sep 17 00:00:00 2001
++From: Roland Shoemaker <roland@golang.org>
++Date: Thu, 27 May 2021 10:40:06 -0700
++Subject: [PATCH] [release-branch.go1.15] net: verify results from Lookup* are
++ valid domain names
++
++For the methods LookupCNAME, LookupSRV, LookupMX, LookupNS, and
++LookupAddr check that the returned domain names are in fact valid DNS
++names using the existing isDomainName function.
++
++Thanks to Philipp Jeitner and Haya Shulman from Fraunhofer SIT for
++reporting this issue.
++
++Updates #46241
++Fixes #46356
++Fixes CVE-2021-33195
++
++Change-Id: I47a4f58c031cb752f732e88bbdae7f819f0af4f3
++Reviewed-on: https://go-review.googlesource.com/c/go/+/323131
++Trust: Roland Shoemaker <roland@golang.org>
++Run-TryBot: Roland Shoemaker <roland@golang.org>
++TryBot-Result: Go Bot <gobot@golang.org>
++Reviewed-by: Filippo Valsorda <filippo@golang.org>
++Reviewed-by: Katie Hockman <katie@golang.org>
++(cherry picked from commit cdcd02842da7c004efd023881e3719105209c908)
++Reviewed-on: https://go-review.googlesource.com/c/go/+/323269
++---
++ src/net/dnsclient_unix_test.go | 157 +++++++++++++++++++++++++++++++++
++ src/net/lookup.go              | 111 ++++++++++++++++++++---
++ 2 files changed, 255 insertions(+), 13 deletions(-)
++
++diff --git a/src/net/dnsclient_unix_test.go b/src/net/dnsclient_unix_test.go
++index 06553636eee25..819f20b887ae6 100644
++--- a/src/net/dnsclient_unix_test.go
+++++ b/src/net/dnsclient_unix_test.go
++@@ -1799,3 +1799,160 @@ func TestPTRandNonPTR(t *testing.T) {
++              t.Errorf("names = %q; want %q", names, want)
++      }
++ }
+++
+++func TestCVE202133195(t *testing.T) {
+++     fake := fakeDNSServer{
+++             rh: func(n, _ string, q dnsmessage.Message, _ time.Time) (dnsmessage.Message, error) {
+++                     r := dnsmessage.Message{
+++                             Header: dnsmessage.Header{
+++                                     ID:                 q.Header.ID,
+++                                     Response:           true,
+++                                     RCode:              dnsmessage.RCodeSuccess,
+++                                     RecursionAvailable: true,
+++                             },
+++                             Questions: q.Questions,
+++                     }
+++                     switch q.Questions[0].Type {
+++                     case dnsmessage.TypeCNAME:
+++                             r.Answers = []dnsmessage.Resource{}
+++                     case dnsmessage.TypeA: // CNAME lookup uses a A/AAAA as a proxy
+++                             r.Answers = append(r.Answers,
+++                                     dnsmessage.Resource{
+++                                             Header: dnsmessage.ResourceHeader{
+++                                                     Name:   dnsmessage.MustNewName("<html>.golang.org."),
+++                                                     Type:   dnsmessage.TypeA,
+++                                                     Class:  dnsmessage.ClassINET,
+++                                                     Length: 4,
+++                                             },
+++                                             Body: &dnsmessage.AResource{
+++                                                     A: TestAddr,
+++                                             },
+++                                     },
+++                             )
+++                     case dnsmessage.TypeSRV:
+++                             n := q.Questions[0].Name
+++                             if n.String() == "_hdr._tcp.golang.org." {
+++                                     n = dnsmessage.MustNewName("<html>.golang.org.")
+++                             }
+++                             r.Answers = append(r.Answers,
+++                                     dnsmessage.Resource{
+++                                             Header: dnsmessage.ResourceHeader{
+++                                                     Name:   n,
+++                                                     Type:   dnsmessage.TypeSRV,
+++                                                     Class:  dnsmessage.ClassINET,
+++                                                     Length: 4,
+++                                             },
+++                                             Body: &dnsmessage.SRVResource{
+++                                                     Target: dnsmessage.MustNewName("<html>.golang.org."),
+++                                             },
+++                                     },
+++                             )
+++                     case dnsmessage.TypeMX:
+++                             r.Answers = append(r.Answers,
+++                                     dnsmessage.Resource{
+++                                             Header: dnsmessage.ResourceHeader{
+++                                                     Name:   dnsmessage.MustNewName("<html>.golang.org."),
+++                                                     Type:   dnsmessage.TypeMX,
+++                                                     Class:  dnsmessage.ClassINET,
+++                                                     Length: 4,
+++                                             },
+++                                             Body: &dnsmessage.MXResource{
+++                                                     MX: dnsmessage.MustNewName("<html>.golang.org."),
+++                                             },
+++                                     },
+++                             )
+++                     case dnsmessage.TypeNS:
+++                             r.Answers = append(r.Answers,
+++                                     dnsmessage.Resource{
+++                                             Header: dnsmessage.ResourceHeader{
+++                                                     Name:   dnsmessage.MustNewName("<html>.golang.org."),
+++                                                     Type:   dnsmessage.TypeNS,
+++                                                     Class:  dnsmessage.ClassINET,
+++                                                     Length: 4,
+++                                             },
+++                                             Body: &dnsmessage.NSResource{
+++                                                     NS: dnsmessage.MustNewName("<html>.golang.org."),
+++                                             },
+++                                     },
+++                             )
+++                     case dnsmessage.TypePTR:
+++                             r.Answers = append(r.Answers,
+++                                     dnsmessage.Resource{
+++                                             Header: dnsmessage.ResourceHeader{
+++                                                     Name:   dnsmessage.MustNewName("<html>.golang.org."),
+++                                                     Type:   dnsmessage.TypePTR,
+++                                                     Class:  dnsmessage.ClassINET,
+++                                                     Length: 4,
+++                                             },
+++                                             Body: &dnsmessage.PTRResource{
+++                                                     PTR: dnsmessage.MustNewName("<html>.golang.org."),
+++                                             },
+++                                     },
+++                             )
+++                     }
+++                     return r, nil
+++             },
+++     }
+++
+++     r := Resolver{PreferGo: true, Dial: fake.DialContext}
+++     // Change the default resolver to match our manipulated resolver
+++     originalDefault := DefaultResolver
+++     DefaultResolver = &r
+++     defer func() {
+++             DefaultResolver = originalDefault
+++     }()
+++
+++     _, err := r.LookupCNAME(context.Background(), "golang.org")
+++     if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, err = LookupCNAME("golang.org")
+++     if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++
+++     _, _, err = r.LookupSRV(context.Background(), "target", "tcp", "golang.org")
+++     if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, _, err = LookupSRV("target", "tcp", "golang.org")
+++     if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++
+++     _, _, err = r.LookupSRV(context.Background(), "hdr", "tcp", "golang.org")
+++     if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, _, err = LookupSRV("hdr", "tcp", "golang.org")
+++     if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++
+++     _, err = r.LookupMX(context.Background(), "golang.org")
+++     if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, err = LookupMX("golang.org")
+++     if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++
+++     _, err = r.LookupNS(context.Background(), "golang.org")
+++     if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, err = LookupNS("golang.org")
+++     if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++
+++     _, err = r.LookupAddr(context.Background(), "1.2.3.4")
+++     if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++     _, err = LookupAddr("1.2.3.4")
+++     if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+++     }
+++}
++diff --git a/src/net/lookup.go b/src/net/lookup.go
++index 5f7119872a48d..0660268249bc7 100644
++--- a/src/net/lookup.go
+++++ b/src/net/lookup.go
++@@ -389,8 +389,11 @@ func (r *Resolver) LookupPort(ctx context.Context, network, service string) (por
++ // LookupCNAME does not return an error if host does not
++ // contain DNS "CNAME" records, as long as host resolves to
++ // address records.
+++//
+++// The returned canonical name is validated to be a properly
+++// formatted presentation-format domain name.
++ func LookupCNAME(host string) (cname string, err error) {
++-     return DefaultResolver.lookupCNAME(context.Background(), host)
+++     return DefaultResolver.LookupCNAME(context.Background(), host)
++ }
++ 
++ // LookupCNAME returns the canonical name for the given host.
++@@ -403,8 +406,18 @@ func LookupCNAME(host string) (cname string, err error) {
++ // LookupCNAME does not return an error if host does not
++ // contain DNS "CNAME" records, as long as host resolves to
++ // address records.
++-func (r *Resolver) LookupCNAME(ctx context.Context, host string) (cname string, err error) {
++-     return r.lookupCNAME(ctx, host)
+++//
+++// The returned canonical name is validated to be a properly
+++// formatted presentation-format domain name.
+++func (r *Resolver) LookupCNAME(ctx context.Context, host string) (string, error) {
+++     cname, err := r.lookupCNAME(ctx, host)
+++     if err != nil {
+++             return "", err
+++     }
+++     if !isDomainName(cname) {
+++             return "", &DNSError{Err: "CNAME target is invalid", Name: host}
+++     }
+++     return cname, nil
++ }
++ 
++ // LookupSRV tries to resolve an SRV query of the given service,
++@@ -416,8 +429,11 @@ func (r *Resolver) LookupCNAME(ctx context.Context, host string) (cname string,
++ // That is, it looks up _service._proto.name. To accommodate services
++ // publishing SRV records under non-standard names, if both service
++ // and proto are empty strings, LookupSRV looks up name directly.
+++//
+++// The returned service names are validated to be properly
+++// formatted presentation-format domain names.
++ func LookupSRV(service, proto, name string) (cname string, addrs []*SRV, err error) {
++-     return DefaultResolver.lookupSRV(context.Background(), service, proto, name)
+++     return DefaultResolver.LookupSRV(context.Background(), service, proto, name)
++ }
++ 
++ // LookupSRV tries to resolve an SRV query of the given service,
++@@ -429,28 +445,82 @@ func LookupSRV(service, proto, name string) (cname string, addrs []*SRV, err err
++ // That is, it looks up _service._proto.name. To accommodate services
++ // publishing SRV records under non-standard names, if both service
++ // and proto are empty strings, LookupSRV looks up name directly.
++-func (r *Resolver) LookupSRV(ctx context.Context, service, proto, name string) (cname string, addrs []*SRV, err error) {
++-     return r.lookupSRV(ctx, service, proto, name)
+++//
+++// The returned service names are validated to be properly
+++// formatted presentation-format domain names.
+++func (r *Resolver) LookupSRV(ctx context.Context, service, proto, name string) (string, []*SRV, error) {
+++     cname, addrs, err := r.lookupSRV(ctx, service, proto, name)
+++     if err != nil {
+++             return "", nil, err
+++     }
+++     if cname != "" && !isDomainName(cname) {
+++             return "", nil, &DNSError{Err: "SRV header name is invalid", Name: name}
+++     }
+++     for _, addr := range addrs {
+++             if addr == nil {
+++                     continue
+++             }
+++             if !isDomainName(addr.Target) {
+++                     return "", nil, &DNSError{Err: "SRV target is invalid", Name: name}
+++             }
+++     }
+++     return cname, addrs, nil
++ }
++ 
++ // LookupMX returns the DNS MX records for the given domain name sorted by preference.
+++//
+++// The returned mail server names are validated to be properly
+++// formatted presentation-format domain names.
++ func LookupMX(name string) ([]*MX, error) {
++-     return DefaultResolver.lookupMX(context.Background(), name)
+++     return DefaultResolver.LookupMX(context.Background(), name)
++ }
++ 
++ // LookupMX returns the DNS MX records for the given domain name sorted by preference.
+++//
+++// The returned mail server names are validated to be properly
+++// formatted presentation-format domain names.
++ func (r *Resolver) LookupMX(ctx context.Context, name string) ([]*MX, error) {
++-     return r.lookupMX(ctx, name)
+++     records, err := r.lookupMX(ctx, name)
+++     if err != nil {
+++             return nil, err
+++     }
+++     for _, mx := range records {
+++             if mx == nil {
+++                     continue
+++             }
+++             if !isDomainName(mx.Host) {
+++                     return nil, &DNSError{Err: "MX target is invalid", Name: name}
+++             }
+++     }
+++     return records, nil
++ }
++ 
++ // LookupNS returns the DNS NS records for the given domain name.
+++//
+++// The returned name server names are validated to be properly
+++// formatted presentation-format domain names.
++ func LookupNS(name string) ([]*NS, error) {
++-     return DefaultResolver.lookupNS(context.Background(), name)
+++     return DefaultResolver.LookupNS(context.Background(), name)
++ }
++ 
++ // LookupNS returns the DNS NS records for the given domain name.
+++//
+++// The returned name server names are validated to be properly
+++// formatted presentation-format domain names.
++ func (r *Resolver) LookupNS(ctx context.Context, name string) ([]*NS, error) {
++-     return r.lookupNS(ctx, name)
+++     records, err := r.lookupNS(ctx, name)
+++     if err != nil {
+++             return nil, err
+++     }
+++     for _, ns := range records {
+++             if ns == nil {
+++                     continue
+++             }
+++             if !isDomainName(ns.Host) {
+++                     return nil, &DNSError{Err: "NS target is invalid", Name: name}
+++             }
+++     }
+++     return records, nil
++ }
++ 
++ // LookupTXT returns the DNS TXT records for the given domain name.
++@@ -466,14 +536,29 @@ func (r *Resolver) LookupTXT(ctx context.Context, name string) ([]string, error)
++ // LookupAddr performs a reverse lookup for the given address, returning a list
++ // of names mapping to that address.
++ //
+++// The returned names are validated to be properly formatted presentation-format
+++// domain names.
+++//
++ // When using the host C library resolver, at most one result will be
++ // returned. To bypass the host resolver, use a custom Resolver.
++ func LookupAddr(addr string) (names []string, err error) {
++-     return DefaultResolver.lookupAddr(context.Background(), addr)
+++     return DefaultResolver.LookupAddr(context.Background(), addr)
++ }
++ 
++ // LookupAddr performs a reverse lookup for the given address, returning a list
++ // of names mapping to that address.
++-func (r *Resolver) LookupAddr(ctx context.Context, addr string) (names []string, err error) {
++-     return r.lookupAddr(ctx, addr)
+++//
+++// The returned names are validated to be properly formatted presentation-format
+++// domain names.
+++func (r *Resolver) LookupAddr(ctx context.Context, addr string) ([]string, error) {
+++     names, err := r.lookupAddr(ctx, addr)
+++     if err != nil {
+++             return nil, err
+++     }
+++     for _, name := range names {
+++             if !isDomainName(name) {
+++                     return nil, &DNSError{Err: "PTR target is invalid", Name: addr}
+++             }
+++     }
+++     return names, nil
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3469f517efbf5f0fc3527544069f66c846a52a90
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,111 @@@
++From 6b411e90d4d017f28c1cc7d442b5ec8c1f9de549 Mon Sep 17 00:00:00 2001
++From: Roland Shoemaker <roland@golang.org>
++Date: Wed, 2 Jun 2021 09:20:22 -0700
++Subject: [PATCH] [release-branch.go1.15] net: don't rely on system hosts in
++ TestCVE202133195
++
++Also don't unnecessarily deref the error return.
++
++Updates #46504
++Fixes #46531
++
++Change-Id: I22d14ac76776f8988fa0774bdcb5fcd801ce0185
++Reviewed-on: https://go-review.googlesource.com/c/go/+/324190
++Trust: David Chase <drchase@google.com>
++Trust: Damien Neil <dneil@google.com>
++Run-TryBot: David Chase <drchase@google.com>
++TryBot-Result: Go Bot <gobot@golang.org>
++Reviewed-by: Damien Neil <dneil@google.com>
++(cherry picked from commit dd7ba3ba2c860c40be6d70b63d4a678449cae80f)
++Reviewed-on: https://go-review.googlesource.com/c/go/+/324333
++Reviewed-by: Ian Lance Taylor <iant@golang.org>
++---
++ src/net/dnsclient_unix_test.go | 39 +++++++++++++++++-----------------
++ 1 file changed, 20 insertions(+), 19 deletions(-)
++
++diff --git a/src/net/dnsclient_unix_test.go b/src/net/dnsclient_unix_test.go
++index 819f20b887ae6..f646629912a3d 100644
++--- a/src/net/dnsclient_unix_test.go
+++++ b/src/net/dnsclient_unix_test.go
++@@ -1898,61 +1898,62 @@ func TestCVE202133195(t *testing.T) {
++      // Change the default resolver to match our manipulated resolver
++      originalDefault := DefaultResolver
++      DefaultResolver = &r
++-     defer func() {
++-             DefaultResolver = originalDefault
++-     }()
+++     defer func() { DefaultResolver = originalDefault }()
+++     // Redirect host file lookups.
+++     defer func(orig string) { testHookHostsPath = orig }(testHookHostsPath)
+++     testHookHostsPath = "testdata/hosts"
++ 
++      _, err := r.LookupCNAME(context.Background(), "golang.org")
++      if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("Resolver.LookupCNAME returned unexpected error, got %q, want %q", err, expected)
++      }
++      _, err = LookupCNAME("golang.org")
++      if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("LookupCNAME returned unexpected error, got %q, want %q", err, expected)
++      }
++ 
++      _, _, err = r.LookupSRV(context.Background(), "target", "tcp", "golang.org")
++      if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err, expected)
++      }
++      _, _, err = LookupSRV("target", "tcp", "golang.org")
++      if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err, expected)
++      }
++ 
++      _, _, err = r.LookupSRV(context.Background(), "hdr", "tcp", "golang.org")
++      if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err, expected)
++      }
++      _, _, err = LookupSRV("hdr", "tcp", "golang.org")
++      if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err, expected)
++      }
++ 
++      _, err = r.LookupMX(context.Background(), "golang.org")
++      if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("Resolver.LookupMX returned unexpected error, got %q, want %q", err, expected)
++      }
++      _, err = LookupMX("golang.org")
++      if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("LookupMX returned unexpected error, got %q, want %q", err, expected)
++      }
++ 
++      _, err = r.LookupNS(context.Background(), "golang.org")
++      if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("Resolver.LookupNS returned unexpected error, got %q, want %q", err, expected)
++      }
++      _, err = LookupNS("golang.org")
++      if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+++             t.Errorf("LookupNS returned unexpected error, got %q, want %q", err, expected)
++      }
++ 
++-     _, err = r.LookupAddr(context.Background(), "1.2.3.4")
++-     if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("Resolver.LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+++     _, err = r.LookupAddr(context.Background(), "192.0.2.42")
+++     if expected := "lookup 192.0.2.42: PTR target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("Resolver.LookupAddr returned unexpected error, got %q, want %q", err, expected)
++      }
++-     _, err = LookupAddr("1.2.3.4")
++-     if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
++-             t.Errorf("LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+++     _, err = LookupAddr("192.0.2.42")
+++     if expected := "lookup 192.0.2.42: PTR target is invalid"; err == nil || err.Error() != expected {
+++             t.Errorf("LookupAddr returned unexpected error, got %q, want %q", err, expected)
++      }
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..debc3ccc7df88b195dc946fcff2c774037eff937
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,147 @@@
++From cbd1ca84453fecf3825a6bb9f985823e8bc32b76 Mon Sep 17 00:00:00 2001
++From: Filippo Valsorda <filippo@golang.org>
++Date: Fri, 21 May 2021 14:02:30 -0400
++Subject: [PATCH] [release-branch.go1.15] net/http/httputil: always remove
++ hop-by-hop headers
++
++Previously, we'd fail to remove the Connection header from a request
++like this:
++
++    Connection:
++    Connection: x-header
++
++Updates #46313
++Fixes #46314
++Fixes CVE-2021-33197
++
++Change-Id: Ie3009e926ceecfa86dfa6bcc6fe14ff01086be7d
++Reviewed-on: https://go-review.googlesource.com/c/go/+/321929
++Run-TryBot: Filippo Valsorda <filippo@golang.org>
++Reviewed-by: Katie Hockman <katie@golang.org>
++Trust: Katie Hockman <katie@golang.org>
++Trust: Filippo Valsorda <filippo@golang.org>
++TryBot-Result: Go Bot <gobot@golang.org>
++Reviewed-on: https://go-review.googlesource.com/c/go/+/323091
++Run-TryBot: Katie Hockman <katie@golang.org>
++---
++ src/net/http/httputil/reverseproxy.go      | 22 ++++----
++ src/net/http/httputil/reverseproxy_test.go | 63 +++++++++++++++++++++-
++ 2 files changed, 70 insertions(+), 15 deletions(-)
++
++diff --git a/src/net/http/httputil/reverseproxy.go b/src/net/http/httputil/reverseproxy.go
++index 3f48fab544e91..f49cefbb4f171 100644
++--- a/src/net/http/httputil/reverseproxy.go
+++++ b/src/net/http/httputil/reverseproxy.go
++@@ -248,22 +248,18 @@ func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
++      // important is "Connection" because we want a persistent
++      // connection, regardless of what the client sent to us.
++      for _, h := range hopHeaders {
++-             hv := outreq.Header.Get(h)
++-             if hv == "" {
++-                     continue
++-             }
++-             if h == "Te" && hv == "trailers" {
++-                     // Issue 21096: tell backend applications that
++-                     // care about trailer support that we support
++-                     // trailers. (We do, but we don't go out of
++-                     // our way to advertise that unless the
++-                     // incoming client request thought it was
++-                     // worth mentioning)
++-                     continue
++-             }
++              outreq.Header.Del(h)
++      }
++ 
+++     // Issue 21096: tell backend applications that care about trailer support
+++     // that we support trailers. (We do, but we don't go out of our way to
+++     // advertise that unless the incoming client request thought it was worth
+++     // mentioning.) Note that we look at req.Header, not outreq.Header, since
+++     // the latter has passed through removeConnectionHeaders.
+++     if httpguts.HeaderValuesContainsToken(req.Header["Te"], "trailers") {
+++             outreq.Header.Set("Te", "trailers")
+++     }
+++
++      // After stripping all the hop-by-hop connection headers above, add back any
++      // necessary for protocol upgrades, such as for websockets.
++      if reqUpType != "" {
++diff --git a/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go
++index 764939fb0f0c2..1f2dfb9867f68 100644
++--- a/src/net/http/httputil/reverseproxy_test.go
+++++ b/src/net/http/httputil/reverseproxy_test.go
++@@ -91,8 +91,9 @@ func TestReverseProxy(t *testing.T) {
++ 
++      getReq, _ := http.NewRequest("GET", frontend.URL, nil)
++      getReq.Host = "some-name"
++-     getReq.Header.Set("Connection", "close")
++-     getReq.Header.Set("Te", "trailers")
+++     getReq.Header.Set("Connection", "close, TE")
+++     getReq.Header.Add("Te", "foo")
+++     getReq.Header.Add("Te", "bar, trailers")
++      getReq.Header.Set("Proxy-Connection", "should be deleted")
++      getReq.Header.Set("Upgrade", "foo")
++      getReq.Close = true
++@@ -236,6 +237,64 @@ func TestReverseProxyStripHeadersPresentInConnection(t *testing.T) {
++      }
++ }
++ 
+++func TestReverseProxyStripEmptyConnection(t *testing.T) {
+++     // See Issue 46313.
+++     const backendResponse = "I am the backend"
+++
+++     // someConnHeader is some arbitrary header to be declared as a hop-by-hop header
+++     // in the Request's Connection header.
+++     const someConnHeader = "X-Some-Conn-Header"
+++
+++     backend := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+++             if c := r.Header.Values("Connection"); len(c) != 0 {
+++                     t.Errorf("handler got header %q = %v; want empty", "Connection", c)
+++             }
+++             if c := r.Header.Get(someConnHeader); c != "" {
+++                     t.Errorf("handler got header %q = %q; want empty", someConnHeader, c)
+++             }
+++             w.Header().Add("Connection", "")
+++             w.Header().Add("Connection", someConnHeader)
+++             w.Header().Set(someConnHeader, "should be deleted")
+++             io.WriteString(w, backendResponse)
+++     }))
+++     defer backend.Close()
+++     backendURL, err := url.Parse(backend.URL)
+++     if err != nil {
+++             t.Fatal(err)
+++     }
+++     proxyHandler := NewSingleHostReverseProxy(backendURL)
+++     frontend := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+++             proxyHandler.ServeHTTP(w, r)
+++             if c := r.Header.Get(someConnHeader); c != "should be deleted" {
+++                     t.Errorf("handler modified header %q = %q; want %q", someConnHeader, c, "should be deleted")
+++             }
+++     }))
+++     defer frontend.Close()
+++
+++     getReq, _ := http.NewRequest("GET", frontend.URL, nil)
+++     getReq.Header.Add("Connection", "")
+++     getReq.Header.Add("Connection", someConnHeader)
+++     getReq.Header.Set(someConnHeader, "should be deleted")
+++     res, err := frontend.Client().Do(getReq)
+++     if err != nil {
+++             t.Fatalf("Get: %v", err)
+++     }
+++     defer res.Body.Close()
+++     bodyBytes, err := ioutil.ReadAll(res.Body)
+++     if err != nil {
+++             t.Fatalf("reading body: %v", err)
+++     }
+++     if got, want := string(bodyBytes), backendResponse; got != want {
+++             t.Errorf("got body %q; want %q", got, want)
+++     }
+++     if c := res.Header.Get("Connection"); c != "" {
+++             t.Errorf("handler got header %q = %q; want empty", "Connection", c)
+++     }
+++     if c := res.Header.Get(someConnHeader); c != "" {
+++             t.Errorf("handler got header %q = %q; want empty", someConnHeader, c)
+++     }
+++}
+++
++ func TestXForwardedFor(t *testing.T) {
++      const prevForwardedFor = "client ip"
++      const backendResponse = "I am the backend"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..189de3efeca39917ee354c3adef94a498030f77b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,107 @@@
++From df9ce19db6df32d94eae8760927bdfbc595433c3 Mon Sep 17 00:00:00 2001
++From: Robert Griesemer <gri@golang.org>
++Date: Sun, 2 May 2021 11:27:03 -0700
++Subject: [PATCH] [release-branch.go1.15] math/big: check for excessive
++ exponents in Rat.SetString
++
++Found by OSS-Fuzz https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33284
++
++Thanks to Emmanuel Odeke for reporting this issue.
++
++Updates #45910
++Fixes #46305
++Fixes CVE-2021-33198
++
++Change-Id: I61e7b04dbd80343420b57eede439e361c0f7b79c
++Reviewed-on: https://go-review.googlesource.com/c/go/+/316149
++Trust: Robert Griesemer <gri@golang.org>
++Trust: Katie Hockman <katie@golang.org>
++Run-TryBot: Robert Griesemer <gri@golang.org>
++TryBot-Result: Go Bot <gobot@golang.org>
++Reviewed-by: Katie Hockman <katie@golang.org>
++Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
++(cherry picked from commit 6c591f79b0b5327549bd4e94970f7a279efb4ab0)
++Reviewed-on: https://go-review.googlesource.com/c/go/+/321831
++Run-TryBot: Katie Hockman <katie@golang.org>
++Reviewed-by: Roland Shoemaker <roland@golang.org>
++---
++ src/math/big/ratconv.go      | 15 ++++++++-------
++ src/math/big/ratconv_test.go | 25 +++++++++++++++++++++++++
++ 2 files changed, 33 insertions(+), 7 deletions(-)
++
++diff --git a/src/math/big/ratconv.go b/src/math/big/ratconv.go
++index 941139e72d1c4..ac3c8bd11f8a8 100644
++--- a/src/math/big/ratconv.go
+++++ b/src/math/big/ratconv.go
++@@ -51,7 +51,8 @@ func (z *Rat) Scan(s fmt.ScanState, ch rune) error {
++ // An optional base-10 ``e'' or base-2 ``p'' (or their upper-case variants)
++ // exponent may be provided as well, except for hexadecimal floats which
++ // only accept an (optional) ``p'' exponent (because an ``e'' or ``E'' cannot
++-// be distinguished from a mantissa digit).
+++// be distinguished from a mantissa digit). If the exponent's absolute value
+++// is too large, the operation may fail.
++ // The entire string, not just a prefix, must be valid for success. If the
++ // operation failed, the value of z is undefined but the returned value is nil.
++ func (z *Rat) SetString(s string) (*Rat, bool) {
++@@ -169,6 +170,9 @@ func (z *Rat) SetString(s string) (*Rat, bool) {
++              if n < 0 {
++                      n = -n
++              }
+++             if n > 1e6 {
+++                     return nil, false // avoid excessively large exponents
+++             }
++              pow5 := z.b.abs.expNN(natFive, nat(nil).setWord(Word(n)), nil) // use underlying array of z.b.abs
++              if exp5 > 0 {
++                      z.a.abs = z.a.abs.mul(z.a.abs, pow5)
++@@ -181,15 +185,12 @@ func (z *Rat) SetString(s string) (*Rat, bool) {
++      }
++ 
++      // apply exp2 contributions
+++     if exp2 < -1e7 || exp2 > 1e7 {
+++             return nil, false // avoid excessively large exponents
+++     }
++      if exp2 > 0 {
++-             if int64(uint(exp2)) != exp2 {
++-                     panic("exponent too large")
++-             }
++              z.a.abs = z.a.abs.shl(z.a.abs, uint(exp2))
++      } else if exp2 < 0 {
++-             if int64(uint(-exp2)) != -exp2 {
++-                     panic("exponent too large")
++-             }
++              z.b.abs = z.b.abs.shl(z.b.abs, uint(-exp2))
++      }
++ 
++diff --git a/src/math/big/ratconv_test.go b/src/math/big/ratconv_test.go
++index ba0d1ba9e1158..15d206cb386ab 100644
++--- a/src/math/big/ratconv_test.go
+++++ b/src/math/big/ratconv_test.go
++@@ -589,3 +589,28 @@ func TestIssue31184(t *testing.T) {
++              }
++      }
++ }
+++
+++func TestIssue45910(t *testing.T) {
+++     var x Rat
+++     for _, test := range []struct {
+++             input string
+++             want  bool
+++     }{
+++             {"1e-1000001", false},
+++             {"1e-1000000", true},
+++             {"1e+1000000", true},
+++             {"1e+1000001", false},
+++
+++             {"0p1000000000000", true},
+++             {"1p-10000001", false},
+++             {"1p-10000000", true},
+++             {"1p+10000000", true},
+++             {"1p+10000001", false},
+++             {"1.770p02041010010011001001", false}, // test case from issue
+++     } {
+++             _, got := x.SetString(test.input)
+++             if got != test.want {
+++                     t.Errorf("SetString(%s) got ok = %v; want %v", test.input, got, test.want)
+++             }
+++     }
+++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0d63b9a9941e5f7da3e01d45a0f627b588b1464
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++0001-Disable-test-for-UserHomeDir.patch
++0002-Fix-Lintian-warnings-about-wrong-interpreter-path.patch
++0003-cmd-go-cmd-cgo-pass-mfp32-and-mhard-soft-float-to-MI.patch
++0004-cmd-dist-fix-build-failure-of-misc-cgo-test-on-arm64.patch
++0005-cmd-dist-increase-default-timeout-scale-for-arm.patch
++0006-skip-userns-test-in-schroot-as-well.patch
++0007-CVE-2021-31525.patch
++0008-CVE-2021-33196.patch
++0009-CVE-2021-33195-1.patch
++0010-CVE-2021-33195-2.patch
++0011-CVE-2021-33197.patch
++0012-CVE-2021-33198.patch
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4bd58e8a1c252a424586ef3b66f999ebf89655f2
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,136 @@@
++#!/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)
++
++# Go 1.12 needs a build cache, otherwise the build fails.
++export GOCACHE := $(CURDIR)/pkg/obj/go-build
++
++# 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
++
++# The signing key for the source tarballs is rotated yearly.
++update_upstream_signing_key:
++      wget -O debian/upstream/signing-key.asc https://dl.google.com/dl/linux/linux_signing_key.pub
++
++override_dh_auto_clean: gencontrol
++      # remove autogenerated files
++      rm -f \
++              src/cmd/cgo/zdefaultcc.go \
++              src/cmd/go/internal/cfg/zdefaultcc.go \
++              src/cmd/go/internal/cfg/zosarch.go \
++              src/cmd/internal/objabi/zbootstrap.go \
++              src/go/build/zcgo.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"; \
++              export GO_TEST_TIMEOUT_SCALE=10; \
++              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-arch:
++      dh_install
++      # 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 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/cmd/vendor/golang.org/x/sys/unix/mkall.sh
++      chmod a+x debian/golang-$(GOVER)-src/usr/share/go-$(GOVER)/src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
++      chmod a+x debian/golang-$(GOVER)-src/usr/share/go-$(GOVER)/src/cmd/vendor/golang.org/x/sys/windows/mkerrors.bash
++
++override_dh_missing:
++      dh_missing --fail-missing
++
++override_dh_strip:
++      dh_strip -Xtestdata
++
++# Do not run dh_dwz, as there is no debug information currently.
++override_dh_dwz:
++
++override_dh_strip_nondeterminism:
++      dh_strip_nondeterminism -Xtestdata
++
++override_dh_shlibdeps:
++      dh_shlibdeps -Xtestdata -Xtest
++
++override_dh_makeshlibs:
++      dh_makeshlibs -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eced76a3f34a2c47861decdaa80d842d5097357c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++#
++# WARNING: "debian/source/lintian-overrides" is generated via "debian/rules gencontrol" (sourced from "debian/source/lintian-overrides.in")
++#
++
++golang-1.15 source: source-contains-prebuilt-binary src/cmd/internal/buildid/testdata/a.elf
++golang-1.15 source: source-contains-prebuilt-binary src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/cycle.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-clang.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/line-gcc.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/ranges.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/split.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf
++golang-1.15 source: source-contains-prebuilt-binary src/debug/dwarf/testdata/typedef.elf4
++golang-1.15 source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-386-freebsd-exec
++golang-1.15 source: source-contains-prebuilt-binary src/debug/elf/testdata/gcc-amd64-linux-exec
++golang-1.15 source: source-contains-prebuilt-binary src/debug/elf/testdata/*.obj
++golang-1.15 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/escapeinfo.gox
++golang-1.15 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/time.gox
++golang-1.15 source: source-contains-prebuilt-binary src/go/internal/gccgoimporter/testdata/unicode.gox
++golang-1.15 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32
++golang-1.15 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test32be
++golang-1.15 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64
++golang-1.15 source: source-contains-prebuilt-binary src/runtime/pprof/testdata/test64be
++golang-1.15 source: source-contains-prebuilt-binary src/runtime/race/*.syso
++golang-1.15 source: source-contains-prebuilt-windows-binary src/cmd/internal/buildid/testdata/a.pe
++golang-1.15 source: source-contains-prebuilt-windows-binary src/debug/dwarf/testdata/line-gcc-win.bin
++golang-1.15 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-exec
++golang-1.15 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-386-mingw-no-symbols-exec
++golang-1.15 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/gcc-amd64-mingw-exec
++golang-1.15 source: source-contains-prebuilt-windows-binary src/debug/pe/testdata/vmlinuz-4.15.0-47-generic
++
++golang-1.15 source: source-is-missing src/runtime/race/*.syso
++golang-1.15 source: source-is-missing src/cmd/internal/buildid/testdata/a.elf
++golang-1.15 source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
++golang-1.15 source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
++golang-1.15 source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf
++
++# 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.15 source: source-is-missing src/debug/elf/testdata/gcc-386-freebsd-exec
++golang-1.15 source: source-is-missing src/debug/elf/testdata/gcc-amd64-linux-exec
++golang-1.15 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.15 source: source-is-missing src/debug/dwarf/testdata/line-clang.elf
++golang-1.15 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.15 source: source-is-missing src/debug/dwarf/testdata/typedef.elf4
++
++golang-1.15 source: source-is-missing src/runtime/pprof/testdata/test*
++golang-1.15 source: source-is-missing src/go/internal/gccgoimporter/testdata/*.gox
++
++# This is not a typo.
++golang-1.15 source: unknown-file-in-debian-source lintian-overrides.in
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0d457ec5b82f0bd3a91375c0fc3933e41823ce1d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,52 @@@
++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-contains-prebuilt-windows-binary src/debug/pe/testdata/vmlinuz-4.15.0-47-generic
++
++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
++golang-X.Y source: source-is-missing src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf
++
++# 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..39d3905252c974465ad69b2c8079eed381ef1808
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,165 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++Version: GnuPG v1.4.2.2 (GNU/Linux)
++
++mQGiBEXwb0YRBADQva2NLpYXxgjNkbuP0LnPoEXruGmvi3XMIxjEUFuGNCP4Rj/a
++kv2E5VixBP1vcQFDRJ+p1puh8NU0XERlhpyZrVMzzS/RdWdyXf7E5S8oqNXsoD1z
++fvmI+i9b2EhHAA19Kgw7ifV8vMa4tkwslEmcTiwiw8lyUl28Wh4Et8SxzwCggDcA
++feGqtn3PP5YAdD0km4S4XeMEAJjlrqPoPv2Gf//tfznY2UyS9PUqFCPLHgFLe80u
++QhI2U5jt6jUKN4fHauvR6z3seSAsh1YyzyZCKxJFEKXCCqnrFSoh4WSJsbFNc4PN
++b0V0SqiTCkWADZyLT5wll8sWuQ5ylTf3z1ENoHf+G3um3/wk/+xmEHvj9HCTBEXP
++78X0A/0Tqlhc2RBnEf+AqxWvM8sk8LzJI/XGjwBvKfXe+l3rnSR2kEAvGzj5Sg0X
++4XmfTg4Jl8BNjWyvm2Wmjfet41LPmYJKsux3g0b8yzQxeOA4pQKKAU3Z4+rgzGmf
++HdwCG5MNT2A5XxD/eDd+L4fRx0HbFkIQoAi1J3YWQSiTk15fw7RMR29vZ2xlLCBJ
++bmMuIExpbnV4IFBhY2thZ2UgU2lnbmluZyBLZXkgPGxpbnV4LXBhY2thZ2VzLWtl
++eW1hc3RlckBnb29nbGUuY29tPohjBBMRAgAjAhsDBgsJCAcDAgQVAggDBBYCAwEC
++HgECF4AFAkYVdn8CGQEACgkQoECDD3+sWZHKSgCfdq3HtNYJLv+XZleb6HN4zOcF
++AJEAniSFbuv8V5FSHxeRimHx25671az+uQINBEXwb0sQCACuA8HT2nr+FM5y/kzI
++A51ZcC46KFtIDgjQJ31Q3OrkYP8LbxOpKMRIzvOZrsjOlFmDVqitiVc7qj3lYp6U
++rgNVaFv6Qu4bo2/ctjNHDDBdv6nufmusJUWq/9TwieepM/cwnXd+HMxu1XBKRVk9
++XyAZ9SvfcW4EtxVgysI+XlptKFa5JCqFM3qJllVohMmr7lMwO8+sxTWTXqxsptJo
++pZeKz+UBEEqPyw7CUIVYGC9ENEtIMFvAvPqnhj1GS96REMpry+5s9WKuLEaclWpd
++K3krttbDlY1NaeQUCRvBYZ8iAG9YSLHUHMTuI2oea07Rh4dtIAqPwAX8xn36JAYG
++2vgLAAMFB/wKqaycjWAZwIe98Yt0qHsdkpmIbarD9fGiA6kfkK/UxjL/k7tmS4Vm
++CljrrDZkPSQ/19mpdRcGXtb0NI9+nyM5trweTvtPw+HPkDiJlTaiCcx+izg79Fj9
++KcofuNb3lPdXZb9tzf5oDnmm/B+4vkeTuEZJ//IFty8cmvCpzvY+DAz1Vo9rA+Zn
++cpWY1n6z6oSS9AsyT/IFlWWBZZ17SpMHu+h4Bxy62+AbPHKGSujEGQhWq8ZRoJAT
++G0KSObnmZ7FwFWu1e9XFoUCt0bSjiJWTIyaObMrWu/LvJ3e9I87HseSJStfw6fki
++5og9qFEkMrIrBCp3QGuQWBq/rTdMuwNFiEkEGBECAAkFAkXwb0sCGwwACgkQoECD
++D3+sWZF/WACfeNAu1/1hwZtUo1bR+MWiCjpvHtwAnA1R3IHqFLQ2X3xJ40XPuAyY
++/FJG
++=Quqp
++-----END PGP PUBLIC KEY BLOCK-----
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++
++mQINBFcMjNMBEAC6Wr5QuLIFgz1V1EFPlg8ty2TsjQEl4VWftUAqWlMevJFWvYEx
++BOsOZ6kNFfBfjAxgJNWTkxZrHzDl74R7KW/nUx6X57bpFjUyRaB8F3/NpWKSeIGS
++pJT+0m2SgUNhLAn1WY/iNJGNaMl7lgUnaP+/ZsSNT9hyTBiH3Ev5VvAtMGhVI/u8
++P0EtTjXp4o2U+VqFTBGmZ6PJVhCFjZUeRByloHw8dGOshfXKgriebpioHvU8iQ2U
++GV3WNIirB2Rq1wkKxXJ/9Iw+4l5m4GmXMs7n3XaYQoBj28H86YA1cYWSm5LR5iU2
++TneI1fJ3vwF2vpSXVBUUDk67PZhg6ZwGRT7GFWskC0z8PsWd5jwK20mA8EVKq0vN
++BFmMK6i4fJU+ux17Rgvnc9tDSCzFZ1/4f43EZ41uTmmNXIDsaPCqwjvSS5ICadt2
++xeqTWDlzONUpOs5yBjF1cfJSdVxsfshvln2JXUwgIdKl4DLbZybuNFXnPffNLb2v
++PtRJHO48O2UbeXS8n27PcuMoLRd7+r7TsqG2vBH4t/cB/1vsvWMbqnQlaJ5VsjeW
++Tp8Gv9FJiKuU8PKiWsF4EGR/kAFyCB8QbJeQ6HrOT0CXLOaYHRu2TvJ4taY9doXn
++98TgU03XTLcYoSp49cdkkis4K+9hd2dUqARVCG7UVd9PY60VVCKi47BVKQARAQAB
++tFRHb29nbGUgSW5jLiAoTGludXggUGFja2FnZXMgU2lnbmluZyBBdXRob3JpdHkp
++IDxsaW51eC1wYWNrYWdlcy1rZXltYXN0ZXJAZ29vZ2xlLmNvbT6JAjgEEwECACIF
++AlcMjNMCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHch9jvTi0eW5CAP
++/RELE/OAoA4o1cMBxJsljWgCgDig2Ge91bFCN0vExLcP0iByra7qPWJowXDJ5sCj
++UBnCkrxGo5D15U7cW5FC0+qWU73q0AuG3OjKDQ49ecdRkYHwcvwWQvT5Lz3DwOGW
++4armfEuzWXcUDeShR7AgfcTq+Pfoo3dHqdB8TmtNySu/AdJFmVH/xTiWYWrOSibh
++yLuaSW/0cTkHW0GDk06MlDkcdkTzhO5GMDO7PUxBgCysTXFR0T9TVWDo9VwvuMww
++2pE5foleA0X6PD/6GQpy3aX2xry8rhFvYplEa5zwXhqsscdKXlp1ZPZ4PMvvwe49
++5mY9n/1Rx1TmMvIcLHKP61sURMOve97Gipk/iD6oaeeT8I0khexHCQy7JMROoPMr
++z5onVOt2rAGZScIZsm5FYGSt9eDKBWI6qpJ/5QoVhkRWjOXOchZlJHo+kLdg6jq2
++vOnIlFnXo0p6Rqf/IEq5PMh70vVZpk4tNYNy4zRx03ZTA9qXRLW+ftxSQIYMY5eC
++Z31lqSH4EjqgtUG+zn2A6juKayb1nkt2O3F1wWOm6oTzNsAP5LdReJRlw151Jp4U
++4ftGtw7ygq+nvokXL7YLuu8sbFqfFXcTPrAZa5M9gnC7GCnIQyF/WvqUnrcaC1jp
++qBc+pkSJhROhN12QY8Po8AT8/UaUh/dPIiW5A4o8pOPEiEYEEBECAAYFAlcNtn8A
++CgkQoECDD3+sWZGy3wCfWTMZWsipX+yG/VB4Q1FunIfEVHYAnimEXCjZ3IVyy5F1
++yU36PihDCjWqiEYEEBECAAYFAlcNtvEACgkQMUcsOzG36APnRwCeJ/bfGf8FBa4q
++5TMw8p1GS1jWT5EAn2sc02481HHdTmZiW/CGWXmgE+OPuQINBFcMjcgBEACrL9gH
++hdr6gQX4ZMA5slp628xOrHCsdLO54WNdPRKeFHXJqSSJi3fs8FxBWI4FnejeKUGb
++F+MrOlFpKqELxaMje7bwZyap3izztZHszP3YmOoTBJvREGKdCkL82cLsChYD/Prg
++E8crvkhSnq9evcsKAnziMxg/wDCChUL3Evqo29BeoB81f+E9wkrUTMCT/kVxt3pG
++RalKX0UhrtKrpm8yRfjufJfwjkdwgvinkRGZ2GrWHj4LzMbi9/udYaJZ66Yw0hEU
++4USxUB9vNtmSFrb4EB91T2rhc68dgQ4jYBI7K4Ebb8XaWAxb+IAq31l1UkiEA32F
++4qUMoL6rChB4y6nHxOnTvs+XEb5TBwXVogjLRKTQs5U/HV9l7j+HAchk5y3im2N2
++UKmMxHqotvPZZUZPdaCRxUedQf9gR0yLZV+U9BcDuwjzL/zjrthNZYlEGJ6HZ/TL
++STp4dDH+uXuLqMVWy5iquKtnbrnNTQtv5twD+Ajpgy60YLOJ9YaiJ4GjifOpzSk8
++3e1rJ3p/pX6B5NWQinVLZJzxyeOoh3iMjdmCDSnEXLrCmYv5g6jyV/Wbd4GYFuMK
++8TT7+PQdWLcbZ/Lxc5w0s+c7+f5OfmKXO5KPHnnUsrF5DBaKRPjScpwePQitxeIg
++lUgEMDkNruBhu1PzCxd3BtXgu++K3WdoH3VcgwARAQABiQREBBgBAgAPBQJXDI3I
++AhsCBQkFo5qAAikJEHch9jvTi0eWwV0gBBkBAgAGBQJXDI3IAAoJEBOXvFNkDbVR
++QSYP/0Ewr3T7e0soTz8g4QJLLVqZDZdX8Iez04idNHuvAu0AwdZ2wl0C+tMkD7l4
++R2aI6BKe/9wPndk/NJe+ZYcD/uzyiKIJQD48PrifNnwvHu9A80rE4BppQnplENeh
++ibbWaGNJQONGFJx7QTYlFjS5LNlG1AX6mQjxvb423zOWSOmEamYXYBmYyMG6vkr/
++XTPzsldky8XFuPrJUZslL/Wlx31XQ1IrtkHHOYqWwr0hTc50/2O8H0ewl/dBZLq3
++EminZZ+tsTugof0j4SbxYhplw99nGwbN1uXy4L8/dWOUXnY5OgaTKZPF15zRMxXN
++9FeylBVYpp5kzre/rRI6mQ2lafYHdbjvd7ryHF5JvYToSDXd0mzF2nLzm6jwsO84
++7ZNd5GdTD6/vcef1IJta1nSwA/hhLtgtlz6/tNncp3lEdCjAMx29jYPDX+Lqs9JA
++xcJHufr82o6wM9TF24Q8ra8NbvB63odVidCfiHoOsIFDUrazH8XuaQzyZkI0bbzL
++mgMAvMO6u1zPfe/TK6LdJg7AeAKScOJS38D5mmwaD1bABr67ebA/X5HdaomSDKVd
++UYaewfTGBIsrWmCmKpdb+WfX4odFpNzXW/qskiBp5WSesKvN1QUkLJZDZD1kz2++
++Xul5B97s5LxLTLRwvgLoNaUFr3lnejzNLgdBpf6FnkA59syRUuIP/jiAZ2uJzXVK
++PeRJqMGL+Ue2HiVEe8ima3SQIceqW8jKS7c7Nic6dMWxgnDpk5tJmVjrgfc0a9c1
++FY4GomUBbZFj+j73+WRk3EaVKIsty+xz48+rlJjdYFVCJo0Jp67jjjXOt6EOHTni
++OA/ANtzRIzDMnWrwJZ7AxCGJ4YjLShkcRM9S30X0iuAkxNILX++SNOd8aqc2bFof
++yTCkcbk6CIc1W00vffv1QGTNjstNpVSl9+bRmlJDqJWnDGk5Nl4Ncqd8X51V0tYE
++g6WEK4OM83wx5Ew/TdTRq5jJkbCu2GYNaNNNgXW7bXSvT5VINbuP6dmbi1/8s0jK
++JQOEBI3RxxoB+01Dgx9YdNfjsCM3hvQvykaWMALeZIpzbXxV118Y9QQUIRe2L+4X
++ZACEAhWjj2K1wP7ODGTQrrM4q4sIw1l3l7yO9aXXN7likAAddT4WEpGV0CiorReO
++J1y/sKJRJSI/npN1UK7wMazZ+yzhxN0qzG8sqREKJQnNuuGQQ/qIGb/oe4dPO0Fi
++hAUGkWoa0bgtGVijN5fQSbMbV50kZYqaa9GnNQRnchmZb+pK2xLcK85hD1np37/A
++m5o2ggoONj3qI3JaRHsZaOs1qPQcyd46OyIFUpHJIfk4nezDCoQYd93bWUGqDwxI
++/n/CsdO0365yqDO/ADscehlVqdAupVv2uQINBFiGv8wBEACtrmK7c12DfxkPAJSD
++12VanxLLvvjYW0KEWKxN6TMRQCawLhGwFf7FLNpab829DFMhBcNVgJ8aU0YIIu9f
++HroIaGi+bkBkDkSWEhSTlYa6ISfBn6Zk9AGBWB/SIelOncuAcI/Ik6BdDzIXnDN7
++cXsMgV1ql7jIbdbsdX63wZEFwqbaiL1GWd4BUKhj0H46ZTEVBLl0MfHNlYl+X3ib
++9WpRS6iBAGOWs8Kqw5xVE7oJm9DDXXWOdPUE8/FVti+bmOz+ICwQETY9I2EmyNXy
++UG3iaKs07VAf7SPHhgyBEkMngt5ZGcH4gs1m2l/HFQ0StNFNhXuzlHvQhDzd9M1n
++qpstEe+f8AZMgyNnM+uGHJq9VVtaNnwtMDastvNkUOs+auMXbNwsl5y/O6ZPX5I5
++IvJmUhbSh0UOguGPJKUu/bl65theahz4HGBA0Q5nzgNLXVmU6aic143iixxMk+/q
++A59I6KelgWGj9QBPAHU68//J4dPFtlsRKZ7vI0vD14wnMvaJFv6tyTSgNdWsQOCW
++i+n16rGfMx1LNZTO1bO6TE6+ZLuvOchGJTYP4LbCeWLL8qDbdfz3oSKHUpyalELJ
++ljzin6r3qoA3TqvoGK5OWrFozuhWrWt3tIto53oJ34vJCsRZ0qvKDn9PQX9r3o56
++hKhn8G9z/X5tNlfrzeSYikWQcQARAQABiQREBBgBAgAPBQJYhr/MAhsCBQkFo5qA
++AikJEHch9jvTi0eWwV0gBBkBAgAGBQJYhr/MAAoJEGSUxtaZfCFeW4kP/iZq+blR
++DzgRzOw16x80vyBjfPOUKd++dSUkcr4Khi5vjBygNdVSWcKZaBKVkdBmCvf+p9bY
++wzfL+RdxvGEv8WKNTNjdaWcJ2chU2O4H5Am3QsduQ/sSf+jTzlnMe7NpfF9n3uo3
++4o+xEFOOcnyF3cHrhxWOCde9rX6kbnUQriIMXZteJY8e9Rs+Iv46DoL1eOlavAgD
++UJbIf/iLt219OdtWI7ZqopA0d+tcn7FL3fwuvyvn5WZRYHIerB4EYgBI6bCwl5JQ
++ejORlhuYx1oknyPjnzPJ9Los74chrf7OHOJ06iIQf1zlC9V/niA2xiM9NwePtTQO
++CTEJVB6IEoEtH6rozpAdriprH9fRnZkJxINNnCoYk1op9wVh3xfUHbOCvGQbB54c
++qN+amp9dEquCAe6Yt1WodTspL1zPXJ5Mv43Dud76TNEwQDywuebg4NFQnBTPXZGp
++LQYbUVhXSuMlVZXNEUx8xSz7vECm0S4x2h12RBKbK2RfI4oCq/wpD1dQRsZaKSYL
++FbZw5j2yk6nBBrtfahd7sWVX1F+YdisbTeT5iUhESAWqW9bCyCnNRFy6V34IgW9P
++e9yLu8WbVSJAFvnALxsc6hGyvs5dbXbruWKmi5mvk6tCFWdFlBVrrhx1QgqMtcS3
++jv3S7GHyCA3CS1lEgsifYkeOARAgJ1hZ5BvUurUP+wb66lIhDB0U9NuFdJUTc6nO
++/1cy3i9mGCVoqwmTcB1BJ9E1hncMUP1/MvrAgkBBrAWJiD2Xj9QV/uBozA7nLxrV
++7cf1de9OLgH4eNEfX25xj8BBPYnyVyHsyk5ZHDhjj9SaurfvlFWYi13i5ieMpyLV
++JV4+r2Wi1x1UgKVAlB78sHYnbDzSoHPLBcIxtIKp30LJ0PEkat8SG7G2wgtv1Rdh
++mcZEBV05vMnrGGO991e+pKzRNPYH8rD3VQKJlvaFwsJuBTW42gZ3KfpUNKI2ugCc
++nRNpoHFWNCrzlJ0CFI48LMlmUSs+7i/l+QGleaLKQxRTNNpAmevLrS7ga4Iq0IEq
++xey6VW6RSk/Z1Z37J8B7PISSR0rZn6TeyQgFWf/FOLw6OtwOquGmMeGSqj2Uzxyb
++ygtsvUZz0BxYymoWFd4F8sp43oL2TXU6Wp7QIpBaFgkSf/UQxfR6wcQ3ivafeS1l
++g8vUFuMfuMLto6T0JiZw8uKSuDWltSReF+FXVnhawz72BZMy8RIoshGdpWHn/YbN
++6L+JOuxZnvkMAZvSLT3c0H4XCDYtEfK2mJMqD2ynX5tGR8Fy3GAaEjhx36TvzTjC
++XRmJ+FnlSW1p77x+UjFUFcpY8skv+f0Gip30iynAb1hoAdibIDab612OWi/4vX0D
++aM6t68Uq8rsabeJYsZG4uQINBF01/K4BEACskZL08crrKfX2aD2w8OUS3jVGSW7K
++10Jr/dgl6ZB7Xx/y3c9lhBim7oRIsl6tpR/DBP50UnTIgBbvynbJ6tbWGptt64Az
++nI7el9pH0k63DOKcfqRUgJKTM4OUZSkcuqQ2qnkvn+g0oiJ3VhaVYOJdJfJF/pLj
++5Oi3UEL2afoEd048/lZEaATRvEqLj+h2pSfETEl5wCWyRnuMSu6ay9NmVzRxiJhP
++DGW2ppQTxJuaKj+6Vqw5WISu9nsRxTPE1DW8f7LYyPBwgultuSYKZoCdfoYE8ff4
++71oZIuCKcGSSBHQbR6MBTD6KJtqzBzpfJ8zZJmVO4lg0CJgp9xX2QZ8hPkpaBbnq
++2JCMS1zriCMN8iGhW6ZHYmZQJtWuubuZt51VL9QmEUUhCF1t+3ld11SaowY4NFKI
++LUdYbC2zAOQIEEJkWRIHKleuc2zYSNSoXl06oGgwCKQb5l+LlcYHx4+/F3+KzyAq
++0NqBC1rMnhbn3tcckdZyhLEpnx9/y33ypo6ZZ0s6dLGrmSpJpedEz6zr8siBa4uT
++3IvVF4xjfpzSt3cMD/Lzhbnk5onUfkmoCmQ/pkuKpMr35hHtdDxshLcLPFkTncMj
++EVAOBToHDbKDSplueyJm48ELPi9ZmuyNu7WsB8TWVEAkUShxdeHALVpY1D+MjXK+
++Z5ap6/tppj+fmwARAQABiQREBBgBCAAPBQJdNfyuAhsCBQkFo5qAAikJEHch9jvT
++i0eWwV0gBBkBCAAGBQJdNfyuAAoJEHi9ZUc8s70TzUAP/1Qq69M1CMd302TMnp1Y
++h1O06wkCPFGnMFMVwYRXH5ggoYUb3IoCOmIAHOEn6v9fho0rYImS+oRDFeE08dOx
++eI+Co0xVisVHJ1JJvdnu216BaXEsztZ0KGyUlFidXROrwndlpE3qlz4t1wh/EEaU
++H2TaQjRJ+O1mXJtF6vLB1+YvMTMz3+/3aeX/elDz9aatHSpjBVS2NzbHurb9g7mq
++D45nB80yTBsPYT7439O9m70OqsxjoDqe0bL/XlIXsM9w3ei/Us7rSfSY5zgIKf7/
++iu+aJcMAQC9Zir7XASUVsbBZywfpo2v4/ACWCHJ63lFST2Qrlf4Rjj1PhF0ifvB2
++XMR6SewNkDgVlQV+YRPO1XwTOmloFU8qepkt8nm0QM1lhdOQdKVe0QyNn6btyUCK
++I7p4pKc8/yfZm5j6EboXiGAb3XCcSFhR6pFrad12YMcKBhFYvLCaCN6g1q5sSDxv
++xqfRETvEFVwqOzlfiUH9KVY3WJcOZ3Cpbeu3QCpPkTiVZgbnR+WU9JSGQFEi7iZT
++rT8tct4hIg1Pa35B1lGZIlpYmzvdN5YoV9ohJoa1Bxj7qialTT/Su1Eb/toOOkOl
++qQ7B+1NBXzv9FmiBntC4afykHIeEIESNX9LdmvB+kQMW7d1d7Bs0aW2okPDt02vg
++wH2VEtQTtfq5B98jbwNW9mbXTvMQAKKCKl+H8T72WdueqgPKHEkXDZtJmTn6nyne
++YlETvdmHGEIb1ejxuJ5URlAYnciY+kvSQ/boKjVHNGmf6+JBexd+HqPhkeextV6J
++cnmi47HDvIU/TSynhuqZeK/3SZAV7ESqQl42q7wm7Pqw0dkv4jjFCRxDA+Qq2aH6
++szJ7DZxTRWqfR3Zbe78NyFVXKxhFQO72zHzC3pFu/Ak59hmTU23yoXVo5t+5O+Q2
++1kX2dbuLd6Px1bnT+EmyneoPP1Emea5jgsw2/ECqHnvNt6cbp+42XYldGh+PBHBm
++ucC3Mn7sALajHe5k2XkNlfbjSNlmutxQFH1qq9rh/JVyxJNHeGzV5G0timAwfdJF
++UzE1vNU5P0w4O8HrCsX5Ecfgcw2BQ9vPCE3OfG+11xp6oiNMRVsR5pTu7RiI1BQA
++yICWUW/wXuhhHkkwNTiwfciJfVA8ckOiRubik8geEH5boOxgeAaBu6yusQVHnRRy
++G4wjQ+qsWo+wDI9WMdtpNG1toJrSUL4OYa4oX3YogSv5hGrbYIaP4HwO6O2oTMnS
++0lRIGJOqbEQcmKUa/nWT/3NipTnYzyMjMlEQe89YKjd+32tjMfOSdIOvwCGaTizd
++WnKPF77qB9D0v8C/7AdHmEFqf2ZX8vK31aaY+ZpPWG5IHlf6f/buIMBalJOxIBev
++eBqxcHwQ
++=4zaS
++-----END PGP PUBLIC KEY BLOCK-----
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f80e914c6d38d0cd4fb34d015a72e804794a0f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++#
++# WARNING: "debian/watch" is generated via "debian/rules gencontrol" (sourced from "debian/watch.in")
++#
++
++version=4
++opts=\
++uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
++pgpmode=auto \
++  https://golang.org/dl/ .*/go(1.15\S*)\.src\.tar\.gz
diff --cc debian/watch.in
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3602c5c2a7b3a16fd53b514c381c892a0a3c79ef
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++version=4
++opts=\
++uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
++pgpmode=auto \
++  https://golang.org/dl/ .*/go(X.Y\S*)\.src\.tar\.gz