Merge branch 'master' into epel7

This commit is contained in:
Vincent Batts 2014-09-29 19:14:31 +00:00
commit 627516c002
13 changed files with 533 additions and 332 deletions

6
.gitignore vendored
View File

@ -4,3 +4,9 @@
/golang-19087:a15f344a9efa-xattrs.tar
/go1.2.1.src.tar.gz
/go1.2.2.src.tar.gz
/go1.3beta2.src.tar.gz
/go1.3rc1.src.tar.gz
/go1.3rc2.src.tar.gz
/go1.3.src.tar.gz
/go1.3.1.src.tar.gz
/go1.3.2.src.tar.gz

View File

@ -0,0 +1,110 @@
# HG changeset patch
# User Cristian Staretu <unclejacksons@gmail.com>
# Date 1405555229 -36000
# Thu Jul 17 10:00:29 2014 +1000
# Node ID 1b17b3426e3c281a973d2d7bbf235b936d6a0942
# Parent 278365dff593f027db6c6b2c0a89262490d6b676
archive/tar: fix writing of pax headers
"archive/tar: reuse temporary buffer in writeHeader" introduced a
change which was supposed to help lower the number of allocations from
512 bytes for every call to writeHeader. This change broke the writing
of PAX headers.
writeHeader calls writePAXHeader and writePAXHeader calls writeHeader
again. writeHeader will end up writing the PAX header twice.
example broken header:
PaxHeaders.4007/NetLock_Arany_=Class_Gold=_Ftanstvny.crt0000000000000000000000000000007112301216634021512 xustar0000000000000000
PaxHeaders.4007/NetLock_Arany_=Class_Gold=_Ftanstvny.crt0000000000000000000000000000007112301216634021512 xustar0000000000000000
example correct header:
PaxHeaders.4290/NetLock_Arany_=Class_Gold=_Ftanstvny.crt0000000000000000000000000000007112301216634021516 xustar0000000000000000
0100644000000000000000000000270412301216634007250 0ustar0000000000000000
This commit adds a dedicated buffer for pax headers to the Writer
struct. This change increases the size of the struct by 512 bytes, but
allows tar/writer to avoid allocating 512 bytes for all written
headers and it avoids allocating 512 more bytes for pax headers.
LGTM=dsymonds
R=dsymonds, dave, iant
CC=golang-codereviews
https://codereview.appspot.com/110480043
Committer: David Symonds <dsymonds@golang.org>
diff -r 278365dff593 -r 1b17b3426e3c src/pkg/archive/tar/writer.go
--- a/src/pkg/archive/tar/writer.go Wed Jul 16 16:29:51 2014 -0700
+++ b/src/pkg/archive/tar/writer.go Thu Jul 17 10:00:29 2014 +1000
@@ -39,7 +39,8 @@
closed bool
usedBinary bool // whether the binary numeric field extension was used
preferPax bool // use pax header instead of binary numeric header
- hdrBuff [blockSize]byte // buffer to use in writeHeader
+ hdrBuff [blockSize]byte // buffer to use in writeHeader when writing a regular header
+ paxHdrBuff [blockSize]byte // buffer to use in writeHeader when writing a pax header
}
// NewWriter creates a new Writer writing to w.
@@ -161,7 +162,17 @@
// subsecond time resolution, but for now let's just capture
// too long fields or non ascii characters
- header := tw.hdrBuff[:]
+ var header []byte
+
+ // We need to select which scratch buffer to use carefully,
+ // since this method is called recursively to write PAX headers.
+ // If allowPax is true, this is the non-recursive call, and we will use hdrBuff.
+ // If allowPax is false, we are being called by writePAXHeader, and hdrBuff is
+ // already being used by the non-recursive call, so we must use paxHdrBuff.
+ header = tw.hdrBuff[:]
+ if !allowPax {
+ header = tw.paxHdrBuff[:]
+ }
copy(header, zeroBlock)
s := slicer(header)
diff -r 278365dff593 -r 1b17b3426e3c src/pkg/archive/tar/writer_test.go
--- a/src/pkg/archive/tar/writer_test.go Wed Jul 16 16:29:51 2014 -0700
+++ b/src/pkg/archive/tar/writer_test.go Thu Jul 17 10:00:29 2014 +1000
@@ -454,3 +454,38 @@
t.Fatal("Couldn't recover long name")
}
}
+
+func TestValidTypeflagWithPAXHeader(t *testing.T) {
+ var buffer bytes.Buffer
+ tw := NewWriter(&buffer)
+
+ fileName := strings.Repeat("ab", 100)
+
+ hdr := &Header{
+ Name: fileName,
+ Size: 4,
+ Typeflag: 0,
+ }
+ if err := tw.WriteHeader(hdr); err != nil {
+ t.Fatalf("Failed to write header: %s", err)
+ }
+ if _, err := tw.Write([]byte("fooo")); err != nil {
+ t.Fatalf("Failed to write the file's data: %s", err)
+ }
+ tw.Close()
+
+ tr := NewReader(&buffer)
+
+ for {
+ header, err := tr.Next()
+ if err == io.EOF {
+ break
+ }
+ if err != nil {
+ t.Fatalf("Failed to read header: %s", err)
+ }
+ if header.Typeflag != 0 {
+ t.Fatalf("Typeflag should've been 0, found %d", header.Typeflag)
+ }
+ }
+}

View File

