coverity-install.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env bash
  2. # Coverity installation script
  3. #
  4. # Copyright: SPDX-License-Identifier: GPL-3.0-or-later
  5. #
  6. # Author: Pavlos Emm. Katsoulakis (paul@netdata.cloud)
  7. token="${COVERITY_SCAN_TOKEN}"
  8. ([ -z "${token}" ] && [ -f .coverity-token ]) && token="$(<.coverity-token)"
  9. if [ -z "${token}" ]; then
  10. echo >&2 "Save the coverity token to .coverity-token or export it as COVERITY_SCAN_TOKEN."
  11. exit 1
  12. fi
  13. covbuild="$(which cov-build 2>/dev/null || command -v cov-build 2>/dev/null)"
  14. ([ -z "${covbuild}" ] && [ -f .coverity-build ]) && covbuild="$(<.coverity-build)"
  15. if [ ! -z "${covbuild}" ]; then
  16. echo >&2 "Coverity already installed, nothing to do!"
  17. exit 0
  18. fi
  19. echo >&2 "Installing coverity..."
  20. WORKDIR="/opt/coverity-source"
  21. mkdir -p "${WORKDIR}"
  22. curl -SL --data "token=${token}&project=${REPOSITORY}" https://scan.coverity.com/download/linux64 > "${WORKDIR}/coverity_tool.tar.gz"
  23. if [ -f "${WORKDIR}/coverity_tool.tar.gz" ]; then
  24. tar -x -C "${WORKDIR}" -f "${WORKDIR}/coverity_tool.tar.gz"
  25. sudo mv "${WORKDIR}/cov-analysis-linux64-2017.07" /opt/coverity
  26. export PATH=${PATH}:/opt/coverity/bin/
  27. else
  28. echo "Failed to download coverity tool tarball!"
  29. fi
  30. # Validate the installation
  31. covbuild="$(which cov-build 2>/dev/null || command -v cov-build 2>/dev/null)"
  32. if [ -z "$covbuild" ]; then
  33. echo "Failed to install coverity!"
  34. exit 1
  35. else
  36. echo >&2 "Coverity scan installed!"
  37. fi