control-panel-dns/Makefile

139 lines
3.8 KiB
Makefile

.PHONY: debian
VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d)
all: build
./control-panel-dns
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}"
# embed the toolkit plugins in the binary
embed:
-rm resources/*.so
touch resources/blank.so
cp -a ~/go/src/go.wit.com/toolkits/*.so resources/
goimports:
goimports -w *.go
redomod:
rm -f go.*
GO111MODULE= go mod init
GO111MODULE= go mod tidy
reset:
# clear your terminal
reset
stderr: build
./control-panel-dns >/tmp/witgui.log.stderr 2>&1
log:
reset
tail -f /tmp/guilogfile /tmp/witgui.* /tmp/gadget*
gocui: build
reset
# ./control-panel-dns --gui gocui --tmp-log >/tmp/witgui.log.stderr 2>&1
# ./control-panel-dns --gui gocui
./control-panel-dns --gui gocui >/tmp/witgui.log.stderr 2>&1
nocui: reset build
./control-panel-dns --gui nocui
check-git-clean:
@git diff-index --quiet HEAD -- || (echo "Git repository is dirty, please commit your changes first"; exit 1)
build-release:
reset
go get -v -u -x .
go build
# This will git pull all the git repo dependencies
goGetUpdate:
GO111MODULE="off" go get -v -u .
# ./control-panel-dns.v1: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./control-panel-dns.v1)
# ./control-panel-dns.v1: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./control-panel-dns.v1)
# compiling with CGO disabled means it compiles but then plugins don't load
GLIBC_2.34-error:
GO111MODULE="off" CGO_ENABLED=0 go build -v -o control-panel-dns
test:
GO111MODULE="off" go test -v
update:
GO111MODULE="off" go get -v -u -x .
clean:
-rm control-panel-dns
-rm -rf files/
-rm -f resources/*.so
-rm *.deb
netlink:
GO111MODULE="off" go get -v -u github.com/vishvananda/netlink
####### MODULE STUFF DOWN HERE
#
# What again is the 'right' way to do this?
# maybe it's settled down finally. Use GO111MODULE="off" when you are developing.
# When you are ready to release, version this and all the packages correctly.
#
# At least, that is what I'm going to try to do as of Feb 1 2024.
#
build-with-custom-go.mod:
go build -modfile=local.go.mod ./...
# notes on certs. move this somewhere else
# replace github.com/versent/saml2aws/v2 v2.35.0 => github.com/marcottedan/saml2aws/v2 master
# replace github.com/versent/saml2aws/v2 => /Users/dmarcotte/git/saml2aws/
#
# https://crt.sh/?q=check.lab.wit.com
# # https://letsencrypt.org/certificates/
# openssl s_client -connect check.lab.wit.com:443 -showcerts
# openssl s_client -CApath /etc/ssl/certs/ -connect check.lab.wit.com:443 -showcerts -trace -debug
# openssl s_client -CAfile isrgrootx1.pem -connect check.lab.wit.com:443 -showcerts
# cat isrgrootx1.pem lets-encrypt-r3.pem > full-chain.pem
# full-chain.pem
# openssl s_client -CAfile /etc/ssl/certs/wit-full-chain.pem -connect check.lab.wit.com:443 -showcerts
check-cert:
reset
openssl s_client -CApath /etc/ssl/certs/ -connect go.wit.com:443 -showcerts
ssl-cert-hash:
openssl x509 -hash -noout -in wit-full-chain.pem
# cd /etc/ssl/certs && ln -s wit-full-chain.pem 4042bcee.0
openssl x509 -hash -noout -in isrgrootx1.pem
openssl x509 -hash -noout -in lets-encrypt-r3.pem
sudo-cp:
sudo cp -a lets-encrypt-r3.pem 8d33f237.0 /etc/ssl/certs/
# apt install uml-utilities
fake0-up:
tunctl -t fake0
ifconfig fake0 up
# ifconfig fake0 inet6 add 2001:470:1f12:2cd::2/64
ifconfig fake0 inet6 add 2604:BBC0:1234:1234::1234/128
fake0-down:
ifconfig fake0 down
tunctl -d fake0