Jelajahi Sumber

Update the H2O-based implementations to Ubuntu 25.10 (#10062)

Signed-off-by: Anton Kirilov <[email protected]>
Anton Kirilov 3 minggu lalu
induk
melakukan
7a345534d2

+ 2 - 2
frameworks/C/h2o/CMakeLists.txt

@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.18.0)
-project(h2o_app)
+project(h2o-app)
 find_library(CRYPTO_LIB crypto REQUIRED)
 find_library(H2O_LIB h2o-evloop REQUIRED)
 find_library(MUSTACHE_C_LIB mustache_c REQUIRED)
@@ -19,7 +19,7 @@ include_directories(${PQ_INCLUDE} ${YAJL_INCLUDE})
 set(CMAKE_C_STANDARD 11)
 set(CMAKE_C_STANDARD_REQUIRED ON)
 add_compile_definitions(H2O_USE_LIBUV=0)
-set(COMMON_OPTIONS -flto -pthread)
+set(COMMON_OPTIONS -flto=auto -pthread)
 add_compile_options(-pedantic -Wall -Wextra ${COMMON_OPTIONS})
 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_FORTIFY_SOURCE=2")
 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")

+ 10 - 32
frameworks/C/h2o/h2o.dockerfile

@@ -1,26 +1,16 @@
-ARG UBUNTU_VERSION=24.04
+ARG UBUNTU_VERSION=25.10
 
-ARG H2O_APP_PREFIX=/opt/h2o_app
+ARG H2O_APP_PREFIX=/opt/h2o-app
 
 FROM "ubuntu:${UBUNTU_VERSION}" AS compile
 
 ARG DEBIAN_FRONTEND=noninteractive
 RUN apt-get -yqq update && \
-    apt-get -yqq install \
-      ca-certificates \
-      curl \
-      lsb-release && \
-    install -dm755 /usr/share/postgresql-common/pgdg && \
-    curl --fail -LSso /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
-      "https://www.postgresql.org/media/keys/ACCC4CF8.asc" && \
-    sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] \
-      https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > \
-      /etc/apt/sources.list.d/pgdg.list' && \
-    apt-get -yqq update && \
     apt-get -yqq install \
       autoconf \
       bison \
       cmake \
+      curl \
       flex \
       g++ \
       libbpfcc-dev \
@@ -50,7 +40,7 @@ RUN curl -LSs "https://github.com/h2o/h2o/archive/${H2O_VERSION}.tar.gz" | \
     cmake \
       -B build \
       -DCMAKE_AR=/usr/bin/gcc-ar \
-      -DCMAKE_C_FLAGS="-flto -march=native -mtune=native" \
+      -DCMAKE_C_FLAGS="-flto=auto -march=native -mtune=native" \
       -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
       -DWITH_MRUBY=on \
       -G Ninja \
@@ -63,7 +53,8 @@ ARG MUSTACHE_C_REVISION=7fe52392879d0188c172d94bb4fde7c513d6b929
 WORKDIR /tmp/mustache-c-build
 RUN curl -LSs "https://github.com/x86-64/mustache-c/archive/${MUSTACHE_C_REVISION}.tar.gz" | \
       tar --strip-components=1 -xz && \
-    CFLAGS="-flto -march=native -mtune=native -O3" ./autogen.sh && \
+    CFLAGS="-flto=auto -march=native -mtune=native -O3 -Wno-implicit-function-declaration" \
+      ./autogen.sh && \
     make -j "$(nproc)" install
 
 ARG H2O_APP_PREFIX
@@ -82,25 +73,12 @@ RUN cmake \
 
 FROM "ubuntu:${UBUNTU_VERSION}"
 
-ARG POSTGRESQL_VERSION=17
-
 ARG DEBIAN_FRONTEND=noninteractive
 RUN apt-get -yqq update && \
-    apt-get -yqq install \
-      ca-certificates \
-      curl \
-      lsb-release && \
-    install -dm755 /usr/share/postgresql-common/pgdg && \
-    curl --fail -LSso /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
-      "https://www.postgresql.org/media/keys/ACCC4CF8.asc" && \
-    sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] \
-      https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > \
-      /etc/apt/sources.list.d/pgdg.list' && \
-    apt-get -yqq update && \
     apt-get -yqq install \
       libnuma1 \
-      libyajl2 \
-      "postgresql-client-${POSTGRESQL_VERSION}"
+      libpq5 \
+      libyajl2
 ARG H2O_APP_PREFIX
 COPY --from=compile "${H2O_APP_PREFIX}" "${H2O_APP_PREFIX}/"
 COPY --from=compile /usr/local/lib/libmustache_c.so "${H2O_APP_PREFIX}/lib/"
