Skip to content

Commit f4ff22a

Browse files
committed
packaging: add SLES and Opensuse Support
1 parent b488f2e commit f4ff22a

File tree

8 files changed

+169
-13
lines changed

8 files changed

+169
-13
lines changed

packaging/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ The [`distros`](./distros/) directory contains OCI container definitions used to
3737
| Debian | 11 | arm64v8 | debian/bullseye.arm64v8 |
3838
| Debian | 10 | x86_64 | debian/buster |
3939
| Debian | 10 | arm64v8 | debian/buster.arm64v8 |
40+
| Opensuse | 15.6 | x86_64 | opensuse/15.6 |
41+
| Opensuse | 15.6 | arm64v8 | opensuse/15.6.arm64v8 |
42+
| **SLES** | 15.7 | x86_64 | sles/15.7 |
43+
| **SLES** | 15.7 | arm64v8 | sles/15.7.arm64v8 |
4044
| Ubuntu | 24.04 / Noble Numbat | x86_64 | ubuntu/24.04 |
4145
| Ubuntu | 24.04 / Noble Numbat | arm64v8 | ubuntu/24.04.arm64v8 |
4246
| Ubuntu | 22.04 / Jammy Jellyfish | x86_64 | ubuntu/22.04 |

packaging/build-config.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,21 @@
9797
"type": "rpm"
9898
},
9999
{
100-
"target": "opensuse/leap",
100+
"target": "opensuse/15.6",
101+
"type": "rpm"
102+
},
103+
{
104+
"target": "opensuse/15.6.arm64v8",
101105
"type": "rpm"
102106
},
103107
{
104108
"target": "sles/15.7",
105109
"type": "rpm"
106110
},
111+
{
112+
"target": "sles/15.7.arm64v8",
113+
"type": "rpm"
114+
},
107115
{
108116
"target": "debian/bookworm",
109117
"type": "deb"
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
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/" ]
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Multiarch support
2+
# Builder/Final (per-arch) stages
3+
FROM opensuse/leap:15.6 AS opensuse-leap-base
4+
5+
# hadolint ignore=DL3033
6+
RUN zypper up -y && \
7+
zypper install -y --no-recommends \
8+
rpm-build \
9+
curl ca-certificates wget unzip flex bison \
10+
gcc gcc-c++ \
11+
cmake3-full \
12+
make \
13+
bash \
14+
systemd-devel \
15+
postgresql postgresql-devel postgresql-server \
16+
cyrus-sasl cyrus-sasl-devel \
17+
libopenssl3 libopenssl-3-devel \
18+
libyaml-devel && \
19+
zypper clean -a && rm -rf /var/cache/zypp/*
20+
21+
# Need larger page size
22+
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
23+
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
24+
25+
ARG FLB_NIGHTLY_BUILD
26+
ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD
27+
28+
# Docker context must be the base of the repo
29+
WORKDIR /source/fluent-bit/
30+
COPY . ./
31+
32+
WORKDIR /source/fluent-bit/build/
33+
# CMake configuration variables
34+
# Unused
35+
ARG CFLAGS
36+
ARG CMAKE_INSTALL_PREFIX=/opt/fluent-bit/
37+
ARG CMAKE_INSTALL_SYSCONFDIR=/etc/
38+
ARG FLB_SIMD=On
39+
ARG FLB_RELEASE=On
40+
ARG FLB_TRACE=On
41+
ARG FLB_SQLDB=On
42+
ARG FLB_HTTP_SERVER=On
43+
ARG FLB_OUT_KAFKA=On
44+
ARG FLB_JEMALLOC=On
45+
ARG FLB_CHUNK_TRACE=On
46+
ARG FLB_UNICODE_ENCODER=On
47+
ARG FLB_KAFKA=On
48+
ARG FLB_OUT_PGSQL=On
49+
ARG SYSTEMD_UNITDIR=/usr/lib/systemd/system
50+
51+
RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \
52+
-DCMAKE_INSTALL_SYSCONFDIR="$CMAKE_INSTALL_SYSCONFDIR" \
53+
-DFLB_SIMD="$FLB_SIMD" \
54+
-DFLB_RELEASE="$FLB_RELEASE" \
55+
-DFLB_TRACE="$FLB_TRACE" \
56+
-DFLB_SQLDB="$FLB_SQLDB" \
57+
-DFLB_HTTP_SERVER="$FLB_HTTP_SERVER" \
58+
-DFLB_KAFKA="$FLB_KAFKA" \
59+
-DFLB_OUT_PGSQL="$FLB_OUT_PGSQL" \
60+
-DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \
61+
-DFLB_JEMALLOC_OPTIONS="$FLB_JEMALLOC_OPTIONS" \
62+
-DFLB_JEMALLOC="${FLB_JEMALLOC}" \
63+
-DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \
64+
-DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \
65+
-DSYSTEMD_UNITDIR="$SYSTEMD_UNITDIR" \
66+
../
67+
68+
VOLUME [ "/output" ]
69+
CMD [ "/bin/bash", "-c", "make --no-print-directory -j 4 && cpack -G RPM && cp *.rpm /output/" ]

packaging/distros/opensuse/Dockerfile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
# Special Dockerfile to build all targets, the only difference is
2-
# the packages in the base image.
1+
# Dockerfile to build latest opensuse leap
32
# Set this to the base image to use in each case, so if we want to build for opensuse/leap
43
# we would set BASE_BUILDER=opensuse-leap-base.
54
ARG BASE_BUILDER
65
# Lookup the name to use below but should follow the '<distro>-base' convention with slashes replaced.
76
# Use buildkit to skip unused base images: DOCKER_BUILDKIT=1
87

98
# Multiarch support
10-
FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64
9+
FROM multiarch/qemu-user-static:x86_64-aarch64 AS multiarch-aarch64
1110

1211
# opensuse/leap base image
13-
FROM opensuse/leap:15.6 as opensuse_leap
12+
FROM opensuse/leap AS opensuse-leap-base
1413

1514
# hadolint ignore=DL3033
1615
RUN zypper up -y && \
@@ -28,9 +27,10 @@ RUN zypper up -y && \
2827
libyaml-devel && \
2928
zypper clean -a && rm -rf /var/cache/zypp/*
3029

30+
3131
# opensuse/leap.arm64v8 base image
3232
# hadolint ignore=DL3029
33-
FROM --platform=arm64 opensuse/leap:15.6 AS opensuse_leap.arm64v8
33+
FROM --platform=arm64 opensuse/leap:15.6 AS opensuse-leap.arm64v8-base
3434

3535
COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
3636

@@ -56,7 +56,8 @@ ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
5656

5757
# Common build for all distributions now
5858
# hadolint ignore=DL3006
59-
FROM $BASE_BUILDER as builder
59+
FROM $BASE_BUILDER AS builder
60+
#
6061

6162
ARG FLB_NIGHTLY_BUILD
6263
ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD

packaging/distros/sles/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ ARG BASE_BUILDER
33
# Use buildkit to skip unused base images: DOCKER_BUILDKIT=1
44

55
# Multiarch support
6-
FROM multiarch/qemu-user-static:x86_64-aarch64 as multiarch-aarch64
6+
FROM multiarch/qemu-user-static:x86_64-aarch64 AS multiarch-aarch64
77

88
# opensuse/leap base image
9-
FROM registry.suse.com/bci/bci-base:15.7 as sles-15.7-base
9+
FROM registry.suse.com/bci/bci-base:15.7 AS sles-15.7-base
1010

1111
# hadolint ignore=DL3033
1212
RUN zypper up -y && \
@@ -20,7 +20,7 @@ RUN zypper up -y && \
2020

2121
# opensuse/leap.arm64v8 base image
2222
# hadolint ignore=DL3029
23-
FROM --platform=arm64 registry.suse.com/bci/bci-base:15.7 as sles-15.7.arm64v8-base
23+
FROM --platform=arm64 registry.suse.com/bci/bci-base:15.7 AS sles-15.7.arm64v8-base
2424

2525
COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
2626

@@ -40,7 +40,7 @@ ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
4040

4141
# Common build for all distributions now
4242
# hadolint ignore=DL3006
43-
FROM $BASE_BUILDER as builder
43+
FROM $BASE_BUILDER AS builder
4444

4545
ARG FLB_NIGHTLY_BUILD
4646
ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD

packaging/test-release-packages.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ YUM_TARGETS=(
5858
"quay.io/centos/centos:stream10"
5959
"amazonlinux:2"
6060
"amazonlinux:2023"
61-
"opensuse/leap"
61+
"opensuse/15.6"
6262
"sles/15.7"
6363
)
6464

packaging/update-repos.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ RPM_REPO_PATHS=( "amazonlinux/2"
4343
"almalinux/8"
4444
"almalinux/9"
4545
"almalinux/10"
46-
"opensuse/leap"
46+
"opensuse/15.6"
4747
"sles/15.7"
4848
)
4949

0 commit comments

Comments
 (0)