|
| 1 | +# Multiarch support |
| 2 | +FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 |
| 3 | + |
| 4 | +# opensuse/leap.arm64v8 base image |
| 5 | +# hadolint ignore=DL3029 |
| 6 | +FROM --platform=arm64 opensuse/leap:15.6 AS opensuse-leap.arm64v8-base |
| 7 | + |
| 8 | +COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static |
| 9 | + |
| 10 | +# hadolint ignore=DL3033 |
| 11 | +RUN zypper up -y && \ |
| 12 | + zypper install -y --no-recommends \ |
| 13 | + rpm-build \ |
| 14 | + curl ca-certificates wget unzip flex bison \ |
| 15 | + gcc gcc-c++ \ |
| 16 | + cmake3-full \ |
| 17 | + make \ |
| 18 | + bash \ |
| 19 | + systemd-devel \ |
| 20 | + postgresql postgresql-devel postgresql-server \ |
| 21 | + cyrus-sasl cyrus-sasl-devel \ |
| 22 | + libopenssl3 libopenssl-3-devel \ |
| 23 | + libyaml-devel && \ |
| 24 | + zypper clean -a && rm -rf /var/cache/zypp/* |
| 25 | + |
| 26 | +# Need larger page size |
| 27 | +ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3" |
| 28 | +ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS |
| 29 | + |
| 30 | +ARG FLB_NIGHTLY_BUILD |
| 31 | +ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD |
| 32 | + |
| 33 | +# Docker context must be the base of the repo |
| 34 | +WORKDIR /source/fluent-bit/ |
| 35 | +COPY . ./ |
| 36 | + |
| 37 | +WORKDIR /source/fluent-bit/build/ |
| 38 | +# CMake configuration variables |
| 39 | +# Unused |
| 40 | +ARG CFLAGS |
| 41 | +ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/ |
| 42 | +ARG CMAKE_INSTALL_SYSCONFDIR=/etc/ |
| 43 | +ARG FLB_SIMD=On |
| 44 | +ARG FLB_RELEASE=On |
| 45 | +ARG FLB_TRACE=On |
| 46 | +ARG FLB_SQLDB=On |
| 47 | +ARG FLB_HTTP_SERVER=On |
| 48 | +ARG FLB_OUT_KAFKA=On |
| 49 | +ARG FLB_JEMALLOC=On |
| 50 | +ARG FLB_CHUNK_TRACE=On |
| 51 | +ARG FLB_UNICODE_ENCODER=On |
| 52 | +ARG FLB_KAFKA=On |
| 53 | +ARG FLB_OUT_PGSQL=On |
| 54 | +ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system |
| 55 | + |
| 56 | +RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \ |
| 57 | + -DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \ |
| 58 | + -DFLB_SIMD="$FLB_SIMD" \ |
| 59 | + -DFLB_RELEASE="$FLB_RELEASE" \ |
| 60 | + -DFLB_TRACE="$FLB_TRACE" \ |
| 61 | + -DFLB_SQLDB="$FLB_SQLDB" \ |
| 62 | + -DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \ |
| 63 | + -DFLB_KAFKA="$FLB_KAFKA" \ |
| 64 | + -DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \ |
| 65 | + -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ |
| 66 | + -DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \ |
| 67 | + -DFLB_JEMALLOC="${FLB_JEMALLOC}" \ |
| 68 | + -DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \ |
| 69 | + -DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \ |
| 70 | + -DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \ |
| 71 | + ../ |
| 72 | + |
| 73 | +VOLUME [ "/output" ] |
| 74 | +CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ] |
0 commit comments