Merge branch 'travis-xenial'
Run builds on Travis on Ubuntu Xenial (16.04) images.
This commit is contained in:
+58
-41
@@ -1,14 +1,12 @@
|
||||
language: c
|
||||
|
||||
sudo: required
|
||||
dist: trusty
|
||||
dist: xenial
|
||||
|
||||
# don't build tags separately
|
||||
if: tag IS blank
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
compiler: gcc
|
||||
|
||||
cache: ccache
|
||||
|
||||
@@ -29,54 +27,73 @@ after_success:
|
||||
|
||||
after_failure:
|
||||
- cat config.log
|
||||
- sleep 1
|
||||
|
||||
env:
|
||||
global:
|
||||
- TESTS_REDUCED_KEYLENGTHS=yes
|
||||
- LEAK_DETECTIVE=no
|
||||
- MONOLITHIC=no
|
||||
matrix:
|
||||
- TEST=all
|
||||
- TEST=all MONOLITHIC=yes
|
||||
- TEST=all LEAK_DETECTIVE=yes
|
||||
- TEST=default
|
||||
- TEST=default MONOLITHIC=yes
|
||||
- TEST=default LEAK_DETECTIVE=yes
|
||||
- TEST=botan
|
||||
- TEST=botan LEAK_DETECTIVE=yes
|
||||
- TEST=openssl
|
||||
- TEST=openssl LEAK_DETECTIVE=yes
|
||||
- TEST=gcrypt
|
||||
- TEST=gcrypt LEAK_DETECTIVE=yes
|
||||
# we can't test Vstr as negative int args are not properly passed to CBs
|
||||
- TEST=printf-builtin
|
||||
- TEST=printf-builtin LEAK_DETECTIVE=yes
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- compiler: clang
|
||||
os: osx
|
||||
env: TEST=osx
|
||||
- compiler: gcc
|
||||
env: TEST=sonarcloud
|
||||
if: env(SONAR_TOKEN) IS present
|
||||
- env: TEST=sonarcloud
|
||||
if: type = push
|
||||
git:
|
||||
depth: false
|
||||
addons:
|
||||
sonarcloud:
|
||||
organization: "strongswan"
|
||||
- compiler: gcc
|
||||
env: TEST=coverage
|
||||
- compiler: clang
|
||||
env: TEST=fuzzing MONOLITHIC=yes
|
||||
- compiler: gcc
|
||||
env: TEST=dist
|
||||
- compiler: gcc
|
||||
env: TEST=apidoc
|
||||
- compiler: gcc
|
||||
env: TEST=win64 MONOLITHIC=yes
|
||||
# this does not work on 14.04 due to a missing @4 decoration for
|
||||
# TryAcquireSRWLockExclusive in MinGW 3.1.0
|
||||
- compiler: gcc
|
||||
env: TEST=win32 MONOLITHIC=yes
|
||||
dist: precise
|
||||
- env: TEST=osx
|
||||
compiler: clang
|
||||
os: osx
|
||||
- env: TEST=all
|
||||
- env: TEST=all
|
||||
compiler: clang
|
||||
- env: TEST=all MONOLITHIC=yes
|
||||
- env: TEST=all MONOLITHIC=yes
|
||||
compiler: clang
|
||||
- env: TEST=all LEAK_DETECTIVE=yes
|
||||
- env: TEST=all LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
- env: TEST=coverage
|
||||
- env: TEST=fuzzing MONOLITHIC=yes
|
||||
compiler: clang
|
||||
- env: TEST=win64 MONOLITHIC=yes
|
||||
- env: TEST=win32 MONOLITHIC=yes
|
||||
- env: TEST=dist
|
||||
# "default" with GCC is already tested with "dist" above
|
||||
- env: TEST=default
|
||||
compiler: clang
|
||||
- env: TEST=default MONOLITHIC=yes
|
||||
- env: TEST=default MONOLITHIC=yes
|
||||
compiler: clang
|
||||
- env: TEST=default LEAK_DETECTIVE=yes
|
||||
- env: TEST=default LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
# we can't test Vstr as negative int args are not properly passed to CBs
|
||||
- env: TEST=printf-builtin
|
||||
- env: TEST=printf-builtin
|
||||
compiler: clang
|
||||
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
|
||||
- env: TEST=printf-builtin LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
- env: TEST=botan
|
||||
- env: TEST=botan
|
||||
compiler: clang
|
||||
- env: TEST=botan LEAK_DETECTIVE=yes
|
||||
- env: TEST=botan LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
- env: TEST=openssl
|
||||
- env: TEST=openssl
|
||||
compiler: clang
|
||||
- env: TEST=openssl LEAK_DETECTIVE=yes
|
||||
- env: TEST=openssl LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
- env: TEST=gcrypt
|
||||
- env: TEST=gcrypt
|
||||
compiler: clang
|
||||
- env: TEST=gcrypt LEAK_DETECTIVE=yes
|
||||
- env: TEST=gcrypt LEAK_DETECTIVE=yes
|
||||
compiler: clang
|
||||
- env: TEST=apidoc
|
||||
|
||||
-12
@@ -1789,18 +1789,6 @@ GENERATE_XML = NO
|
||||
|
||||
XML_OUTPUT = xml
|
||||
|
||||
# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
|
||||
# validating XML parser to check the syntax of the XML files.
|
||||
# This tag requires that the tag GENERATE_XML is set to YES.
|
||||
|
||||
XML_SCHEMA =
|
||||
|
||||
# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
|
||||
# validating XML parser to check the syntax of the XML files.
|
||||
# This tag requires that the tag GENERATE_XML is set to YES.
|
||||
|
||||
XML_DTD =
|
||||
|
||||
# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
|
||||
# listings (including syntax highlighting and cross-referencing information) to
|
||||
# the XML output. Note that enabling this will significantly increase the size
|
||||
|
||||
@@ -24,6 +24,11 @@ config_includedir = $(ipseclibdir)/include
|
||||
nodist_config_include_HEADERS = config.h
|
||||
endif
|
||||
|
||||
# we can't (and shouldn't) install/uninstall system files during make distcheck,
|
||||
# so override the autodetected path for systemd units
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-systemdsystemunitdir='$$(prefix)/lib/systemd/system'
|
||||
|
||||
# we leave config files behind intentionally so prevent distcheck from complaining
|
||||
distuninstallcheck_listfiles = find . -type f \! -name '*.conf' \! -name '*.secrets' -print
|
||||
|
||||
|
||||
+13
-18
@@ -49,7 +49,8 @@ build_tss2()
|
||||
curl -L $TSS2_SRC | tar xz -C $TRAVIS_BUILD_DIR/.. &&
|
||||
cd $TSS2_DIR &&
|
||||
./configure &&
|
||||
sudo make -j4 install >/dev/null &&
|
||||
make -j4 >/dev/null &&
|
||||
sudo make install >/dev/null &&
|
||||
sudo ldconfig || exit $?
|
||||
cd -
|
||||
}
|
||||
@@ -98,11 +99,9 @@ all|coverage|sonarcloud)
|
||||
--disable-kernel-pfroute --disable-keychain
|
||||
--disable-lock-profiler --disable-padlock --disable-fuzzing
|
||||
--disable-osx-attr --disable-tkm --disable-uci
|
||||
--disable-systemd --disable-soup --disable-unwind-backtraces
|
||||
--disable-soup --disable-unwind-backtraces
|
||||
--disable-svc --disable-dbghelp-backtraces --disable-socket-win
|
||||
--disable-kernel-wfp --disable-kernel-iph --disable-winhttp"
|
||||
# Ubuntu 14.04 does not provide libnm
|
||||
CONFIG="$CONFIG --disable-nm"
|
||||
# not enabled on the build server
|
||||
CONFIG="$CONFIG --disable-af-alg"
|
||||
if test "$TEST" != "coverage"; then
|
||||
@@ -113,8 +112,8 @@ all|coverage|sonarcloud)
|
||||
fi
|
||||
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
|
||||
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
|
||||
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev
|
||||
libjson0-dev iptables-dev python-pip libtspi-dev"
|
||||
libpcsclite-dev libpam0g-dev binutils-dev libunwind8-dev libnm-dev
|
||||
libjson0-dev iptables-dev python-pip libtspi-dev libsystemd-dev"
|
||||
PYDEPS="pytest"
|
||||
if test "$1" = "deps"; then
|
||||
build_botan
|
||||
@@ -130,10 +129,12 @@ win*)
|
||||
--enable-updown --enable-ext-auth --enable-libipsec
|
||||
--enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation
|
||||
--enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc
|
||||
--enable-pki --enable-swanctl --enable-socket-win"
|
||||
--enable-pki --enable-swanctl --enable-socket-win
|
||||
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
|
||||
# no make check for Windows binaries unless we run on a windows host
|
||||
if test "$APPVEYOR" != "True"; then
|
||||
TARGET=
|
||||
CCACHE=ccache
|
||||
else
|
||||
CONFIG="$CONFIG --enable-openssl"
|
||||
CFLAGS="$CFLAGS -I/c/OpenSSL-$TEST/include"
|
||||
@@ -144,21 +145,14 @@ win*)
|
||||
DEPS="gcc-mingw-w64-base"
|
||||
case "$TEST" in
|
||||
win64)
|
||||
# headers on 12.04 are too old, so we only build the plugins here
|
||||
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces
|
||||
--enable-kernel-iph --enable-kernel-wfp --enable-winhttp"
|
||||
CONFIG="--host=x86_64-w64-mingw32 $CONFIG --enable-dbghelp-backtraces"
|
||||
DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-x86-64-dev $DEPS"
|
||||
CC="x86_64-w64-mingw32-gcc"
|
||||
# apply patch to MinGW headers
|
||||
if test "$APPVEYOR" != "True" -a -z "$1"; then
|
||||
sudo patch -f -p 4 -d /usr/share/mingw-w64/include < src/libcharon/plugins/kernel_wfp/mingw-w64-4.8.1.diff
|
||||
fi
|
||||
CC="$CCACHE x86_64-w64-mingw32-gcc"
|
||||
;;
|
||||
win32)
|
||||
CONFIG="--host=i686-w64-mingw32 $CONFIG"
|
||||
# currently only works on 12.04, so use mingw-w64-dev instead of mingw-w64-i686-dev
|
||||
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev $DEPS"
|
||||
CC="i686-w64-mingw32-gcc"
|
||||
DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-i686-dev $DEPS"
|
||||
CC="$CCACHE i686-w64-mingw32-gcc"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -291,6 +285,7 @@ sonarcloud)
|
||||
-Dsonar.projectKey=strongswan \
|
||||
-Dsonar.projectVersion=$(git describe)+${TRAVIS_BUILD_NUMBER} \
|
||||
-Dsonar.sources=. \
|
||||
-Dsonar.cfamily.threads=2 \
|
||||
-Dsonar.cfamily.build-wrapper-output=bw-output || exit $?
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -43,10 +43,12 @@ struct private_gcrypt_plugin_t {
|
||||
gcrypt_plugin_t public;
|
||||
};
|
||||
|
||||
#if GCRYPT_VERSION_NUMBER < 0x010600
|
||||
/**
|
||||
* Define gcrypt multi-threading callbacks as gcry_threads_pthread
|
||||
*/
|
||||
GCRY_THREAD_OPTION_PTHREAD_IMPL;
|
||||
#endif
|
||||
|
||||
METHOD(plugin_t, get_name, char*,
|
||||
private_gcrypt_plugin_t *this)
|
||||
@@ -163,7 +165,9 @@ plugin_t *gcrypt_plugin_create()
|
||||
{
|
||||
private_gcrypt_plugin_t *this;
|
||||
|
||||
#if GCRYPT_VERSION_NUMBER < 0x010600
|
||||
gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
|
||||
#endif
|
||||
|
||||
if (!gcry_check_version(GCRYPT_VERSION))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user