Merge pull request #24 from davidnewhall/dn2_more_fixes
Update build. Allow less "building" to create all the packages.
This commit is contained in:
commit
d716f8ac0d
40
Makefile
40
Makefile
|
|
@ -2,26 +2,37 @@ PACKAGES=`find ./cmd -mindepth 1 -maxdepth 1 -type d`
|
|||
BINARY=unifi-poller
|
||||
VERSION=`git tag -l --merged | tail -n1`
|
||||
|
||||
all: clean man build
|
||||
all: man unifi-poller
|
||||
|
||||
clean:
|
||||
for p in $(PACKAGES); do rm -f `echo $${p}|cut -d/ -f3`{,.1,.1.gz}; done
|
||||
rm -rf package_build unifi-poller_*.deb unifi-poller-*.rpm unifi-poller-*.pkg
|
||||
rm -f unifi-poller.*.gz
|
||||
for p in $(PACKAGES); do rm -f `echo $${p}|cut -d/ -f3`{.macos,.linux,.1,}{,.gz}; done
|
||||
for p in $(PACKAGES); do rm -f `echo $${p}|cut -d/ -f3`{_,-}*.{deb,rpm,pkg}; done
|
||||
rm -rf package_build
|
||||
|
||||
build:
|
||||
build: unifi-poller
|
||||
unifi-poller:
|
||||
for p in $(PACKAGES); do go build -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
|
||||
|
||||
linux:
|
||||
for p in $(PACKAGES); do GOOS=linux go build -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
|
||||
linux: unifi-poller.linux
|
||||
unifi-poller.linux:
|
||||
for p in $(PACKAGES); do GOOS=linux go build -o unifi-poller.linux -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
|
||||
|
||||
darwin:
|
||||
for p in $(PACKAGES); do GOOS=darwin go build -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
|
||||
darwin: unifi-poller.macos
|
||||
unifi-poller.macos:
|
||||
for p in $(PACKAGES); do GOOS=darwin go build -o unifi-poller.macos -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
|
||||
|
||||
test: lint
|
||||
for p in $(PACKAGES) $(LIBRARYS); do go test -race -covermode=atomic $${p}; done
|
||||
|
||||
man:
|
||||
lint:
|
||||
goimports -l $(PACKAGES)
|
||||
gofmt -l $(PACKAGES)
|
||||
errcheck $(PACKAGES)
|
||||
golint $(PACKAGES)
|
||||
go vet $(PACKAGES)
|
||||
|
||||
man: unifi-poller.1.gz
|
||||
unifi-poller.1.gz:
|
||||
scripts/build_manpages.sh ./
|
||||
|
||||
rpm: man linux
|
||||
|
|
@ -33,18 +44,11 @@ deb: man linux
|
|||
osxpkg: man darwin
|
||||
scripts/build_osx_package.sh
|
||||
|
||||
install: all
|
||||
install: man
|
||||
scripts/local_install.sh
|
||||
|
||||
uninstall:
|
||||
scripts/local_uninstall.sh
|
||||
|
||||
lint:
|
||||
goimports -l $(PACKAGES)
|
||||
gofmt -l $(PACKAGES)
|
||||
errcheck $(PACKAGES)
|
||||
golint $(PACKAGES)
|
||||
go vet $(PACKAGES)
|
||||
|
||||
deps:
|
||||
dep ensure -update
|
||||
|
|
|
|||
|
|
@ -2,5 +2,9 @@
|
|||
|
||||
# This file is used by rpm and deb packages. FPM use.
|
||||
|
||||
if [ "$1" = "upgrade" ] || [ "$1" = "1" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
systemctl stop unifi-poller
|
||||
systemctl disable unifi-poller
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ fi
|
|||
|
||||
echo "Building '${OUTPUT}' package."
|
||||
|
||||
# eh, don't change these.
|
||||
PREFIX=
|
||||
BINFIX=/usr
|
||||
|
||||
|
|
@ -28,7 +29,7 @@ rm -rf package_build
|
|||
mkdir -p package_build${BINFIX}/bin package_build${PREFIX}/etc/${BINARY} package_build${BINFIX}/share/man/man1
|
||||
|
||||
# Copy the binary, config file and man page into the env.
|
||||
cp ${BINARY} package_build${BINFIX}/bin
|
||||
cp ${BINARY}.linux package_build${BINFIX}/bin/${BINARY}
|
||||
cp *.1.gz package_build${BINFIX}/share/man/man1
|
||||
cp examples/up.conf.example package_build${PREFIX}/etc/${BINARY}/up.conf
|
||||
|
||||
|
|
@ -37,9 +38,14 @@ mkdir -p package_build/lib/systemd/system
|
|||
sed "s#ExecStart.*#ExecStart=${BINFIX}/bin/${BINARY} --config=${PREFIX}/etc/${BINARY}/up.conf#" \
|
||||
init/systemd/unifi-poller.service > package_build/lib/systemd/system/${BINARY}.service
|
||||
|
||||
# Make a package.
|
||||
fpm -s dir -t ${OUTPUT} \
|
||||
--name ${BINARY} \
|
||||
--version ${VERSION} \
|
||||
--after-install scripts/after-install.sh \
|
||||
--before-remove scripts/before-remove.sh \
|
||||
--license MIT \
|
||||
--url 'https://github.com/davidnewhall/unifi-poller' \
|
||||
--maintainer 'david at sleepers dot pro' \
|
||||
--description 'This daemon polls a Unifi controller at a short interval and stores the collected metric data in an Influx Database.' \
|
||||
--chdir package_build
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script builds a simple macos Installer pkg. Run by the Makefile.
|
||||
# Use: `make osx`
|
||||
# Use: `make osxpkg`
|
||||
|
||||
OUTPUT=$1
|
||||
BINARY=unifi-poller
|
||||
|
|
@ -24,7 +24,7 @@ mkdir -p package_build${BINFIX}/bin package_build${PREFIX}/etc/${BINARY} package
|
|||
mkdir -p package_build${PREFIX}/var/log
|
||||
|
||||
# Copy the binary, config file and man page into the env.
|
||||
cp ${BINARY} package_build${BINFIX}/bin
|
||||
cp ${BINARY}.macos package_build${BINFIX}/bin/${BINARY}
|
||||
cp *.1.gz package_build${BINFIX}/share/man/man1
|
||||
cp examples/up.conf.example package_build${PREFIX}/etc/${BINARY}/
|
||||
|
||||
|
|
@ -38,4 +38,8 @@ fpm -s dir -t osxpkg \
|
|||
--version ${VERSION} \
|
||||
--after-install scripts/after-install-osx.sh \
|
||||
--osxpkg-identifier-prefix com.github.davidnewhall \
|
||||
--license MIT \
|
||||
--maintainer 'david at sleepers dot pro' \
|
||||
--url 'https://github.com/davidnewhall/unifi-poller' \
|
||||
--description 'This daemon polls a Unifi controller at a short interval and stores the collected metric data in an Influx Database.' \
|
||||
--chdir package_build
|
||||
|
|
|
|||
Loading…
Reference in New Issue