diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2018-12-04 13:56:13 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2018-12-04 13:56:13 -0500 |
commit | 4f35c93fdebe4b06cfa4a50e79d510ae1729a704 (patch) | |
tree | 2cb4cb2ee1abdf53554d5668e51f96fa2070800c /etc/tasks/001-openssl.sh | |
download | docker-python-4f35c93fdebe4b06cfa4a50e79d510ae1729a704.tar.gz |
Initial commit
Diffstat (limited to 'etc/tasks/001-openssl.sh')
-rwxr-xr-x | etc/tasks/001-openssl.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/etc/tasks/001-openssl.sh b/etc/tasks/001-openssl.sh new file mode 100755 index 0000000..1f99fe8 --- /dev/null +++ b/etc/tasks/001-openssl.sh @@ -0,0 +1,73 @@ +#!/bin/bash +set -e +set -x + +name="openssl" +version="1.1.0j" + +tarball="${name}-${version}.tar.gz" +dest="${tarball%%.tar.gz}" +url="https://www.openssl.org/source/${tarball}" +prefix="${TOOLCHAIN}" + + +function pre() +{ + curl -LO "${url}" + tar xf "${tarball}" +} + + +function get_system_cacert() { + local paths=( + /etc/ssl/cert.pem + /etc/ssl/cacert.pem + /etc/ssl/certs/cacert.pem + /etc/ssl/certs/ca-bundle.crt + ) + for bundle in "${paths[@]}" + do + if [[ -f ${bundle} ]]; then + echo "${bundle}" + break + fi + done +} + + +function build() +{ + pre + pushd "${dest}" + export PATH="${prefix}/bin:${PATH}" + export LDFLAGS="-Wl,-rpath=${prefix}/lib" + export KERNEL_BITS=64 + target="linux-x86_64" + + ./Configure \ + --prefix="${prefix}" \ + --openssldir="ssl" \ + --libdir="lib" \ + ${LDFLAGS} \ + ${target} \ + enable-ec_nistp_64_gcc_128 \ + zlib-dynamic \ + shared \ + no-ssl3-method + make + make install MANDIR="${prefix}/share/man" MANSUFFIX=ssl + popd + post +} + +function post() +{ + bundle=$(get_system_cacert) + install -D -m644 "${bundle}" "${prefix}/ssl/cert.pem" + rm -rf "${dest}" + rm -rf "${tarball}" + echo "All done." +} + +# Main +build |