Add Travis build against LibreSSL
This commit is contained in:
parent
b3526cbd2b
commit
a70e27ae64
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -3,21 +3,29 @@
|
|||
set -ex
|
||||
|
||||
MAX_REDIRECTS=5
|
||||
OPENSSL=openssl-$BUILD_OPENSSL_VERSION.tar.gz
|
||||
OUT=/tmp/$OPENSSL
|
||||
|
||||
me=$0
|
||||
myname=`basename $me`
|
||||
|
||||
cmp --silent $me $HOME/openssl/$myname && exit 0 || echo "cache is busted"
|
||||
|
||||
rm -rf $HOME/openssl
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
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
|
||||
|
||||
if [ "$BUILD_OPENSSL_VERSION" == "" ]; then
|
||||
me=$0
|
||||
myname=`basename ${me}`
|
||||
|
||||
cmp --silent ${me} ${HOME}/${NAME}/${myname} && exit 0 || echo "cache is busted"
|
||||
|
||||
rm -rf "${HOME}/${NAME}"
|
||||
|
||||
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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue