diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-01-29 14:38:49 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-01-29 14:38:49 -0500 |
commit | 73a53c48901e120a06d221c8cb4f02076e3b9888 (patch) | |
tree | 8fb5e157dc19b8b8d22af12b5a51288802d5b660 /etc/pkgs/003-openssl.sh | |
parent | 92f2ea6ed46ffae5302a47452d816b5dc5784eb7 (diff) | |
download | docker-python-73a53c48901e120a06d221c8cb4f02076e3b9888.tar.gz |
Introduce real toolchain
Diffstat (limited to 'etc/pkgs/003-openssl.sh')
-rwxr-xr-x | etc/pkgs/003-openssl.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/etc/pkgs/003-openssl.sh b/etc/pkgs/003-openssl.sh new file mode 100755 index 0000000..c5aaabe --- /dev/null +++ b/etc/pkgs/003-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 -j${_maxjobs} + 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 |