@@ -113,10 +91,10 @@ ARG TFB_TEST_NAME
 CMD ["taskset", \
      "-c", \
      "0", \
-     "/opt/h2o_app/bin/h2o_app", \
+     "/opt/h2o-app/bin/h2o-app", \
      "-a20", \
      "-d", \
      "dbname=hello_world host=tfb-database password=benchmarkdbpass sslmode=disable user=benchmarkdbuser", \
      "-f", \
-     "/opt/h2o_app/share/h2o_app/template", \
+     "/opt/h2o-app/share/h2o-app/template", \
      "-m1"]

+ 9 - 9
frameworks/PHP/php/php-h2o.dockerfile

@@ -9,7 +9,7 @@ ARG H2O_VERSION=c54c63285b52421da2782f028022647fc2ea3dd1
 ARG DEBIAN_FRONTEND=noninteractive
 ARG H2O_PREFIX
 WORKDIR /tmp/h2o-build
-RUN apt-get -yqq update && \
+RUN apt-get -yqq update > /dev/null && \
     apt-get -yqq install \
       cmake \
       curl \
@@ -33,14 +33,14 @@ RUN apt-get -yqq update && \
     cmake \
       -B build \
       -DCMAKE_AR=/usr/bin/gcc-ar \
-      -DCMAKE_C_FLAGS="-flto -march=native -mtune=native" \
+      -DCMAKE_C_FLAGS="-flto=auto -march=native -mtune=native" \
       -DCMAKE_INSTALL_PREFIX="${H2O_PREFIX}" \
       -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
       -DWITH_MRUBY=on \
       -G Ninja \
-      -S .  > /dev/null && \
+      -S . > /dev/null && \
     cmake --build build -j > /dev/null && \
-    cmake --install build  > /dev/null
+    cmake --install build > /dev/null
 
 FROM "ubuntu:${UBUNTU_VERSION}"
 
@@ -49,18 +49,18 @@ ARG PHP_VERSION=8.4
 ENV TZ=America/Los_Angeles
 
 ARG DEBIAN_FRONTEND=noninteractive
-RUN apt-get -yqq update  > /dev/null && \
+RUN apt-get -yqq update > /dev/null && \
     apt-get -yqq install \
       apt-utils \
-      software-properties-common  > /dev/null && \
+      software-properties-common > /dev/null && \
     LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php && \
-    apt-get -yqq update  > /dev/null && \
-    apt-get -yqq install > /dev/null \
+    apt-get -yqq update > /dev/null && \
+    apt-get -yqq install \
       "php${PHP_VERSION}" \
       "php${PHP_VERSION}-cli" \
       "php${PHP_VERSION}-common" \
       "php${PHP_VERSION}-fpm" \
-      "php${PHP_VERSION}-mysql"
+      "php${PHP_VERSION}-mysql" > /dev/null
 ARG H2O_PREFIX
 COPY --from=compile "${H2O_PREFIX}/bin/h2o" "${H2O_PREFIX}/bin/"
 COPY --from=compile "${H2O_PREFIX}/share" "${H2O_PREFIX}/share/"

+ 2 - 2
frameworks/Ruby/h2o_mruby/h2o_mruby.dockerfile

@@ -1,4 +1,4 @@
-ARG UBUNTU_VERSION=24.04
+ARG UBUNTU_VERSION=25.10
 
 ARG H2O_PREFIX=/opt/h2o
 
@@ -33,7 +33,7 @@ RUN apt-get -yqq update && \
     cmake \
       -B build \
       -DCMAKE_AR=/usr/bin/gcc-ar \
-      -DCMAKE_C_FLAGS="-flto -march=native -mtune=native" \
+      -DCMAKE_C_FLAGS="-flto=auto -march=native -mtune=native" \
       -DCMAKE_INSTALL_PREFIX="${H2O_PREFIX}" \
       -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
       -DWITH_MRUBY=on \