In #1057 removed the 9p paths from the database mount
but that broke some users accessing them directly. Fix these.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
In most places we use the Alpine one, which is already here, but
make sure this is updated, as we may use it more (yes, we should be
consistent).
Change the hash to just use the ca-cert hash, not the apt hash.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
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>
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>
- use jq to fix up the output where there are still issues
- some issues will need fixing up in future too
- can remove fixes later
- still plan to restructure the code around containers to make it easier and clearer
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Missed these before, noticed while making a new one.
Also a copy paste error left one shasum incorrect.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Some/most of the samples/tools throw and error, e.g.:
LLVM ERROR: Cannot select: 0x56049b79dcb0: ch,glue = BPFISD::CALL 0x56049a93ad60, TargetExternalSymbol:i64'__stack_chk_fail'
0x56049b391500: i64 = TargetExternalSymbol'__stack_chk_fail'
In function: waker
bcc-stack-protector.patch adds -fno-stack-protector to the CFLAGS
which fixes this error.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
See `docs/ebpf.md` for how to use. This is built by CI or you can build
manually if you customise the kernel.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>