| #!/bin/bash -e |
| |
| UARCH=$(uname -m) |
| echo "Architecture is ${UARCH}" |
| |
| case "${UARCH}" in |
| |
| "x86_64") |
| HOST_ARCH="amd64" |
| ;; |
| |
| "arm64" | "aarch64") |
| HOST_ARCH="arm64" |
| ;; |
| |
| "armv7l" | "armv6l" | "armhf") |
| HOST_ARCH="arm" |
| ;; |
| |
| "i386") |
| HOST_ARCH="386" |
| ;; |
| |
| *) |
| echo "Architecture not supported. Exiting." |
| exit 1 |
| ;; |
| esac |
| |
| echo "Going to use ${HOST_ARCH} cfssl binaries" |
| |
| # download curl and ca-certificate from apt-get if needed |
| to_install=() |
| |
| if [ "$(dpkg-query -W -f='${Status}' curl 2>/dev/null | grep -c "ok installed")" -eq 0 ]; then |
| to_install+=("curl") |
| fi |
| |
| if [ "$(dpkg-query -W -f='${Status}' ca-certificates 2>/dev/null | grep -c "ok installed")" -eq 0 ]; then |
| to_install+=("ca-certificates") |
| fi |
| |
| if [ ${#to_install[@]} -ne 0 ]; then |
| LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends "${to_install[@]}" |
| fi |
| |
| LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends openssl jq |
| |
| # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923479 |
| if [[ "${HOST_ARCH}" == 'arm' ]]; then |
| LC_ALL=C DEBIAN_FRONTEND=noninteractive c_rehash |
| fi |
| |
| echo "Download cfssl ..." |
| echo "curl -o /usr/sbin/cfssl -SL https://github.com/osixia/cfssl/releases/download/1.4.1/cfssl_linux-${HOST_ARCH}" |
| curl -o /usr/sbin/cfssl -SL "https://github.com/osixia/cfssl/releases/download/1.4.1/cfssl_linux-${HOST_ARCH}" |
| chmod 700 /usr/sbin/cfssl |
| |
| echo "Download cfssljson ..." |
| echo "curl -o /usr/sbin/cfssljson -SL https://github.com/osixia/cfssl/releases/download/1.4.1/cfssljson_linux-${HOST_ARCH}" |
| curl -o /usr/sbin/cfssljson -SL "https://github.com/osixia/cfssl/releases/download/1.4.1/cfssljson_linux-${HOST_ARCH}" |
| chmod 700 /usr/sbin/cfssljson |
| |
| echo "Project sources: https://github.com/cloudflare/cfssl" |
| |
| # remove tools installed to download cfssl |
| if [ ${#to_install[@]} -ne 0 ]; then |
| apt-get remove -y --purge --auto-remove "${to_install[@]}" |
| fi |