summaryrefslogtreecommitdiff
path: root/Makefile
blob: ec8440a3242df9d0b8faa2c208844112e452cfc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
.PHONY: debian

run: build
	reset
	cp -f control-panel-dns ~/
	sudo ./control-panel-dns

build:
	-mkdir -p resources/
	-cp ~/go/src/go.wit.com/toolkits/*.so resources/
	GO111MODULE="off" go build -v

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)

install:
	go install -v go.wit.com/control-panel-dns@latest

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

debian:
	cd debian && make
	-wit mirrors

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