diff --git a/go-example-webserver/Makefile b/go-example-webserver/Makefile new file mode 100644 index 0000000..b929d9f --- /dev/null +++ b/go-example-webserver/Makefile @@ -0,0 +1,29 @@ +.DEFAULT_GOAL := snap + +DESTDIR ?= . +SNAPNAME = $(shell find ./magic-bin/ -type f -printf "%f\n" | head -1) + +magic-bin/x86_64-linux-gnu: + mkdir $(DESTDIR)/magic-bin/x86_64-linux-gnu --parents + +magic-bin/arm-linux-gnueabihf: + mkdir $(DESTDIR)/magic-bin/arm-linux-gnueabihf --parents + +build_amd64: magic-bin/x86_64-linux-gnu + cd $(DESTDIR)/magic-bin/x86_64-linux-gnu && \ + go build ../../ && mv build $(SNAPNAME) + +build_arm: magic-bin/arm-linux-gnueabihf + cd $(DESTDIR)/magic-bin/arm-linux-gnueabihf && \ + GOARCH=arm go build ../../ && mv build $(SNAPNAME) + +snap: build_amd64 build_arm + #snappy build . + +install: + cp -R ../build/magic-bin ../install/ + +clean: + rm -rf ./magic-bin/x86_64-linux-gnu + rm -rf ./magic-bin/arm-linux-gnueabihf + rm -rf ./*multi.snap \ No newline at end of file diff --git a/go-example-webserver/README b/go-example-webserver/README index 6b03417..9147c7a 100644 --- a/go-example-webserver/README +++ b/go-example-webserver/README @@ -9,17 +9,7 @@ to find the right architecture and launch the right binary. To build simply do this: - # change to the x86_64 directory and build the binary... - 1. cd magic-bin/x86_64-linux-gnu - 2. go build ../../ - - # switch to the armhf directory and build for ARM - 3. cd ../arm-linux-gnueabihf - 4. GOARCH=arm go build ../../ - - # go to top level dir and build the snapp - 5. cd ../.. - 6. snappy build . + snapcraft This produces a snappy package for you that you can try on your snappy system. diff --git a/go-example-webserver/meta/go.png b/go-example-webserver/go.png similarity index 100% rename from go-example-webserver/meta/go.png rename to go-example-webserver/go.png diff --git a/go-example-webserver/meta/package.yaml b/go-example-webserver/meta/package.yaml deleted file mode 100644 index ccc7409..0000000 --- a/go-example-webserver/meta/package.yaml +++ /dev/null @@ -1,13 +0,0 @@ -name: go-example-webserver -vendor: Alexander Sack -architecture: [amd64, armhf] -icon: meta/go.png -version: 1.0.7 -services: - - name: webserver - description: "snappy example: golang mini webserver" - start: ./magic-bin/go-example-webserver - caps: - - networking - - network-service - diff --git a/go-example-webserver/meta/readme.md b/go-example-webserver/meta/readme.md deleted file mode 100644 index e638204..0000000 --- a/go-example-webserver/meta/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -Minimal Golang webserver for snappy - -Mostly a example to show how to build a binary webserver for snappy. \ No newline at end of file diff --git a/go-example-webserver/snapcraft.yaml b/go-example-webserver/snapcraft.yaml new file mode 100644 index 0000000..23b86ba --- /dev/null +++ b/go-example-webserver/snapcraft.yaml @@ -0,0 +1,18 @@ +name: go-example-webserver +version: 1.0.7 +vendor: Alexander Sack +summary: Go Webserver +description: "Minimal Golang webserver for snappy \n\nMostly a example to show how to build a binary webserver for snappy." +architectures: [armhf, amd64] +icon: go.png +services: + webserver: + description: "snappy example: golang mini webserver" + start: ./magic-bin/go-example-webserver + caps: + - networking + - network-service +parts: + magic-bin: + plugin: make + source: . \ No newline at end of file