@ -0,0 +1,64 @@
# HG changeset patch
# User Cristian Staretu <unclejacksons@gmail.com>
# Date 1404344479 -36000
# Thu Jul 03 09:41:19 2014 +1000
# Node ID 17404efd6b02d4b3acd17070e3f89de97a145877
# Parent 837348e418f33fc7a242f56dbe2feff829532526
archive/tar: reuse temporary buffer in readHeader
A temporary 512 bytes buffer is allocated for every call to
readHeader. This buffer isn't returned to the caller and it could
be reused to lower the number of memory allocations.
This CL improves it by using a pool and zeroing out the buffer before
putting it back into the pool.
benchmark old ns/op new ns/op delta
BenchmarkListFiles100k 545249903 538832687 -1.18%
benchmark old allocs new allocs delta
BenchmarkListFiles100k 2105167 2005692 -4.73%
benchmark old bytes new bytes delta
BenchmarkListFiles100k 105903472 54831527 -48.22%
This improvement is very important if your code has to deal with a lot
of tarballs which contain a lot of files.
LGTM=dsymonds
R=golang-codereviews, dave, dsymonds, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/108240044
Committer: David Symonds <dsymonds@golang.org>
diff -r 837348e418f3 -r 17404efd6b02 src/pkg/archive/tar/reader.go
--- a/src/pkg/archive/tar/reader.go Thu Jul 03 09:40:53 2014 +1000
+++ b/src/pkg/archive/tar/reader.go Thu Jul 03 09:41:19 2014 +1000
@@ -29,10 +29,11 @@
// The Next method advances to the next file in the archive (including the first),
// and then it can be treated as an io.Reader to access the file's data.
type Reader struct {
- r io.Reader
- err error
- pad int64 // amount of padding (ignored) after current file entry
- curr numBytesReader // reader for current file entry
+ r io.Reader
+ err error
+ pad int64 // amount of padding (ignored) after current file entry
+ curr numBytesReader // reader for current file entry
+ hdrBuff [blockSize]byte // buffer to use in readHeader
}
// A numBytesReader is an io.Reader with a numBytes method, returning the number
@@ -426,7 +427,9 @@
}
func (tr *Reader) readHeader() *Header {
- header := make([]byte, blockSize)
+ header := tr.hdrBuff[:]
+ copy(header, zeroBlock)
+
if _, tr.err = io.ReadFull(tr.r, header); tr.err != nil {
return nil
}

View File

@ -0,0 +1,56 @@
# HG changeset patch
# User Cristian Staretu <unclejacksons@gmail.com>
# Date 1404344453 -36000
# Thu Jul 03 09:40:53 2014 +1000
# Node ID 837348e418f33fc7a242f56dbe2feff829532526
# Parent c5f72a685e256457a0872f6587e2bb9500eac7c4
archive/tar: reuse temporary buffer in writeHeader
A temporary 512 bytes buffer is allocated for every call to
writeHeader. This buffer could be reused the lower the number
of memory allocations.
benchmark old ns/op new ns/op delta
BenchmarkWriteFiles100k 634622051 583810847 -8.01%
benchmark old allocs new allocs delta
BenchmarkWriteFiles100k 2701920 2602621 -3.68%
benchmark old bytes new bytes delta
BenchmarkWriteFiles100k 115383884 64349922 -44.23%
This change is very important if your code has to write a lot of
tarballs with a lot of files.
LGTM=dsymonds
R=golang-codereviews, dave, dsymonds
CC=golang-codereviews
https://codereview.appspot.com/107440043
Committer: David Symonds <dsymonds@golang.org>
diff -r c5f72a685e25 -r 837348e418f3 src/pkg/archive/tar/writer.go
--- a/src/pkg/archive/tar/writer.go Wed Jul 02 15:28:57 2014 -0700
+++ b/src/pkg/archive/tar/writer.go Thu Jul 03 09:40:53 2014 +1000
@@ -37,8 +37,9 @@
nb int64 // number of unwritten bytes for current file entry
pad int64 // amount of padding to write after current file entry
closed bool
- usedBinary bool // whether the binary numeric field extension was used
- preferPax bool // use pax header instead of binary numeric header
+ usedBinary bool // whether the binary numeric field extension was used
+ preferPax bool // use pax header instead of binary numeric header
+ hdrBuff [blockSize]byte // buffer to use in writeHeader
}
// NewWriter creates a new Writer writing to w.
@@ -160,7 +161,8 @@
// subsecond time resolution, but for now let's just capture
// too long fields or non ascii characters
- header := make([]byte, blockSize)
+ header := tw.hdrBuff[:]
+ copy(header, zeroBlock)
s := slicer(header)
// keep a reference to the filename to allow to overwrite it later if we detect that we can use ustar longnames instead of pax

View File

