build 884 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/bash -e
  2. function linker_dashX {
  3. local version=$(go version)
  4. local regex="go([0-9]+).([0-9]+)."
  5. if [[ $version =~ $regex ]]; then
  6. if [ ${BASH_REMATCH[1]} -eq "1" -a ${BASH_REMATCH[2]} -le "4" ]; then
  7. echo "$1 \"$2\""
  8. else
  9. echo "$1=$2"
  10. fi
  11. else
  12. echo "could not determine Go version"
  13. exit 1
  14. fi
  15. }
  16. ORG_PATH="github.com/coreos"
  17. REPO_PATH="${ORG_PATH}/flannel"
  18. VERSION=$(git describe --dirty)
  19. GLDFLAGS="-X $(linker_dashX github.com/coreos/flannel/version.Version ${VERSION})"
  20. if [ ! -h gopath/src/${REPO_PATH} ]; then
  21. mkdir -p gopath/src/${ORG_PATH}
  22. ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255
  23. fi
  24. export GOBIN=${PWD}/bin
  25. export GOPATH=${PWD}/gopath
  26. eval $(go env)
  27. if [ ${GOOS} = "linux" ]; then
  28. echo "Building flanneld..."
  29. go build -o ${GOBIN}/flanneld -ldflags "${GLDFLAGS}" ${REPO_PATH}
  30. else
  31. echo "Not on Linux - skipping flanneld build"
  32. fi