as described on https://docs.travis-ci.com/user/multi-cpu-architectures
travis-ci
now supports amd64, ppcle, arm64, s390 architectures. Add arm64 and s390x.
travis-ci images were upgraded to bionic.
"sudo" is deprecated, let us remove it, also "matrix" is deprecated in
favour of "jobs".
LD_LIBRARY_PATH was replaced by using "rpath" in LDFLAGS, which is more
elegant way of linking.
also, dependencies were upgraded to the latest versions.
travis_wait was added for long openssl builds.
cmocka was added to linux and osx builds.
Acked-by: Lev Stipakov <lstipakov@gmail.com>
Message-Id: <20200322123521.17710-1-chipitsine@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19574.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
| ... | ... |
@@ -1,5 +1,4 @@ |
| 1 |
-sudo: required |
|
| 2 |
-dist: xenial |
|
| 1 |
+dist: bionic |
|
| 3 | 2 |
|
| 4 | 3 |
os: linux |
| 5 | 4 |
|
| ... | ... |
@@ -11,86 +10,111 @@ env: |
| 11 | 11 |
- PREFIX="${HOME}/opt"
|
| 12 | 12 |
- TAP_WINDOWS_VERSION=9.23.3 |
| 13 | 13 |
- LZO_VERSION=2.10 |
| 14 |
- - PKCS11_HELPER_VERSION=1.25.1 |
|
| 15 |
- - MBEDTLS_VERSION=2.16.1 |
|
| 14 |
+ - PKCS11_HELPER_VERSION=1.26 |
|
| 15 |
+ - MBEDTLS_VERSION=2.16.4 |
|
| 16 | 16 |
- MBEDTLS_CFLAGS="-I${PREFIX}/include"
|
| 17 | 17 |
- MBEDTLS_LIBS="-L${PREFIX}/lib -lmbedtls -lmbedx509 -lmbedcrypto"
|
| 18 |
- - OPENSSL_VERSION=1.0.2s |
|
| 18 |
+ - OPENSSL_VERSION=1.0.2u |
|
| 19 | 19 |
- OPENSSL_CFLAGS="-I${PREFIX}/include"
|
| 20 | 20 |
- OPENSSL_LIBS="-L${PREFIX}/lib -lssl -lcrypto"
|
| 21 | 21 |
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created |
| 22 | 22 |
# via the "travis encrypt" command using the project repo's public key |
| 23 | 23 |
- secure: "l9mSnEW4LJqjxftH5i1NdDaYfGmQB1mPXnSB3DXnsjzkCWZ+yJLfBemfQ0tx/wS7chBYxqUaUIMT0hw4zJVp/LANFJo2vfh//ymTS6h0uApRY1ofg9Pp1BFcV1laG6/u8pwSZ2EBy/GhCd3DS436oE8sYBRaFM9FU62L/oeQBfJ7r4ID/0eB1b8bqlbD4paty9MHui2P8EZJwR+KAD84prtfpZOcrSMxPh9OUhJxzxUvvVoP4s4+lZ5Kgg1bBQ3yzKGDqe8VOgK2BWCEuezqhMMc8oeKmAe7CUkoz5gsGYH++k3I9XzP9Z4xeJKoQnC/82qi4xkJmlaOxdionej9bHIcjfRt7D8j1J0U+wOj4p8VrDy7yHaxuN2fi0K5MGa/CaXQSrkna8dePniCng+xQ2MY/zxuRX2gA6xPNLUyQLU9LqIug7wj4z84Hk9iWib4L20MoPjeEo+vAUNq8FtjOPxMuHNpv4iGGx6kgJm7RXl5vC5hxfK6MprrnYe2U5Mcd8jpzagKBaKHL3zV2FxX9k0jRO9Mccz7M2WnaV0MQ6zcngzTN4+s0kCjhfGKd2F2ANT2Gkhj3Me36eNHfuE0dBbvYCMh4b3Mgd7b/OuXwQWdJ8PjJ1WHXjSOw5sHw1suaV6cEO2Meyz5j1tOkyOi0M9QF+LFenQ9vLH4sBCww8U=" |
| 24 | 24 |
|
| 25 |
-matrix: |
|
| 25 |
+jobs: |
|
| 26 | 26 |
include: |
| 27 |
- - env: |
|
| 27 |
+ - name: cl |
|
| 28 |
+ env: |
|
| 28 | 29 |
- SSLLIB="openssl" |
| 29 | 30 |
- OPENSSL_VERSION="1.1.1d" |
| 30 | 31 |
- P7Z="c:\Program Files\7-Zip\7z.exe" |
| 31 | 32 |
- CC="cl" |
| 32 | 33 |
os: windows |
| 33 | 34 |
compiler: cl |
| 34 |
- - env: SSLLIB="openssl" RUN_COVERITY="1" |
|
| 35 |
+ - name: Coverity scan |
|
| 36 |
+ env: SSLLIB="openssl" RUN_COVERITY="1" |
|
| 35 | 37 |
os: linux |
| 36 | 38 |
compiler: gcc |
| 37 |
- - env: SSLLIB="openssl" OPENSSL_VERSION="1.0.1u" |
|
| 39 |
+ - name: gcc | openssl-1.0.1u |
|
| 40 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.0.1u" |
|
| 38 | 41 |
os: linux |
| 39 | 42 |
compiler: gcc |
| 40 |
- - env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1c" |
|
| 43 |
+ - name: gcc | openssl-1.1.1d |
|
| 44 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1d" |
|
| 41 | 45 |
os: linux |
| 46 |
+ arch: amd64 |
|
| 42 | 47 |
compiler: gcc |
| 43 |
- - env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1c" LABEL="linux-ppc64le" |
|
| 44 |
- os: linux-ppc64le |
|
| 48 |
+ - name: gcc | openssl-1.1.1d |
|
| 49 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1d" |
|
| 50 |
+ os: linux |
|
| 51 |
+ arch: ppc64le |
|
| 52 |
+ compiler: gcc |
|
| 53 |
+ - name: gcc | openssl-1.1.1d |
|
| 54 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1d" |
|
| 55 |
+ os: linux |
|
| 56 |
+ arch: arm64 |
|
| 57 |
+ compiler: gcc |
|
| 58 |
+ - name: gcc | openssl-1.1.1d |
|
| 59 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1d" |
|
| 60 |
+ os: linux |
|
| 61 |
+ arch: s390x |
|
| 45 | 62 |
compiler: gcc |
| 46 |
- - env: SSLLIB="openssl" EXTRA_CONFIG="--enable-iproute2" |
|
| 63 |
+ - name: gcc | openssl-1.0.2u | iproute2 |
|
| 64 |
+ env: SSLLIB="openssl" EXTRA_CONFIG="--enable-iproute2" |
|
| 47 | 65 |
os: linux |
| 48 | 66 |
compiler: gcc |
| 49 |
- - env: SSLLIB="openssl" CFLAGS="-fsanitize=address" CC=clang-9 |
|
| 67 |
+ - name: clang+asan | openssl-1.0.2u |
|
| 68 |
+ env: SSLLIB="openssl" CFLAGS="-fsanitize=address" CC=clang-9 |
|
| 50 | 69 |
os: linux |
| 51 | 70 |
compiler: clang |
| 52 |
- - env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1c" CC=clang-9 |
|
| 71 |
+ - name: clang | openssl-1.1.1d |
|
| 72 |
+ env: SSLLIB="openssl" OPENSSL_VERSION="1.1.1d" CC=clang-9 |
|
| 53 | 73 |
os: linux |
| 54 | 74 |
compiler: clang |
| 55 |
- - env: SSLLIB="mbedtls" |
|
| 75 |
+ - name: gcc | mbedtls |
|
| 76 |
+ env: SSLLIB="mbedtls" |
|
| 56 | 77 |
os: linux |
| 57 | 78 |
compiler: gcc |
| 58 |
- - env: SSLLIB="mbedtls" CFLAGS="-fsanitize=address" CC=clang-9 |
|
| 79 |
+ - name: clang+asan | mbedtls |
|
| 80 |
+ env: SSLLIB="mbedtls" CFLAGS="-fsanitize=address" CC=clang-9 |
|
| 59 | 81 |
os: linux |
| 60 | 82 |
compiler: clang |
| 61 |
- - env: SSLLIB="openssl" |
|
| 83 |
+ - name: clang | openssl-1.0.2u |
|
| 84 |
+ env: SSLLIB="openssl" |
|
| 62 | 85 |
os: osx |
| 63 | 86 |
compiler: clang |
| 64 |
- - env: SSLLIB="mbedtls" |
|
| 87 |
+ - name: clang | mbedtls |
|
| 88 |
+ env: SSLLIB="mbedtls" |
|
| 65 | 89 |
os: osx |
| 66 | 90 |
compiler: clang |
| 67 |
- - env: SSLLIB="openssl" CHOST=x86_64-w64-mingw32 OPENSSL_VERSION="1.0.1u" |
|
| 91 |
+ - name: mingw64 | openssl-1.0.1u |
|
| 92 |
+ env: SSLLIB="openssl" CHOST=x86_64-w64-mingw32 OPENSSL_VERSION="1.0.1u" |
|
| 68 | 93 |
os: linux |
| 69 | 94 |
compiler: ": Win64 build only" |
| 70 |
- - env: SSLLIB="openssl" CHOST=x86_64-w64-mingw32 OPENSSL_VERSION="1.1.1c" |
|
| 95 |
+ - name: mingw64 | openssl-1.1.1d |
|
| 96 |
+ env: SSLLIB="openssl" CHOST=x86_64-w64-mingw32 OPENSSL_VERSION="1.1.1d" |
|
| 71 | 97 |
os: linux |
| 72 | 98 |
compiler: ": Win64 build only" |
| 73 |
- - env: SSLLIB="openssl" CHOST=i686-w64-mingw32 |
|
| 99 |
+ - name: mingw32 | openssl-1.0.2u |
|
| 100 |
+ env: SSLLIB="openssl" CHOST=i686-w64-mingw32 |
|
| 74 | 101 |
os: linux |
| 75 | 102 |
compiler: ": Win32 build only" |
| 76 |
- - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-lzo" EXTRA_SCRIPT="make distcheck" CC=clang-9 |
|
| 103 |
+ - name: clang | openssl-1.0.2u | disable-lzo | distcheck |
|
| 104 |
+ env: SSLLIB="openssl" EXTRA_CONFIG="--disable-lzo" EXTRA_SCRIPT="make distcheck" CC=clang-9 |
|
| 77 | 105 |
os: linux |
| 78 | 106 |
compiler: clang |
| 79 |
- - env: SSLLIB="openssl" EXTRA_CONFIG="--enable-small" CC=clang-9 |
|
| 107 |
+ - name: clang | openssl-1.0.2u | enable-small |
|
| 108 |
+ env: SSLLIB="openssl" EXTRA_CONFIG="--enable-small" CC=clang-9 |
|
| 80 | 109 |
os: linux |
| 81 | 110 |
compiler: clang |
| 82 | 111 |
|
| 83 | 112 |
addons: |
| 84 | 113 |
apt: |
| 85 |
- sources: |
|
| 86 |
- - ubuntu-toolchain-r-test |
|
| 87 |
- - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' |
|
| 88 |
- key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' |
|
| 89 | 114 |
update: true |
| 90 |
- packages: [ liblzo2-dev, libpam0g-dev, liblz4-dev, linux-libc-dev, man2html, mingw-w64 ] |
|
| 115 |
+ packages: [ liblzo2-dev, libpam0g-dev, liblz4-dev, linux-libc-dev, man2html, mingw-w64, clang-9, libcmocka-dev ] |
|
| 91 | 116 |
homebrew: |
| 92 | 117 |
update: true |
| 93 |
- packages: [ lzo ] |
|
| 118 |
+ packages: [ lzo, lz4, cmocka ] |
|
| 94 | 119 |
|
| 95 | 120 |
cache: |
| 96 | 121 |
directories: |
| ... | ... |
@@ -99,9 +123,8 @@ cache: |
| 99 | 99 |
- ${HOME}/Library/Caches/Homebrew
|
| 100 | 100 |
|
| 101 | 101 |
install: |
| 102 |
- - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$TRAVIS_CPU_ARCH" != "ppc64le" ]; then sudo apt-get install clang-9; fi |
|
| 103 | 102 |
- if [ ! -z "${CHOST}" ]; then unset CC; fi
|
| 104 |
- - .travis/run-build-deps.sh |
|
| 103 |
+ - travis_wait 30 bash -c '.travis/build-deps.sh > build-deps.log 2>&1' || (cat build-deps.log && exit 1) |
|
| 105 | 104 |
|
| 106 | 105 |
before_script: |
| 107 | 106 |
- .travis/coverity.sh |
| ... | ... |
@@ -6,14 +6,6 @@ if [ "${TRAVIS_OS_NAME}" = "windows" ]; then
|
| 6 | 6 |
MSBuild.exe openvpn.sln //p:Platform=x64 && exit 0 |
| 7 | 7 |
fi |
| 8 | 8 |
|
| 9 |
-if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
|
|
| 10 |
- export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH:-}"
|
|
| 11 |
-fi |
|
| 12 |
- |
|
| 13 |
-if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
|
|
| 14 |
- export DYLD_LIBRARY_PATH="${PREFIX}/lib:${DYLD_LIBRARY_PATH:-}"
|
|
| 15 |
-fi |
|
| 16 |
- |
|
| 17 | 9 |
autoreconf -vi |
| 18 | 10 |
|
| 19 | 11 |
if [ -z ${CHOST+x} ]; then
|
| ... | ... |
@@ -21,7 +13,7 @@ if [ -z ${CHOST+x} ]; then
|
| 21 | 21 |
export EXTRA_CONFIG="${EXTRA_CONFIG:-} --enable-werror"
|
| 22 | 22 |
fi |
| 23 | 23 |
./configure --with-crypto-library="${SSLLIB}" ${EXTRA_CONFIG:-} || (cat config.log && exit 1)
|
| 24 |
- make -j$JOBS |
|
| 24 |
+ make LDFLAGS="-Wl,-rpath,${PREFIX}/lib" -j$JOBS
|
|
| 25 | 25 |
src/openvpn/openvpn --version || true |
| 26 | 26 |
if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
|
| 27 | 27 |
ldd src/openvpn/openvpn; |
| ... | ... |
@@ -44,17 +44,19 @@ build_lzo () {
|
| 44 | 44 |
} |
| 45 | 45 |
|
| 46 | 46 |
download_pkcs11_helper () {
|
| 47 |
- if [ ! -f "pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2" ]; then
|
|
| 47 |
+ if [ ! -f "pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz" ]; then
|
|
| 48 | 48 |
wget -P download-cache/ \ |
| 49 |
- "https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-${PKCS11_HELPER_VERSION}/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2"
|
|
| 49 |
+ "https://github.com/OpenSC/pkcs11-helper/archive/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz"
|
|
| 50 | 50 |
fi |
| 51 | 51 |
} |
| 52 | 52 |
|
| 53 | 53 |
build_pkcs11_helper () {
|
| 54 | 54 |
if [ "$(cat ${PREFIX}/.pkcs11_helper-version)" != "${PKCS11_HELPER_VERSION}" ]; then
|
| 55 |
- tar jxf download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2
|
|
| 55 |
+ tar xf download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.gz
|
|
| 56 | 56 |
( |
| 57 |
- cd "pkcs11-helper-${PKCS11_HELPER_VERSION}"
|
|
| 57 |
+ cd "pkcs11-helper-pkcs11-helper-${PKCS11_HELPER_VERSION}"
|
|
| 58 |
+ |
|
| 59 |
+ autoreconf -iv |
|
| 58 | 60 |
|
| 59 | 61 |
./configure --host=${CHOST} --program-prefix='' --libdir=${PREFIX}/lib \
|
| 60 | 62 |
--prefix=${PREFIX} --build=x86_64-pc-linux-gnu \
|
| 61 | 63 |
deleted file mode 100755 |
| ... | ... |
@@ -1,10 +0,0 @@ |
| 1 |
-#!/bin/sh |
|
| 2 |
-set -eux |
|
| 3 |
- |
|
| 4 |
-if [ "${TRAVIS_OS_NAME}" = "windows" ]; then
|
|
| 5 |
- # for windows we need to print output since openssl build |
|
| 6 |
- # might take more than 10 minutes, which causes build abort |
|
| 7 |
- .travis/build-deps.sh |
|
| 8 |
-else |
|
| 9 |
- .travis/build-deps.sh > build-deps.log 2>&1 || (cat build-deps.log && exit 1) |
|
| 10 |
-fi |