From 0213d45e56179d7c3d5ba265ee1afdf5274f2c73 Mon Sep 17 00:00:00 2001 From: abbgrade Date: Sun, 7 Feb 2016 20:31:40 +0100 Subject: [PATCH 1/2] added Makefile --- go-example-webserver/Makefile | 21 +++++++++++++++++++++ go-example-webserver/README | 15 ++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 go-example-webserver/Makefile diff --git a/go-example-webserver/Makefile b/go-example-webserver/Makefile new file mode 100644 index 0000000..f3940c4 --- /dev/null +++ b/go-example-webserver/Makefile @@ -0,0 +1,21 @@ +magic-bin/x86_64-linux-gnu: + mkdir ./magic-bin/x86_64-linux-gnu + +magic-bin/arm-linux-gnueabihf: + mkdir ./magic-bin/arm-linux-gnueabihf + +build_amd64: magic-bin/x86_64-linux-gnu + cd ./magic-bin/x86_64-linux-gnu && \ + go build ../../ + +build_arm: magic-bin/arm-linux-gnueabihf + cd ./magic-bin/arm-linux-gnueabihf && \ + GOARCH=arm go build ../../ + +snap: build_amd64 build_arm + snappy build . + +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..d187859 100644 --- a/go-example-webserver/README +++ b/go-example-webserver/README @@ -9,20 +9,13 @@ 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 . + make snap This produces a snappy package for you that you can try on your snappy system. + cd /apps/go-example-webserver.*/current + sudo ./magic-bin/go-example-webserver + Have fun! - Snappy Team From 846cd7e612490c191538781f754a18c3d345dcb6 Mon Sep 17 00:00:00 2001 From: abbgrade Date: Sun, 7 Feb 2016 22:21:35 +0100 Subject: [PATCH 2/2] migrated project to snapcraft --- go-example-webserver/Makefile | 22 +++++++++++++++------- go-example-webserver/README | 5 +---- go-example-webserver/{meta => }/go.png | Bin go-example-webserver/meta/package.yaml | 13 ------------- go-example-webserver/meta/readme.md | 3 --- go-example-webserver/snapcraft.yaml | 18 ++++++++++++++++++ 6 files changed, 34 insertions(+), 27 deletions(-) rename go-example-webserver/{meta => }/go.png (100%) delete mode 100644 go-example-webserver/meta/package.yaml delete mode 100644 go-example-webserver/meta/readme.md create mode 100644 go-example-webserver/snapcraft.yaml diff --git a/go-example-webserver/Makefile b/go-example-webserver/Makefile index f3940c4..b929d9f 100644 --- a/go-example-webserver/Makefile +++ b/go-example-webserver/Makefile @@ -1,19 +1,27 @@ +.DEFAULT_GOAL := snap + +DESTDIR ?= . +SNAPNAME = $(shell find ./magic-bin/ -type f -printf "%f\n" | head -1) + magic-bin/x86_64-linux-gnu: - mkdir ./magic-bin/x86_64-linux-gnu + mkdir $(DESTDIR)/magic-bin/x86_64-linux-gnu --parents magic-bin/arm-linux-gnueabihf: - mkdir ./magic-bin/arm-linux-gnueabihf + mkdir $(DESTDIR)/magic-bin/arm-linux-gnueabihf --parents build_amd64: magic-bin/x86_64-linux-gnu - cd ./magic-bin/x86_64-linux-gnu && \ - go build ../../ + cd $(DESTDIR)/magic-bin/x86_64-linux-gnu && \ + go build ../../ && mv build $(SNAPNAME) build_arm: magic-bin/arm-linux-gnueabihf - cd ./magic-bin/arm-linux-gnueabihf && \ - GOARCH=arm go build ../../ + cd $(DESTDIR)/magic-bin/arm-linux-gnueabihf && \ + GOARCH=arm go build ../../ && mv build $(SNAPNAME) snap: build_amd64 build_arm - snappy build . + #snappy build . + +install: + cp -R ../build/magic-bin ../install/ clean: rm -rf ./magic-bin/x86_64-linux-gnu diff --git a/go-example-webserver/README b/go-example-webserver/README index d187859..9147c7a 100644 --- a/go-example-webserver/README +++ b/go-example-webserver/README @@ -9,13 +9,10 @@ to find the right architecture and launch the right binary. To build simply do this: - make snap + snapcraft This produces a snappy package for you that you can try on your snappy system. - cd /apps/go-example-webserver.*/current - sudo ./magic-bin/go-example-webserver - Have fun! - Snappy Team 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