You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bn...@apache.org on 2023/01/12 21:17:11 UTC
[trafficserver-ci] branch main updated: Add dependencies for building ATS with quiche (#122)
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 374f495 Add dependencies for building ATS with quiche (#122)
374f495 is described below
commit 374f4952283d727b9e748b05cea8588a0fc58dad
Author: Brian Neradt <br...@gmail.com>
AuthorDate: Thu Jan 12 15:17:04 2023 -0600
Add dependencies for building ATS with quiche (#122)
This builds and installs quich in /opt/quiche so we can test building
ATS using quiche.
---
docker/rockylinux8/Dockerfile | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile
index 962932a..51f06ec 100644
--- a/docker/rockylinux8/Dockerfile
+++ b/docker/rockylinux8/Dockerfile
@@ -81,3 +81,37 @@ RUN yum clean all
RUN yum install -y ctags elfutils-libelf-devel wdiff
COPY /install_abi_tools.sh /root/install_abi_tools.sh
RUN bash /root/install_abi_tools.sh
+
+#-----------------------------
+# Install quiche dependencies.
+#-----------------------------
+
+RUN yum install -y cmake
+
+# Retrieve quiche
+RUN \
+ mkdir -p src && \
+ cd src && \
+ git clone --recursive https://github.com/cloudflare/quiche
+
+# Install rust/cargo.
+RUN \
+ mkdir -p src && \
+ wget https://sh.rustup.rs -O src/rustup.sh && \
+ bash src/rustup.sh -y
+
+# Build quiche.
+RUN \
+ source "/root/.cargo/env" && \
+ cd src/quiche && \
+ cargo build -j4 --package quiche --release --features ffi,pkg-config-meta,qlog
+
+# Manually install quiche because, unfortunately, the cargo install command
+# doesn't work for quiche.
+RUN \
+ mkdir -p /opt/quiche/lib/pkgconfig && \
+ mkdir -p /opt/quiche/include && \
+ cp src/quiche/target/release/libquiche.a /opt/quiche/lib && \
+ cp src/quiche/target/release/libquiche.so /opt/quiche/lib && \
+ cp src/quiche/quiche/include/quiche.h /opt/quiche/include && \
+ cp src/quiche/target/release/quiche.pc /opt/quiche/lib/pkgconfig