github.com/shiroyuki/docker@v1.9.0/hack/make/.dockerinit-gccgo (about)

     1  #!/bin/bash
     2  set -e
     3  
     4  IAMSTATIC="true"
     5  source "${MAKEDIR}/.go-autogen"
     6  
     7  # dockerinit still needs to be a static binary, even if docker is dynamic
     8  go build --compiler=gccgo \
     9  	-o "$DEST/dockerinit-$VERSION" \
    10  	"${BUILDFLAGS[@]}" \
    11  	--gccgoflags "
    12  		-g
    13  		-Wl,--no-export-dynamic
    14  		$EXTLDFLAGS_STATIC
    15  		-lnetgo
    16  	" \
    17  	./dockerinit
    18  
    19  echo "Created binary: $DEST/dockerinit-$VERSION"
    20  ln -sf "dockerinit-$VERSION" "$DEST/dockerinit"
    21  
    22  sha1sum=
    23  if command -v sha1sum &> /dev/null; then
    24  	sha1sum=sha1sum
    25  else
    26  	echo >&2 'error: cannot find sha1sum command or equivalent'
    27  	exit 1
    28  fi
    29  
    30  # sha1 our new dockerinit to ensure separate docker and dockerinit always run in a perfect pair compiled for one another
    31  export DOCKER_INITSHA1=$($sha1sum "$DEST/dockerinit-$VERSION" | cut -d' ' -f1)