|  | #! /bin/bash | 
|  | # | 
|  | # This script allows you to run coverity on the project and submit the | 
|  | # results.  Do this inside the docker build container.  Only works if | 
|  | # you are a coverity scan thrift project admin with access to the | 
|  | # necessary security token. | 
|  | # | 
|  | # Environment Variables | 
|  | # | 
|  | # COVERITY_SCAN_NOTIFICATION_EMAIL  - email address to notify | 
|  | # COVERITY_SCAN_TOKEN               - the Coverity Scan token (should be secure) | 
|  | # VERSION                           - the version to report we scanned | 
|  |  | 
|  | set -ex | 
|  |  | 
|  | wget -nv https://entrust.com/root-certificates/entrust_l1k.cer -O /tmp/scanca.cer | 
|  |  | 
|  | pushd /tmp | 
|  | if [[ "$1" != "--skipdownload" ]]; then | 
|  | rm -rf coverity_tool.tgz cov-analysis* | 
|  | wget -nv -O coverity_tool.tgz https://scan.coverity.com/download/cxx/linux64 --post-data "project=thrift&token=$COVERITY_SCAN_TOKEN" | 
|  | tar xzf coverity_tool.tgz | 
|  | fi | 
|  | COVBIN=$(echo $(pwd)/cov-analysis*/bin) | 
|  | export PATH=$COVBIN:$PATH | 
|  | popd | 
|  |  | 
|  | ./bootstrap.sh | 
|  | ./configure $* | 
|  | rm -rf cov-int/ | 
|  | cov-build --dir cov-int make check -j3 | 
|  | tail -50 cov-int/build-log.txt | 
|  | tar cJf cov-int.tar.xz cov-int/ | 
|  | curl --cacert /tmp/scanca.cer \ | 
|  | --form token="$COVERITY_SCAN_TOKEN" \ | 
|  | --form email="$COVERITY_SCAN_NOTIFICATION_EMAIL" \ | 
|  | --form file=@cov-int.tar.xz \ | 
|  | --form version="$VERSION" \ | 
|  | --form description="thrift master" \ | 
|  | https://scan.coverity.com/builds?project=thrift |