forked from netdata/netdata
-
Notifications
You must be signed in to change notification settings - Fork 0
/
coverity-install.sh
executable file
·42 lines (37 loc) · 1.35 KB
/
coverity-install.sh
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
#!/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