summaryrefslogtreecommitdiffstats
path: root/packaging/makeself/jobs/20-openssl.install.sh
blob: 5d9aa068e865c5bb555d13b83872b28db211c983 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-3.0-or-later

# shellcheck source=packaging/makeself/functions.sh
. "$(dirname "${0}")/../functions.sh" "${@}" || exit 1

# shellcheck disable=SC2015
[ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building OpenSSL" || true

version="$(cat "$(dirname "${0}")/../openssl.version")"

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 "${version}" --single-branch --depth 1 git://git.openssl.org/openssl.git "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  CACHE_HIT=0
fi

cd "${NETDATA_MAKESELF_PATH}/tmp/openssl" || exit 1

if [ "${CACHE_HIT:-0}" -eq 0 ]; then
    run ./config -static no-tests --prefix=/openssl-static --openssldir=/opt/netdata/etc/ssl
    run make -j "$(nproc)"
fi

run make -j "$(nproc)" install_sw

store_cache openssl "${NETDATA_MAKESELF_PATH}/tmp/openssl"

# shellcheck disable=SC2015
[ "${GITHUB_ACTIONS}" = "true" ] && echo "::endgroup::" || true