build 896 B

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