Skip to content

Commit a7b7962

Browse files
feat: add support for Ubuntu 26.04 (#294)
* feat: Add support for Ubuntu 26.04 * fix: resolve missing header for GCC 15 in RocksDB Signed-off-by: Pat <pat@telemetryforge.io>
1 parent a25a6ab commit a7b7962

3 files changed

Lines changed: 68 additions & 4 deletions

File tree

build-config.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
"ubuntu/22.04.arm64v8",
4040
"ubuntu/24.04",
4141
"ubuntu/24.04.arm64v8",
42+
"ubuntu/26.04",
43+
"ubuntu/26.04.arm64v8",
4244
"suse/15"
4345
],
4446
"release": {
@@ -53,6 +55,7 @@
5355
"debian/trixie",
5456
"ubuntu/22.04",
5557
"ubuntu/24.04",
58+
"ubuntu/26.04",
5659
"suse/15"
5760
]
5861
},

source/lib/rocksdb/db/blob/blob_file_meta.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
#include <string>
1212
#include <unordered_set>
1313

14+
// Required for more recent GCC 15
15+
#include <cstdint>
16+
1417
#include "rocksdb/rocksdb_namespace.h"
1518

1619
namespace ROCKSDB_NAMESPACE {

source/packaging/distros/ubuntu/Dockerfile

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2204-${CAC
206206
RUN mkdir -p "${CMAKE_HOME}" && \
207207
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
208208
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
209-
curl -jksSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
209+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
210210

211211
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
212212

@@ -236,7 +236,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2204-arm64
236236
RUN mkdir -p "${CMAKE_HOME}" && \
237237
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
238238
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
239-
curl -jksSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
239+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
240240

241241
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
242242

@@ -264,7 +264,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2404-${CAC
264264
RUN mkdir -p "${CMAKE_HOME}" && \
265265
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
266266
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
267-
curl -jksSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
267+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
268268

269269
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
270270

@@ -294,7 +294,65 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2404-arm64
294294
RUN mkdir -p "${CMAKE_HOME}" && \
295295
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
296296
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
297-
curl -jksSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
297+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
298+
299+
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
300+
301+
# ubuntu/26.04 base image
302+
FROM ubuntu:26.04 AS ubuntu-26.04-base
303+
ENV DEBIAN_FRONTEND="noninteractive" \
304+
CMAKE_HOME="/opt/cmake"
305+
306+
ARG CMAKE_VERSION="3.31.6"
307+
ARG CMAKE_URL="https://github.com/Kitware/CMake/releases/download"
308+
309+
ARG CACHE_ID
310+
# hadolint ignore=DL3008,DL3015
311+
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2404-${CACHE_ID} \
312+
--mount=type=cache,target=/var/lib/apt,sharing=locked,id=ubuntu-2404-${CACHE_ID} \
313+
apt-get update && \
314+
apt-get install -y curl ca-certificates build-essential libsystemd-dev \
315+
make bash wget unzip nano vim valgrind dh-make flex bison \
316+
libsasl2-2 libsasl2-dev openssl libssl-dev libssl3 libcurl4-openssl-dev \
317+
libyaml-dev pkg-config zlib1g-dev libgit2-dev \
318+
tar gzip && \
319+
apt-get install -y --reinstall lsb-base lsb-release
320+
321+
# hadolint ignore=DL4001,DL4006
322+
RUN mkdir -p "${CMAKE_HOME}" && \
323+
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
324+
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
325+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
326+
327+
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
328+
329+
# ubuntu/26.04.arm64v8 base image
330+
FROM arm64v8/ubuntu:26.04 AS ubuntu-26.04.arm64v8-base
331+
ENV DEBIAN_FRONTEND="noninteractive" \
332+
CMAKE_HOME="/opt/cmake"
333+
334+
COPY --from=multiarch-aarch64 /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
335+
336+
ARG CMAKE_VERSION="3.31.6"
337+
ARG CMAKE_URL="https://github.com/Kitware/CMake/releases/download"
338+
339+
ARG CACHE_ID
340+
# hadolint ignore=DL3008,DL3015
341+
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=ubuntu-2404-arm64-${CACHE_ID} \
342+
--mount=type=cache,target=/var/lib/apt,sharing=locked,id=ubuntu-2404-arm64-${CACHE_ID} \
343+
apt-get update && \
344+
apt-get install -y curl ca-certificates build-essential libsystemd-dev \
345+
make bash wget unzip nano vim valgrind dh-make flex bison \
346+
libsasl2-2 libsasl2-dev openssl libssl-dev libssl3 libcurl4-openssl-dev \
347+
libyaml-dev pkg-config zlib1g-dev libgit2-dev \
348+
tar gzip && \
349+
apt-get install -y --reinstall lsb-base lsb-release
350+
351+
# hadolint ignore=DL4001,DL4006
352+
RUN mkdir -p "${CMAKE_HOME}" && \
353+
cmake_download_url="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(uname -m).tar.gz" && \
354+
echo "Downloading CMake ${CMAKE_VERSION}: ${cmake_download_url} -> ${CMAKE_HOME}" && \
355+
curl -jsSL "${cmake_download_url}" | tar -xzf - -C "${CMAKE_HOME}" --strip-components 1
298356

299357
ENV PATH="${CMAKE_HOME}/bin:${PATH}"
300358

0 commit comments

Comments
 (0)