#!/bin/bash | |
############################################################################## | |
# | |
# Copyright (c) 2020 AT&T Intellectual Property. | |
# Copyright (c) 2020 Nokia. | |
# Copyright (c) 2020 HCL Technologies | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
# | |
############################################################################## | |
# Installs prerequisites needed to compile & test SDL code | |
# and build RPM/DEB packages on a Debian/Ubuntu machine. | |
echo "--> setup-dbaas-build-deb.sh" | |
# Ensure we fail the job if any steps fail. | |
set -eux -o pipefail | |
# NOTE: The valgrind false positive problem could also potentially be solved | |
# with valgrind suppression files but that kind of approach may be fragile. | |
# install prereqs | |
sudo apt-get update && sudo apt-get -q -y install \ | |
automake \ | |
autoconf \ | |
cmake \ | |
curl \ | |
g++ \ | |
gcc \ | |
libtool \ | |
make \ | |
pkg-config \ | |
valgrind \ | |
lcov | |
# Cpputest built-in memory checks generate false positives in valgrind. | |
# This is solved by compiling cpputest with memory checking disabled. | |
mkdir -p cpputest/builddir | |
cd cpputest | |
curl -L https://github.com/cpputest/cpputest/releases/download/v3.8/cpputest-3.8.tar.gz | \ | |
tar --strip-components=1 -xzf - | |
cd builddir | |
cmake -DMEMORY_LEAK_DETECTION=OFF .. && \ | |
sudo make install | |
cd ../.. | |
# generate configure script | |
cd redismodule | |
./autogen.sh && \ | |
./configure && \ | |
sudo make test | |
# generate configure script with memory checking disabled. | |
./autogen.sh && \ | |
./configure --disable-unit-test-memcheck && \ | |
sudo make test | |
cd .. | |
#Copy configure to $WORKSPACE | |
cp -r cpputest/* . | |
echo "--> setup-dbaas-build-deb.sh ends" |