summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre GRANDIN <pgrandin@users.noreply.github.com>2016-11-30 14:36:03 -0800
committerGitHub <noreply@github.com>2016-11-30 14:36:03 -0800
commitf99c104c93b7fc41672695368271c157135e5415 (patch)
treea8b2c2acdce9e7ef8de3e8df9754a6d9fcb9720f
parent04f6fbdfe031fc19a22fbf0e5794d3e68f291f9d (diff)
parent58985225ba09cd8fb77a7f51ec225536c6070e1c (diff)
downloadnavit-f99c104c93b7fc41672695368271c157135e5415.tar.gz
Merge pull request #122 from navit-gps/CI_trusty
Upgrade our CircleCI image to Trusty
-rwxr-xr-xToolchain/arm-eabi.cmake2
-rw-r--r--ci/build.sh7
-rw-r--r--ci/build_android.sh9
-rw-r--r--ci/build_android_x86.sh11
-rw-r--r--ci/build_linux.sh21
-rw-r--r--ci/build_tomtom_minimal.sh20
-rw-r--r--ci/build_tomtom_plugin.sh8
-rw-r--r--ci/build_win32.sh8
-rw-r--r--circle.yml37
-rw-r--r--navit/android/src/org/navitproject/navit/Navit.java3
-rw-r--r--navit/android/src/org/navitproject/navit/NavitGraphics.java2
11 files changed, 75 insertions, 53 deletions
diff --git a/Toolchain/arm-eabi.cmake b/Toolchain/arm-eabi.cmake
index 9f5473b4b..7c8190667 100755
--- a/Toolchain/arm-eabi.cmake
+++ b/Toolchain/arm-eabi.cmake
@@ -1,7 +1,7 @@
set(CMAKE_SYSTEM_NAME GNU)
set(ANDROID TRUE)
-set(ANDROID_API_VERSION 8 CACHE STRING "Andriod API Version")
+set(ANDROID_API_VERSION 9 CACHE STRING "Andriod API Version")
set(ANDROID_NDK_API_VERSION ${ANDROID_API_VERSION} CACHE STRING "Andriod NDK API Version")
set(ANDROID_ARCH "armeabi" CACHE STRING "Android architecture")
diff --git a/ci/build.sh b/ci/build.sh
new file mode 100644
index 000000000..7f8f46279
--- /dev/null
+++ b/ci/build.sh
@@ -0,0 +1,7 @@
+echo "$# build script (s) to run"
+
+for i in $(seq 1 $#); do
+ eval s=\$$i
+ echo "Starting build script #$i : $s"
+ bash -e $s
+done
diff --git a/ci/build_android.sh b/ci/build_android.sh
index a063bf2fa..a0a4659c8 100644
--- a/ci/build_android.sh
+++ b/ci/build_android.sh
@@ -4,12 +4,15 @@ grn='\e[0;32m'
yel='\e[1;33m'
off='\e[0m'
+wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
+unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
+
# setup var's to perform environment setup and cmake
export START_PATH=~/
export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/"
export CMAKE_FILE=$SOURCE_PATH"/Toolchain/arm-eabi.cmake"
-export ANDROID_NDK="/usr/local/android-ndk/"
+export ANDROID_NDK=~/android-ndk-r13
export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin"
export ANDROID_SDK="/usr/local/android-sdk-linux/"
@@ -39,14 +42,14 @@ else
echo
fi
-mkdir -p $BUILD_PATH
+[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH
cd $BUILD_PATH
export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_TOOLS:$ANDROID_SDK_PLATFORM_TOOLS:$PATH
android list targets
mkdir $CIRCLE_ARTIFACTS/android/
cp ~/navit/navit/android/CMakeLists.txt $CIRCLE_ARTIFACTS/android/
-cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=21 -DANDROID_NDK_API_VERSION=19 $SOURCE_PATH
+cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 $SOURCE_PATH
make || exit 1
if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
make apkg-release && mv navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-release-unsigned.apk || exit 1
diff --git a/ci/build_android_x86.sh b/ci/build_android_x86.sh
index 6755ad347..022b7f5af 100644
--- a/ci/build_android_x86.sh
+++ b/ci/build_android_x86.sh
@@ -1,17 +1,22 @@
export START_PATH=~/
export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/"
export CMAKE_FILE=$SOURCE_PATH"/Toolchain/i686-android.cmake"
-export ANDROID_NDK="/usr/local/android-ndk/"
+export ANDROID_NDK=~/android-ndk-r13
export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/x86-4.9/prebuilt/linux-x86_64/bin"
export ANDROID_SDK="/usr/local/android-sdk-linux/"
export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools"
export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH
+export BUILD_PATH=$START_PATH"/android-x86"
-mkdir android-x86 && cd android-x86
+wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
+unzip -q -d ~ android-ndk-r13-linux-x86_64.zip
+
+[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH
+cd $BUILD_PATH
android list targets
-cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=21 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 ../ || exit -1
+cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 $SOURCE_PATH || exit -1
make || exit -1
if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
diff --git a/ci/build_linux.sh b/ci/build_linux.sh
index 23716b5f5..3a28eb037 100644
--- a/ci/build_linux.sh
+++ b/ci/build_linux.sh
@@ -1,9 +1,15 @@
+sudo apt-get install cmake libpng12-dev librsvg2-bin libfreetype6-dev libdbus-glib-1-dev g++ libgtk2.0-dev
+
+cmake_opts="-Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n -Dgraphics/gtk_drawing_area:BOOL=TRUE"
+
if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trunk" ]]; then
+ # If we are building the official trunk code, push an update to coverity
+ wget -nv -c -O ~/assets/cov-analysis-linux64-7.6.0.tar.gz http://sd-55475.dedibox.fr/cov-analysis-linux64-7.6.0.tar.gz
tar xfz ~/assets/cov-analysis-linux64-7.6.0.tar.gz
export PATH=~/navit/cov-analysis-linux64-7.6.0/bin:$PATH
mkdir bin && cd bin
- cov-build --dir cov-int cmake ../ -Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n
+ cov-build --dir cov-int cmake ../ ${cmake_opts}
cov-build --dir cov-int make || exit -1
tar czvf navit.tgz cov-int
@@ -13,9 +19,18 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun
--form version="${CIRCLE_BRANCH}-$CIRCLE_SHA1" \
--form description="${CIRCLE_BRANCH}-$CIRCLE_SHA1" \
https://scan.coverity.com/builds?project=$CIRCLE_PROJECT_USERNAME
+
+ # Then update the translation template on launchpad
+ sed -i '/INTEGER/d' bin/po/navit.pot
+ cp bin/po/navit.pot $CIRCLE_ARTIFACTS/
+ curl "https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -H "$lp_cookie" -H "Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -F file=@bin/po/navit.pot | grep title
+
else
mkdir bin && cd bin
- cmake ../ -Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n -Dgraphics/gtk_drawing_area:BOOL=TRUE|| exit -1
+ cmake ../ ${cmake_opts} || exit -1
make || exit -1
fi
-# cp -r navit/xpm $CIRCLE_ARTIFACTS
+
+if [[ "$CIRCLE_ARTIFACTS" != "" ]]; then
+ cp -r navit/xpm $CIRCLE_ARTIFACTS
+fi
diff --git a/ci/build_tomtom_minimal.sh b/ci/build_tomtom_minimal.sh
index cb0bf7472..6a8582be1 100644
--- a/ci/build_tomtom_minimal.sh
+++ b/ci/build_tomtom_minimal.sh
@@ -37,12 +37,12 @@ mkdir -p ~/tomtom_assets
if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz" ]
then
- wget -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
+ wget -nv -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
fi
-if ! test -f "~/tomtom_assets/libpng-1.6.25.tar.gz"
+if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz"
then
- wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets
+ wget -nv -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets
fi
# toolchain
@@ -53,7 +53,7 @@ tar xzf ~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz
# zlib
cd /tmp
-wget -c http://zlib.net/zlib-1.2.8.tar.gz
+wget -nv -c http://zlib.net/zlib-1.2.8.tar.gz
tar xzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=$PREFIX
@@ -62,7 +62,7 @@ make install
# libxml
cd /tmp/
-wget -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz
+wget -nv -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz
tar xzf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8/
./configure --prefix=$PREFIX --host=$ARCH --without-python
@@ -79,7 +79,7 @@ make install
cd /tmp
-wget -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz
+wget -nv -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz
tar xzf freetype-2.5.0.tar.gz
cd freetype-2.5.0
./configure --prefix=$PREFIX --host=$ARCH
@@ -90,7 +90,7 @@ freetype-config --cflags
# glib
cd /tmp
-wget -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz
+wget -nv -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz
tar xzf glib-2.25.17.tar.gz
cd glib-2.25.17
cat > tomtom.cache << EOF
@@ -125,10 +125,10 @@ make install
cd /tmp
-wget -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz
+wget -nv -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz
tar xzf SDL-1.2.15.tar.gz
cd SDL-1.2.15
-wget -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch
+wget -nv -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch
patch -p0 -i sdl-fbcon-notty.patch
./configure --prefix=$PREFIX --host=$ARCH \
--disable-esd --disable-cdrom --disable-joystick --disable-video-x11 \
@@ -143,7 +143,7 @@ export PATH=$PREFIX/bin:$PATH
# sdl image
cd /tmp
-wget -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz
+wget -nv -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz
tar xzf SDL_image-1.2.12.tar.gz
cd SDL_image-1.2.12
./configure --prefix=$PREFIX --host=$ARCH
diff --git a/ci/build_tomtom_plugin.sh b/ci/build_tomtom_plugin.sh
index 93dcce3dd..3080b39c1 100644
--- a/ci/build_tomtom_plugin.sh
+++ b/ci/build_tomtom_plugin.sh
@@ -39,9 +39,9 @@ if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.
wget -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets
fi
-if ! test -f "~/tomtom_assets/libpng-1.6.25.tar.gz"
+if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz"
then
- wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.25.tar.gz -P ~/tomtom_assets
+ wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets
fi
# toolchain
@@ -195,8 +195,8 @@ make install
# libpng
cd /tmp/
-tar xzf ~/tomtom_assets/libpng-1.6.25.tar.gz
-cd libpng-1.6.25/
+tar xzf ~/tomtom_assets/libpng-1.6.26.tar.gz
+cd libpng-1.6.26/
./configure --prefix=$PREFIX --host=$ARCH
make -j$JOBS
make install
diff --git a/ci/build_win32.sh b/ci/build_win32.sh
new file mode 100644
index 000000000..de5156843
--- /dev/null
+++ b/ci/build_win32.sh
@@ -0,0 +1,8 @@
+sudo apt-get install mingw32 mingw32-binutils mingw32-runtime default-jdk nsis
+
+mkdir win32
+pushd win32
+cmake -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ../ && make && make package
+popd
+
+cp win32/*.exe $CIRCLE_ARTIFACTS/
diff --git a/circle.yml b/circle.yml
index ff3df2850..04470f87e 100644
--- a/circle.yml
+++ b/circle.yml
@@ -10,43 +10,26 @@ dependencies:
pre:
- "[ -d ~/assets ] || mkdir ~/assets"
- "[ -d ~/android ] || mkdir ~/android"
- - wget -c -O ~/assets/cov-analysis-linux64-7.6.0.tar.gz http://sd-55475.dedibox.fr/cov-analysis-linux64-7.6.0.tar.gz
- sudo apt-get update
- - sudo apt-get install cmake
- - sudo apt-get install libpng12-dev
- - sudo apt-get install librsvg2-bin
- - sudo apt-get install libfreetype6-dev
- - sudo apt-get install libdbus-glib-1-dev
- - sudo apt-get install g++
- bash ci/update_version.sh prepare
- - bash ci/build_linux.sh
- - sed -i '/INTEGER/d' bin/po/navit.pot
- - cp bin/po/navit.pot $CIRCLE_ARTIFACTS/
- - "[ $CIRCLE_PROJECT_USERNAME != navit-gps ] || curl \"https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload\" -H \"$lp_cookie\" -H \"Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload\" -F file=@bin/po/navit.pot | grep title"
# Android build
- sudo apt-get install gettext
- sudo apt-get install libsaxonb-java
# for aapt
- sudo apt-get install lib32stdc++6
- sudo apt-get install lib32z1
- - bash ci/build_android.sh
- - bash ci/build_android_x86.sh
-# Tomtom minimal build
- - bash ci/build_tomtom_minimal.sh
-# Windows build
- - sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
- - sudo apt-get install default-jdk nsis
-# for sys/select.h
-# - sudo apt-get install -y libc6-dev
- - mkdir win32
- - cmake -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ../ && make && make package:
- pwd: win32/
- - cp win32/*.exe $CIRCLE_ARTIFACTS/
# For python testing with junit reporting
- - sudo pip install junit-xml
-#
- - ls -la $CIRCLE_ARTIFACTS
+ - sudo apt-get install python-gobject libdbus-glib-1-dev python-dev
+ - pip install junit-xml dbus-python
+ - ln -s /usr/lib/python2.7/dist-packages/gobject /opt/circleci/python/2.7.11/lib/python2.7/site-packages/
+ - ln -s /usr/lib/python2.7/dist-packages/glib /opt/circleci/python/2.7.11/lib/python2.7/site-packages/
test:
+
+ override:
+ - bash ci/build.sh:
+ parallel: true
+ files:
+ - ci/build_*.sh
post:
- sed -i -e 's@name="Local GPS" profilename="car" enabled="yes" active="1"@name="Local GPS" profilename="car" enabled="no" active="0"@' navit.xml:
pwd: bin/navit/
diff --git a/navit/android/src/org/navitproject/navit/Navit.java b/navit/android/src/org/navitproject/navit/Navit.java
index a0c61bd72..c8578df07 100644
--- a/navit/android/src/org/navitproject/navit/Navit.java
+++ b/navit/android/src/org/navitproject/navit/Navit.java
@@ -301,7 +301,8 @@ public class Navit extends Activity
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // Grab a handle to the NotificationManager
Notification NavitNotification = new Notification(R.drawable.ic_notify, getString(R.string.notification_ticker), System.currentTimeMillis()); // Create a new notification, with the text string to show when the notification first appears
PendingIntent appIntent = PendingIntent.getActivity(getApplicationContext(), 0, getIntent(), 0);
- NavitNotification.setLatestEventInfo(getApplicationContext(), "Navit", getString(R.string.notification_event_default), appIntent); // Set the text in the notification
+// FIXME : needs a fix for sdk 23
+// NavitNotification.setLatestEventInfo(getApplicationContext(), "Navit", getString(R.string.notification_event_default), appIntent); // Set the text in the notification
NavitNotification.flags|=Notification.FLAG_ONGOING_EVENT; // Ensure that the notification appears in Ongoing
nm.notify(R.string.app_name, NavitNotification); // Set the notification
diff --git a/navit/android/src/org/navitproject/navit/NavitGraphics.java b/navit/android/src/org/navitproject/navit/NavitGraphics.java
index 031331f68..a41ab52be 100644
--- a/navit/android/src/org/navitproject/navit/NavitGraphics.java
+++ b/navit/android/src/org/navitproject/navit/NavitGraphics.java
@@ -369,7 +369,7 @@ public class NavitGraphics
{
float x = a.x - b.x;
float y = a.y - b.y;
- return FloatMath.sqrt(x * x + y * y);
+ return (float)Math.sqrt(x * x + y * y);
}
private PointF getFloatValue(Object instance, Object argument)