Build formula file from template with Makefile.
This commit is contained in:
parent
49b224cbe1
commit
50b2c07548
|
|
@ -7,6 +7,8 @@
|
||||||
/unifi-poller*.pkg
|
/unifi-poller*.pkg
|
||||||
/unifi-poller.macos
|
/unifi-poller.macos
|
||||||
/unifi-poller.linux
|
/unifi-poller.linux
|
||||||
|
/unifi-poller.rb
|
||||||
|
*.sha256
|
||||||
/vendor
|
/vendor
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*~
|
*~
|
||||||
|
|
|
||||||
|
|
@ -20,13 +20,13 @@ before_install:
|
||||||
- chmod +x $GOPATH/bin/dep
|
- chmod +x $GOPATH/bin/dep
|
||||||
# download super-linter: golangci-lint
|
# download super-linter: golangci-lint
|
||||||
- curl -sL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin latest
|
- curl -sL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin latest
|
||||||
- curl -sLo ./up.tgz https://github.com/davidnewhall/unifi-poller/archive/${TRAVIS_TAG}.tar.gz
|
|
||||||
install:
|
install:
|
||||||
- dep ensure
|
- dep ensure
|
||||||
- rvm $brew_ruby do gem install --no-document fpm
|
- rvm $brew_ruby do gem install --no-document fpm
|
||||||
script:
|
script:
|
||||||
- rvm $brew_ruby do make release
|
- rvm $brew_ruby do make release
|
||||||
- openssl dgst -sha256 ./up.tgz | tee release/${TRAVIS_TAG}.tar.gz.sha256
|
# TODO: upload the formula somewhere.
|
||||||
|
- make formula
|
||||||
deploy:
|
deploy:
|
||||||
provider: releases
|
provider: releases
|
||||||
api_key:
|
api_key:
|
||||||
|
|
|
||||||
28
Makefile
28
Makefile
|
|
@ -1,7 +1,7 @@
|
||||||
BINARY:=unifi-poller
|
BINARY:=unifi-poller
|
||||||
URL=https://github.com/davidnewhall/unifi-poller
|
URL=https://github.com/davidnewhall/unifi-poller
|
||||||
MAINT="David Newhall II <david at sleepers dot pro>"
|
MAINT=David Newhall II <david at sleepers dot pro>
|
||||||
DESC="This daemon polls a Unifi controller at a short interval and stores the collected metric data in an Influx Database."
|
DESC=This daemon polls a Unifi controller at a short interval and stores the collected metric data in an Influx Database.
|
||||||
PACKAGE:=./cmd/$(BINARY)
|
PACKAGE:=./cmd/$(BINARY)
|
||||||
ifeq ($(VERSION),)
|
ifeq ($(VERSION),)
|
||||||
VERSION:=$(shell git tag -l --merged | tail -n1 | tr -d v||echo development)
|
VERSION:=$(shell git tag -l --merged | tail -n1 | tr -d v||echo development)
|
||||||
|
|
@ -24,8 +24,8 @@ release: clean test $(BINARY)-$(VERSION)-$(ITERATION).x86_64.rpm $(BINARY)_$(VER
|
||||||
# Delete all build assets.
|
# Delete all build assets.
|
||||||
clean:
|
clean:
|
||||||
# Cleaning up.
|
# Cleaning up.
|
||||||
rm -f $(BINARY){.macos,.linux,.1,}{,.gz}
|
rm -f $(BINARY){.macos,.linux,.1,}{,.gz} $(BINARY).rb
|
||||||
rm -f $(BINARY){_,-}*.{deb,rpm,pkg} md2roff
|
rm -f $(BINARY){_,-}*.{deb,rpm,pkg} md2roff v$(VERSION).tar.gz.sha256
|
||||||
rm -f cmd/$(BINARY)/README{,.html} README{,.html} ./$(BINARY)_manual.html
|
rm -f cmd/$(BINARY)/README{,.html} README{,.html} ./$(BINARY)_manual.html
|
||||||
rm -rf package_build_* release
|
rm -rf package_build_* release
|
||||||
|
|
||||||
|
|
@ -80,8 +80,8 @@ $(BINARY)-$(VERSION)-$(ITERATION).x86_64.rpm: check_fpm package_build_linux
|
||||||
--before-remove scripts/before-remove.sh \
|
--before-remove scripts/before-remove.sh \
|
||||||
--license MIT \
|
--license MIT \
|
||||||
--url $(URL) \
|
--url $(URL) \
|
||||||
--maintainer $(MAINT) \
|
--maintainer "$(MAINT)" \
|
||||||
--description $(DESC) \
|
--description "$(DESC)" \
|
||||||
--chdir package_build_linux
|
--chdir package_build_linux
|
||||||
|
|
||||||
deb: clean $(BINARY)_$(VERSION)-$(ITERATION)_amd64.deb
|
deb: clean $(BINARY)_$(VERSION)-$(ITERATION)_amd64.deb
|
||||||
|
|
@ -95,8 +95,8 @@ $(BINARY)_$(VERSION)-$(ITERATION)_amd64.deb: check_fpm package_build_linux
|
||||||
--before-remove scripts/before-remove.sh \
|
--before-remove scripts/before-remove.sh \
|
||||||
--license MIT \
|
--license MIT \
|
||||||
--url $(URL) \
|
--url $(URL) \
|
||||||
--maintainer $(MAINT) \
|
--maintainer "$(MAINT)" \
|
||||||
--description $(DESC) \
|
--description "$(DESC)" \
|
||||||
--chdir package_build_linux
|
--chdir package_build_linux
|
||||||
|
|
||||||
osxpkg: clean $(BINARY)-$(VERSION).pkg
|
osxpkg: clean $(BINARY)-$(VERSION).pkg
|
||||||
|
|
@ -110,8 +110,8 @@ $(BINARY)-$(VERSION).pkg: check_fpm package_build_osx
|
||||||
--osxpkg-identifier-prefix com.github.davidnewhall \
|
--osxpkg-identifier-prefix com.github.davidnewhall \
|
||||||
--license MIT \
|
--license MIT \
|
||||||
--url $(URL) \
|
--url $(URL) \
|
||||||
--maintainer $(MAINT) \
|
--maintainer "$(MAINT)" \
|
||||||
--description $(DESC) \
|
--description "$(DESC)" \
|
||||||
--chdir package_build_osx
|
--chdir package_build_osx
|
||||||
|
|
||||||
# OSX packages use /usr/local because Apple doesn't allow writing many other places.
|
# OSX packages use /usr/local because Apple doesn't allow writing many other places.
|
||||||
|
|
@ -146,6 +146,14 @@ package_build_linux: readme man linux
|
||||||
check_fpm:
|
check_fpm:
|
||||||
@fpm --version > /dev/null || (echo "FPM missing. Install FPM: https://fpm.readthedocs.io/en/latest/installing.html" && false)
|
@fpm --version > /dev/null || (echo "FPM missing. Install FPM: https://fpm.readthedocs.io/en/latest/installing.html" && false)
|
||||||
|
|
||||||
|
formula: $(BINARY).rb
|
||||||
|
v$(VERSION).tar.gz.sha256:
|
||||||
|
# Calculate the SHA from the Github source file.
|
||||||
|
curl -sL https://github.com/davidnewhall/unifi-poller/archive/v$(VERSION).tar.gz | openssl dgst -sha256 | tee v$(VERSION).tar.gz.sha256
|
||||||
|
$(BINARY).rb: v$(VERSION).tar.gz.sha256
|
||||||
|
# Creating formula from template using sed.
|
||||||
|
sed "s/{{Version}}/$(VERSION)/g;s/{{SHA256}}/$$(<v$(VERSION).tar.gz.sha256)/g;s/{{Desc}}/$(DESC)/g;s%{{URL}}%$(URL)%g" templates/$(BINARY).rb.tmpl | tee $(BINARY).rb
|
||||||
|
|
||||||
# Extras
|
# Extras
|
||||||
|
|
||||||
# Run code tests and lint.
|
# Run code tests and lint.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue