From 7850ca3634f4aa833ba5261b26b789cdd559c450 Mon Sep 17 00:00:00 2001 From: Joseph Poirier Date: Wed, 11 Nov 2015 19:07:34 -0600 Subject: [PATCH 1/3] godump978 use system lib path, copy dump978 so before it's needed, fixes for circleci builder --- Makefile | 10 ++++++++-- circle.yml | 12 ++++++++---- godump978/godump978.go | 6 +++--- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index ba96f967..9ca8b0b1 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,14 @@ +ifeq "$(CIRCLECI)" "true" + BUILDINFO= +else + BUILDINFO="-ldflags -X main.stratuxVersion=`git describe --tags --abbrev=0` -X main.stratuxBuild=`git log -n 1 --pretty=%H`" +endif + all: cd dump978 && make lib + sudo cp -f ./libdump978.so /usr/lib/libdump978.so go get -t -d -v ./... - go build -ldflags " -X main.stratuxVersion=`git describe --abbrev=0 --tags` -X main.stratuxBuild=`git log -n 1 --pretty=%H`" main/gen_gdl90.go main/traffic.go main/ry835ai.go main/network.go main/managementinterface.go main/sdr.go main/uibroadcast.go + go build $(BUILDINFO) main/gen_gdl90.go main/traffic.go main/ry835ai.go main/network.go main/managementinterface.go main/sdr.go main/uibroadcast.go test: sh -c true @@ -40,7 +47,6 @@ www: install: cp -f gen_gdl90 /usr/bin/gen_gdl90 chmod 755 /usr/bin/gen_gdl90 - cp -f libdump978.so /usr/lib/ clean: rm -f gen_gdl90 libdump978.so diff --git a/circle.yml b/circle.yml index 6aef0550..663fab95 100644 --- a/circle.yml +++ b/circle.yml @@ -1,10 +1,14 @@ +machine: + environment: + PATH: $HOME/go/bin:$HOME/gopath/bin:$PATH + GOPATH: $HOME/gopath + dependencies: - cache_directories: - - "~/go" pre: - - sudo apt-get update; sudo apt-get install libusb-1.0-0-dev; cd /tmp; git clone git://git.osmocom.org/rtl-sdr.git; cd rtl-sdr; mkdir build; cd build; cmake ../; make; sudo make install; sudo ldconfig ; cd ~; wget https://storage.googleapis.com/golang/go1.5.1.src.tar.gz; tar -zxvf go1.5.1.src.tar.gz; cd go/src ; export GOROOT_BOOTSTRAP=/usr/local/go; ./all.bash + - sudo apt-get update; sudo apt-get install libusb-1.0-0-dev; cd ~/; git clone https://github.com/steve-m/librtlsdr.git; cd librtlsdr; mkdir build; cd build; cmake ../; make; sudo make install; sudo ldconfig; cd ~/; mkdir gopath; cd ~/; mkdir gopath; wget https://storage.googleapis.com/golang/go1.5.1.src.tar.gz; tar -zxvf go1.5.1.src.tar.gz; cd go/src; export GOROOT_BOOTSTRAP=/usr/local/go; ./make.bash; echo $PATH; echo $GOPATH; go version; env override: - - export PATH=~/go/bin:${PATH}; make + - make + test: override: - make test diff --git a/godump978/godump978.go b/godump978/godump978.go index b0389047..f4557b52 100644 --- a/godump978/godump978.go +++ b/godump978/godump978.go @@ -19,10 +19,10 @@ package godump978 /* -#cgo linux LDFLAGS: -L.. -ldump978 -lm -#cgo darwin LDFLAGS: -L.. -ldump978 -lm +#cgo linux LDFLAGS: -ldump978 -lm +#cgo darwin LDFLAGS: -ldump978 -lm #cgo windows CFLAGS: -IC:/WINDOWS/system32 -#cgo windows LDFLAGS: -L. -lrtlsdr -LC:/WINDOWS/system32 +#cgo windows LDFLAGS: -L. -ldump978 -LC:/WINDOWS/system32 #include #include From d66047c4ea54bbd4ad31b62886066bf3c364f00d Mon Sep 17 00:00:00 2001 From: Joseph Poirier Date: Thu, 12 Nov 2015 14:19:12 -0600 Subject: [PATCH 2/3] pipe dump1090's out to the logger --- main/gen_gdl90.go | 5 +++-- main/sdr.go | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/main/gen_gdl90.go b/main/gen_gdl90.go index 3b969e13..f5c463d1 100644 --- a/main/gen_gdl90.go +++ b/main/gen_gdl90.go @@ -832,12 +832,13 @@ func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // redundant with Go v1.5+ compiler // Duplicate log.* output to debugLog. + var mfp io.Writer fp, err := os.OpenFile(debugLog, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Printf("Failed to open '%s': %s\n", debugLog, err.Error()) } else { defer fp.Close() - mfp := io.MultiWriter(fp, os.Stdout) + mfp = io.MultiWriter(fp, os.Stdout) log.SetOutput(mfp) } @@ -847,7 +848,7 @@ func main() { MsgLog = make([]msg, 0) crcInit() // Initialize CRC16 table. - sdrInit() + sdrInit(mfp) initTraffic() globalStatus.Version = stratuxVersion diff --git a/main/sdr.go b/main/sdr.go index ef3b2a88..e26bdeb7 100644 --- a/main/sdr.go +++ b/main/sdr.go @@ -1,6 +1,7 @@ package main import ( + "io" "log" "os/exec" "strconv" @@ -23,6 +24,7 @@ type ES struct { indexID int } +var mfp io.Writer var UATDev *UAT var ESDev *ES @@ -38,6 +40,10 @@ func (e *ES) read() { defer es_wg.Done() log.Println("Entered ES read() ...") cmd := exec.Command("/usr/bin/dump1090", "--net", "--device-index", strconv.Itoa(e.indexID)) + if mfp != nil { + cmd.Stdout = mfp + cmd.Stderr = cmd.Stdout + } err := cmd.Start() if err != nil { log.Printf("Error executing /usr/bin/dump1090: %s\n", err.Error()) @@ -382,7 +388,8 @@ func sdrWatcher() { } } -func sdrInit() { +func sdrInit(m io.Writer) { + mfp = m go sdrWatcher() go uatReader() godump978.Dump978Init() From 895559924634900db81969e5315424c497fd5f01 Mon Sep 17 00:00:00 2001 From: Joseph Poirier Date: Thu, 12 Nov 2015 20:15:01 -0600 Subject: [PATCH 3/3] Revert "pipe dump1090's out to the logger" This reverts commit d66047c4ea54bbd4ad31b62886066bf3c364f00d. --- main/gen_gdl90.go | 5 ++--- main/sdr.go | 9 +-------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/main/gen_gdl90.go b/main/gen_gdl90.go index f5c463d1..3b969e13 100644 --- a/main/gen_gdl90.go +++ b/main/gen_gdl90.go @@ -832,13 +832,12 @@ func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // redundant with Go v1.5+ compiler // Duplicate log.* output to debugLog. - var mfp io.Writer fp, err := os.OpenFile(debugLog, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Printf("Failed to open '%s': %s\n", debugLog, err.Error()) } else { defer fp.Close() - mfp = io.MultiWriter(fp, os.Stdout) + mfp := io.MultiWriter(fp, os.Stdout) log.SetOutput(mfp) } @@ -848,7 +847,7 @@ func main() { MsgLog = make([]msg, 0) crcInit() // Initialize CRC16 table. - sdrInit(mfp) + sdrInit() initTraffic() globalStatus.Version = stratuxVersion diff --git a/main/sdr.go b/main/sdr.go index e26bdeb7..ef3b2a88 100644 --- a/main/sdr.go +++ b/main/sdr.go @@ -1,7 +1,6 @@ package main import ( - "io" "log" "os/exec" "strconv" @@ -24,7 +23,6 @@ type ES struct { indexID int } -var mfp io.Writer var UATDev *UAT var ESDev *ES @@ -40,10 +38,6 @@ func (e *ES) read() { defer es_wg.Done() log.Println("Entered ES read() ...") cmd := exec.Command("/usr/bin/dump1090", "--net", "--device-index", strconv.Itoa(e.indexID)) - if mfp != nil { - cmd.Stdout = mfp - cmd.Stderr = cmd.Stdout - } err := cmd.Start() if err != nil { log.Printf("Error executing /usr/bin/dump1090: %s\n", err.Error()) @@ -388,8 +382,7 @@ func sdrWatcher() { } } -func sdrInit(m io.Writer) { - mfp = m +func sdrInit() { go sdrWatcher() go uatReader() godump978.Dump978Init()