mirror of
https://github.com/falcosecurity/falco.git
synced 2025-07-07 11:49:07 +00:00
build: install cmake at docker build phase rather than at runtime
Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
This commit is contained in:
parent
d5aae4aff5
commit
e92a721521
@ -7,7 +7,9 @@ ENV BUILD_BPF OFF
|
|||||||
ENV BUILD_WARNINGS_AS_ERRORS ON
|
ENV BUILD_WARNINGS_AS_ERRORS ON
|
||||||
ENV MAKE_JOBS 4
|
ENV MAKE_JOBS 4
|
||||||
|
|
||||||
# copied from builder script
|
ARG DOCKER_VERSION=1.11.0
|
||||||
|
ARG CMAKE_VERSION=3.14.5
|
||||||
|
|
||||||
RUN curl -o /etc/yum.repos.d/devtools-2.repo https://people.centos.org/tru/devtools-2/devtools-2.repo && \
|
RUN curl -o /etc/yum.repos.d/devtools-2.repo https://people.centos.org/tru/devtools-2/devtools-2.repo && \
|
||||||
rpm -i http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm && \
|
rpm -i http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm && \
|
||||||
sed -e 's,$basearch,i386,' -e 's,$releasever\],$releasever-i686\],' /etc/yum.repos.d/devtools-2.repo > /etc/yum.repos.d/devtools-2-i686.repo && \
|
sed -e 's,$basearch,i386,' -e 's,$releasever\],$releasever-i686\],' /etc/yum.repos.d/devtools-2.repo > /etc/yum.repos.d/devtools-2-i686.repo && \
|
||||||
@ -24,7 +26,6 @@ RUN curl -o /etc/yum.repos.d/devtools-2.repo https://people.centos.org/tru/devto
|
|||||||
libcurl-devel \
|
libcurl-devel \
|
||||||
make \
|
make \
|
||||||
curl \
|
curl \
|
||||||
libcurl-devel \
|
|
||||||
zlib-devel \
|
zlib-devel \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
rpm-build \
|
rpm-build \
|
||||||
@ -39,11 +40,19 @@ RUN curl -o /etc/yum.repos.d/devtools-2.repo https://people.centos.org/tru/devto
|
|||||||
devtoolset-2-libstdc++-devel.i686 \
|
devtoolset-2-libstdc++-devel.i686 \
|
||||||
devtoolset-2-elfutils-libelf-devel && \
|
devtoolset-2-elfutils-libelf-devel && \
|
||||||
yum clean all
|
yum clean all
|
||||||
RUN curl -o docker.tgz https://get.docker.com/builds/Linux/x86_64/docker-1.11.0.tgz && \
|
RUN curl -o docker.tgz https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz && \
|
||||||
tar xfz docker.tgz docker/docker && \
|
tar xfz docker.tgz docker/docker && \
|
||||||
mv docker/docker /usr/local/bin/docker && \
|
mv docker/docker /usr/local/bin/docker && \
|
||||||
chmod +x /usr/local/bin/docker && \
|
chmod +x /usr/local/bin/docker && \
|
||||||
rm -fr docker.tgz docker/
|
rm -fr docker.tgz docker/
|
||||||
|
RUN . /opt/rh/devtoolset-2/enable && \
|
||||||
|
cd /tmp && \
|
||||||
|
wget -nv -O - https://github.com/kitware/cmake/releases/download/v$CMAKE_VERSION/cmake-${CMAKE_VERSION}.tar.gz | tar zx; \
|
||||||
|
cd /tmp/cmake-${CMAKE_VERSION} && \
|
||||||
|
./bootstrap --system-curl && \
|
||||||
|
make -j${MAKE_JOBS} && \
|
||||||
|
make install && \
|
||||||
|
rm -rf /tmp/cmake-${CMAKE_VERSION}
|
||||||
|
|
||||||
# TEMPORARY until dependencies in CMakeLists.txt are fixed
|
# TEMPORARY until dependencies in CMakeLists.txt are fixed
|
||||||
RUN yum -y install libyaml-devel
|
RUN yum -y install libyaml-devel
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
|
|
||||||
@ -7,34 +7,18 @@ BUILD_DIR=/build
|
|||||||
TASK=${1:-all}
|
TASK=${1:-all}
|
||||||
|
|
||||||
MANPATH=
|
MANPATH=
|
||||||
|
|
||||||
. /opt/rh/devtoolset-2/enable
|
. /opt/rh/devtoolset-2/enable
|
||||||
|
|
||||||
# Download and install cmake if not downloaded
|
if [ "$TASK" == "cmake" ]; then
|
||||||
CMAKE_DIR=$BUILD_DIR/cmake
|
mkdir -p "$BUILD_DIR/$BUILD_TYPE"
|
||||||
if [ ! -e $CMAKE_DIR ]; then
|
cd "$BUILD_DIR/$BUILD_TYPE"
|
||||||
cd $BUILD_DIR
|
cmake -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DFALCO_VERSION="$FALCO_VERSION" -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DRIVER="$BUILD_DRIVER" -DBUILD_BPF="$BUILD_BPF" -DBUILD_WARNINGS_AS_ERRORS="$BUILD_WARNINGS_AS_ERRORS" $SOURCE_DIR/falco
|
||||||
mkdir -p $BUILD_DIR/cmake
|
|
||||||
wget -nv https://s3.amazonaws.com/download.draios.com/dependencies/cmake-3.3.2.tar.gz
|
|
||||||
tar -C $CMAKE_DIR --strip-components 1 -xzf cmake-3.3.2.tar.gz
|
|
||||||
cd $CMAKE_DIR
|
|
||||||
./bootstrap --system-curl
|
|
||||||
make -j$MAKE_JOBS
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $TASK == "cmake" ]; then
|
|
||||||
mkdir -p $BUILD_DIR/$BUILD_TYPE
|
|
||||||
cd $BUILD_DIR/$BUILD_TYPE
|
|
||||||
$CMAKE_DIR/bin/cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DFALCO_VERSION=$FALCO_VERSION -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DRIVER=${BUILD_DRIVER} -DBUILD_BPF=${BUILD_BPF} -DBUILD_WARNINGS_AS_ERRORS=${BUILD_WARNINGS_AS_ERRORS} $SOURCE_DIR/falco
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $TASK == "bash" ]; then
|
if [ "$TASK" == "bash" ]; then
|
||||||
exec /bin/bash
|
exec /bin/bash
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $BUILD_DIR/$BUILD_TYPE
|
cd "$BUILD_DIR/$BUILD_TYPE"
|
||||||
make -j$MAKE_JOBS $TASK
|
make -j"$MAKE_JOBS" "$TASK"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user