summaryrefslogtreecommitdiffstats
path: root/packaging/makeself/jobs/20-openssl.install.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /packaging/makeself/jobs/20-openssl.install.sh
parentInitial commit. (diff)
downloadnetdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz
netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'packaging/makeself/jobs/20-openssl.install.sh')
-rwxr-xr-xpackaging/makeself/jobs/20-openssl.install.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/packaging/makeself/jobs/20-openssl.install.sh b/packaging/makeself/jobs/20-openssl.install.sh
new file mode 100755
index 00000000..1158a633
--- /dev/null
+++ b/packaging/makeself/jobs/20-openssl.install.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# shellcheck source=packaging/makeself/functions.sh
+. "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
+# Source of truth for all the packages we bundle in static builds
+. "$(dirname "${0}")/../bundled-packages"
+# shellcheck disable=SC2015
+[ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building OpenSSL" || true
+
+export CFLAGS='-fno-lto -pipe'
+export LDFLAGS='-static'
+export PKG_CONFIG="pkg-config --static"
+
+if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
+ rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
+fi
+
+if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
+ rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
+fi
+
+cache="${NETDATA_SOURCE_PATH}/artifacts/cache/${BUILDARCH}/openssl"
+
+if [ -d "${cache}" ]; then
+ echo "Found cached copy of build directory for openssl, using it."
+ cp -a "${cache}/openssl" "${NETDATA_MAKESELF_PATH}/tmp/"
+ CACHE_HIT=1
+else
+ echo "No cached copy of build directory for openssl found, fetching sources instead."
+ run git clone --branch "${OPENSSL_VERSION}" --single-branch --depth 1 "${OPENSSL_SOURCE}" "${NETDATA_MAKESELF_PATH}/tmp/openssl"
+ CACHE_HIT=0
+fi
+
+cd "${NETDATA_MAKESELF_PATH}/tmp/openssl" || exit 1
+
+if [ "${CACHE_HIT:-0}" -eq 0 ]; then
+ sed -i "s/disable('static', 'pic', 'threads');/disable('static', 'pic');/" Configure
+ run ./config -static threads no-tests --prefix=/openssl-static --openssldir=/opt/netdata/etc/ssl
+ run make -j "$(nproc)"
+fi
+
+run make -j "$(nproc)" install_sw
+
+if [ -d "/openssl-static/lib" ]; then
+ cd "/openssl-static" || exit 1
+ ln -s "lib" "lib64" || true
+ cd - || exit 1
+fi
+
+store_cache openssl "${NETDATA_MAKESELF_PATH}/tmp/openssl"
+
+perl configdata.pm --dump
+
+# shellcheck disable=SC2015
+[ "${GITHUB_ACTIONS}" = "true" ] && echo "::endgroup::" || true