132 lines
4.0 KiB
Makefile
132 lines
4.0 KiB
Makefile
.PHONY: build
|
|
|
|
VERSION = $(shell git describe --tags)
|
|
BUILDTIME = $(shell date +%Y.%m.%d)
|
|
|
|
# create the go.mod and go.sum if this is a brand new repo
|
|
REDOMOD = $(shell if [ -e go.sum ]; then echo go.sum exists; else GO111MODULE= go mod init; GO111MODULE= go mod tidy; fi)
|
|
|
|
check_files:
|
|
@echo
|
|
@echo the build is complicated right now because you need
|
|
@echo the google version of protoc-gen-go which is not the one in debian sid yet
|
|
@echo
|
|
@if [ -f "/usr/bin/bin/protoc-gen-go" ]; then \
|
|
echo "the protoc-gen-go package is old in debian sid right now"; \
|
|
echo "for now, remove it"; \
|
|
apt remote proto-gen-go \
|
|
exit 1; \
|
|
fi
|
|
@if [ ! -f "../../lib/protobuf/virtbuf/droplet.pb.go" ]; then \
|
|
echo "you must build the protobuf files first"; \
|
|
echo "They should be in: ../../lib/protobuf/virtbuf/droplet.pb.go"; \
|
|
make -C ../../lib/protobuf/virtbuf/; \
|
|
fi
|
|
@if [ ! -f "$(HOME)/go/bin/protoc-gen-go" ]; then \
|
|
echo "you must build protoc-gen-go from google"; \
|
|
exit 1; \
|
|
fi
|
|
make all
|
|
|
|
all:
|
|
make build
|
|
./virtigo --version
|
|
@echo build worked
|
|
|
|
build:
|
|
GO111MODULE=off go build \
|
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
|
|
|
verbose:
|
|
GO111MODULE=off go build -v -x \
|
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
|
|
|
install:
|
|
GO111MODULE=off go install \
|
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
|
|
|
# makes a .deb package
|
|
debian:
|
|
rm -f ~/incoming/virtigo*deb
|
|
go-deb --no-gui --repo go.wit.com/apps/virtigo
|
|
|
|
xml-add:
|
|
./virtigo --libvirt ~/libvirt/*.xml --xml-ignore-disk=true
|
|
|
|
xml-add-save:
|
|
./virtigo --libvirt ~/libvirt/*.xml --xml-ignore-disk=true --save
|
|
|
|
start-pihole.wit.com: build
|
|
rm -f /tmp/blahcarr.xml /tmp/pihole.wit.com.xml
|
|
./virtigo --start pihole.wit.com
|
|
./virtigo --libvirt /tmp/pihole.wit.com.xml
|
|
|
|
start-pihole.wit.com-http:
|
|
curl --silent http://localhost:8080/start?hostname=pihole.wit.com
|
|
|
|
old-start-all-droplets:
|
|
curl --silent http://localhost:8080/start?start=git.wit.org
|
|
curl --silent http://localhost:8080/start?start=go.wit.com
|
|
curl --silent http://localhost:8080/start?start=rdate.wit.com
|
|
curl --silent http://localhost:8080/start?start=uptime.wit.com
|
|
curl --silent http://localhost:8080/start?start=www.wit.com
|
|
curl --silent http://localhost:8080/start?start=ping.wit.com
|
|
curl --silent http://localhost:8080/start?start=wekan.wit.com
|
|
curl --silent http://localhost:8080/start?start=caddy.wit.org
|
|
curl --silent http://localhost:8080/start?start=immich.wit.org
|
|
curl --silent http://localhost:8080/start?start=bernacchi
|
|
@#curl --silent http://localhost:8080/start?start=jcarr
|
|
@# ./virtigo --start jcarr
|
|
|
|
curl-uptime:
|
|
curl --silent http://localhost:8080/uptime
|
|
|
|
curl-droplets:
|
|
curl --silent http://localhost:8080/droplets
|
|
|
|
curl-writeconfig:
|
|
curl --silent http://localhost:8080/writeconfig
|
|
|
|
# this is for release builds using the go.mod files
|
|
release-build:
|
|
@echo ${REDOMOD}
|
|
go build -v -ldflags "-X main.Version=${VERSION} -X gui.GUIVERSION=${VERSION}"
|
|
|
|
# autofixes your import headers in your golang files
|
|
goimports:
|
|
goimports -w *.go
|
|
|
|
# remake the go.mod and go.sum files
|
|
redomod:
|
|
rm -f go.*
|
|
GO111MODULE= go mod init
|
|
GO111MODULE= go mod tidy
|
|
|
|
clean:
|
|
rm -f go.*
|
|
rm -f virtigo*
|
|
|
|
# git clone the sources and all the golang dependancies into ~/go/src
|
|
# if you don't have go-clone, you can get it from http://go.wit.com/
|
|
git-clone:
|
|
go-clone --recursive --go-src --no-work go.wit.com/apps/go-clone
|
|
go-clone --recursive --go-src --no-work go.wit.com/apps/virtigo
|
|
go-clone --recursive --go-src --no-work go.wit.com/apps/gowebd
|
|
go-clone --recursive --go-src --no-work go.wit.com/lib/daemons/virtigod
|
|
|
|
http-uptime:
|
|
curl --silent http://localhost:8080/uptime
|
|
|
|
http-droplets:
|
|
curl --silent http://localhost:8080/droplets
|
|
|
|
http-missing:
|
|
curl --silent http://localhost:8080/missing
|
|
|
|
http-dumplibvirtxml:
|
|
curl --silent http://localhost:8080//dumplibvirtxml
|
|
|
|
protogen:
|
|
go-clone google.golang.org/protobuf
|
|
cd ~/go/src/google.golang.org/protobuf/cmd/protoc-gen-go && go install
|