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 880dc9a Clean up unused docker file and image references (#326)
880dc9a is described below
commit 880dc9a9eb4212f664f53956f07358c2b09d60ad
Author: Brian Neradt <[email protected]>
AuthorDate: Fri Mar 22 12:43:52 2024 -0500
Clean up unused docker file and image references (#326)
fedora:32 is long since dead, and so is centos:6. Cleaning up the noise
in our lists. We can always git revert if we need them back for some
reason.
---
bin/centos6.sh | 3 -
bin/centos8.sh | 3 -
bin/pull-all.sh | 7 +-
bin/push-all.sh | 7 +-
docker/alma/Dockerfile | 38 --------
docker/alma/build_h3_tools.sh | 172 ------------------------------------
docker/centos8/Dockerfile | 90 -------------------
docker/centos8/build_h3_tools.sh | 172 ------------------------------------
docker/centos8/install_abi_tools.sh | 1 -
docker/fedora32/Dockerfile | 76 ----------------
docker/fedora32/build_h3_tools.sh | 172 ------------------------------------
docker/fedora35/Dockerfile | 74 ----------------
docker/fedora35/build_h3_tools.sh | 172 ------------------------------------
docker/fedora36/Dockerfile | 74 ----------------
docker/fedora36/build_h3_tools.sh | 172 ------------------------------------
docker/fedora37/Dockerfile | 74 ----------------
docker/fedora37/build_h3_tools.sh | 172 ------------------------------------
17 files changed, 4 insertions(+), 1475 deletions(-)
diff --git a/bin/centos6.sh b/bin/centos6.sh
deleted file mode 100755
index 22f2d46..0000000
--- a/bin/centos6.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-docker run -v /home:/home -v /CA:/CA -v /var/tmp/ccache:/var/tmp/ccache -i -t
ci.trafficserver.apache.org/ats/centos:6 /bin/bash
diff --git a/bin/centos8.sh b/bin/centos8.sh
deleted file mode 100755
index b49f8a6..0000000
--- a/bin/centos8.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-docker run -v /home:/home -v /CA:/CA -v /var/tmp/ccache:/var/tmp/ccache -i -t
ci.trafficserver.apache.org/ats/centos:8 /bin/bash
diff --git a/bin/pull-all.sh b/bin/pull-all.sh
index 9188cd4..7e9dcbd 100755
--- a/bin/pull-all.sh
+++ b/bin/pull-all.sh
@@ -1,16 +1,13 @@
#!/bin/sh
-docker pull ci.trafficserver.apache.org/ats/fedora:33
-docker pull ci.trafficserver.apache.org/ats/fedora:32
-docker pull ci.trafficserver.apache.org/ats/fedora:31
+docker pull ci.trafficserver.apache.org/ats/fedora:38
+docker pull ci.trafficserver.apache.org/ats/fedora:39
docker pull ci.trafficserver.apache.org/ats/ubuntu:20.10
docker pull ci.trafficserver.apache.org/ats/ubuntu:20.04
docker pull ci.trafficserver.apache.org/ats/ubuntu:19.04
docker pull ci.trafficserver.apache.org/ats/ubuntu:18.04
docker pull ci.trafficserver.apache.org/ats/ubuntu:16.04
docker pull ci.trafficserver.apache.org/ats/ubuntu:14.04
-docker pull ci.trafficserver.apache.org/ats/centos:8
docker pull ci.trafficserver.apache.org/ats/centos:7
-docker pull ci.trafficserver.apache.org/ats/centos:6
docker pull ci.trafficserver.apache.org/ats/debian:9
docker pull ci.trafficserver.apache.org/ats/debian:8
diff --git a/bin/push-all.sh b/bin/push-all.sh
index c6bdec7..cea2c49 100755
--- a/bin/push-all.sh
+++ b/bin/push-all.sh
@@ -1,16 +1,13 @@
#!/bin/sh
-docker push ci.trafficserver.apache.org/ats/fedora:33
-docker push ci.trafficserver.apache.org/ats/fedora:32
-docker push ci.trafficserver.apache.org/ats/fedora:31
+docker push ci.trafficserver.apache.org/ats/fedora:38
+docker push ci.trafficserver.apache.org/ats/fedora:39
docker push ci.trafficserver.apache.org/ats/ubuntu:20.10
docker push ci.trafficserver.apache.org/ats/ubuntu:20.04
docker push ci.trafficserver.apache.org/ats/ubuntu:19.04
docker push ci.trafficserver.apache.org/ats/ubuntu:18.04
docker push ci.trafficserver.apache.org/ats/ubuntu:16.04
docker push ci.trafficserver.apache.org/ats/ubuntu:14.04
-docker push ci.trafficserver.apache.org/ats/centos:8
docker push ci.trafficserver.apache.org/ats/centos:7
-docker push ci.trafficserver.apache.org/ats/centos:6
docker push ci.trafficserver.apache.org/ats/debian:9
docker push ci.trafficserver.apache.org/ats/debian:8
diff --git a/docker/alma/Dockerfile b/docker/alma/Dockerfile
deleted file mode 100644
index 0cea7d1..0000000
--- a/docker/alma/Dockerfile
+++ /dev/null
@@ -1,38 +0,0 @@
-FROM almalinux/almalinux:8
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-RUN yum -y install gcc-toolset-9 gcc-toolset-9-libasan-devel
-
-# Install openssl-quic
-RUN yum install -y python38-devel
-RUN alternatives --set python /usr/bin/python3.8
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel
-COPY /build_h3_tools.sh /var/tmp/build_h3_tools.sh
-RUN bash /var/tmp/build_h3_tools.sh
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN update-crypto-policies --set LEGACY
-RUN go get github.com/summerwind/h2spec/cmd/h2spec
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
diff --git a/docker/alma/build_h3_tools.sh b/docker/alma/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/alma/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install
diff --git a/docker/centos8/Dockerfile b/docker/centos8/Dockerfile
deleted file mode 100644
index 4de51d2..0000000
--- a/docker/centos8/Dockerfile
+++ /dev/null
@@ -1,90 +0,0 @@
-FROM centos:8
-
-# Since CentOS is no longer officially supported, update the mirror lists to
-# vault.centos.org.
-RUN \
- sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*; \
- sed -i
's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g'
/etc/yum.repos.d/CentOS-Linux-*
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- sudo git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl tcl-devel java; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-RUN if [ ! -z "$(grep -i centos /etc/redhat-release)" ]; then \
- yum -y install gcc-toolset-9 gcc-toolset-9-libasan-devel; \
- fi
-
-# Install openssl-quic
-RUN yum install -y python38-devel
-RUN alternatives --set python /usr/bin/python3.8
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel
-
-ARG h3_tools_dir=/root/build_h3_tools
-RUN mkdir -p ${h3_tools_dir}
-WORKDIR ${h3_tools_dir}
-COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
-# This will install OpenSSL QUIC and related tools in /opt.
-RUN bash ${h3_tools_dir}/build_h3_tools.sh
-WORKDIR /root
-
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN update-crypto-policies --set LEGACY
-RUN echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
-RUN echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
-RUN source /etc/profile
-RUN go get github.com/summerwind/h2spec/cmd/h2spec
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
-
-# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
-# configured with, so that has to be used. Otherwise there will be permissions
-# issues.
-ARG username=jenkins
-ARG uid=1200
-RUN useradd \
- --home-dir /home/${username} \
- --groups users,wheel \
- --uid ${uid} \
- --shell /bin/bash \
- --create-home \
- ${username}
-RUN echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
-RUN chown -R ${username} /home/${username}
-
-# Install lcov requirements.
-RUN yum install -y perl-IO-Compress
-ARG lcov_build_dir=/var/tmp/lcov_build_dir
-RUN mkdir -p ${lcov_build_dir}
-WORKDIR ${lcov_build_dir}
-RUN git clone https://github.com/linux-test-project/lcov.git; \
- cd lcov; \
- # v1.15 is required for g++ version 9 compiled files.
- git checkout v1.15; \
- make install
-WORKDIR /root
-RUN rm -rf ${lcov_build_dir}
-RUN yum clean all
-
-# Install ABI checking tools.
-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
diff --git a/docker/centos8/build_h3_tools.sh b/docker/centos8/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/centos8/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install
diff --git a/docker/centos8/install_abi_tools.sh
b/docker/centos8/install_abi_tools.sh
deleted file mode 120000
index 202ae42..0000000
--- a/docker/centos8/install_abi_tools.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../abi/install_abi_tools.sh
\ No newline at end of file
diff --git a/docker/fedora32/Dockerfile b/docker/fedora32/Dockerfile
deleted file mode 100644
index 3e322d4..0000000
--- a/docker/fedora32/Dockerfile
+++ /dev/null
@@ -1,76 +0,0 @@
-FROM fedora:32
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- sudo git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl tcl-devel java; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-RUN if [ ! -z "$(grep -i centos /etc/redhat-release)" ]; then \
- yum -y install gcc-toolset-9 gcc-toolset-9-libasan-devel; \
- fi
-
-# Install openssl-quic
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel
-
-ARG h3_tools_dir=/root/build_h3_tools
-RUN mkdir -p ${h3_tools_dir}
-WORKDIR ${h3_tools_dir}
-COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
-# This will install OpenSSL QUIC and related tools in /opt.
-RUN bash ${h3_tools_dir}/build_h3_tools.sh
-WORKDIR /root
-
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
-RUN echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
-RUN source /etc/profile
-RUN go get github.com/summerwind/h2spec/cmd/h2spec
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
-
-# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
-# configured with, so that has to be used. Otherwise there will be permissions
-# issues.
-ARG username=jenkins
-ARG uid=1200
-RUN useradd \
- --home-dir /home/${username} \
- --groups users,wheel \
- --uid ${uid} \
- --shell /bin/bash \
- --create-home \
- ${username}
-RUN echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
-RUN chown -R ${username} /home/${username}
-
-# Install lcov requirements.
-RUN yum install -y perl-IO-Compress
-ARG lcov_build_dir=/var/tmp/lcov_build_dir
-RUN mkdir -p ${lcov_build_dir}
-WORKDIR ${lcov_build_dir}
-RUN git clone https://github.com/linux-test-project/lcov.git; \
- cd lcov; \
- # v1.15 is required for g++ version 9 compiled files.
- git checkout v1.15; \
- make install
-WORKDIR /root
-RUN rm -rf ${lcov_build_dir}
-RUN yum clean all
diff --git a/docker/fedora32/build_h3_tools.sh
b/docker/fedora32/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/fedora32/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install
diff --git a/docker/fedora35/Dockerfile b/docker/fedora35/Dockerfile
deleted file mode 100644
index 55b325f..0000000
--- a/docker/fedora35/Dockerfile
+++ /dev/null
@@ -1,74 +0,0 @@
-FROM fedora:35
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- sudo git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl tcl-devel java; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-
-# Install openssl-quic
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel \
- perl-FindBin
-
-ARG h3_tools_dir=/root/build_h3_tools
-RUN mkdir -p ${h3_tools_dir}
-WORKDIR ${h3_tools_dir}
-COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
-# This will install OpenSSL QUIC and related tools in /opt.
-RUN bash ${h3_tools_dir}/build_h3_tools.sh
-WORKDIR /root
-
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
-RUN echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
-RUN source /etc/profile
-RUN go install github.com/summerwind/h2spec/cmd/h2spec@latest
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
-
-# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
-# configured with, so that has to be used. Otherwise there will be permissions
-# issues.
-ARG username=jenkins
-ARG uid=1200
-RUN useradd \
- --home-dir /home/${username} \
- --groups users,wheel \
- --uid ${uid} \
- --shell /bin/bash \
- --create-home \
- ${username}
-RUN echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
-RUN chown -R ${username} /home/${username}
-
-# Install lcov requirements.
-RUN yum install -y perl-IO-Compress
-ARG lcov_build_dir=/var/tmp/lcov_build_dir
-RUN mkdir -p ${lcov_build_dir}
-WORKDIR ${lcov_build_dir}
-RUN git clone https://github.com/linux-test-project/lcov.git; \
- cd lcov; \
- # v1.15 is required for g++ version 9 compiled files.
- git checkout v1.15; \
- make install
-WORKDIR /root
-RUN rm -rf ${lcov_build_dir}
-RUN yum clean all
diff --git a/docker/fedora35/build_h3_tools.sh
b/docker/fedora35/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/fedora35/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install
diff --git a/docker/fedora36/Dockerfile b/docker/fedora36/Dockerfile
deleted file mode 100644
index 64b5c6e..0000000
--- a/docker/fedora36/Dockerfile
+++ /dev/null
@@ -1,74 +0,0 @@
-FROM fedora:36
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- sudo git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl tcl-devel java; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-
-# Install openssl-quic
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel \
- perl-FindBin
-
-ARG h3_tools_dir=/root/build_h3_tools
-RUN mkdir -p ${h3_tools_dir}
-WORKDIR ${h3_tools_dir}
-COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
-# This will install OpenSSL QUIC and related tools in /opt.
-RUN bash ${h3_tools_dir}/build_h3_tools.sh
-WORKDIR /root
-
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
-RUN echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
-RUN source /etc/profile
-RUN go install github.com/summerwind/h2spec/cmd/h2spec@latest
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
-
-# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
-# configured with, so that has to be used. Otherwise there will be permissions
-# issues.
-ARG username=jenkins
-ARG uid=1200
-RUN useradd \
- --home-dir /home/${username} \
- --groups users,wheel \
- --uid ${uid} \
- --shell /bin/bash \
- --create-home \
- ${username}
-RUN echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
-RUN chown -R ${username} /home/${username}
-
-# Install lcov requirements.
-RUN yum install -y perl-IO-Compress
-ARG lcov_build_dir=/var/tmp/lcov_build_dir
-RUN mkdir -p ${lcov_build_dir}
-WORKDIR ${lcov_build_dir}
-RUN git clone https://github.com/linux-test-project/lcov.git; \
- cd lcov; \
- # v1.15 is required for g++ version 9 compiled files.
- git checkout v1.15; \
- make install
-WORKDIR /root
-RUN rm -rf ${lcov_build_dir}
-RUN yum clean all
diff --git a/docker/fedora36/build_h3_tools.sh
b/docker/fedora36/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/fedora36/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install
diff --git a/docker/fedora37/Dockerfile b/docker/fedora37/Dockerfile
deleted file mode 100644
index 2dd360f..0000000
--- a/docker/fedora37/Dockerfile
+++ /dev/null
@@ -1,74 +0,0 @@
-FROM fedora:37
-
-RUN yum -y install epel-release dnf-plugins-core; yum config-manager
--set-enabled powertools; yum repolist; \
-
- yum -y update; \
- # Compilers
- yum -y install ccache make pkgconfig bison flex gcc-c++ clang \
- # Autoconf
- autoconf automake libtool \
- # Various other tools
- sudo git rpm-build distcc-server file wget openssl hwloc nghttp2
libnghttp2-devel; \
- # Devel packages that ATS needs
- yum -y install openssl-devel expat-devel pcre-devel libcap-devel
hwloc-devel libunwind-devel \
- xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel
luajit-devel brotli-devel \
- ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel
libmaxminddb-devel \
- perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI curl tcl-devel java; \
- # autest stuff
- yum -y install python3 httpd-tools procps-ng nmap-ncat python3-pip \
- python3-gunicorn python3-requests python3-devel python3-psutil telnet
golang;
-
-RUN pip3 install --upgrade pip
-RUN pip3 install pipenv httpbin
-
-# Install openssl-quic
-RUN yum -y install libev-devel jemalloc-devel libxml2-devel \
- c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel \
- perl-FindBin
-
-ARG h3_tools_dir=/root/build_h3_tools
-RUN mkdir -p ${h3_tools_dir}
-WORKDIR ${h3_tools_dir}
-COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
-# This will install OpenSSL QUIC and related tools in /opt.
-RUN bash ${h3_tools_dir}/build_h3_tools.sh
-WORKDIR /root
-
-# Make sure we pick up this built version of curl, which is in /opt/bin.
-RUN echo 'PATH=/opt/bin:$PATH' | tee -a /etc/profile.d/curl_http3.sh
-
-RUN echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
-RUN echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
-RUN source /etc/profile
-RUN go install github.com/summerwind/h2spec/cmd/h2spec@latest
-RUN cp /root/go/bin/h2spec /usr/local/bin
-RUN yum clean all
-
-# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
-# configured with, so that has to be used. Otherwise there will be permissions
-# issues.
-ARG username=jenkins
-ARG uid=1200
-RUN useradd \
- --home-dir /home/${username} \
- --groups users,wheel \
- --uid ${uid} \
- --shell /bin/bash \
- --create-home \
- ${username}
-RUN echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
-RUN chown -R ${username} /home/${username}
-
-# Install lcov requirements.
-RUN yum install -y perl-IO-Compress
-ARG lcov_build_dir=/var/tmp/lcov_build_dir
-RUN mkdir -p ${lcov_build_dir}
-WORKDIR ${lcov_build_dir}
-RUN git clone https://github.com/linux-test-project/lcov.git; \
- cd lcov; \
- # v1.15 is required for g++ version 9 compiled files.
- git checkout v1.15; \
- make install
-WORKDIR /root
-RUN rm -rf ${lcov_build_dir}
-RUN yum clean all
diff --git a/docker/fedora37/build_h3_tools.sh
b/docker/fedora37/build_h3_tools.sh
deleted file mode 100644
index 11b8297..0000000
--- a/docker/fedora37/build_h3_tools.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env bash
-#
-# Simple script to build OpenSSL and various tools with H3 and QUIC support.
-# This probably needs to be modified based on platform.
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-
-# This is a slightly modified version of:
-#
https://github.com/apache/trafficserver/blob/19dfdd4753232d0b77ca555f7ef5f5ba3d2ccae1/tools/build_h3_tools.sh
-#
-# This present script been modified from the latter in the following ways:
-#
-# * This version checks out specific commits of the repos so that people
-# creating images from the corresponding Dockerfile do not get different
-# versions of these over time.
-#
-# * It also doesn't run sudo since the Dockerfile will run this as root.
-
-
-set -e
-
-# Update this as the draft we support updates.
-OPENSSL_BRANCH=${OPENSSL_BRANCH:-"OpenSSL_1_1_1q+quic"}
-
-# Set these, if desired, to change these to your preferred installation
-# directory
-BASE=${BASE:-"/opt"}
-OPENSSL_BASE=${OPENSSL_BASE:-"${BASE}/openssl-quic"}
-OPENSSL_PREFIX=${OPENSSL_PREFIX:-"${OPENSSL_BASE}-${OPENSSL_BRANCH}"}
-MAKE="make"
-
-# These are for Linux like systems, specially the LDFLAGS, also depends on
dirs above
-CFLAGS=${CFLAGS:-"-O3 -g"}
-CXXFLAGS=${CXXFLAGS:-"-O3 -g"}
-LDFLAGS=${LDFLAGS:-"-Wl,-rpath=${OPENSSL_PREFIX}/lib"}
-
-if [ -e /etc/redhat-release ]; then
- MAKE="gmake"
- echo
"+-------------------------------------------------------------------------+"
- echo "| You probably need to run this, or something like this, for your
system: |"
- echo "|
|"
- echo "| sudo yum -y install libev-devel jemalloc-devel python2-devel
|"
- echo "| sudo yum -y install libxml2-devel c-ares-devel libevent-devel
|"
- echo "| sudo yum -y install jansson-devel zlib-devel systemd-devel
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-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
|"
- echo
"+-------------------------------------------------------------------------+"
- echo
- echo
-fi
-
-set -x
-
-# OpenSSL needs special hackery ... Only grabbing the branch we need here...
Bryan has shit for network.
-echo "Building OpenSSL with QUIC support"
-[ ! -d openssl-quic ] && git clone -b ${OPENSSL_BRANCH}
https://github.com/quictls/openssl.git openssl-quic
-cd openssl-quic
-git checkout f105ac0bfdae1ce009b8fd86bc6d9f65e5576352
-./config enable-tls1_3 --prefix=${OPENSSL_PREFIX}
-${MAKE} -j $(nproc)
-${MAKE} install_sw
-
-# The symlink target provides a more convenient path for the user while also
-# providing, in the symlink source, the precise branch of the OpenSSL build.
-ln -sf ${OPENSSL_PREFIX} ${OPENSSL_BASE}
-cd ..
-
-# Then nghttp3
-echo "Building nghttp3..."
-[ ! -d nghttp3 ] && git clone https://github.com/ngtcp2/nghttp3.git
-cd nghttp3
-git checkout 635a532c8ff98cdbd6c141f85583632919102912
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Now ngtcp2
-echo "Building ngtcp2..."
-[ ! -d ngtcp2 ] && git clone https://github.com/ngtcp2/ngtcp2.git
-cd ngtcp2
-git checkout ee8efbe9aa7f209f483e2fe1e78183e62cd166cb
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# Then nghttp2, with support for H3
-echo "Building nghttp2 ..."
-[ ! -d nghttp2 ] && git clone https://github.com/tatsuhiro-t/nghttp2.git
-cd nghttp2
-
-# This commit will be removed whenever the nghttp2 author rebases origin/quic.
-# For reference, this commit is currently described as:
-#
-# commit 1340b296dde152fb0771f1eb4e4c221047d37ab7 (HEAD -> master,
origin/master, origin/HEAD)
-# Merge: f919cf1a fc5a020b
-# Author: Tatsuhiro Tsujikawa <[email protected]>
-# Date: Mon Aug 29 21:22:56 2022 +0900
-#
-# Merge pull request #1787 from heitbaum/patch-1
-#
-# Fix typographic error
-git checkout 1340b296dde152fb0771f1eb4e4c221047d37ab7
-
-autoreconf -if
-./configure \
- --prefix=${BASE} \
- PKG_CONFIG_PATH=${BASE}/lib/pkgconfig:${OPENSSL_PREFIX}/lib/pkgconfig \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- --enable-lib-only
-${MAKE} -j $(nproc)
-${MAKE} install
-cd ..
-
-# And finally curl
-echo "Building curl ..."
-[ ! -d curl ] && git clone https://github.com/curl/curl.git
-cd curl
-git checkout 2fc031d834d488854ffc58bf7dbcef7fa7c1fc28
-autoreconf -i
-./configure \
- --prefix=${BASE} \
- --with-ssl=${OPENSSL_PREFIX} \
- --with-nghttp2=${BASE} \
- --with-nghttp3=${BASE} \
- --with-ngtcp2=${BASE} \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}"
-${MAKE} -j $(nproc)
-${MAKE} install