From da4bd35f521d7cb8380327ba67de6ea5043ca7a8 Mon Sep 17 00:00:00 2001 From: Dan Illescas Date: Tue, 30 Sep 2025 11:50:43 -0500 Subject: [PATCH 1/9] packaging: attempt for Opensuse v15.6 and SLES v15.7. opensuse build is not working. Currently testing ./build.sh -d opensuse/leap:15.6 Signed-off-by: Dan Illescas --- packaging/build-config.json | 8 ++ packaging/distros/opensuse/Dockerfile | 105 ++++++++++++++++++++++++++ packaging/distros/sles/Dockerfile | 89 ++++++++++++++++++++++ packaging/test-release-packages.sh | 2 + packaging/update-repos.sh | 2 + 5 files changed, 206 insertions(+) create mode 100644 packaging/distros/opensuse/Dockerfile create mode 100644 packaging/distros/sles/Dockerfile diff --git a/packaging/build-config.json b/packaging/build-config.json index 4ca4f44df99..337a1061b19 100644 --- a/packaging/build-config.json +++ b/packaging/build-config.json @@ -96,6 +96,14 @@ "target": "almalinux/10.arm64v8", "type": "rpm" }, + { + "target": "opensuse/leap", + "type": "rpm" + }, + { + "target": "sles/15.7", + "type": "rpm" + }, { "target": "debian/bookworm", "type": "deb" diff --git a/packaging/distros/opensuse/Dockerfile b/packaging/distros/opensuse/Dockerfile new file mode 100644 index 00000000000..c2a95db0642 --- /dev/null +++ b/packaging/distros/opensuse/Dockerfile @@ -0,0 +1,105 @@ +# Special Dockerfile to build all targets, the only difference is +# the packages in the base image. +# Set this to the base image to use in each case, so if we want to build for opensuse/leap +# we would set BASE_BUILDER=opensuse-leap-base. +ARG BASE_BUILDER +# Lookup the name to use below but should follow the '-base' convention with slashes replaced. +# Use buildkit to skip unused base images: DOCKER_BUILDKIT=1 + +# Multiarch support +FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 + +# opensuse/leap base image +FROM opensuse/leap:15.6 as opensuse_leap + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build \ + curl ca-certificates wget unzip flex bison \ + gcc gcc-c++ \ + cmake3-full \ + make \ + bash \ + systemd-devel \ + postgresql postgresql-devel postgresql-server \ + cyrus-sasl cyrus-sasl-devel \ + libopenssl3 libopenssl-3-devel \ + libyaml-devel && \ + zypper clean -a && rm -rf /var/cache/zypp/* + +# opensuse/leap.arm64v8 base image +# hadolint ignore=DL3029 +FROM --platform=arm64 opensuse/leap:15.6 AS opensuse_leap.arm64v8 + +COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build \ + curl ca-certificates wget unzip flex bison \ + gcc gcc-c++ \ + cmake3-full \ + make \ + bash \ + systemd-devel \ + postgresql postgresql-devel postgresql-server \ + cyrus-sasl cyrus-sasl-devel \ + libopenssl3 libopenssl-3-devel \ + libyaml-devel && \ + zypper clean -a && rm -rf /var/cache/zypp/* + +# Need larger page size +ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3" +ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS + +# Common build for all distributions now +# hadolint ignore=DL3006 +FROM $BASE_BUILDER as builder + +ARG FLB_NIGHTLY_BUILD +ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD + +# Docker context must be the base of the repo +WORKDIR /source/fluent-bit/ +COPY . ./ + +WORKDIR /source/fluent-bit/build/ +# CMake configuration variables +# Unused +ARG CFLAGS +ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/ +ARG CMAKE_INSTALL_SYSCONFDIR=/etc/ +ARG FLB_SIMD=On +ARG FLB_RELEASE=On +ARG FLB_TRACE=On +ARG FLB_SQLDB=On +ARG FLB_HTTP_SERVER=On +ARG FLB_OUT_KAFKA=On +ARG FLB_JEMALLOC=On +ARG FLB_CHUNK_TRACE=On +ARG FLB_UNICODE_ENCODER=On +ARG FLB_KAFKA=On +ARG FLB_OUT_PGSQL=On +ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system + +RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \ + -DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \ + -DFLB_SIMD="$FLB_SIMD" \ + -DFLB_RELEASE="$FLB_RELEASE" \ + -DFLB_TRACE="$FLB_TRACE" \ + -DFLB_SQLDB="$FLB_SQLDB" \ + -DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \ + -DFLB_KAFKA="$FLB_KAFKA" \ + -DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \ + -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ + -DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \ + -DFLB_JEMALLOC="${FLB_JEMALLOC}" \ + -DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \ + -DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \ + -DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \ + ../ + +VOLUME [ "/output" ] +CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ] diff --git a/packaging/distros/sles/Dockerfile b/packaging/distros/sles/Dockerfile new file mode 100644 index 00000000000..c71c1b7e6fa --- /dev/null +++ b/packaging/distros/sles/Dockerfile @@ -0,0 +1,89 @@ +ARG BASE_BUILDER +# Lookup the name to use below but should follow the '-base' convention with slashes replaced. +# Use buildkit to skip unused base images: DOCKER_BUILDKIT=1 + +# Multiarch support +FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 + +# opensuse/leap base image +FROM registry.suse.com/bci/bci-base:15.7 as sles-15.7-base + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build curl ca-certificates gcc gcc-c++ cmake-full make bash \ + wget unzip systemd-devel flex bison \ + postgresql-server postgresql-devel cyrus-sasl-devel \ + libopenssl-devel libyaml-devel && \ + rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2} && \ + zypper clean -a + +# opensuse/leap.arm64v8 base image +# hadolint ignore=DL3029 +FROM --platform=arm64 registry.suse.com/bci/bci-base:15.7 as sles-15.7.arm64v8-base + +COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build curl ca-certificates gcc gcc-c++ cmake-full make bash \ + wget unzip systemd-devel flex bison \ + postgresql-server postgresql-devel cyrus-sasl-devel \ + libopenssl-devel libyaml-devel && \ + rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2} && \ + zypper clean -a + +# Need larger page size +ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3" +ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS + +# Common build for all distributions now +# hadolint ignore=DL3006 +FROM $BASE_BUILDER as builder + +ARG FLB_NIGHTLY_BUILD +ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD + +# Docker context must be the base of the repo +WORKDIR /source/fluent-bit/ +COPY . ./ + +WORKDIR /source/fluent-bit/build/ +# CMake configuration variables +# Unused +ARG CFLAGS +ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/ +ARG CMAKE_INSTALL_SYSCONFDIR=/etc/ +ARG FLB_SIMD=On +ARG FLB_RELEASE=On +ARG FLB_TRACE=On +ARG FLB_SQLDB=On +ARG FLB_HTTP_SERVER=On +ARG FLB_OUT_KAFKA=On +ARG FLB_JEMALLOC=On +ARG FLB_CHUNK_TRACE=On +ARG FLB_UNICODE_ENCODER=On +ARG FLB_KAFKA=On +ARG FLB_OUT_PGSQL=On +ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system + +RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \ + -DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \ + -DFLB_SIMD="$FLB_SIMD" \ + -DFLB_RELEASE="$FLB_RELEASE" \ + -DFLB_TRACE="$FLB_TRACE" \ + -DFLB_SQLDB="$FLB_SQLDB" \ + -DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \ + -DFLB_KAFKA="$FLB_KAFKA" \ + -DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \ + -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ + -DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \ + -DFLB_JEMALLOC="${FLB_JEMALLOC}" \ + -DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \ + -DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \ + -DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \ + ../ + +VOLUME [ "/output" ] +CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ] diff --git a/packaging/test-release-packages.sh b/packaging/test-release-packages.sh index 37719d7a2c6..1234ee6ac94 100755 --- a/packaging/test-release-packages.sh +++ b/packaging/test-release-packages.sh @@ -58,6 +58,8 @@ YUM_TARGETS=( "quay.io/centos/centos:stream10" "amazonlinux:2" "amazonlinux:2023" + "opensuse/leap" + "sles/15.7" ) for IMAGE in "${YUM_TARGETS[@]}" diff --git a/packaging/update-repos.sh b/packaging/update-repos.sh index aff62af7d64..4dd2e9d3226 100755 --- a/packaging/update-repos.sh +++ b/packaging/update-repos.sh @@ -43,6 +43,8 @@ RPM_REPO_PATHS=( "amazonlinux/2" "almalinux/8" "almalinux/9" "almalinux/10" + "opensuse/leap" + "sles/15.7" ) if [[ "${AWS_SYNC:-false}" != "false" ]]; then From 1116ddf13b80dcd4d9acc5880718915f002b449e Mon Sep 17 00:00:00 2001 From: Dan Illescas Date: Sun, 5 Oct 2025 11:00:37 -0500 Subject: [PATCH 2/9] packaging: add SLES and Opensuse Support Signed-off-by: Dan Illescas --- packaging/README.md | 4 + packaging/build-config.json | 10 ++- .../distros/opensuse/15.6.arm64v8/Dockerfile | 74 +++++++++++++++++++ packaging/distros/opensuse/15.6/Dockerfile | 69 +++++++++++++++++ packaging/distros/opensuse/Dockerfile | 13 ++-- packaging/distros/sles/Dockerfile | 8 +- packaging/test-release-packages.sh | 2 +- packaging/update-repos.sh | 2 +- 8 files changed, 169 insertions(+), 13 deletions(-) create mode 100644 packaging/distros/opensuse/15.6.arm64v8/Dockerfile create mode 100644 packaging/distros/opensuse/15.6/Dockerfile diff --git a/packaging/README.md b/packaging/README.md index 4066f30b15f..254e8270cc7 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -37,6 +37,10 @@ The [`distros`](./distros/) directory contains OCI container definitions used to | Debian | 11 | arm64v8 | debian/bullseye.arm64v8 | | Debian | 10 | x86_64 | debian/buster | | Debian | 10 | arm64v8 | debian/buster.arm64v8 | +| Opensuse | 15.6 | x86_64 | opensuse/15.6 | +| Opensuse | 15.6 | arm64v8 | opensuse/15.6.arm64v8 | +| **SLES** | 15.7 | x86_64 | sles/15.7 | +| **SLES** | 15.7 | arm64v8 | sles/15.7.arm64v8 | | Ubuntu | 24.04 / Noble Numbat | x86_64 | ubuntu/24.04 | | Ubuntu | 24.04 / Noble Numbat | arm64v8 | ubuntu/24.04.arm64v8 | | Ubuntu | 22.04 / Jammy Jellyfish | x86_64 | ubuntu/22.04 | diff --git a/packaging/build-config.json b/packaging/build-config.json index 337a1061b19..32b7a9d5610 100644 --- a/packaging/build-config.json +++ b/packaging/build-config.json @@ -97,13 +97,21 @@ "type": "rpm" }, { - "target": "opensuse/leap", + "target": "opensuse/15.6", + "type": "rpm" + }, + { + "target": "opensuse/15.6.arm64v8", "type": "rpm" }, { "target": "sles/15.7", "type": "rpm" }, + { + "target": "sles/15.7.arm64v8", + "type": "rpm" + }, { "target": "debian/bookworm", "type": "deb" diff --git a/packaging/distros/opensuse/15.6.arm64v8/Dockerfile b/packaging/distros/opensuse/15.6.arm64v8/Dockerfile new file mode 100644 index 00000000000..74a2ee2af4c --- /dev/null +++ b/packaging/distros/opensuse/15.6.arm64v8/Dockerfile @@ -0,0 +1,74 @@ +# Multiarch support +FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 + +# opensuse/leap.arm64v8 base image +# hadolint ignore=DL3029 +FROM --platform=arm64 opensuse/leap:15.6 AS opensuse-leap.arm64v8-base + +COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build \ + curl ca-certificates wget unzip flex bison \ + gcc gcc-c++ \ + cmake3-full \ + make \ + bash \ + systemd-devel \ + postgresql postgresql-devel postgresql-server \ + cyrus-sasl cyrus-sasl-devel \ + libopenssl3 libopenssl-3-devel \ + libyaml-devel && \ + zypper clean -a && rm -rf /var/cache/zypp/* + +# Need larger page size +ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3" +ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS + +ARG FLB_NIGHTLY_BUILD +ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD + +# Docker context must be the base of the repo +WORKDIR /source/fluent-bit/ +COPY . ./ + +WORKDIR /source/fluent-bit/build/ +# CMake configuration variables +# Unused +ARG CFLAGS +ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/ +ARG CMAKE_INSTALL_SYSCONFDIR=/etc/ +ARG FLB_SIMD=On +ARG FLB_RELEASE=On +ARG FLB_TRACE=On +ARG FLB_SQLDB=On +ARG FLB_HTTP_SERVER=On +ARG FLB_OUT_KAFKA=On +ARG FLB_JEMALLOC=On +ARG FLB_CHUNK_TRACE=On +ARG FLB_UNICODE_ENCODER=On +ARG FLB_KAFKA=On +ARG FLB_OUT_PGSQL=On +ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system + +RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \ + -DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \ + -DFLB_SIMD="$FLB_SIMD" \ + -DFLB_RELEASE="$FLB_RELEASE" \ + -DFLB_TRACE="$FLB_TRACE" \ + -DFLB_SQLDB="$FLB_SQLDB" \ + -DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \ + -DFLB_KAFKA="$FLB_KAFKA" \ + -DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \ + -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ + -DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \ + -DFLB_JEMALLOC="${FLB_JEMALLOC}" \ + -DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \ + -DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \ + -DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \ + ../ + +VOLUME [ "/output" ] +CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ] diff --git a/packaging/distros/opensuse/15.6/Dockerfile b/packaging/distros/opensuse/15.6/Dockerfile new file mode 100644 index 00000000000..1eba8bcd970 --- /dev/null +++ b/packaging/distros/opensuse/15.6/Dockerfile @@ -0,0 +1,69 @@ +# Multiarch support +# Builder/Final (per-arch) stages +FROM opensuse/leap:15.6 AS opensuse-leap-base + +# hadolint ignore=DL3033 +RUN zypper up -y && \ + zypper install -y --no-recommends \ + rpm-build \ + curl ca-certificates wget unzip flex bison \ + gcc gcc-c++ \ + cmake3-full \ + make \ + bash \ + systemd-devel \ + postgresql postgresql-devel postgresql-server \ + cyrus-sasl cyrus-sasl-devel \ + libopenssl3 libopenssl-3-devel \ + libyaml-devel && \ + zypper clean -a && rm -rf /var/cache/zypp/* + +# Need larger page size +ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3" +ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS + +ARG FLB_NIGHTLY_BUILD +ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD + +# Docker context must be the base of the repo +WORKDIR /source/fluent-bit/ +COPY . ./ + +WORKDIR /source/fluent-bit/build/ +# CMake configuration variables +# Unused +ARG CFLAGS +ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/ +ARG CMAKE_INSTALL_SYSCONFDIR=/etc/ +ARG FLB_SIMD=On +ARG FLB_RELEASE=On +ARG FLB_TRACE=On +ARG FLB_SQLDB=On +ARG FLB_HTTP_SERVER=On +ARG FLB_OUT_KAFKA=On +ARG FLB_JEMALLOC=On +ARG FLB_CHUNK_TRACE=On +ARG FLB_UNICODE_ENCODER=On +ARG FLB_KAFKA=On +ARG FLB_OUT_PGSQL=On +ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system + +RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \ + -DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \ + -DFLB_SIMD="$FLB_SIMD" \ + -DFLB_RELEASE="$FLB_RELEASE" \ + -DFLB_TRACE="$FLB_TRACE" \ + -DFLB_SQLDB="$FLB_SQLDB" \ + -DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \ + -DFLB_KAFKA="$FLB_KAFKA" \ + -DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \ + -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ + -DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \ + -DFLB_JEMALLOC="${FLB_JEMALLOC}" \ + -DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \ + -DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \ + -DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \ + ../ + +VOLUME [ "/output" ] +CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ] diff --git a/packaging/distros/opensuse/Dockerfile b/packaging/distros/opensuse/Dockerfile index c2a95db0642..20192c92f36 100644 --- a/packaging/distros/opensuse/Dockerfile +++ b/packaging/distros/opensuse/Dockerfile @@ -1,5 +1,4 @@ -# Special Dockerfile to build all targets, the only difference is -# the packages in the base image. +# Dockerfile to build latest opensuse leap # Set this to the base image to use in each case, so if we want to build for opensuse/leap # we would set BASE_BUILDER=opensuse-leap-base. ARG BASE_BUILDER @@ -7,10 +6,10 @@ ARG BASE_BUILDER # Use buildkit to skip unused base images: DOCKER_BUILDKIT=1 # Multiarch support -FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 +FROM multiarch/qemu-user-static:x86_64-aarch64 AS multiarch-aarch64 # opensuse/leap base image -FROM opensuse/leap:15.6 as opensuse_leap +FROM opensuse/leap AS opensuse-leap-base # hadolint ignore=DL3033 RUN zypper up -y && \ @@ -28,9 +27,10 @@ RUN zypper up -y && \ libyaml-devel && \ zypper clean -a && rm -rf /var/cache/zypp/* + # opensuse/leap.arm64v8 base image # hadolint ignore=DL3029 -FROM --platform=arm64 opensuse/leap:15.6 AS opensuse_leap.arm64v8 +FROM --platform=arm64 opensuse/leap:15.6 AS opensuse-leap.arm64v8-base COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static @@ -56,7 +56,8 @@ ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS # Common build for all distributions now # hadolint ignore=DL3006 -FROM $BASE_BUILDER as builder +FROM $BASE_BUILDER AS builder +# ARG FLB_NIGHTLY_BUILD ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD diff --git a/packaging/distros/sles/Dockerfile b/packaging/distros/sles/Dockerfile index c71c1b7e6fa..2057fb288bc 100644 --- a/packaging/distros/sles/Dockerfile +++ b/packaging/distros/sles/Dockerfile @@ -3,10 +3,10 @@ ARG BASE_BUILDER # Use buildkit to skip unused base images: DOCKER_BUILDKIT=1 # Multiarch support -FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64 +FROM multiarch/qemu-user-static:x86_64-aarch64 AS multiarch-aarch64 # opensuse/leap base image -FROM registry.suse.com/bci/bci-base:15.7 as sles-15.7-base +FROM registry.suse.com/bci/bci-base:15.7 AS sles-15.7-base # hadolint ignore=DL3033 RUN zypper up -y && \ @@ -20,7 +20,7 @@ RUN zypper up -y && \ # opensuse/leap.arm64v8 base image # hadolint ignore=DL3029 -FROM --platform=arm64 registry.suse.com/bci/bci-base:15.7 as sles-15.7.arm64v8-base +FROM --platform=arm64 registry.suse.com/bci/bci-base:15.7 AS sles-15.7.arm64v8-base COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static @@ -40,7 +40,7 @@ ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS # Common build for all distributions now # hadolint ignore=DL3006 -FROM $BASE_BUILDER as builder +FROM $BASE_BUILDER AS builder ARG FLB_NIGHTLY_BUILD ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD diff --git a/packaging/test-release-packages.sh b/packaging/test-release-packages.sh index 1234ee6ac94..e47e295c831 100755 --- a/packaging/test-release-packages.sh +++ b/packaging/test-release-packages.sh @@ -58,7 +58,7 @@ YUM_TARGETS=( "quay.io/centos/centos:stream10" "amazonlinux:2" "amazonlinux:2023" - "opensuse/leap" + "opensuse/15.6" "sles/15.7" ) diff --git a/packaging/update-repos.sh b/packaging/update-repos.sh index 4dd2e9d3226..1423b7b49ab 100755 --- a/packaging/update-repos.sh +++ b/packaging/update-repos.sh @@ -43,7 +43,7 @@ RPM_REPO_PATHS=( "amazonlinux/2" "almalinux/8" "almalinux/9" "almalinux/10" - "opensuse/leap" + "opensuse/15.6" "sles/15.7" ) From d5ac93413fa87ea848fd4575b25d909099a4c395 Mon Sep 17 00:00:00 2001 From: Dan Illescas Date: Mon, 6 Oct 2025 10:47:50 -0500 Subject: [PATCH 3/9] packaging: Adding test-packages to support zypper and install.sh to support suse Signed-off-by: Dan Illescas --- install.sh | 26 ++++++++++++++++++++++++++ packaging/README.md | 4 ++-- packaging/test-release-packages.sh | 29 +++++++++++++++++++++++++++-- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index 139c0dda27a..92a996c5dc2 100755 --- a/install.sh +++ b/install.sh @@ -14,6 +14,7 @@ INSTALL_PACKAGE_NAME=${FLUENT_BIT_INSTALL_PACKAGE_NAME:-fluent-bit} # Optional Apt/Yum additional parameters (e.g. releasever for AL2022/AL2023) APT_PARAMETERS=${FLUENT_BIT_INSTALL_APT_PARAMETERS:-} YUM_PARAMETERS=${FLUENT_BIT_INSTALL_YUM_PARAMETERS:-} +ZYPPER_PARAMETERS=${FLUENT_BIT_INSTALL_ZYPPER_PARAMETERS:-} echo "================================" echo " Fluent Bit Installation Script " @@ -48,9 +49,11 @@ fi # Set up version pinning APT_VERSION='' YUM_VERSION='' +ZYPPER_VERSION='' if [ -n "${RELEASE_VERSION}" ]; then APT_VERSION="=$RELEASE_VERSION" YUM_VERSION="-$RELEASE_VERSION" + ZYPPER_VERSION="-$RELEASE_VERSION" fi # Now set up repos and install dependent on OS, version, etc. @@ -143,6 +146,29 @@ EOF cat /etc/apt/sources.list.d/fluent-bit.list apt-get -y update $INSTALL_CMD_PREFIX apt-get -y $APT_PARAMETERS install $INSTALL_PACKAGE_NAME$APT_VERSION +SCRIPT + ;; + opensuse*|sles) + SUSE_OS="opensuse" + case "${OS}" in + sles|suse) SUSE_OS="sles" ;; + esac + SUSE_VER="${VERSION_ID:-}" + + $SUDO sh <