浏览代码

Find correct upgrade asset for arm (fixes #232)

Jakob Borg 11 年之前
父节点
当前提交
a8c510cc72
共有 2 个文件被更改,包括 9 次插入1 次删除
  1. 5 0
      build.sh
  2. 4 1
      cmd/syncthing/upgrade_unix.go

+ 5 - 0
build.sh

@@ -134,15 +134,20 @@ case "$1" in
 		export GOOS=linux
 		export GOARCH=arm
 
+		origldflags="$ldflags"
+
 		export GOARM=7
+		ldflags="$origldflags -X main.GoArchExtra v7"
 		build
 		tarDist "syncthing-linux-armv7-$version"
 
 		export GOARM=6
+		ldflags="$origldflags -X main.GoArchExtra v6"
 		build
 		tarDist "syncthing-linux-armv6-$version"
 
 		export GOARM=5
+		ldflags="$origldflags -X main.GoArchExtra v5"
 		build
 		tarDist "syncthing-linux-armv5-$version"
 

+ 4 - 1
cmd/syncthing/upgrade_unix.go

@@ -30,6 +30,8 @@ type githubAsset struct {
 	Name string `json:"name"`
 }
 
+var GoArchExtra string // "", "v5", "v6", "v7"
+
 func upgrade() error {
 	path, err := osext.Executable()
 	if err != nil {
@@ -60,7 +62,7 @@ func upgrade() error {
 		return nil
 	}
 
-	expectedRelease := fmt.Sprintf("syncthing-%s-%s-%s.", runtime.GOOS, runtime.GOARCH, rel.Tag)
+	expectedRelease := fmt.Sprintf("syncthing-%s-%s%s-%s.", runtime.GOOS, runtime.GOARCH, GoArchExtra, rel.Tag)
 	for _, asset := range rel.Assets {
 		if strings.HasPrefix(asset.Name, expectedRelease) {
 			if strings.HasSuffix(asset.Name, ".tar.gz") {
@@ -88,6 +90,7 @@ func upgrade() error {
 		}
 	}
 
+	l.Warnf("Found no asset for %q", expectedRelease)
 	return nil
 }