mirror of
https://github.com/falcosecurity/falco.git
synced 2025-09-25 20:30:47 +00:00
44 lines
1.4 KiB
Docker
44 lines
1.4 KiB
Docker
|
|
FROM centos:7 AS build-stage
|
|
|
|
# To build Falco you need to pass the cmake option
|
|
ARG CMAKE_OPTIONS=""
|
|
ARG MAKE_JOBS=6
|
|
|
|
# Install all the dependencies
|
|
WORKDIR /
|
|
|
|
RUN yum -y install centos-release-scl; \
|
|
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++; \
|
|
source scl_source enable devtoolset-9; \
|
|
yum install -y git wget make m4 rpm-build
|
|
|
|
# With some previous cmake versions it fails when downloading `zlib` with curl in the libs building phase
|
|
RUN curl -L -o /tmp/cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v3.22.5/cmake-3.22.5-linux-$(uname -m).tar.gz; \
|
|
gzip -d /tmp/cmake.tar.gz; \
|
|
tar -xpf /tmp/cmake.tar --directory=/tmp; \
|
|
cp -R /tmp/cmake-3.22.5-linux-$(uname -m)/* /usr; \
|
|
rm -rf /tmp/cmake-3.22.5-linux-$(uname -m)/
|
|
|
|
# Copy Falco folder from the build context
|
|
COPY . /source
|
|
WORKDIR /build/release
|
|
|
|
RUN source scl_source enable devtoolset-9; \
|
|
cmake ${CMAKE_OPTIONS} /source; \
|
|
make falco -j${MAKE_JOBS}
|
|
RUN make package
|
|
|
|
# We need `make all` for integration tests.
|
|
RUN make all -j${MAKE_JOBS}
|
|
|
|
FROM scratch AS export-stage
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/falcosecurity/falco"
|
|
|
|
ARG DEST_BUILD_DIR="/build"
|
|
|
|
COPY --from=build-stage /build/release/falco-*.tar.gz /packages/
|
|
COPY --from=build-stage /build/release/falco-*.deb /packages/
|
|
COPY --from=build-stage /build/release/falco-*.rpm /packages/
|