summaryrefslogtreecommitdiff
path: root/etc/pkgs/003-openssl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'etc/pkgs/003-openssl.sh')
-rwxr-xr-xetc/pkgs/003-openssl.sh73
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