20-openssl.install.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. # Source of truth for all the packages we bundle in static builds
  6. . "$(dirname "${0}")/../bundled-packages.version"
  7. # shellcheck disable=SC2015
  8. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building OpenSSL" || true
  9. export CFLAGS="${TUNING_FLAGS} -fno-lto -pipe"
  10. export CXXFLAGS="${CFLAGS}"
  11. export LDFLAGS="-static"
  12. export PKG_CONFIG="pkg-config --static"
  13. if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
  14. rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  15. fi
  16. if [ -d "${NETDATA_MAKESELF_PATH}/tmp/openssl" ]; then
  17. rm -rf "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  18. fi
  19. cache="${NETDATA_SOURCE_PATH}/artifacts/cache/${BUILDARCH}/openssl"
  20. if [ -d "${cache}" ]; then
  21. echo "Found cached copy of build directory for openssl, using it."
  22. cp -a "${cache}/openssl" "${NETDATA_MAKESELF_PATH}/tmp/"
  23. CACHE_HIT=1
  24. else
  25. echo "No cached copy of build directory for openssl found, fetching sources instead."
  26. run git clone --branch "${OPENSSL_VERSION}" --single-branch --depth 1 "${OPENSSL_SOURCE}" "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  27. CACHE_HIT=0
  28. fi
  29. cd "${NETDATA_MAKESELF_PATH}/tmp/openssl" || exit 1
  30. if [ "${CACHE_HIT:-0}" -eq 0 ]; then
  31. sed -i "s/disable('static', 'pic', 'threads');/disable('static', 'pic');/" Configure
  32. run ./config -static threads no-tests --prefix=/openssl-static --openssldir=/opt/netdata/etc/ssl
  33. run make -j "$(nproc)"
  34. fi
  35. run make -j "$(nproc)" install_sw
  36. if [ -d "/openssl-static/lib" ]; then
  37. cd "/openssl-static" || exit 1
  38. ln -s "lib" "lib64" || true
  39. cd - || exit 1
  40. fi
  41. store_cache openssl "${NETDATA_MAKESELF_PATH}/tmp/openssl"
  42. perl configdata.pm --dump
  43. # shellcheck disable=SC2015
  44. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::endgroup::" || true