diff options
Diffstat (limited to 'coverity-install.sh')
-rwxr-xr-x | coverity-install.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/coverity-install.sh b/coverity-install.sh new file mode 100755 index 000000000..99d2f2fea --- /dev/null +++ b/coverity-install.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Coverity installation script +# +# Copyright: SPDX-License-Identifier: GPL-3.0-or-later +# +# Author: Pavlos Emm. Katsoulakis (paul@netdata.cloud) + +token="${COVERITY_SCAN_TOKEN}" +([ -z "${token}" ] && [ -f .coverity-token ]) && token="$(<.coverity-token)" +if [ -z "${token}" ]; then + echo >&2 "Save the coverity token to .coverity-token or export it as COVERITY_SCAN_TOKEN." + exit 1 +fi + +covbuild="$(which cov-build 2>/dev/null || command -v cov-build 2>/dev/null)" +([ -z "${covbuild}" ] && [ -f .coverity-build ]) && covbuild="$(<.coverity-build)" +if [ ! -z "${covbuild}" ]; then + echo >&2 "Coverity already installed, nothing to do!" + exit 0 +fi + +echo >&2 "Installing coverity..." +WORKDIR="/opt/coverity-source" +mkdir -p "${WORKDIR}" + +curl -SL --data "token=${token}&project=${REPOSITORY}" https://scan.coverity.com/download/linux64 > "${WORKDIR}/coverity_tool.tar.gz" +if [ -f "${WORKDIR}/coverity_tool.tar.gz" ]; then + tar -x -C "${WORKDIR}" -f "${WORKDIR}/coverity_tool.tar.gz" + sudo mv "${WORKDIR}/cov-analysis-linux64-2017.07" /opt/coverity + export PATH=${PATH}:/opt/coverity/bin/ +else + echo "Failed to download coverity tool tarball!" +fi + +# Validate the installation +covbuild="$(which cov-build 2>/dev/null || command -v cov-build 2>/dev/null)" +if [ -z "$covbuild" ]; then + echo "Failed to install coverity!" + exit 1 +else + echo >&2 "Coverity scan installed!" +fi |