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