Upgrade to Alpine v3.9 and build against system libs
parent
dab96eb2bd
commit
ebe1437537
13
.travis.yml
13
.travis.yml
|
@ -1,16 +1,25 @@
|
||||||
language: shell
|
language: shell
|
||||||
sudo: required
|
sudo: required
|
||||||
|
|
||||||
|
cache:
|
||||||
|
ccache: true
|
||||||
|
directories:
|
||||||
|
- $HOME/.ccache
|
||||||
|
|
||||||
env:
|
env:
|
||||||
matrix:
|
matrix:
|
||||||
- CHECK=format
|
- CHECK=format
|
||||||
- CHECK=docs
|
- CHECK=docs
|
||||||
|
- CHECK=build TYPE=debug COMPILER=g++
|
||||||
|
- CHECK=build TYPE=release COMPILER=g++
|
||||||
|
- CHECK=build TYPE=debug COMPILER=clang++
|
||||||
|
- CHECK=build TYPE=release COMPILER=clang++
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- sudo resources/travis/setup.sh $CHECK
|
- sudo -E resources/travis/setup.sh
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- sudo resources/travis/build.sh $CHECK
|
- sudo -E resources/travis/build.sh
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
|
|
@ -3,29 +3,32 @@ set -e
|
||||||
|
|
||||||
. "$(dirname "$0")"/common.sh
|
. "$(dirname "$0")"/common.sh
|
||||||
|
|
||||||
for arg in "$@"
|
for arg in "$CHECK"
|
||||||
do
|
do
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
format) ENABLE_FORMAT=true;;
|
format) ENABLE_FORMAT=true;;
|
||||||
docs) ENABLE_DOCS=true;;
|
docs) ENABLE_DOCS=true;;
|
||||||
|
build) ENABLE_BUILD=true;;
|
||||||
*) echo "Unknown command: $1" && exit 1
|
*) echo "Unknown command: $1" && exit 1
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
alpine_run prepare <<-EOF
|
alpine_run prepare <<-EOF
|
||||||
mkdir -p /tmp/build/format
|
mkdir ~/format
|
||||||
mkdir -p /tmp/build/docs
|
mkdir ~/docs
|
||||||
|
mkdir ~/app
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$ENABLE_FORMAT" = true ]; then
|
if [ "$ENABLE_FORMAT" = true ]; then
|
||||||
alpine_run format <<-EOF
|
alpine_run format <<-EOF
|
||||||
cd /tmp/build/format
|
set -e
|
||||||
|
cd ~/format
|
||||||
|
|
||||||
cmake -Dtools.only=ON ~
|
cmake -Dtools.only=ON ~/src
|
||||||
make format
|
make format
|
||||||
cd ~
|
cd ~/src
|
||||||
git add .
|
git add .
|
||||||
git --no-pager diff --staged
|
git --no-pager diff --staged
|
||||||
git diff-index --quiet HEAD
|
git diff-index --quiet HEAD
|
||||||
|
@ -35,10 +38,25 @@ fi
|
||||||
|
|
||||||
if [ "$ENABLE_DOCS" = true ]; then
|
if [ "$ENABLE_DOCS" = true ]; then
|
||||||
alpine_run docs <<-EOF
|
alpine_run docs <<-EOF
|
||||||
cd /tmp/build/docs
|
set -e
|
||||||
|
cd ~/docs
|
||||||
|
|
||||||
cmake -Dtools.only=ON ~
|
cmake -Dtools.only=ON ~/src
|
||||||
make sdk
|
make sdk
|
||||||
make notes
|
make notes
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$ENABLE_BUILD" = true ]; then
|
||||||
|
alpine_run build <<-EOF
|
||||||
|
set -e
|
||||||
|
cd ~/app
|
||||||
|
|
||||||
|
cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$TYPE ~/src
|
||||||
|
cmake --build .
|
||||||
|
ctest --output-on-failure
|
||||||
|
src/AusweisApp2 -platform offscreen --help
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
readonly ALPINE_ROOT='/mnt/alpine'
|
readonly ALPINE_ROOT='/mnt/alpine'
|
||||||
readonly ALPINE_USER='governikus'
|
readonly ALPINE_USER='governikus'
|
||||||
|
readonly ALPINE_HOME="${ALPINE_ROOT}/home/${ALPINE_USER}"
|
||||||
|
readonly ALPINE_SRC="${ALPINE_HOME}/src"
|
||||||
|
readonly ALPINE_CCACHE="${ALPINE_HOME}/.ccache"
|
||||||
|
|
||||||
alpine_run() {
|
alpine_run() {
|
||||||
local folding="${1:-chroot}"
|
local folding="${1:-chroot}"
|
||||||
|
|
|
@ -5,8 +5,8 @@ set -eu
|
||||||
|
|
||||||
readonly CLONE_DIR="${CLONE_DIR:-$(pwd)}"
|
readonly CLONE_DIR="${CLONE_DIR:-$(pwd)}"
|
||||||
|
|
||||||
MINIROOTFS_VERSION="3.8.0"
|
MINIROOTFS_VERSION="3.9.0"
|
||||||
MINIROOTFS_SHA="ae36d6ea2033131cfc649afa13d7271367c386e7a0dbd5b3d0671a2ede22a2f1"
|
MINIROOTFS_SHA="f82efed1a80c9af86c38bed10f3541c5588453b97684d767a5a3b0f3fa0e3f09"
|
||||||
|
|
||||||
MINIROOTFS="alpine-minirootfs-${MINIROOTFS_VERSION}-x86_64.tar.gz"
|
MINIROOTFS="alpine-minirootfs-${MINIROOTFS_VERSION}-x86_64.tar.gz"
|
||||||
MINIROOTFS_URI="http://dl-cdn.alpinelinux.org/alpine/v${MINIROOTFS_VERSION%.*}/releases/x86_64/$MINIROOTFS"
|
MINIROOTFS_URI="http://dl-cdn.alpinelinux.org/alpine/v${MINIROOTFS_VERSION%.*}/releases/x86_64/$MINIROOTFS"
|
||||||
|
@ -30,11 +30,12 @@ ln -sf /run/shm dev/shm
|
||||||
|
|
||||||
|
|
||||||
PACKAGES="cmake make ninja git"
|
PACKAGES="cmake make ninja git"
|
||||||
for arg in "$@"
|
for arg in "$CHECK"
|
||||||
do
|
do
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
format) PACKAGES="$PACKAGES uncrustify";;
|
format) PACKAGES="$PACKAGES uncrustify";;
|
||||||
docs) PACKAGES="$PACKAGES py2-sphinx py2-setuptools";;
|
docs) PACKAGES="$PACKAGES py2-sphinx py2-setuptools";;
|
||||||
|
build) PACKAGES="$PACKAGES clang g++ ccache binutils-gold eudev-dev pcsc-lite-dev http-parser-dev openssl-dev qt5-qtsvg-dev qt5-qtquickcontrols2-dev qt5-qtwebsockets-dev qt5-qtconnectivity-dev qt5-qtbase-dev qt5-qttools-dev";;
|
||||||
*) echo "Unknown command: $1" && exit 1
|
*) echo "Unknown command: $1" && exit 1
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
@ -46,7 +47,11 @@ alpine_run packages root <<-EOF
|
||||||
apk add $PACKAGES
|
apk add $PACKAGES
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
mount --bind "$CLONE_DIR" "${ALPINE_ROOT}/home/${ALPINE_USER}"
|
mkdir ${ALPINE_SRC}
|
||||||
|
mkdir ${ALPINE_CCACHE}
|
||||||
|
mount --bind "$CLONE_DIR" "${ALPINE_SRC}"
|
||||||
|
mount --bind "$HOME/.ccache" "${ALPINE_CCACHE}"
|
||||||
|
chmod 777 "$ALPINE_CCACHE"
|
||||||
|
|
||||||
alpine_run chown root <<-EOF
|
alpine_run chown root <<-EOF
|
||||||
chown -R $ALPINE_USER: /home/${ALPINE_USER}
|
chown -R $ALPINE_USER: /home/${ALPINE_USER}
|
||||||
|
|
Loading…
Reference in New Issue