aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Marie <[email protected]>2016-12-20 20:07:41 +0100
committerSébastien Marie <[email protected]>2016-12-21 09:27:21 +0100
commita70e27ae646834619c7abf4a3aef95bfd87666b3 (patch)
tree5259a972db3f840c2e1880e42306209880073913
parentAdd LibreSSL 2.5.0 support (diff)
downloadrust-openssl-a70e27ae646834619c7abf4a3aef95bfd87666b3.tar.xz
rust-openssl-a70e27ae646834619c7abf4a3aef95bfd87666b3.zip
Add Travis build against LibreSSL
-rw-r--r--.travis.yml3
-rwxr-xr-xopenssl/test/build.sh48
-rwxr-xr-xopenssl/test/run.sh16
3 files changed, 44 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml
index 1b79c5b0..e8d89347 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -72,6 +72,8 @@ matrix:
packages:
- gcc-multilib
+ # LibreSSL
+ - env: BUILD_LIBRESSL_VERSION=2.5.0
before_install:
- ./openssl/test/build.sh
@@ -83,4 +85,5 @@ script:
cache:
cargo: true
directories:
+ - $HOME/libressl
- $HOME/openssl
diff --git a/openssl/test/build.sh b/openssl/test/build.sh
index 106a38d3..cd740895 100755
--- a/openssl/test/build.sh
+++ b/openssl/test/build.sh
@@ -3,21 +3,29 @@
set -ex
MAX_REDIRECTS=5
-OPENSSL=openssl-$BUILD_OPENSSL_VERSION.tar.gz
-OUT=/tmp/$OPENSSL
+
+if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then
+ NAME=libressl
+ URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz"
+ URL2="http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${BUILD_LIBRESSL_VERSION}.tar.gz"
+ OUT="/tmp/libressl-${BUILD_OPENSSL_VERSION}.tar.gz"
+elif [ -n "${BUILD_OPENSSL_VERSION}" ]; then
+ NAME=openssl
+ URL1="https://openssl.org/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz"
+ URL2="http://mirrors.ibiblio.org/openssl/source/openssl-${BUILD_OPENSSL_VERSION}.tar.gz"
+ OUT="/tmp/openssl-${BUILD_OPENSSL_VERSION}.tar.gz"
+else
+ exit 0
+fi
me=$0
-myname=`basename $me`
+myname=`basename ${me}`
-cmp --silent $me $HOME/openssl/$myname && exit 0 || echo "cache is busted"
+cmp --silent ${me} ${HOME}/${NAME}/${myname} && exit 0 || echo "cache is busted"
-rm -rf $HOME/openssl
+rm -rf "${HOME}/${NAME}"
-if [ "$TRAVIS_OS_NAME" == "osx" ]; then
- exit 0
-fi
-
-if [ "$BUILD_OPENSSL_VERSION" == "" ]; then
+if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
exit 0
fi
@@ -32,17 +40,21 @@ else
OS_COMPILER=linux-x86_64
fi
-mkdir -p /tmp/openssl
-cp $me /tmp/openssl/$myname
-cd /tmp/openssl
+mkdir -p /tmp/build
+cp ${me} /tmp/build/${myname}
+cd /tmp/build
-curl -o $OUT -L --max-redirs $MAX_REDIRECTS https://openssl.org/source/$OPENSSL \
- || curl -o $OUT -L --max-redirs ${MAX_REDIRECTS} http://mirrors.ibiblio.org/openssl/source/$OPENSSL
+curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} ${URL1} \
+ || curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} ${URL2}
-tar --strip-components=1 -xzf $OUT
+tar --strip-components=1 -xzf ${OUT}
-./Configure --prefix=$HOME/openssl $OS_COMPILER -fPIC $OS_FLAGS
+if [ -n "${BUILD_LIBRESSL_VERSION}" ]; then
+ ./configure --prefix=${HOME}/libressl
+else
+ ./Configure --prefix=${HOME}/openssl ${OS_COMPILER} -fPIC ${OS_FLAGS}
+fi
make -j$(nproc)
make install
-cp $myname $HOME/openssl/$myname
+cp ${myname} ${HOME}/${NAME}/${myname}
diff --git a/openssl/test/run.sh b/openssl/test/run.sh
index 4d3397a6..b07b8e4b 100755
--- a/openssl/test/run.sh
+++ b/openssl/test/run.sh
@@ -12,15 +12,21 @@ esac
echo Using features: $FEATURES
-if [ -d "$HOME/openssl/lib" ]; then
- export OPENSSL_DIR=$HOME/openssl
- export PATH=$HOME/openssl/bin:$PATH
+if [ -n "${BUILD_LIBRESSL_VERSION}" -a -d "$HOME/libressl/lib" ]; then
+ echo "Testing build libressl-${BUILD_LIBRESSL_VERSION}"
+ export OPENSSL_DIR=${HOME}/libressl
+ export PATH="${HOME}/libressl/bin:${PATH}"
+
+elif [ -n "${BUILD_OPENSSL_VERSION}" -a -d "$HOME/openssl/lib" ]; then
+ echo "Testing build openssl-${BUILD_LIBRESSL_VERSION}"
+ export OPENSSL_DIR="${HOME}/openssl"
+ export PATH="${HOME}/openssl/bin:${PATH}"
fi
if [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then
FLAGS="--no-run"
fi
-cargo run --manifest-path systest/Cargo.toml --target $TARGET
+cargo run --manifest-path systest/Cargo.toml --target $TARGET -v
exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \
- --features "$FEATURES" $FLAGS
+ --features "$FEATURES" -v $FLAGS