20-openssl.install.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env bash
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # shellcheck source=packaging/makeself/functions.sh
  4. . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
  5. # shellcheck disable=SC2015
  6. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building OpenSSL" || true
  7. version="$(cat "$(dirname "${0}")/../openssl.version")"
  8. export CFLAGS='-fno-lto -pipe'
  9. export LDFLAGS='-static'
  10. export PKG_CONFIG="pkg-config --static"
  11. if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
  12. rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  13. fi
  14. if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
  15. rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  16. fi
  17. cache="${NETDATA_SOURCE_PATH}/artifacts/cache/${BUILDARCH}/openssl"
  18. if [ -d "${cache}" ]; then
  19. echo "Found cached copy of build directory for openssl, using it."
  20. cp -a "${cache}/openssl" "${NETDATA_MAKESELF_PATH}/tmp/"
  21. CACHE_HIT=1
  22. else
  23. echo "No cached copy of build directory for openssl found, fetching sources instead."
  24. run git clone --branch "${version}" --single-branch --depth 1 https://github.com/openssl/openssl.git "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  25. CACHE_HIT=0
  26. fi
  27. cd "${NETDATA_MAKESELF_PATH}/tmp/openssl" || exit 1
  28. if [ "${CACHE_HIT:-0}" -eq 0 ]; then
  29. run ./config -static no-tests --prefix=/openssl-static --openssldir=/opt/netdata/etc/ssl
  30. run make -j "$(nproc)"
  31. fi
  32. run make -j "$(nproc)" install_sw
  33. store_cache openssl "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  34. # shellcheck disable=SC2015
  35. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::endgroup::" || true