diff --git a/build.go b/build.go
index 83a0dfa15..70a34f725 100644
--- a/build.go
+++ b/build.go
@@ -73,7 +73,7 @@ func main() {
flag.Parse()
switch goarch {
- case "386", "amd64", "arm", "armv5", "armv6", "armv7":
+ case "386", "amd64", "arm":
break
default:
log.Printf("Unknown goarch %q; proceed with caution!", goarch)
@@ -285,15 +285,7 @@ func listFiles(dir string) []string {
func setBuildEnv() {
os.Setenv("GOOS", goos)
- if strings.HasPrefix(goarch, "armv") {
- os.Setenv("GOARCH", "arm")
- os.Setenv("GOARM", goarch[4:])
- } else {
- os.Setenv("GOARCH", goarch)
- }
- if goarch == "386" {
- os.Setenv("GO386", "387")
- }
+ os.Setenv("GOARCH", goarch)
wd, err := os.Getwd()
if err != nil {
log.Println("Warning: can't determine current dir:", err)
diff --git a/build.sh b/build.sh
index e9070bc3f..fd4a45093 100755
--- a/build.sh
+++ b/build.sh
@@ -2,7 +2,7 @@
set -euo pipefail
IFS=$'\n\t'
-DOCKERIMGV=1.4-4
+DOCKERIMGV=1.4-5
case "${1:-default}" in
default)
@@ -52,9 +52,7 @@ case "${1:-default}" in
all)
go run build.go -goos linux -goarch amd64 tar
go run build.go -goos linux -goarch 386 tar
- go run build.go -goos linux -goarch armv5 tar
- go run build.go -goos linux -goarch armv6 tar
- go run build.go -goos linux -goarch armv7 tar
+ go run build.go -goos linux -goarch arm tar
go run build.go -goos freebsd -goarch amd64 tar
go run build.go -goos freebsd -goarch 386 tar
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 4f88509e3..c8a77ce23 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,9 +17,12 @@ RUN curl -sSL https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz \
| tar -v -C /usr/local -xz
ENV PATH /usr/local/go/bin:$PATH
-RUN mkdir /go
ENV GOPATH /go
+ENV GO386 387
+ENV GOARM 5
ENV PATH /go/bin:$PATH
+
+RUN mkdir /go
WORKDIR /go
# Use gonative to install native Go for most arch/OS combos
@@ -45,8 +48,6 @@ RUN bash -xec '\
for platform in linux/386 freebsd/386 windows/386 linux/arm openbsd/amd64 openbsd/386; do \
GOOS=${platform%/*} \
GOARCH=${platform##*/} \
- GOARM=5 \
- GO386=387 \
CGO_ENABLED=0 \
./make.bash --no-clean 2>&1; \
done \
diff --git a/internal/upgrade/releasename_darwin.go b/internal/upgrade/releasename_darwin.go
deleted file mode 100644
index 6ae1c28a3..000000000
--- a/internal/upgrade/releasename_darwin.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2014 The Syncthing Authors.
-//
-// This program is free software: you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by the Free
-// Software Foundation, either version 3 of the License, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-// more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program. If not, see .
-
-package upgrade
-
-import (
- "fmt"
- "runtime"
-)
-
-func releaseName(tag string) string {
- return fmt.Sprintf("syncthing-macosx-%s-%s.", runtime.GOARCH, tag)
-}
diff --git a/internal/upgrade/releasename_linux_arm.go b/internal/upgrade/releasename_linux_arm.go
deleted file mode 100644
index 8f2f64860..000000000
--- a/internal/upgrade/releasename_linux_arm.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2014 The Syncthing Authors.
-//
-// This program is free software: you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by the Free
-// Software Foundation, either version 3 of the License, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-// more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program. If not, see .
-
-package upgrade
-
-import (
- "fmt"
- "strings"
- "syscall"
-)
-
-func releaseName(tag string) string {
- return fmt.Sprintf("syncthing-linux-armv%s-%s.", goARM(), tag)
-}
-
-// Get the current ARM architecture version for upgrade purposes. If we can't
-// figure it out from the uname, default to ARMv6 (same as Go distribution).
-func goARM() string {
- var name syscall.Utsname
- syscall.Uname(&name)
- machine := string(name.Machine[:5])
- if strings.HasPrefix(machine, "armv") {
- return machine[4:]
- }
- return "6"
-}
diff --git a/internal/upgrade/releasename_other.go b/internal/upgrade/releasename_other.go
deleted file mode 100644
index 791cd6180..000000000
--- a/internal/upgrade/releasename_other.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (C) 2014 The Syncthing Authors.
-//
-// This program is free software: you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by the Free
-// Software Foundation, either version 3 of the License, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-// more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program. If not, see .
-
-// +build !arm,!darwin
-
-package upgrade
-
-import (
- "fmt"
- "runtime"
-)
-
-func releaseName(tag string) string {
- return fmt.Sprintf("syncthing-%s-%s-%s.", runtime.GOOS, runtime.GOARCH, tag)
-}
diff --git a/internal/upgrade/upgrade_common.go b/internal/upgrade/upgrade_common.go
index 65a2b92e1..fff0d77fa 100644
--- a/internal/upgrade/upgrade_common.go
+++ b/internal/upgrade/upgrade_common.go
@@ -18,6 +18,8 @@ package upgrade
import (
"errors"
+ "fmt"
+ "runtime"
"strconv"
"strings"
@@ -225,3 +227,12 @@ func versionParts(v string) ([]int, []interface{}) {
return release, prerelease
}
+
+func releaseName(tag string) string {
+ switch runtime.GOOS {
+ case "darwin":
+ return fmt.Sprintf("syncthing-macosx-%s-%s.", runtime.GOARCH, tag)
+ default:
+ return fmt.Sprintf("syncthing-%s-%s-%s.", runtime.GOOS, runtime.GOARCH, tag)
+ }
+}