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
|
export DH_GOPKG := github.com/mongodb/mongo-tools
TOOLS = bsondump mongodump mongoexport mongofiles \
mongoimport mongooplog mongorestore mongostat mongotop
VENDORIZED_DEPS = github.com/spacemonkeygo/spacelog \
github.com/spacemonkeygo/openssl \
github.com/jessevdk/go-flags \
github.com/howeyc/gopass \
github.com/3rf/mongo-lint \
gopkg.in/mgo.v2
export GOPATH = $(CURDIR)/_build
export GOBIN = $(CURDIR)/debian/bin
%:
dh $@ --with=golang --builddirectory=_build --buildsystem=golang
override_dh_auto_configure:
for dep in $(VENDORIZED_DEPS); do \
mkdir -p $(CURDIR)/_build/src/$$(dirname $$dep); \
done
dh_auto_configure --buildsystem=golang
for dep in $(VENDORIZED_DEPS); do \
rm -f $(CURDIR)/_build/src/$$dep; \
ln -r -s $(CURDIR)/vendor/src/$$dep $(CURDIR)/_build/src/$$dep; \
done
override_dh_auto_build:
for tool in $(TOOLS); do \
go install -v -tags="ssl sasl" -ldflags -extldflags=-Wl,-z,now,-z,relro $$tool/main/$$tool.go; \
done
override_dh_auto_test:
set -e; for tool in $(TOOLS) common; do \
cd $(CURDIR)/$$tool && go test -v -test.types=unit; \
done
override_dh_auto_install:
override_dh_auto_clean:
rm -rf debian/bin
rm -rf _build
find $(CURDIR)/vendor -type f -name '*.a' -exec rm -rf {} \;
dh_auto_clean
override_dh_golang:
for tool in $(TOOLS); do \
DH_GOLANG_BUILDPKG=github.com/mongodb/mongo-tools/$$tool dh_golang -O--builddirectory=_build; \
done
.PHONY: override_dh_auto_build override_dh_auto_install \
override_dh_auto_clean override_dh_golang \
override_dh_auto_test
|