Docker based full build

The build server now uses a Docker based build setup for the full builds. Thus it’s trivial to reproduce if you want to do official-ish builds for all supported architectures (minus Solaris, because it doesn’t work properly in Go1.3).

In short: on the latest master, as a user that is a member of the docker group and has write access to the checked out source directory,

./build.sh docker-init
./build.sh docker-all

There’s also a README.

This has the advantage of creating binaries that are byte for byte identical to the ones server by the build server.

1 Like

Shouldn’t the binaries still differ in timestamps at least?

(for people trying to compare md5 of binaries)

The build stamp is actually the timestamp of the git commit the build is based on, when git is available. The created .tar.gz files do actually differ, because gzip has an internal timestamp in the format (not sure why), but the binaries were identical when I tried the build on two different boxes at least.

1 Like