Skip to content

Commit d046b5b

Browse files
rscgopherbot
authored andcommitted
cmd/upload: remove special Go1.4 bootstrap support
Go 1.4 is no longer used for bootstrap. (Hooray!) For golang/go#44505. Change-Id: Id8ad641fa8ed88a2114879eb35ee45fff135eab6 Reviewed-on: https://go-review.googlesource.com/c/build/+/420215 Reviewed-by: Dmitri Shuralyov <[email protected]> Run-TryBot: Russ Cox <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Auto-Submit: Russ Cox <[email protected]>
1 parent 5845b37 commit d046b5b

File tree

1 file changed

+2
-88
lines changed

1 file changed

+2
-88
lines changed

cmd/upload/upload.go

Lines changed: 2 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
package main
1010

1111
import (
12-
"archive/tar"
1312
"bytes"
1413
"compress/gzip"
1514
"context"
@@ -20,7 +19,6 @@ import (
2019
"log"
2120
"net/http"
2221
"os"
23-
"regexp"
2422
"strings"
2523

2624
"cloud.google.com/go/storage"
@@ -36,18 +34,9 @@ var (
3634
extraEnv = flag.String("env", "", "comma-separated list of addition KEY=val environment pairs to include in build environment when building a target to upload")
3735
)
3836

39-
// to match uploads to e.g. https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz.
40-
var go14BootstrapRx = regexp.MustCompile(`^go1\.4-bootstrap-20\d{6}\.tar\.gz$`)
41-
4237
func main() {
4338
flag.Usage = func() {
44-
fmt.Fprintf(os.Stderr, `Usage: upload [flags] <bucket/object>
45-
46-
If <bucket/object> is of the form "golang/go1.4-bootstrap-20yymmdd.tar.gz",
47-
then the current release-branch.go1.4 is uploaded from Gerrit, with each
48-
tar entry filename beginning with the prefix "go/".
49-
50-
`)
39+
fmt.Fprintf(os.Stderr, "Usage: upload [flags] bucket/object\n")
5140
flag.PrintDefaults()
5241
}
5342
flag.Parse()
@@ -65,17 +54,6 @@ tar entry filename beginning with the prefix "go/".
6554
}
6655
bucket, object := args[0], args[1]
6756

68-
// Special support for auto-tarring up Go 1.4 tarballs from the 1.4 release branch.
69-
is14Src := bucket == "golang" && go14BootstrapRx.MatchString(object)
70-
if is14Src {
71-
if *file != "-" {
72-
log.Fatalf("invalid use of -file with Go 1.4 tarball %v", object)
73-
}
74-
*doGzip = true
75-
*public = true
76-
*cacheable = true
77-
}
78-
7957
if *doGzip && !strings.HasSuffix(object, ".gz") {
8058
log.Fatalf("-gzip flag requires object ending in .gz")
8159
}
@@ -94,15 +72,7 @@ tar entry filename beginning with the prefix "go/".
9472
log.Fatalf("storage.NewClient: %v", err)
9573
}
9674

97-
if is14Src {
98-
_, err := storageClient.Bucket(bucket).Object(object).Attrs(context.Background())
99-
if err != storage.ErrObjectNotExist {
100-
if err == nil {
101-
log.Fatalf("object %v already exists; refusing to overwrite.", object)
102-
}
103-
log.Fatalf("error checking for %v: %v", object, err)
104-
}
105-
} else if alreadyUploaded(storageClient, bucket, object) {
75+
if alreadyUploaded(storageClient, bucket, object) {
10676
if *verbose {
10777
log.Printf("gs://%s/%s up-to-date", bucket, object)
10878
}
@@ -123,8 +93,6 @@ tar entry filename beginning with the prefix "go/".
12393
}
12494
var content io.Reader
12595
switch {
126-
case is14Src:
127-
content = generate14Tarfile()
12896
case *file == "-":
12997
content = os.Stdin
13098
default:
@@ -218,57 +186,3 @@ func alreadyUploaded(storageClient *storage.Client, bucket, object string) bool
218186
}
219187
return bytes.Equal(m5.Sum(nil), o.MD5)
220188
}
221-
222-
// generate14Tarfile downloads the release-branch.go1.4 release branch
223-
// tarball and returns it uncompressed, with the "go/" prefix before
224-
// each tar header's filename.
225-
func generate14Tarfile() io.Reader {
226-
const tarURL = "https://go.googlesource.com/go/+archive/release-branch.go1.4.tar.gz"
227-
res, err := http.Get(tarURL)
228-
if err != nil {
229-
log.Fatal(err)
230-
}
231-
if res.StatusCode != 200 {
232-
log.Fatalf("%v: %v", tarURL, res.Status)
233-
}
234-
if got, want := res.Header.Get("Content-Type"), "application/x-gzip"; got != want {
235-
log.Fatalf("%v: response Content-Type = %q; expected %q", tarURL, got, want)
236-
}
237-
238-
var out bytes.Buffer // output tar (not gzipped)
239-
240-
tw := tar.NewWriter(&out)
241-
242-
zr, err := gzip.NewReader(res.Body)
243-
if err != nil {
244-
log.Fatal(err)
245-
}
246-
tr := tar.NewReader(zr)
247-
248-
for {
249-
hdr, err := tr.Next()
250-
if err == io.EOF {
251-
break
252-
}
253-
if err != nil {
254-
log.Fatal(err)
255-
}
256-
switch hdr.Typeflag {
257-
case tar.TypeReg, tar.TypeRegA, tar.TypeSymlink, tar.TypeDir:
258-
// Accept these.
259-
default:
260-
continue
261-
}
262-
hdr.Name = "go/" + hdr.Name
263-
if err := tw.WriteHeader(hdr); err != nil {
264-
log.Fatalf("WriteHeader: %v", err)
265-
}
266-
if _, err := io.Copy(tw, tr); err != nil {
267-
log.Fatalf("tar copying %v: %v", hdr.Name, err)
268-
}
269-
}
270-
if err := tw.Close(); err != nil {
271-
log.Fatal(err)
272-
}
273-
return &out
274-
}

0 commit comments

Comments
 (0)