@ -1,6 +1,8 @@
--- include/u.h.orig 2014-02-20 13:51:53.456000000 -0600
+++ include/u.h 2014-02-20 13:55:51.072000000 -0600
@@ -38,9 +38,12 @@
Index: go/include/u.h
===================================================================
--- go.orig/include/u.h
+++ go/include/u.h
@@ -38,10 +38,13 @@ extern "C" {
# define __MAKECONTEXT_V2_SOURCE 1
# endif
#endif
@ -8,24 +10,10 @@
+#define _DEFAULT_SOURCE 1
+#else
#define _BSD_SOURCE 1
-#define _NETBSD_SOURCE 1 /* NetBSD */
#define _NETBSD_SOURCE 1 /* NetBSD */
-#define _DEFAULT_SOURCE 1 /* glibc > 2.19 */
#define _SVID_SOURCE 1
+#endif
#if !defined(__APPLE__) && !defined(__OpenBSD__)
# define _XOPEN_SOURCE 1000
# define _XOPEN_SOURCE_EXTENDED 1
--- src/lib9/utf/utfecpy.c.orig 2014-02-20 14:12:27.735000000 -0600
+++ src/lib9/utf/utfecpy.c 2014-02-20 14:13:09.242000000 -0600
@@ -11,7 +11,11 @@
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
*/
-#define _BSD_SOURCE 1
+#if defined __linux__ || defined __GNU__ || defined __GLIBC__
+#define _DEFAULT_SOURCE 1
+#else
+ #define _BSD_SOURCE 1
+#endif
#include <string.h>
#include "utf.h"
#include "utfdef.h"

View File

@ -1,7 +1,8 @@
diff -r 87dea3f5ebe7 api/go1.txt
--- a/api/go1.txt Fri Nov 29 08:32:31 2013 +1100
+++ b/api/go1.txt Fri Dec 06 13:31:29 2013 -0500
@@ -412,7 +412,6 @@
Index: go/api/go1.txt
===================================================================
--- go.orig/api/go1.txt
+++ go/api/go1.txt
@@ -412,7 +412,6 @@ pkg crypto/ecdsa, type PublicKey struct,
pkg crypto/ecdsa, type PublicKey struct, embedded elliptic.Curve
pkg crypto/elliptic, func GenerateKey(Curve, io.Reader) ([]uint8, *big.Int, *big.Int, error)
pkg crypto/elliptic, func Marshal(Curve, *big.Int, *big.Int) []uint8
@ -9,10 +10,11 @@ diff -r 87dea3f5ebe7 api/go1.txt
pkg crypto/elliptic, func P256() Curve
pkg crypto/elliptic, func P384() Curve
pkg crypto/elliptic, func P521() Curve
diff -r 87dea3f5ebe7 src/pkg/crypto/ecdsa/ecdsa_test.go
--- a/src/pkg/crypto/ecdsa/ecdsa_test.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/ecdsa/ecdsa_test.go Fri Dec 06 13:31:29 2013 -0500
@@ -33,7 +33,6 @@
Index: go/src/pkg/crypto/ecdsa/ecdsa_test.go
===================================================================
--- go.orig/src/pkg/crypto/ecdsa/ecdsa_test.go
+++ go/src/pkg/crypto/ecdsa/ecdsa_test.go
@@ -33,7 +33,6 @@ func testKeyGeneration(t *testing.T, c e
}
func TestKeyGeneration(t *testing.T) {
@ -20,7 +22,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/ecdsa/ecdsa_test.go
if testing.Short() {
return
}
@@ -63,7 +62,6 @@
@@ -63,7 +62,6 @@ func testSignAndVerify(t *testing.T, c e
}
func TestSignAndVerify(t *testing.T) {
@ -28,7 +30,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/ecdsa/ecdsa_test.go
if testing.Short() {
return
}
@@ -129,8 +127,6 @@
@@ -129,8 +127,6 @@ func TestVectors(t *testing.T) {
parts := strings.SplitN(line, ",", 2)
switch parts[0] {
@ -37,9 +39,10 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/ecdsa/ecdsa_test.go
case "P-256":
pub.Curve = elliptic.P256()
case "P-384":
diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/bottombits.go
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pkg/crypto/elliptic/bottombits.go Fri Dec 06 13:31:29 2013 -0500
Index: go/src/pkg/crypto/elliptic/bottombits.go
===================================================================
--- /dev/null
+++ go/src/pkg/crypto/elliptic/bottombits.go
@@ -0,0 +1,14 @@
+
+// Copyright 2012 The Go Authors. All rights reserved.
@ -55,10 +58,11 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/bottombits.go
+const two31m3 = 1<<31 - 1<<3
+const two31m15m3 = 1<<31 - 1<<15 - 1<<3
+
diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/elliptic.go
--- a/src/pkg/crypto/elliptic/elliptic.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/elliptic/elliptic.go Fri Dec 06 13:31:29 2013 -0500
@@ -326,7 +326,6 @@
Index: go/src/pkg/crypto/elliptic/elliptic.go
===================================================================
--- go.orig/src/pkg/crypto/elliptic/elliptic.go
+++ go/src/pkg/crypto/elliptic/elliptic.go
@@ -326,7 +326,6 @@ var p384 *CurveParams
var p521 *CurveParams
func initAll() {
@ -66,25 +70,27 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/elliptic.go
initP256()
initP384()
initP521()
diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/elliptic_test.go
--- a/src/pkg/crypto/elliptic/elliptic_test.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/elliptic/elliptic_test.go Fri Dec 06 13:31:29 2013 -0500
Index: go/src/pkg/crypto/elliptic/elliptic_test.go
===================================================================
--- go.orig/src/pkg/crypto/elliptic/elliptic_test.go
+++ go/src/pkg/crypto/elliptic/elliptic_test.go
@@ -1,3 +1,5 @@
+// +build ignore
+
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/p224.go
--- a/src/pkg/crypto/elliptic/p224.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/elliptic/p224.go Fri Dec 06 13:31:29 2013 -0500
Index: go/src/pkg/crypto/elliptic/p224.go
===================================================================
--- go.orig/src/pkg/crypto/elliptic/p224.go
+++ go/src/pkg/crypto/elliptic/p224.go
@@ -1,3 +1,5 @@
+// +build ignore
+
// Copyright 2012 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.
@@ -183,10 +185,6 @@
@@ -183,10 +185,6 @@ func p224Add(out, a, b *p224FieldElement
}
}
@ -95,7 +101,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/p224.go
// p224ZeroModP31 is 0 mod p where bit 31 is set in all limbs so that we can
// subtract smaller amounts without underflow. See the section "Subtraction" in
// [1] for reasoning.
@@ -215,9 +213,6 @@
@@ -215,9 +213,6 @@ const two63m35m19 = 1<<63 - 1<<35 - 1<<1
// "Subtraction" in [1] for why.
var p224ZeroModP63 = [8]uint64{two63p35, two63m35, two63m35, two63m35, two63m35m19, two63m35, two63m35, two63m35}
@ -105,19 +111,21 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/p224.go
// p224Mul computes *out = a*b
//
// a[i] < 2**29, b[i] < 2**30 (or vice versa)
diff -r 87dea3f5ebe7 src/pkg/crypto/elliptic/p224_test.go
--- a/src/pkg/crypto/elliptic/p224_test.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/elliptic/p224_test.go Fri Dec 06 13:31:29 2013 -0500
Index: go/src/pkg/crypto/elliptic/p224_test.go
===================================================================
--- go.orig/src/pkg/crypto/elliptic/p224_test.go
+++ go/src/pkg/crypto/elliptic/p224_test.go
@@ -1,3 +1,5 @@
+// +build ignore
+
// Copyright 2012 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 -r 87dea3f5ebe7 src/pkg/crypto/x509/x509.go
--- a/src/pkg/crypto/x509/x509.go Fri Nov 29 08:32:31 2013 +1100
+++ b/src/pkg/crypto/x509/x509.go Fri Dec 06 13:31:29 2013 -0500
@@ -305,9 +305,6 @@
Index: go/src/pkg/crypto/x509/x509.go
===================================================================
--- go.orig/src/pkg/crypto/x509/x509.go
+++ go/src/pkg/crypto/x509/x509.go
@@ -306,9 +306,6 @@ func getPublicKeyAlgorithmFromOID(oid as
// RFC 5480, 2.1.1.1. Named Curve
//
@ -127,7 +135,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/x509/x509.go
// secp256r1 OBJECT IDENTIFIER ::= {
// iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3)
// prime(1) 7 }
@@ -320,7 +317,6 @@
@@ -321,7 +318,6 @@ func getPublicKeyAlgorithmFromOID(oid as
//
// NB: secp256r1 is equivalent to prime256v1
var (
@ -135,7 +143,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/x509/x509.go
oidNamedCurveP256 = asn1.ObjectIdentifier{1, 2, 840, 10045, 3, 1, 7}
oidNamedCurveP384 = asn1.ObjectIdentifier{1, 3, 132, 0, 34}
oidNamedCurveP521 = asn1.ObjectIdentifier{1, 3, 132, 0, 35}
@@ -328,8 +324,6 @@
@@ -329,8 +325,6 @@ var (
func namedCurveFromOID(oid asn1.ObjectIdentifier) elliptic.Curve {
switch {
@ -144,7 +152,7 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/x509/x509.go
case oid.Equal(oidNamedCurveP256):
return elliptic.P256()
case oid.Equal(oidNamedCurveP384):
@@ -342,8 +336,6 @@
@@ -343,8 +337,6 @@ func namedCurveFromOID(oid asn1.ObjectId
func oidFromNamedCurve(curve elliptic.Curve) (asn1.ObjectIdentifier, bool) {
switch curve {
@ -153,12 +161,12 @@ diff -r 87dea3f5ebe7 src/pkg/crypto/x509/x509.go
case elliptic.P256():
return oidNamedCurveP256, true
case elliptic.P384():
@@ -1373,7 +1365,7 @@
hashFunc = crypto.SHA1
case *ecdsa.PrivateKey:
@@ -1371,7 +1363,7 @@ func signingParamsForPrivateKey(priv int
pubType = ECDSA
switch priv.Curve {
- case elliptic.P224(), elliptic.P256():
+ case elliptic.P256():
hashFunc = crypto.SHA256
signatureAlgorithm.Algorithm = oidSignatureECDSAWithSHA256
sigAlgo.Algorithm = oidSignatureECDSAWithSHA256
case elliptic.P384():

View File

@ -1,27 +1,19 @@
diff -r 7326da92ff4d src/make.bash
--- a/src/make.bash Mon Dec 02 09:06:41 2013 +1100
+++ b/src/make.bash Tue Dec 03 15:29:09 2013 -0500
@@ -145,7 +145,7 @@
if [ "$1" = "--no-clean" ]; then
buildall=""
fi
-./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
+./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -vv # builds go_bootstrap
# Delay move of dist tool to now, because bootstrap may clear tool directory.
mv cmd/dist/dist "$GOTOOLDIR"/dist
"$GOTOOLDIR"/go_bootstrap clean -i std
@@ -154,12 +154,12 @@
if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
echo "# Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \
Index: go/src/make.bash
===================================================================
--- go.orig/src/make.bash
+++ go/src/make.bash
@@ -161,12 +161,12 @@ if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOH
# CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
# use the host compiler, CC, from `cmd/dist/dist env` instead.
CC=$CC GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \
- "$GOTOOLDIR"/go_bootstrap install -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std
+ "$GOTOOLDIR"/go_bootstrap install -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std
echo
fi
echo "# Building packages and commands for $GOOS/$GOARCH."
-"$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std
+"$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std
-CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std
+CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std
echo
rm -f "$GOTOOLDIR"/go_bootstrap

View File

@ -1,9 +0,0 @@
diff -r 0ddbdc3c7ce2 misc/cgo/test/cgo_linux_test.go
--- a/misc/cgo/test/cgo_linux_test.go Mon Mar 03 11:53:08 2014 +1100
+++ b/misc/cgo/test/cgo_linux_test.go Fri Apr 11 16:01:17 2014 -0400
@@ -6,4 +6,4 @@
import "testing"
-func TestSetgid(t *testing.T) { testSetgid(t) }
+func nopeTestSetgid(t *testing.T) { testSetgid(t) }

View File

@ -1,13 +0,0 @@
Index: go/src/run.bash
===================================================================
--- go.orig/src/run.bash
+++ go/src/run.bash
@@ -105,7 +105,7 @@ go run $GOROOT/test/run.go - . || exit 1
(xcd ../misc/cgo/test
go test -ldflags '-linkmode=auto' || exit 1
# linkmode=internal fails on dragonfly since errno is a TLS relocation.
-[ "$GOHOSTOS" == dragonfly ] || go test -ldflags '-linkmode=internal' || exit 1
+#[ "$GOHOSTOS" == dragonfly ] || go test -ldflags '-linkmode=internal' || exit 1
case "$GOHOSTOS-$GOARCH" in
openbsd-386 | openbsd-amd64)
# test linkmode=external, but __thread not supported, so skip testtls.

View File

@ -1,2 +1 @@
add-auto-load-safe-path /usr/lib/golang/src/pkg/runtime/runtime-gdb.py
add-auto-load-safe-path /usr/lib64/golang/src/pkg/runtime/runtime-gdb.py

View File

@ -38,20 +38,20 @@
%endif
Name: golang
Version: 1.2.2
Release: 7%{?dist}
Version: 1.3.2
Release: 1%{?dist}
Summary: The Go Programming Language
License: BSD
URL: http://golang.org/
Source0: https://go.googlecode.com/files/go%{version}.src.tar.gz
Source0: https://storage.googleapis.com/golang/go%{version}.src.tar.gz
# this command moved places
%if 0%{?fedora} >= 21
BuildRequires: /usr/bin/hostname
Patch210: golang-f21-hostname.patch
# Patch211 - F21+ has glibc 2.19.90 (2.20 devel)+ which deprecates
# Patch211 - F21+ has glibc 2.19.90 (2.20 devel)+ which deprecates
# _BSD_SOURCE and _SVID_SOURCE
Patch211: golang-1.2-BSD-SVID-SOURCE.patch
%else
@ -63,10 +63,6 @@ Requires: golang-bin
Requires: golang-src
BuildRequires: emacs
# xemacs on fedora only
%if 0%{?fedora}
BuildRequires: xemacs xemacs-packages-extra
%endif
Patch0: golang-1.2-verbose-build.patch
@ -77,19 +73,15 @@ Patch1: golang-1.2-remove-ECC-p224.patch
# http://code.google.com/p/go/issues/detail?id=6522
Patch2: ./golang-1.2-skipCpuProfileTest.patch
# Pull in new archive/tar upstream patch to support xattrs for
# docker-0.8.1
# https://code.google.com/p/go/source/detail?r=a15f344a9efa
Patch3: golang-1.2-archive_tar-xattr.patch
# these patches can be dropped for go1.4
# discovered working here https://github.com/dotcloud/docker/pull/6829
Patch3: ./go1.3-tar_reuse_buffer_readHeader.patch
Patch4: ./go1.3-tar_reuse_buffer_writeHeader.patch
# https://code.google.com/p/go/source/detail?r=1b17b3426e3c
Patch5: ./go1.3-tar-fix_writing_of_pax_headers.patch
# skip test that causes a SIGABRT on fc21 (bz1086900)
# until this test/issue is fixed
# https://bugzilla.redhat.com/show_bug.cgi?id=1086900
Patch5: golang-1.2.1-disable_testsetgid.patch
# skip this test, which fails in i686 on fc21 inside mock/chroot (bz1087621)
# https://bugzilla.redhat.com/show_bug.cgi?id=1087621
Patch6: golang-1.2.1-i686-cgo-test-failure.patch
# https://code.google.com/p/go/issues/detail?id=8547
Patch6: ./skip_syndey_time_test.patch
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -104,10 +96,6 @@ Source100: golang-gdbinit
Source101: golang-prelink.conf
Source102: macros.golang
# Patch4 - pull in new archive/tar upstream patch, this file is part
# of the upstream merge and is used for test cases.
Source400: golang-19087:a15f344a9efa-xattrs.tar
%description
%{summary}.
@ -144,24 +132,11 @@ BuildArch: noarch
%{summary}.
# xemacs on fedora only
%if 0%{?fedora}
%package -n xemacs-%{name}
Summary: XEmacs add-on package for Go
Requires: xemacs(bin) >= %{_xemacs_version}
Requires: xemacs-packages-extra
BuildArch: noarch
%description -n xemacs-%{name}
%{summary}.
%endif
##
# the source tree
%package src
Summary: Golang compiler source tree
Requires: go = %{version}-%{release}
# the binary bits in this tree are for testdata
BuildArch: noarch
%description src
%{summary}
@ -173,10 +148,12 @@ BuildArch: noarch
Summary: Golang compiler tool for linux 386
Requires: go = %{version}-%{release}
Requires: golang-pkg-linux-386 = %{version}-%{release}
Requires(post): golang-pkg-linux-386 = %{version}-%{release}
Provides: golang-bin = 386
# We strip the meta dependency, but go does require glibc.
# This is an odd issue, still looking for a better fix.
Requires: glibc
Requires: gcc
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
%description pkg-bin-linux-386
@ -188,10 +165,12 @@ Requires(postun): %{_sbindir}/update-alternatives
Summary: Golang compiler tool for linux amd64
Requires: go = %{version}-%{release}
Requires: golang-pkg-linux-amd64 = %{version}-%{release}
Requires(post): golang-pkg-linux-amd64 = %{version}-%{release}
Provides: golang-bin = amd64
# We strip the meta dependency, but go does require glibc.
# This is an odd issue, still looking for a better fix.
Requires: glibc
Requires: gcc
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
%description pkg-bin-linux-amd64
@ -203,10 +182,12 @@ Requires(postun): %{_sbindir}/update-alternatives
Summary: Golang compiler tool for linux arm
Requires: go = %{version}-%{release}
Requires: golang-pkg-linux-arm = %{version}-%{release}
Requires(post): golang-pkg-linux-arm = %{version}-%{release}
Provides: golang-bin = arm
# We strip the meta dependency, but go does require glibc.
# This is an odd issue, still looking for a better fix.
Requires: glibc
Requires: gcc
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
%description pkg-bin-linux-arm
@ -221,7 +202,6 @@ Requires(postun): %{_sbindir}/update-alternatives
Summary: Golang compiler toolchain to compile for linux 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-linux-386
%{summary}
@ -229,7 +209,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for linux amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-linux-amd64
%{summary}
@ -237,7 +216,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for linux arm
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-linux-arm
%{summary}
@ -245,7 +223,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for darwin 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-darwin-386
%{summary}
@ -253,7 +230,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for darwin amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-darwin-amd64
%{summary}
@ -261,7 +237,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for windows 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-windows-386
%{summary}
@ -269,7 +244,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for windows amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-windows-amd64
%{summary}
@ -277,7 +251,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for plan9 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-plan9-386
%{summary}
@ -285,7 +258,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for plan9 amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-plan9-amd64
%{summary}
@ -293,7 +265,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for freebsd 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-freebsd-386
%{summary}
@ -301,7 +272,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for freebsd amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-freebsd-amd64
%{summary}
@ -309,7 +279,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for freebsd arm
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-freebsd-arm
%{summary}
@ -317,7 +286,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for netbsd 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-netbsd-386
%{summary}
@ -325,7 +293,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for netbsd amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-netbsd-amd64
%{summary}
@ -333,7 +300,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for netbsd arm
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-netbsd-arm
%{summary}
@ -341,7 +307,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for openbsd 386
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-openbsd-386
%{summary}
@ -349,7 +314,6 @@ Requires(post): golang-bin
Summary: Golang compiler toolchain to compile for openbsd amd64
Requires: go = %{version}-%{release}
BuildArch: noarch
Requires(post): golang-bin
%description pkg-openbsd-amd64
%{summary}
@ -359,7 +323,6 @@ Requires(post): golang-bin
#Summary: Golang compiler toolchain to compile for openbsd arm
#Requires: go = %{version}-%{release}
#BuildArch: noarch
#Requires(post): golang-bin
#%description pkg-openbsd-arm
#%{summary}
@ -377,11 +340,9 @@ end
%prep
%setup -q -n go
cp %SOURCE400 src/pkg/archive/tar/testdata/xattrs.tar
%if 0%{?fedora} >= 21
%patch210 -p0
%patch211 -p0
%patch211 -p1
%endif
# increase verbosity of build
@ -393,14 +354,13 @@ cp %SOURCE400 src/pkg/archive/tar/testdata/xattrs.tar
# skip flaky test
%patch2 -p1
# new archive/tar implementation from upstream
# TODO: remove this when updated to go1.3
# performance for archive/tar
%patch3 -p1
# SIGABRT bz1086900
%patch4 -p1
# buffer the PAX header
%patch5 -p1
# cgo/test bz1087621
# new tzinfo breaks a single unit test
%patch6 -p1
# create a [dirty] gcc wrapper to allow us to build with our own flags
@ -436,33 +396,18 @@ pushd src
PATH="$(pwd -P)/../zz:$PATH" CC="gcc" \
GOOS=${goos} \
GOARCH=${goarch} \
./make.bash
./make.bash --no-clean
done
done
popd
# compile for emacs and xemacs
# compile for emacs
cd misc
mv emacs/go-mode-load.el emacs/%{name}-init.el
# xemacs on fedora only
%if 0%{?fedora}
cp -av emacs xemacs
%{_xemacs_bytecompile} xemacs/go-mode.el
%endif
%{_emacs_bytecompile} emacs/go-mode.el
cd ..
%check
export GOROOT=$(pwd -P)
export PATH="$PATH":"$GOROOT"/bin
cd src
# not using our 'gcc' since the CFLAGS fails crash_cgo_test.go due to unused variables
# https://code.google.com/p/go/issues/detail?id=6883
./run.bash --no-rebuild
cd ..
%install
rm -rf $RPM_BUILD_ROOT
@ -472,9 +417,40 @@ mkdir -p $RPM_BUILD_ROOT%{goroot}
# install everything into libdir (until symlink problems are fixed)
# https://code.google.com/p/go/issues/detail?id=5830
cp -av api bin doc favicon.ico include lib pkg robots.txt src \
cp -apv api bin doc favicon.ico include lib pkg robots.txt src misc VERSION \
$RPM_BUILD_ROOT%{goroot}
# bz1099206
find $RPM_BUILD_ROOT%{goroot}/src -exec touch -r $RPM_BUILD_ROOT%{goroot}/VERSION "{}" \;
# and level out all the built archives
touch $RPM_BUILD_ROOT%{goroot}/pkg
find $RPM_BUILD_ROOT%{goroot}/pkg -exec touch -r $RPM_BUILD_ROOT%{goroot}/pkg "{}" \;
# generate the spec file ownership of this source tree and packages
cwd=$(pwd)
src_list=$cwd/go-src.list
rm -f $src_list
touch $src_list
pushd $RPM_BUILD_ROOT%{goroot}
find src/ -type d -printf '%%%dir %{goroot}/%p\n' >> $src_list
find src/ ! -type d -printf '%{goroot}/%p\n' >> $src_list
for goos in darwin freebsd linux netbsd openbsd plan9 windows ; do
for goarch in 386 amd64 arm ; do
if [ "${goarch}" = "arm" ] ; then
if [ "${goos}" = "darwin" -o "${goos}" = "windows" -o "${goos}" = "plan9" -o "${goos}" = "openbsd" ] ;then
continue
fi
fi
file_list=${cwd}/pkg-${goos}-${goarch}.list
rm -f $file_list
touch $file_list
find pkg/${goos}_${goarch}/ -type d -printf '%%%dir %{goroot}/%p\n' >> $file_list
find pkg/${goos}_${goarch}/ ! -type d -printf '%{goroot}/%p\n' >> $file_list
done
done
popd
# remove the unnecessary zoneinfo file (Go will always use the system one first)
rm -rfv $RPM_BUILD_ROOT%{goroot}/lib/time
@ -525,15 +501,6 @@ mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
cp -av misc/emacs/go-mode.* $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name}
cp -av misc/emacs/%{name}-init.el $RPM_BUILD_ROOT%{_emacs_sitestartdir}
# xemacs on fedora only
%if 0%{?fedora}
# misc/xemacs
mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
cp -av misc/xemacs/go-mode.* $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{name}
cp -av misc/xemacs/%{name}-init.el $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
%endif
# misc/vim
mkdir -p $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles
cp -av misc/vim/* $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles
@ -545,7 +512,7 @@ cp -av misc/zsh/go $RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
# gdbinit
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d
cp -av %{SOURCE100} $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d/golang
cp -av %{SOURCE100} $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d/golang.gdb
# prelink blacklist
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d
@ -562,8 +529,32 @@ cp -av %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.golang
%endif
%check
export GOROOT=$(pwd -P)
export PATH="$PATH":"$GOROOT"/bin
cd src
# skip using CGO for test. causes a SIGABRT on fc21 (bz1086900)
# until this test/issue is fixed
# https://bugzilla.redhat.com/show_bug.cgi?id=1086900
# CGO for test, which fails in i686 on fc21 inside mock/chroot (bz1087621)
# https://bugzilla.redhat.com/show_bug.cgi?id=1087621
# not using our 'gcc' since the CFLAGS fails crash_cgo_test.go due to unused variables
# https://code.google.com/p/go/issues/detail?id=6883
CGO_ENABLED=0 ./run.bash --no-rebuild
cd ..
if [ $(go list -json std | grep Stale | wc -l) -gt 2 ] ; then
# cmd/go and cmd/gofmt show like they are stale. we can ignore
exit 1
fi
%ifarch %{ix86}
%post pkg-bin-linux-386
# since the cgo.a packaged in this rpm will be older than the other archives likely built on the ARM builder,
touch -r %{goroot}/pkg/linux_386/runtime.a %{goroot}/pkg/linux_386/runtime/cgo.a
%{_sbindir}/update-alternatives --install %{_bindir}/go \
go %{goroot}/bin/linux_386/go 90 \
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_386/gofmt
@ -576,6 +567,9 @@ fi
%ifarch x86_64
%post pkg-bin-linux-amd64
# since the cgo.a packaged in this rpm will be older than the other archives likely built on the ARM builder,
touch -r %{goroot}/pkg/linux_amd64/runtime.a %{goroot}/pkg/linux_amd64/runtime/cgo.a
%{_sbindir}/update-alternatives --install %{_bindir}/go \
go %{goroot}/bin/linux_amd64/go 90 \
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_amd64/gofmt
@ -588,6 +582,9 @@ fi
%ifarch %{arm}
%post pkg-bin-linux-arm
# since the cgo.a packaged in this rpm will be older than the other archives likely built on the ARM builder,
touch -r %{goroot}/pkg/linux_arm/runtime.a %{goroot}/pkg/linux_arm/runtime/cgo.a
%{_sbindir}/update-alternatives --install %{_bindir}/go \
go %{goroot}/bin/linux_arm/go 90 \
--slave %{_bindir}/gofmt gofmt %{goroot}/bin/linux_arm/gofmt
@ -598,61 +595,14 @@ if [ $1 = 0 ]; then
fi
%endif
# All these archives need to be newer than the corresponding source in goroot
# https://bugzilla.redhat.com/show_bug.cgi?id=1099206
%post pkg-linux-386
GOROOT=%{goroot} GOOS=linux GOARCH=386 go install std
%post pkg-linux-amd64
GOROOT=%{goroot} GOOS=linux GOARCH=amd64 go install std
%post pkg-linux-arm
GOROOT=%{goroot} GOOS=linux GOARCH=arm go install std
%post pkg-darwin-386
GOROOT=%{goroot} GOOS=darwin GOARCH=386 go install std
%post pkg-darwin-amd64
GOROOT=%{goroot} GOOS=darwin GOARCH=amd64 go install std
%post pkg-windows-386
GOROOT=%{goroot} GOOS=windows GOARCH=386 go install std
%post pkg-windows-amd64
GOROOT=%{goroot} GOOS=windows GOARCH=amd64 go install std
%post pkg-plan9-386
GOROOT=%{goroot} GOOS=plan9 GOARCH=386 go install std
%post pkg-plan9-amd64
GOROOT=%{goroot} GOOS=plan9 GOARCH=amd64 go install std
%post pkg-freebsd-386
GOROOT=%{goroot} GOOS=freebsd GOARCH=386 go install std
%post pkg-freebsd-amd64
GOROOT=%{goroot} GOOS=freebsd GOARCH=amd64 go install std
%post pkg-freebsd-arm
GOROOT=%{goroot} GOOS=freebsd GOARCH=arm go install std
%post pkg-netbsd-386
GOROOT=%{goroot} GOOS=netbsd GOARCH=386 go install std
%post pkg-netbsd-amd64
GOROOT=%{goroot} GOOS=netbsd GOARCH=amd64 go install std
%post pkg-netbsd-arm
GOROOT=%{goroot} GOOS=netbsd GOARCH=arm go install std
%post pkg-openbsd-386
GOROOT=%{goroot} GOOS=openbsd GOARCH=386 go install std
%post pkg-openbsd-amd64
GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
#%post pkg-openbsd-arm
#GOROOT=%{goroot} GOOS=openbsd GOARCH=arm go install std
%files
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS VERSION
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS
# VERSION has to be present in the GOROOT, for `go install std` to work
%doc %{goroot}/VERSION
# go files
%dir %{goroot}
@ -698,75 +648,8 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{_emacs_sitestartdir}/*.el
# xemacs on fedora only
%if 0%{?fedora}
%files -n xemacs-%{name}
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS
%{_xemacs_sitelispdir}/%{name}
%{_xemacs_sitestartdir}/*.el
%endif
%files src
%files -f go-src.list src
%{goroot}/src/
# files that are generated based on compile-time ARCH will go in that arch's pkg-bin-*
%ifarch %{ix86}
# this is wacky that now these files are generated in a different arch
%exclude %{goroot}/src/cmd/8l/enam.c
%exclude %{goroot}/src/pkg/runtime/zgoarch_386.go
%exclude %{goroot}/src/cmd/6l/enam.c
%exclude %{goroot}/src/pkg/runtime/zgoarch_amd64.go
%exclude %{goroot}/src/pkg/runtime/zasm_linux_386.h
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_386.c
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_386.go
%exclude %{goroot}/src/pkg/runtime/zsema_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zstring_linux_386.c
%exclude %{goroot}/src/pkg/runtime/zsys_linux_386.s
%exclude %{goroot}/src/pkg/runtime/ztime_linux_386.c
%endif
%ifarch x86_64
%exclude %{goroot}/src/cmd/6l/enam.c
%exclude %{goroot}/src/pkg/runtime/zgoarch_amd64.go
%exclude %{goroot}/src/pkg/runtime/zasm_linux_amd64.h
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zsema_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_amd64.go
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zstring_linux_amd64.c
%exclude %{goroot}/src/pkg/runtime/zsys_linux_amd64.s
%exclude %{goroot}/src/pkg/runtime/ztime_linux_amd64.c
%endif
%ifarch %{arm}
%exclude %{goroot}/src/cmd/5l/enam.c
%exclude %{goroot}/src/pkg/runtime/zgoarch_arm.go
%exclude %{goroot}/src/cmd/6l/enam.c
%exclude %{goroot}/src/pkg/runtime/zgoarch_amd64.go
%exclude %{goroot}/src/pkg/runtime/zasm_linux_arm.h
%exclude %{goroot}/src/pkg/runtime/znetpoll_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zmalloc_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zmprof_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/znoasm_arm_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zruntime1_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zruntime_defs_linux_arm.go
%exclude %{goroot}/src/pkg/runtime/zsema_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zsigqueue_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zstring_linux_arm.c
%exclude %{goroot}/src/pkg/runtime/zsys_linux_arm.s
%exclude %{goroot}/src/pkg/runtime/ztime_linux_arm.c
%endif
%ifarch %{ix86}
%files pkg-bin-linux-386
@ -778,6 +661,10 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/obj/linux_386/*
%{goroot}/pkg/linux_386/runtime/cgo.a
%dir %{goroot}/pkg/tool/linux_386
%{goroot}/pkg/tool/linux_386/5a
%{goroot}/pkg/tool/linux_386/5c
%{goroot}/pkg/tool/linux_386/5g
%{goroot}/pkg/tool/linux_386/5l
%{goroot}/pkg/tool/linux_386/6a
%{goroot}/pkg/tool/linux_386/6c
%{goroot}/pkg/tool/linux_386/6g
@ -794,7 +681,6 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_386/pprof
# arch dependent generated files, used by cgo
%{goroot}/src/cmd/8l/enam.c
%{goroot}/src/pkg/runtime/zasm_linux_386.h
%{goroot}/src/pkg/runtime/zgoarch_386.go
%{goroot}/src/pkg/runtime/zmalloc_linux_386.c
@ -807,6 +693,16 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/src/pkg/runtime/zstring_linux_386.c
%{goroot}/src/pkg/runtime/zsys_linux_386.s
%{goroot}/src/pkg/runtime/ztime_linux_386.c
%{goroot}/src/pkg/runtime/zalg_linux_386.c
%{goroot}/src/pkg/runtime/zchan_linux_386.c
%{goroot}/src/pkg/runtime/zcomplex_linux_386.c
%{goroot}/src/pkg/runtime/zcpuprof_linux_386.c
%{goroot}/src/pkg/runtime/zhashmap_linux_386.c
%{goroot}/src/pkg/runtime/ziface_linux_386.c
%{goroot}/src/pkg/runtime/zlfstack_linux_386.c
%{goroot}/src/pkg/runtime/zrdebug_linux_386.c
%{goroot}/src/pkg/runtime/zslice_linux_386.c
%{goroot}/src/pkg/runtime/zsymtab_linux_386.c
%endif
%ifarch x86_64
@ -819,10 +715,18 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/obj/linux_amd64/*
%{goroot}/pkg/linux_amd64/runtime/cgo.a
%dir %{goroot}/pkg/tool/linux_amd64
%{goroot}/pkg/tool/linux_amd64/5a
%{goroot}/pkg/tool/linux_amd64/5c
%{goroot}/pkg/tool/linux_amd64/5g
%{goroot}/pkg/tool/linux_amd64/5l
%{goroot}/pkg/tool/linux_amd64/6a
%{goroot}/pkg/tool/linux_amd64/6c
%{goroot}/pkg/tool/linux_amd64/6g
%{goroot}/pkg/tool/linux_amd64/6l
%{goroot}/pkg/tool/linux_amd64/8a
%{goroot}/pkg/tool/linux_amd64/8c
%{goroot}/pkg/tool/linux_amd64/8g
%{goroot}/pkg/tool/linux_amd64/8l
%{goroot}/pkg/tool/linux_amd64/addr2line
%{goroot}/pkg/tool/linux_amd64/dist
%{goroot}/pkg/tool/linux_amd64/nm
@ -831,7 +735,6 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_amd64/pprof
# arch dependent generated files, used by cgo
%{goroot}/src/cmd/6l/enam.c
%{goroot}/src/pkg/runtime/zasm_linux_amd64.h
%{goroot}/src/pkg/runtime/zgoarch_amd64.go
%{goroot}/src/pkg/runtime/zmalloc_linux_amd64.c
@ -844,6 +747,16 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/src/pkg/runtime/zstring_linux_amd64.c
%{goroot}/src/pkg/runtime/zsys_linux_amd64.s
%{goroot}/src/pkg/runtime/ztime_linux_amd64.c
%{goroot}/src/pkg/runtime/zalg_linux_amd64.c
%{goroot}/src/pkg/runtime/zchan_linux_amd64.c
%{goroot}/src/pkg/runtime/zcomplex_linux_amd64.c
%{goroot}/src/pkg/runtime/zcpuprof_linux_amd64.c
%{goroot}/src/pkg/runtime/zhashmap_linux_amd64.c
%{goroot}/src/pkg/runtime/ziface_linux_amd64.c
%{goroot}/src/pkg/runtime/zlfstack_linux_amd64.c
%{goroot}/src/pkg/runtime/zrdebug_linux_amd64.c
%{goroot}/src/pkg/runtime/zslice_linux_amd64.c
%{goroot}/src/pkg/runtime/zsymtab_linux_amd64.c
%endif
%ifarch %{arm}
@ -864,6 +777,10 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_arm/6c
%{goroot}/pkg/tool/linux_arm/6g
%{goroot}/pkg/tool/linux_arm/6l
%{goroot}/pkg/tool/linux_arm/8a
%{goroot}/pkg/tool/linux_arm/8c
%{goroot}/pkg/tool/linux_arm/8g
%{goroot}/pkg/tool/linux_arm/8l
%{goroot}/pkg/tool/linux_arm/addr2line
%{goroot}/pkg/tool/linux_arm/dist
%{goroot}/pkg/tool/linux_arm/nm
@ -872,7 +789,6 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_arm/pprof
# arch dependent generated files, used by cgo
%{goroot}/src/cmd/5l/enam.c
%{goroot}/src/pkg/runtime/zasm_linux_arm.h
%{goroot}/src/pkg/runtime/zgoarch_arm.go
%{goroot}/src/pkg/runtime/zmalloc_linux_arm.c
@ -886,9 +802,19 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/src/pkg/runtime/zstring_linux_arm.c
%{goroot}/src/pkg/runtime/zsys_linux_arm.s
%{goroot}/src/pkg/runtime/ztime_linux_arm.c
%{goroot}/src/pkg/runtime/zalg_linux_arm.c
%{goroot}/src/pkg/runtime/zchan_linux_arm.c
%{goroot}/src/pkg/runtime/zcomplex_linux_arm.c
%{goroot}/src/pkg/runtime/zcpuprof_linux_arm.c
%{goroot}/src/pkg/runtime/zhashmap_linux_arm.c
%{goroot}/src/pkg/runtime/ziface_linux_arm.c
%{goroot}/src/pkg/runtime/zlfstack_linux_arm.c
%{goroot}/src/pkg/runtime/zrdebug_linux_arm.c
%{goroot}/src/pkg/runtime/zslice_linux_arm.c
%{goroot}/src/pkg/runtime/zsymtab_linux_arm.c
%endif
%files pkg-linux-386
%files pkg-linux-386 -f pkg-linux-386.list
%{goroot}/pkg/linux_386/
%ifarch %{ix86}
%exclude %{goroot}/pkg/linux_386/runtime/cgo.a
@ -897,7 +823,7 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_386/fix
%{goroot}/pkg/tool/linux_386/yacc
%files pkg-linux-amd64
%files pkg-linux-amd64 -f pkg-linux-amd64.list
%{goroot}/pkg/linux_amd64/
%ifarch x86_64
%exclude %{goroot}/pkg/linux_amd64/runtime/cgo.a
@ -906,7 +832,7 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_amd64/fix
%{goroot}/pkg/tool/linux_amd64/yacc
%files pkg-linux-arm
%files pkg-linux-arm -f pkg-linux-arm.list
%{goroot}/pkg/linux_arm/
%ifarch %{arm}
%exclude %{goroot}/pkg/linux_arm/runtime/cgo.a
@ -915,59 +841,59 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%{goroot}/pkg/tool/linux_arm/fix
%{goroot}/pkg/tool/linux_arm/yacc
%files pkg-darwin-386
%files pkg-darwin-386 -f pkg-darwin-386.list
%{goroot}/pkg/darwin_386/
%{goroot}/pkg/tool/darwin_386/
%files pkg-darwin-amd64
%files pkg-darwin-amd64 -f pkg-darwin-amd64.list
%{goroot}/pkg/darwin_amd64/
%{goroot}/pkg/tool/darwin_amd64/
%files pkg-windows-386
%files pkg-windows-386 -f pkg-windows-386.list
%{goroot}/pkg/windows_386/
%{goroot}/pkg/tool/windows_386/
%files pkg-windows-amd64
%files pkg-windows-amd64 -f pkg-windows-amd64.list
%{goroot}/pkg/windows_amd64/
%{goroot}/pkg/tool/windows_amd64/
%files pkg-plan9-386
%files pkg-plan9-386 -f pkg-plan9-386.list
%{goroot}/pkg/plan9_386/
%{goroot}/pkg/tool/plan9_386/
%files pkg-plan9-amd64
%files pkg-plan9-amd64 -f pkg-plan9-amd64.list
%{goroot}/pkg/plan9_amd64/
%{goroot}/pkg/tool/plan9_amd64/
%files pkg-freebsd-386
%files pkg-freebsd-386 -f pkg-freebsd-386.list
%{goroot}/pkg/freebsd_386/
%{goroot}/pkg/tool/freebsd_386/
%files pkg-freebsd-amd64
%files pkg-freebsd-amd64 -f pkg-freebsd-amd64.list
%{goroot}/pkg/freebsd_amd64/
%{goroot}/pkg/tool/freebsd_amd64/
%files pkg-freebsd-arm
%files pkg-freebsd-arm -f pkg-freebsd-arm.list
%{goroot}/pkg/freebsd_arm/
%{goroot}/pkg/tool/freebsd_arm/
%files pkg-netbsd-386
%files pkg-netbsd-386 -f pkg-netbsd-386.list
%{goroot}/pkg/netbsd_386/
%{goroot}/pkg/tool/netbsd_386/
%files pkg-netbsd-amd64
%files pkg-netbsd-amd64 -f pkg-netbsd-amd64.list
%{goroot}/pkg/netbsd_amd64/
%{goroot}/pkg/tool/netbsd_amd64/
%files pkg-netbsd-arm
%files pkg-netbsd-arm -f pkg-netbsd-arm.list
%{goroot}/pkg/netbsd_arm/
%{goroot}/pkg/tool/netbsd_arm/
%files pkg-openbsd-386
%files pkg-openbsd-386 -f pkg-openbsd-386.list
%{goroot}/pkg/openbsd_386/
%{goroot}/pkg/tool/openbsd_386/
%files pkg-openbsd-amd64
%files pkg-openbsd-amd64 -f pkg-openbsd-amd64.list
%{goroot}/pkg/openbsd_amd64/
%{goroot}/pkg/tool/openbsd_amd64/
@ -978,6 +904,67 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
%changelog
* Mon Sep 29 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3.2-1
- update to go1.3.2 (bz1147324)
* Thu Sep 11 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3.1-3
- patching the tzinfo failure
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Wed Aug 13 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3.1-1
- update to go1.3.1
* Wed Aug 13 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-11
- merged a line wrong
* Wed Aug 13 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-10
- more work to get cgo.a timestamps to line up, due to build-env
- explicitly list all the files and directories for the source and packages trees
- touch all the built archives to be the same
* Mon Aug 11 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-9
- make golang-src 'noarch' again, since that was not a fix, and takes up more space
* Mon Aug 11 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-8
- update timestamps of source files during %%install bz1099206
* Fri Aug 08 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-7
- update timestamps of source during %%install bz1099206
* Wed Aug 06 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-6
- make the source subpackage arch'ed, instead of noarch
* Mon Jul 21 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-5
- fix the writing of pax headers
* Tue Jul 15 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-4
- fix the loading of gdb safe-path. bz981356
* Tue Jul 08 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-3
- `go install std` requires gcc, to build cgo. bz1105901, bz1101508
* Mon Jul 07 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-2
- archive/tar memory allocation improvements
* Thu Jun 19 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3-1
- update to go1.3
* Fri Jun 13 2014 Vincent Batts <vbatts@fedoraproject.org> - 1.3rc2-1
- update to go1.3rc2
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3rc1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Jun 03 2014 Vincent Batts <vbatts@redhat.com> 1.3rc1-1
- update to go1.3rc1
- new arch file shuffling
* Wed May 21 2014 Vincent Batts <vbatts@redhat.com> 1.3beta2-1
- update to go1.3beta2
- no longer provides go-mode for xemacs (emacs only)
* Wed May 21 2014 Vincent Batts <vbatts@redhat.com> 1.2.2-7
- bz1099206 ghost files are not what is needed
@ -1025,7 +1012,7 @@ GOROOT=%{goroot} GOOS=openbsd GOARCH=amd64 go install std
* Tue Mar 04 2014 Adam Miller <maxamillion@fedoraproject.org> 1.2.1-1
- Update to latest upstream
* Thu Feb 20 2014 Adam Miller <maxamillion@fedoraproejct.org> 1.2-7
* Thu Feb 20 2014 Adam Miller <maxamillion@fedoraproject.org> 1.2-7
- Remove _BSD_SOURCE and _SVID_SOURCE, they are deprecated in recent
versions of glibc and aren't needed

View File

@ -0,0 +1,13 @@
Index: go/src/pkg/time/format_test.go
===================================================================
--- go.orig/src/pkg/time/format_test.go
+++ go/src/pkg/time/format_test.go
@@ -183,7 +183,7 @@ func TestParse(t *testing.T) {
}
}
-func TestParseInSydney(t *testing.T) {
+func testParseInSydney(t *testing.T) {
loc, err := LoadLocation("Australia/Sydney")
if err != nil {
t.Fatal(err)

View File

@ -1,2 +1,2 @@
d76dc07e475b2905b5fec1cf319b6356 golang-19087:a15f344a9efa-xattrs.tar
7917152cb24efb9a13c7881ed280af9a go1.2.2.src.tar.gz
72982ca92b8fbb74ad9b5a056bca9cbf go1.3.2.src.tar.gz