summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--lib/syncthing/st.go12
2 files changed, 11 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 1d13554..56082fd 100644
--- a/Makefile
+++ b/Makefile
@@ -92,6 +92,7 @@ package-all:
GOOS=windows GOARCH=amd64 RELEASE=1 make -f $(ROOT_SRCDIR)/Makefile package
@echo "# Build darwin amd64..."
GOOS=darwin GOARCH=amd64 RELEASE=1 make -f $(ROOT_SRCDIR)/Makefile package
+ make -f $(ROOT_SRCDIR)/Makefile clean
test: tools/glide
go test --race $(shell $(LOCAL_TOOLSDIR)/glide novendor)
diff --git a/lib/syncthing/st.go b/lib/syncthing/st.go
index a750036..1f78757 100644
--- a/lib/syncthing/st.go
+++ b/lib/syncthing/st.go
@@ -95,9 +95,17 @@ func (s *SyncThing) startProc(exeName string, args []string, env []string, eChan
exec.Command("bash", "-c", "pkill -9 "+exeName).Output()
}
- path, err := exec.LookPath(path.Join(s.binDir, exeName))
+ // When not set (or set to '.') set bin to path of xds-agent executable
+ bdir := s.binDir
+ if bdir == "" || bdir == "." {
+ if dir, err := filepath.Abs(filepath.Dir(os.Args[0])); err == nil {
+ bdir = dir
+ }
+ }
+
+ path, err := exec.LookPath(path.Join(bdir, exeName))
if err != nil {
- return nil, fmt.Errorf("Cannot find %s executable in %s", exeName, s.binDir)
+ return nil, fmt.Errorf("Cannot find %s executable in %s", exeName, bdir)
}
cmd := exec.Command(path, args...)
cmd.Env = os.Environ()