File: coverity-scan.sh

package info (click to toggle)
mapserver 8.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,492 kB
  • sloc: ansic: 137,759; cpp: 124,149; python: 3,175; xml: 1,722; yacc: 1,114; cs: 1,001; sh: 836; lex: 778; java: 588; perl: 489; makefile: 383; tcl: 158; ruby: 55
file content (56 lines) | stat: -rwxr-xr-x 2,050 bytes parent folder | download | duplicates (2)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/sh
set -eu  # Exit on error and treat unset variables as errors

# Ensure TOKEN is set
if [ -z "${TOKEN:-}" ]; then
    echo "Error: TOKEN is not set. Make sure to pass it as an environment variable."
    exit 1
fi

# Install libraries
add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
apt-get update -y

apt-get install --allow-unauthenticated \
    protobuf-c-compiler libprotobuf-c-dev bison flex libfribidi-dev cmake \
    librsvg2-dev colordiff libpq-dev libpng-dev libjpeg-dev libgif-dev \
    libgeos-dev libfreetype6-dev libfcgi-dev libcurl4-gnutls-dev libcairo2-dev \
    libgdal-dev libproj-dev libxml2-dev libexempi-dev lcov lftp postgis \
    libharfbuzz-dev gdal-bin ccache curl \
    postgresql-server-dev-16 postgresql-16-postgis-3 postgresql-16-postgis-3-scripts \
    swig

# Build MapServer
mkdir build
touch src/maplexer.l
touch src/mapparser.y
flex --nounistd -Pmsyy -i -osrc/maplexer.c src/maplexer.l
yacc -d -osrc/mapparser.c src/mapparser.y
cd build
cmake -G "Unix Makefiles" \
    -DWITH_CLIENT_WMS=1 -DWITH_CLIENT_WFS=1 -DWITH_SOS=1 \
    -DWITH_PYTHON=0 -DWITH_JAVA=0 -DWITH_PHP=0 -DWITH_PERL=0 \
    -DWITH_FCGI=0 -DWITH_EXEMPI=1 -DWITH_KML=1 -DWITH_THREAD_SAFETY=1 \
    -DWITH_RSVG=1 -DWITH_CURL=1 -DWITH_FRIBIDI=1 -DWITH_HARFBUZZ=1 \
    ..

# Download Coverity Build Tool
wget -q "https://scan.coverity.com/download/cxx/linux64" \
     --post-data "token=$TOKEN&project=mapserver%2Fmapserver" \
     -O cov-analysis-linux64.tar.gz
mkdir -p cov-analysis-linux64
tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64

# Build with cov-build
export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
cov-build --dir cov-int make

# Submit to Coverity Scan
curl --silent \
    --form project=mapserver%2Fmapserver \
    --form token="$TOKEN" \
    --form email=steve.lime@state.mn.us \
    --form file=@mapserver.tgz \
    --form version=main \
    --form description="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD)" \
    https://scan.coverity.com/builds?project=mapserver%2Fmapserver