This is an automated email from the ASF dual-hosted git repository.
bneradt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git
The following commit(s) were added to refs/heads/main by this push:
new f66ea8b fedora:44 h3 library updates (#426)
f66ea8b is described below
commit f66ea8ba7f707ceec685c085a8481a0aaaa63993
Author: Brian Neradt <[email protected]>
AuthorDate: Thu May 21 16:34:13 2026 -0500
fedora:44 h3 library updates (#426)
Sync up with ATS
---
docker/fedora44/build_boringssl_h3_tools.sh | 23 +++++++++++++----------
docker/fedora44/build_openssl_h3_tools.sh | 18 ++++++++++--------
2 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/docker/fedora44/build_boringssl_h3_tools.sh
b/docker/fedora44/build_boringssl_h3_tools.sh
index 2ef2ecf..cba10b3 100755
--- a/docker/fedora44/build_boringssl_h3_tools.sh
+++ b/docker/fedora44/build_boringssl_h3_tools.sh
@@ -44,6 +44,10 @@ echo "Building boringssl H3 dependencies in ${WORKDIR}.
Installation will be don
CFLAGS=${CFLAGS:-"-O3 -g"}
CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
BORINGSSL_PATH="${BASE}/boringssl"
+GO_VERSION=${GO_VERSION:-"1.26.2"}
+BORINGSSL_COMMIT=${BORINGSSL_COMMIT:-"c3ffc3300a9450cf8e396c7880be7c6cadc16a4a"}
+QUICHE_TAG=${QUICHE_TAG:-"0.28.0"}
+CURL_TAG=${CURL_TAG:-"curl-8_20_0"}
NGHTTP3_TAG=${NGHTTP3_TAG:-"v1.15.0"}
NGTCP2_TAG=${NGTCP2_TAG:-"v1.21.0"}
NGHTTP2_TAG=${NGHTTP2_TAG:-"v1.68.0"}
@@ -67,9 +71,9 @@ elif [ -e /etc/debian_version ]; then
echo
"+-------------------------------------------------------------------------+"
echo "| You probably need to run this, or something like this, for your
system: |"
echo "|
|"
- echo "| sudo apt -y install libev-dev libjemalloc-dev python2-dev
libxml2-dev |"
- echo "| sudo apt -y install libpython2-dev libc-ares-dev libsystemd-dev
|"
- echo "| sudo apt -y install libevent-dev libjansson-dev zlib1g-dev cargo
|"
+ echo "| sudo apt -y install libev-dev libjemalloc-dev python3-dev
libxml2-dev |"
+ echo "| sudo apt -y install libpython3-dev libc-ares-dev libsystemd-dev
|"
+ echo "| sudo apt -y install libevent-dev libjansson-dev zlib1g-dev
libpsl-dev |"
echo "|
|"
echo "| Rust may be needed too, see https://rustup.rs for the details
|"
echo
"+-------------------------------------------------------------------------+"
@@ -121,17 +125,16 @@ else
OS="linux"
fi
-go_version=1.25.10
-wget https://go.dev/dl/go${go_version}.${OS}-${ARCH}.tar.gz
-rm -rf ${BASE}/go && tar -C ${BASE} -xf go${go_version}.${OS}-${ARCH}.tar.gz
-rm go${go_version}.${OS}-${ARCH}.tar.gz
+wget https://go.dev/dl/go${GO_VERSION}.${OS}-${ARCH}.tar.gz
+rm -rf ${BASE}/go && tar -C ${BASE} -xf go${GO_VERSION}.${OS}-${ARCH}.tar.gz
+rm go${GO_VERSION}.${OS}-${ARCH}.tar.gz
chmod -R a+rX ${BASE}
GO_BINARY_PATH=${BASE}/go/bin/go
if [ ! -d boringssl ]; then
git clone https://boringssl.googlesource.com/boringssl
cd boringssl
- git checkout 02bc0949e5cac0e1ee82c6f365f5a6c3cfd0cfa9
+ git checkout ${BORINGSSL_COMMIT}
cd ..
fi
cd boringssl
@@ -203,7 +206,7 @@ echo "Building quiche"
QUICHE_BASE="${BASE:-/opt}/quiche"
[ ! -d quiche ] && git clone https://github.com/cloudflare/quiche.git
cd quiche
-git checkout 0.23.2
+git checkout ${QUICHE_TAG}
QUICHE_BSSL_PATH=${BORINGSSL_LIB_PATH} QUICHE_BSSL_LINK_KIND=dylib cargo build
-j4 --package quiche --release --features ffi,pkg-config-meta,qlog
mkdir -p ${QUICHE_BASE}/lib/pkgconfig
mkdir -p ${QUICHE_BASE}/include
@@ -291,7 +294,7 @@ cd ..
# Then curl
echo "Building curl ..."
-[ ! -d curl ] && git clone --depth 1 -b curl-8_12_1
https://github.com/curl/curl.git
+[ ! -d curl ] && git clone --depth 1 -b ${CURL_TAG}
https://github.com/curl/curl.git
cd curl
# On mac autoreconf fails on the first attempt with an issue finding ltmain.sh.
# The second runs fine.
diff --git a/docker/fedora44/build_openssl_h3_tools.sh
b/docker/fedora44/build_openssl_h3_tools.sh
index 09bcf7a..254b137 100755
--- a/docker/fedora44/build_openssl_h3_tools.sh
+++ b/docker/fedora44/build_openssl_h3_tools.sh
@@ -36,6 +36,8 @@ WORKDIR="$(pwd)"
# OPENSSL_BRANCH is kept for compatibility with older local invocations.
OPENSSL_TAG=${OPENSSL_TAG:-${OPENSSL_BRANCH:-"openssl-3.5.5"}}
+QUICHE_TAG=${QUICHE_TAG:-"0.28.0"}
+CURL_TAG=${CURL_TAG:-"curl-8_20_0"}
NGHTTP3_TAG=${NGHTTP3_TAG:-"v1.15.0"}
NGTCP2_TAG=${NGTCP2_TAG:-"v1.21.0"}
NGHTTP2_TAG=${NGHTTP2_TAG:-"v1.68.0"}
@@ -69,9 +71,9 @@ elif [ -e /etc/debian_version ]; then
echo
"+-------------------------------------------------------------------------+"
echo "| You probably need to run this, or something like this, for your
system: |"
echo "|
|"
- echo "| sudo apt -y install libev-dev libjemalloc-dev python2-dev
libxml2-dev |"
- echo "| sudo apt -y install libpython2-dev libc-ares-dev libsystemd-dev
|"
- echo "| sudo apt -y install libevent-dev libjansson-dev zlib1g-dev cargo
|"
+ echo "| sudo apt -y install libev-dev libjemalloc-dev python3-dev
libxml2-dev |"
+ echo "| sudo apt -y install libpython3-dev libc-ares-dev libsystemd-dev
|"
+ echo "| sudo apt -y install libevent-dev libjansson-dev zlib1g-dev
libpsl-dev |"
echo "|
|"
echo "| Rust may be needed too, see https://rustup.rs for the details
|"
echo
"+-------------------------------------------------------------------------+"
@@ -130,7 +132,7 @@ echo "Building quiche"
QUICHE_BASE="${BASE:-/opt}/quiche"
[ ! -d quiche ] && git clone https://github.com/cloudflare/quiche.git
cd quiche
-git checkout 0.23.2
+git checkout ${QUICHE_TAG}
PKG_CONFIG_PATH="$OPENSSL_LIB"/pkgconfig LD_LIBRARY_PATH="$OPENSSL_LIB" \
cargo build -j4 --package quiche --release --features
ffi,pkg-config-meta,qlog,openssl
@@ -175,6 +177,7 @@ git submodule update --init
autoreconf -if
./configure \
--prefix=${BASE} \
+ --with-openssl \
PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_LIB}/pkgconfig \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
@@ -215,20 +218,19 @@ cd ..
# Then curl
echo "Building curl ..."
-[ ! -d curl ] && git clone --depth 1 -b curl-8_12_1
https://github.com/curl/curl.git
+[ ! -d curl ] && git clone --depth 1 -b ${CURL_TAG}
https://github.com/curl/curl.git
cd curl
# On mac autoreconf fails on the first attempt with an issue finding ltmain.sh.
# The second runs fine.
autoreconf -fi || autoreconf -fi
-# Curl's OpenSSL QUIC backend does not use ngtcp2.
+# Curl 8.20 uses ngtcp2 for its OpenSSL-backed HTTP/3 transport.
PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_LIB}/pkgconfig \
./configure \
--prefix=${BASE} \
--with-ssl=${OPENSSL_PREFIX} \
--with-nghttp2=${BASE} \
--with-nghttp3=${BASE} \
- --with-openssl-quic \
- --without-ngtcp2 \
+ --with-ngtcp2=${BASE} \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
LDFLAGS="${LDFLAGS}"