Static qemu-user is now available in Alpine edge. Includes the
patch for Golang crashing due to non standard signal usage.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
As it includes timestanps in the tarball it does not make a stable
hash; use contents of the files instead.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Simplifies the build process, and makes testing easier as there is a
Docker container you can run to test things.
Replaces #994
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
C version of #1006
Note that I switched all the C builds to use -O2 and that meant
that the compiler found some more warnings so I also fixed these
up. The possibly undefined ones were harmless, the aliasing one
is now more correct.
As these are small programs, the caching from `docker build` makes
no real difference, and worst case compile time is much better.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Makes updates simpler.
Makes it explicit that `perf` currently requires Alpine 3.4, and update kernel version.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Now there is an Alpine 3.5 variant of the Go 1.7 images, use this.
fix#972
Note updated the containers/binfmt image as this will be converted
to go-compile shortly, at which point alpine-build-go can be removed.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
As `grep` echoes the output, no need to have `set -x` on this script,
make output smaller and cleaner.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Do not build from Go image as not clear we will switch it.
Print some output at the end for a quick visual success indicator.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Introduced in torvalds/linux@bcb6f6d2b9 to
check that nsec values are sane, a max was used where a min should have
been.
Fixes#923.
Signed-off-by: David Sheets <dsheets@docker.com>
As the build requires networking, is non repeatable as dependencies
may change, makes sense to make it a static package for now.
Plan is to rewrite in Go anyway at some point see #467
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Go code is really fast to compile so we do not really need to use the
cache features of `docker build`. So make a compile container instead.
This can also output a build context and Dockerfile if you want to do
a build.
For reference, an uncached `docker build` of our Go code takes about
7s, a cached one 1.2s, and this takes 1.7s, so the best case is a little
worse, but we save a lot of images, and the worst case is better.
This is mainly designed to make the nested builds for containerd
containers simpler too. Will add a variant for the C code as well.
Also add `-static` to the flags so we always make static executables,
which was omitted previously.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>