mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-08 22:31:04 +00:00
Only build ARMv5 (fixes #1218)
With this change, the build system only builds one ARM variant - ARMv5. We call the build architecture simply "arm", as this is what runtime.GOARCH says.
This commit is contained in:
parent
e03d59e381
commit
961a87b743
12
build.go
12
build.go
@ -73,7 +73,7 @@ func main() {
|
|||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
switch goarch {
|
switch goarch {
|
||||||
case "386", "amd64", "arm", "armv5", "armv6", "armv7":
|
case "386", "amd64", "arm":
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
log.Printf("Unknown goarch %q; proceed with caution!", goarch)
|
log.Printf("Unknown goarch %q; proceed with caution!", goarch)
|
||||||
@ -285,15 +285,7 @@ func listFiles(dir string) []string {
|
|||||||
|
|
||||||
func setBuildEnv() {
|
func setBuildEnv() {
|
||||||
os.Setenv("GOOS", goos)
|
os.Setenv("GOOS", goos)
|
||||||
if strings.HasPrefix(goarch, "armv") {
|
os.Setenv("GOARCH", goarch)
|
||||||
os.Setenv("GOARCH", "arm")
|
|
||||||
os.Setenv("GOARM", goarch[4:])
|
|
||||||
} else {
|
|
||||||
os.Setenv("GOARCH", goarch)
|
|
||||||
}
|
|
||||||
if goarch == "386" {
|
|
||||||
os.Setenv("GO386", "387")
|
|
||||||
}
|
|
||||||
wd, err := os.Getwd()
|
wd, err := os.Getwd()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Warning: can't determine current dir:", err)
|
log.Println("Warning: can't determine current dir:", err)
|
||||||
|
6
build.sh
6
build.sh
@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
DOCKERIMGV=1.4-4
|
DOCKERIMGV=1.4-5
|
||||||
|
|
||||||
case "${1:-default}" in
|
case "${1:-default}" in
|
||||||
default)
|
default)
|
||||||
@ -52,9 +52,7 @@ case "${1:-default}" in
|
|||||||
all)
|
all)
|
||||||
go run build.go -goos linux -goarch amd64 tar
|
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 386 tar
|
||||||
go run build.go -goos linux -goarch armv5 tar
|
go run build.go -goos linux -goarch arm tar
|
||||||
go run build.go -goos linux -goarch armv6 tar
|
|
||||||
go run build.go -goos linux -goarch armv7 tar
|
|
||||||
|
|
||||||
go run build.go -goos freebsd -goarch amd64 tar
|
go run build.go -goos freebsd -goarch amd64 tar
|
||||||
go run build.go -goos freebsd -goarch 386 tar
|
go run build.go -goos freebsd -goarch 386 tar
|
||||||
|
@ -17,9 +17,12 @@ RUN curl -sSL https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz \
|
|||||||
| tar -v -C /usr/local -xz
|
| tar -v -C /usr/local -xz
|
||||||
|
|
||||||
ENV PATH /usr/local/go/bin:$PATH
|
ENV PATH /usr/local/go/bin:$PATH
|
||||||
RUN mkdir /go
|
|
||||||
ENV GOPATH /go
|
ENV GOPATH /go
|
||||||
|
ENV GO386 387
|
||||||
|
ENV GOARM 5
|
||||||
ENV PATH /go/bin:$PATH
|
ENV PATH /go/bin:$PATH
|
||||||
|
|
||||||
|
RUN mkdir /go
|
||||||
WORKDIR /go
|
WORKDIR /go
|
||||||
|
|
||||||
# Use gonative to install native Go for most arch/OS combos
|
# 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 \
|
for platform in linux/386 freebsd/386 windows/386 linux/arm openbsd/amd64 openbsd/386; do \
|
||||||
GOOS=${platform%/*} \
|
GOOS=${platform%/*} \
|
||||||
GOARCH=${platform##*/} \
|
GOARCH=${platform##*/} \
|
||||||
GOARM=5 \
|
|
||||||
GO386=387 \
|
|
||||||
CGO_ENABLED=0 \
|
CGO_ENABLED=0 \
|
||||||
./make.bash --no-clean 2>&1; \
|
./make.bash --no-clean 2>&1; \
|
||||||
done \
|
done \
|
||||||
|
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
package upgrade
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"runtime"
|
|
||||||
)
|
|
||||||
|
|
||||||
func releaseName(tag string) string {
|
|
||||||
return fmt.Sprintf("syncthing-macosx-%s-%s.", runtime.GOARCH, tag)
|
|
||||||
}
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
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"
|
|
||||||
}
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
// +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)
|
|
||||||
}
|
|
@ -18,6 +18,8 @@ package upgrade
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -225,3 +227,12 @@ func versionParts(v string) ([]int, []interface{}) {
|
|||||||
|
|
||||||
return release, prerelease
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user