From 18145b34014dba1a21e99c9b9f8ad985eec0a691 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Tue, 10 Jan 2017 13:33:00 +0000 Subject: [PATCH] Update bcc - remove patch now https://github.com/iovisor/bcc/pull/887 is merged - move the patches to the base image as it makes more sense like this Signed-off-by: Justin Cormack --- .../100-musl-compat.patch | 0 alpine/base/alpine-build-ebpf/Dockerfile | 13 +++++++++++-- alpine/base/alpine-build-ebpf/Makefile | 4 ++-- .../{ebpf => alpine-build-ebpf}/bcc-gnuism.patch | 0 alpine/base/{ebpf => alpine-build-ebpf}/cdefs.h | 0 alpine/base/{ebpf => alpine-build-ebpf}/decl.patch | 0 alpine/base/{ebpf => alpine-build-ebpf}/error.h | 0 alpine/base/{ebpf => alpine-build-ebpf}/intl.patch | 0 .../{ebpf => alpine-build-ebpf}/temp_failure.patch | 0 alpine/base/ebpf/Dockerfile | 12 ++---------- alpine/base/ebpf/Makefile | 2 +- alpine/base/ebpf/bcc-stack-protector.patch | 10 ---------- 12 files changed, 16 insertions(+), 25 deletions(-) rename alpine/base/{ebpf => alpine-build-ebpf}/100-musl-compat.patch (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/bcc-gnuism.patch (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/cdefs.h (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/decl.patch (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/error.h (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/intl.patch (100%) rename alpine/base/{ebpf => alpine-build-ebpf}/temp_failure.patch (100%) delete mode 100644 alpine/base/ebpf/bcc-stack-protector.patch diff --git a/alpine/base/ebpf/100-musl-compat.patch b/alpine/base/alpine-build-ebpf/100-musl-compat.patch similarity index 100% rename from alpine/base/ebpf/100-musl-compat.patch rename to alpine/base/alpine-build-ebpf/100-musl-compat.patch diff --git a/alpine/base/alpine-build-ebpf/Dockerfile b/alpine/base/alpine-build-ebpf/Dockerfile index 986cea4dc..6d558a9ff 100644 --- a/alpine/base/alpine-build-ebpf/Dockerfile +++ b/alpine/base/alpine-build-ebpf/Dockerfile @@ -25,11 +25,20 @@ RUN apk update && apk upgrade -a && \ python \ zlib-dev \ && true -COPY . . WORKDIR /build +COPY . ./ +COPY Dockerfile / +COPY error.h /usr/include/ +COPY cdefs.h /usr/include/sys/ ENV ELFUTILS_VERSION=0.165 RUN curl -sSL -O https://fedorahosted.org/releases/e/l/elfutils/0.165/elfutils-$ELFUTILS_VERSION.tar.bz2 -ENV BCC_COMMIT=eb6cdda7739bfd9b6bce85b2dc4edef798590c21 +RUN cat elfutils-$ELFUTILS_VERSION.tar.bz2 | tar xjf - && \ + cd elfutils-$ELFUTILS_VERSION && \ + patch -p1 < ../100-musl-compat.patch && \ + patch -p0 < ../decl.patch && \ + patch -p0 < ../intl.patch +ENV BCC_COMMIT=d4fc95d92ec9bace9bd607dfd1833e9e06457486 RUN git clone https://github.com/iovisor/bcc.git && cd bcc && git checkout $BCC_COMMIT +RUN cd bcc && patch -p0 < ../bcc-gnuism.patch ENV LJSYSCALL_COMMIT=0b266e8f4f751ae894299d24a2d40d16c6cf856f RUN git clone https://github.com/justincormack/ljsyscall.git && cd ljsyscall && git checkout $LJSYSCALL_COMMIT diff --git a/alpine/base/alpine-build-ebpf/Makefile b/alpine/base/alpine-build-ebpf/Makefile index d144c6e84..dc0021639 100644 --- a/alpine/base/alpine-build-ebpf/Makefile +++ b/alpine/base/alpine-build-ebpf/Makefile @@ -5,10 +5,10 @@ IMAGE=alpine-build-ebpf default: push -hash: Dockerfile +hash: Dockerfile *.patch cdefs.h error.h DOCKER_CONTENT_TRUST=1 docker pull $(BASE) tar cf - $^ | docker build --no-cache -t $(IMAGE):build - - docker run --rm $(IMAGE):build sh -c 'cat /Dockerfile /lib/apk/db/installed | sha1sum' | sed 's/ .*//' > hash + docker run --rm $(IMAGE):build sh -c 'cat /Dockerfile /build/*.patch /build/*.h /lib/apk/db/installed | sha1sum' | sed 's/ .*//' > hash push: hash docker pull mobylinux/$(IMAGE):$(shell cat hash) || \ diff --git a/alpine/base/ebpf/bcc-gnuism.patch b/alpine/base/alpine-build-ebpf/bcc-gnuism.patch similarity index 100% rename from alpine/base/ebpf/bcc-gnuism.patch rename to alpine/base/alpine-build-ebpf/bcc-gnuism.patch diff --git a/alpine/base/ebpf/cdefs.h b/alpine/base/alpine-build-ebpf/cdefs.h similarity index 100% rename from alpine/base/ebpf/cdefs.h rename to alpine/base/alpine-build-ebpf/cdefs.h diff --git a/alpine/base/ebpf/decl.patch b/alpine/base/alpine-build-ebpf/decl.patch similarity index 100% rename from alpine/base/ebpf/decl.patch rename to alpine/base/alpine-build-ebpf/decl.patch diff --git a/alpine/base/ebpf/error.h b/alpine/base/alpine-build-ebpf/error.h similarity index 100% rename from alpine/base/ebpf/error.h rename to alpine/base/alpine-build-ebpf/error.h diff --git a/alpine/base/ebpf/intl.patch b/alpine/base/alpine-build-ebpf/intl.patch similarity index 100% rename from alpine/base/ebpf/intl.patch rename to alpine/base/alpine-build-ebpf/intl.patch diff --git a/alpine/base/ebpf/temp_failure.patch b/alpine/base/alpine-build-ebpf/temp_failure.patch similarity index 100% rename from alpine/base/ebpf/temp_failure.patch rename to alpine/base/alpine-build-ebpf/temp_failure.patch diff --git a/alpine/base/ebpf/Dockerfile b/alpine/base/ebpf/Dockerfile index 4eddcf4de..a1bf7472e 100644 --- a/alpine/base/ebpf/Dockerfile +++ b/alpine/base/ebpf/Dockerfile @@ -1,21 +1,13 @@ -# Tag: dd370179c351da043dfef62fcc68f24995e019c8 -FROM mobylinux/alpine-build-ebpf@sha256:557bad7c437e8162440cd4d3de0ccd13a871fd78756bd8b50e1c9afcb8d01fc8 +# Tag: cc5bf4d39442741eaeffad79bbd9ae049a9253fa +FROM mobylinux/alpine-build-ebpf@sha256:da37d99a8baad18e68c44d3807c86977767ed90ce03133b508842eea3b786d3a -COPY error.h /usr/include/ -COPY cdefs.h /usr/include/sys/ ADD kernel-headers.tar / ADD kernel-dev.tar / ADD kernel-modules.tar / -ADD 100-musl-compat.patch decl.patch intl.patch bcc-gnuism.patch bcc-stack-protector.patch ./ -RUN cat elfutils-$ELFUTILS_VERSION.tar.bz2 | tar xjf - RUN cd elfutils-$ELFUTILS_VERSION && \ - patch -p1 < ../100-musl-compat.patch && \ - patch -p0 < ../decl.patch && \ - patch -p0 < ../intl.patch && \ automake && \ ./configure --prefix=/usr CFLAGS=-Wno-strict-aliasing && \ make -C libelf && make -C libelf install -RUN cd bcc && patch -p0 < ../bcc-gnuism.patch && patch -p0 < ../bcc-stack-protector.patch RUN mkdir -p bcc/build && cd bcc/build && \ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 && \ make && \ diff --git a/alpine/base/ebpf/Makefile b/alpine/base/ebpf/Makefile index b575503ac..979f9f097 100644 --- a/alpine/base/ebpf/Makefile +++ b/alpine/base/ebpf/Makefile @@ -2,7 +2,7 @@ KERNEL_FILES=-C ../../kernel/x86_64 kernel-headers.tar kernel-dev.tar kernel-mod default: ebpf.tag -ebpf.tag: Dockerfile 100-musl-compat.patch bcc-gnuism.patch bcc-stack-protector.patch decl.patch intl.patch temp_failure.patch cdefs.h error.h +ebpf.tag: Dockerfile BUILD=$$( tar cf - $^ $(KERNEL_FILES) | docker build -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ echo $$BUILD > $@ diff --git a/alpine/base/ebpf/bcc-stack-protector.patch b/alpine/base/ebpf/bcc-stack-protector.patch deleted file mode 100644 index c33c91d49..000000000 --- a/alpine/base/ebpf/bcc-stack-protector.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/cc/frontends/clang/kbuild_helper.cc -+++ src/cc/frontends/clang/kbuild_helper.cc -@@ -89,6 +89,7 @@ int KBuildHelper::get_flags(const char *uname_machine, vector *cflags) { - cflags->push_back("-D__HAVE_BUILTIN_BSWAP64__"); - cflags->push_back("-Wno-unused-value"); - cflags->push_back("-Wno-pointer-sign"); -+ cflags->push_back("-fno-stack-protector"); - - return 0; - }