deb.rules 1.35 KB
Newer Older
1 2 3 4 5 6
#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

7
# Launchpad rejects Go's access to $HOME, use custom folders
8
export GOCACHE=/tmp/go-build
9
export GOPATH=/tmp/gopath
10
export GOROOT_BOOTSTRAP={{.GoBootPath}}
11

12 13 14
override_dh_auto_clean:
	# Don't try to be smart Launchpad, we know our build rules better than you

15
override_dh_auto_build:
16 17 18
	# We can't download a fresh Go within Launchpad, so we're shipping and building
	# one on the fly. However, we can't build it inside the go-ethereum folder as
	# bootstrapping clashes with go modules, so build in a sibling folder.
19 20 21 22
	#
	# We're also shipping the bootstrapper as of Go 1.20 as it had minimum version
	# requirements opposed to older versions of Go.
	(mv .goboot ../ && cd ../.goboot/src && ./make.bash)
23
	(mv .go ../ && cd ../.go/src && GOROOT_BOOTSTRAP=`pwd`/../../.goboot ./make.bash)
24 25 26

	# We can't download external go modules within Launchpad, so we're shipping the
	# entire dependency source cache with go-ethereum.
27 28
	mkdir -p $(GOPATH)/pkg
	mv .mod $(GOPATH)/pkg/mod
29 30

	# A fresh Go was built, all dependency downloads faked, hope build works now
31
	../.go/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}} -ubuntu {{.Distro}}
32 33 34 35 36

override_dh_auto_test:

%:
	dh $@