mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-22 18:41:37 +00:00
kernel: Tidy up Dockerfile.bcc
Use less layers and group it a little better. There should be no real code change here. Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
This commit is contained in:
parent
c0aecf8f26
commit
4792fa5015
@ -35,63 +35,73 @@ RUN ln -s /usr/lib/cmake/llvm5/ /usr/lib/cmake/llvm && \
|
|||||||
ln -s /usr/include/llvm5/llvm/ /usr/include/llvm
|
ln -s /usr/include/llvm5/llvm/ /usr/include/llvm
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
COPY ./bcc.patches/ ./
|
COPY ./bcc.patches/ ./
|
||||||
RUN mv error.h /usr/include/
|
RUN mv error.h /usr/include/ && \
|
||||||
RUN mv cdefs.h /usr/include/sys/
|
mv cdefs.h /usr/include/sys/
|
||||||
|
|
||||||
ENV ELFUTILS_VERSION=0.165
|
ENV ELFUTILS_VERSION=0.165
|
||||||
ENV ELFUTILS_SHA256="a7fc9277192caaa5f30b47e8c0518dbcfd8c4a19c6493a63d511d804290ce972"
|
ENV ELFUTILS_SHA256="a7fc9277192caaa5f30b47e8c0518dbcfd8c4a19c6493a63d511d804290ce972"
|
||||||
RUN curl -sSL -O https://fedorahosted.org/releases/e/l/elfutils/0.165/elfutils-$ELFUTILS_VERSION.tar.bz2
|
RUN curl -sSL -O https://fedorahosted.org/releases/e/l/elfutils/0.165/elfutils-$ELFUTILS_VERSION.tar.bz2 && \
|
||||||
|
echo "${ELFUTILS_SHA256} /build/elfutils-$ELFUTILS_VERSION.tar.bz2" | sha256sum -c - && \
|
||||||
|
tar xjf elfutils-$ELFUTILS_VERSION.tar.bz2 && \
|
||||||
|
cd elfutils-$ELFUTILS_VERSION && \
|
||||||
|
patch -p1 < ../100-musl-compat.patch && \
|
||||||
|
patch -p0 < ../decl.patch && \
|
||||||
|
patch -p0 < ../intl.patch
|
||||||
|
|
||||||
RUN echo "${ELFUTILS_SHA256} /build/elfutils-$ELFUTILS_VERSION.tar.bz2" | sha256sum -c - && \
|
|
||||||
tar xjf elfutils-$ELFUTILS_VERSION.tar.bz2 && \
|
|
||||||
cd elfutils-$ELFUTILS_VERSION && \
|
|
||||||
patch -p1 < ../100-musl-compat.patch && \
|
|
||||||
patch -p0 < ../decl.patch && \
|
|
||||||
patch -p0 < ../intl.patch
|
|
||||||
ENV BCC_COMMIT=6972806729da00ecda0235abac61d66c8fad7fad
|
ENV BCC_COMMIT=6972806729da00ecda0235abac61d66c8fad7fad
|
||||||
RUN git clone https://github.com/iovisor/bcc.git && cd bcc && git checkout $BCC_COMMIT
|
RUN git clone https://github.com/iovisor/bcc.git && \
|
||||||
RUN cd bcc && patch -p0 < ../bcc-gnuism.patch && patch -p0 < ../bcc-lua.patch
|
cd bcc && \
|
||||||
|
git checkout $BCC_COMMIT && \
|
||||||
|
patch -p0 < ../bcc-gnuism.patch && patch -p0 < ../bcc-lua.patch
|
||||||
|
|
||||||
ENV LJSYSCALL_COMMIT=e587f8c55aad3955dddab3a4fa6c1968037b5c6e
|
ENV LJSYSCALL_COMMIT=e587f8c55aad3955dddab3a4fa6c1968037b5c6e
|
||||||
RUN git clone https://github.com/justincormack/ljsyscall.git && cd ljsyscall && git checkout $LJSYSCALL_COMMIT
|
RUN git clone https://github.com/justincormack/ljsyscall.git && \
|
||||||
|
cd ljsyscall && \
|
||||||
|
git checkout $LJSYSCALL_COMMIT
|
||||||
|
|
||||||
COPY --from=ksrc /kernel-headers.tar /build
|
COPY --from=ksrc /kernel-headers.tar /build
|
||||||
RUN tar xf /build/kernel-headers.tar
|
|
||||||
|
|
||||||
COPY --from=ksrc /kernel-dev.tar /build
|
COPY --from=ksrc /kernel-dev.tar /build
|
||||||
RUN tar xf /build/kernel-dev.tar
|
|
||||||
|
|
||||||
COPY --from=ksrc /kernel.tar /build
|
COPY --from=ksrc /kernel.tar /build
|
||||||
RUN tar xf /build/kernel.tar
|
RUN tar xf /build/kernel-headers.tar && \
|
||||||
|
tar xf /build/kernel-dev.tar && \
|
||||||
|
tar xf /build/kernel.tar
|
||||||
|
|
||||||
RUN cd /build
|
|
||||||
RUN cd elfutils-$ELFUTILS_VERSION && \
|
RUN cd elfutils-$ELFUTILS_VERSION && \
|
||||||
aclocal && \
|
aclocal && \
|
||||||
automake && \
|
automake && \
|
||||||
./configure --prefix=/usr CFLAGS=-Wno-strict-aliasing && \
|
./configure --prefix=/usr CFLAGS=-Wno-strict-aliasing && \
|
||||||
make -C libelf && make -C libelf install
|
make -C libelf && make -C libelf install
|
||||||
RUN mkdir -p bcc/build && cd bcc/build && \
|
|
||||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-I/build/usr/include" -DCMAKE_CXX_FLAGS="-I/build/usr/include" -DCMAKE_INSTALL_PREFIX=/usr -DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 && \
|
|
||||||
make && \
|
|
||||||
make install
|
|
||||||
RUN mkdir -p /usr/local/share/lua/5.1/ && cd ljsyscall && cp -a *.lua syscall /usr/local/share/lua/5.1/
|
|
||||||
RUN mkdir -p /out/usr/
|
|
||||||
RUN cp -a /build/usr/src /out/usr/
|
|
||||||
RUN cp -a /build/usr/include /out/usr
|
|
||||||
RUN mkdir -p /out/usr/lib
|
|
||||||
RUN cp -a /usr/lib/libelf* /out/usr/lib/
|
|
||||||
RUN cp -a /usr/lib/libstdc* /out/usr/lib/
|
|
||||||
RUN cp -a /usr/lib/libintl* /out/usr/lib/
|
|
||||||
RUN cp -a /usr/lib64/* /out/usr/lib/
|
|
||||||
RUN mkdir -p /out/usr/lib/python2.7
|
|
||||||
RUN cp -a /usr/lib/python2.7/site-packages /out/usr/lib/python2.7/
|
|
||||||
RUN mkdir -p /out/usr/share
|
|
||||||
RUN cp -a /usr/share/bcc /out/usr/share/
|
|
||||||
RUN mkdir -p /out/usr/bin
|
|
||||||
RUN cp -a /usr/bin/bcc-lua /out/usr/bin/
|
|
||||||
RUN mkdir -p /out/usr/local/share/
|
|
||||||
RUN cp -a /usr/local/share/lua /out/usr/local/share/
|
|
||||||
|
|
||||||
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
|
RUN mkdir -p bcc/build && cd bcc/build && \
|
||||||
|
cmake .. -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
||||||
|
-DCMAKE_C_FLAGS="-I/build/usr/include" \
|
||||||
|
-DCMAKE_CXX_FLAGS="-I/build/usr/include" \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN mkdir -p /usr/local/share/lua/5.1/ && \
|
||||||
|
cd ljsyscall && \
|
||||||
|
cp -a *.lua syscall /usr/local/share/lua/5.1/
|
||||||
|
RUN mkdir -p /out/usr/ && \
|
||||||
|
cp -a /build/usr/src /out/usr/ && \
|
||||||
|
cp -a /build/usr/include /out/usr
|
||||||
|
RUN mkdir -p /out/usr/lib && \
|
||||||
|
cp -a /usr/lib/libelf* /out/usr/lib/ && \
|
||||||
|
cp -a /usr/lib/libstdc* /out/usr/lib/ && \
|
||||||
|
cp -a /usr/lib/libintl* /out/usr/lib/ && \
|
||||||
|
cp -a /usr/lib64/* /out/usr/lib/
|
||||||
|
RUN mkdir -p /out/usr/lib/python2.7 && \
|
||||||
|
cp -a /usr/lib/python2.7/site-packages /out/usr/lib/python2.7/
|
||||||
|
RUN mkdir -p /out/usr/share && \
|
||||||
|
cp -a /usr/share/bcc /out/usr/share/
|
||||||
|
RUN mkdir -p /out/usr/bin && \
|
||||||
|
cp -a /usr/bin/bcc-lua /out/usr/bin/
|
||||||
|
RUN mkdir -p /out/usr/local/share/ && \
|
||||||
|
cp -a /usr/local/share/lua /out/usr/local/share/
|
||||||
|
|
||||||
FROM linuxkit/alpine:8a89682421abf0d886d777235a05f4a04a736df2 as mirror
|
FROM linuxkit/alpine:8a89682421abf0d886d777235a05f4a04a736df2 as mirror
|
||||||
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
||||||
@ -107,6 +117,6 @@ FROM scratch
|
|||||||
ENTRYPOINT []
|
ENTRYPOINT []
|
||||||
CMD []
|
CMD []
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
|
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
|
||||||
COPY --from=mirror /out /
|
COPY --from=mirror /out /
|
||||||
COPY --from=build /out /
|
COPY --from=build /out /
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user