From accacc1755225f0fcd0d25009e45aeaa7dcff049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Karas?= Date: Tue, 14 May 2024 23:33:20 +0200 Subject: [PATCH 1/3] copy-paste error --- ci/docker/runAll.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/docker/runAll.sh b/ci/docker/runAll.sh index cbe431039..a958d620b 100755 --- a/ci/docker/runAll.sh +++ b/ci/docker/runAll.sh @@ -48,7 +48,7 @@ if [ $RESULT_debian_buster_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FA echo -ne "debian_bullseye_gcc_meson " if [ $RESULT_debian_bullseye_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi -echo -ne "debian_bullseye_gcc_meson " +echo -ne "debian_bookworm_gcc_meson " if [ $RESULT_debian_bookworm_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi echo -ne "ubuntu_22.04_gcc_cmake " From 6512024b29727613be4559b47c730b1d93064933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Karas?= Date: Wed, 15 May 2024 00:06:30 +0200 Subject: [PATCH 2/3] downgrade archlinux image to solve missing symbol Build in latest archlinux is failing with: /usr/sbin/ld: /usr/lib/libpango-1.0.so: undefined reference to `g_once_init_enter_pointer' --- ci/docker/archlinux_clang_cmake/Dockerfile | 2 +- ci/docker/archlinux_gcc_cmake/Dockerfile | 2 +- ci/docker/archlinux_gcc_meson/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/docker/archlinux_clang_cmake/Dockerfile b/ci/docker/archlinux_clang_cmake/Dockerfile index 80648f78c..2f2f27997 100644 --- a/ci/docker/archlinux_clang_cmake/Dockerfile +++ b/ci/docker/archlinux_clang_cmake/Dockerfile @@ -1,4 +1,4 @@ -FROM archlinux:base +FROM archlinux:base-20231112.0.191179 RUN pacman --noconfirm --needed -Sy \ git \ diff --git a/ci/docker/archlinux_gcc_cmake/Dockerfile b/ci/docker/archlinux_gcc_cmake/Dockerfile index 634bf20e8..9a5c086f4 100644 --- a/ci/docker/archlinux_gcc_cmake/Dockerfile +++ b/ci/docker/archlinux_gcc_cmake/Dockerfile @@ -1,4 +1,4 @@ -FROM archlinux:base +FROM archlinux:base-20231112.0.191179 RUN pacman --noconfirm --needed -Sy \ git \ diff --git a/ci/docker/archlinux_gcc_meson/Dockerfile b/ci/docker/archlinux_gcc_meson/Dockerfile index 90f1774cc..e2cf7e737 100644 --- a/ci/docker/archlinux_gcc_meson/Dockerfile +++ b/ci/docker/archlinux_gcc_meson/Dockerfile @@ -1,4 +1,4 @@ -FROM archlinux:base +FROM archlinux:base-20231112.0.191179 RUN pacman --noconfirm --needed -Sy \ git \ From 750790c85b3613b62a42d12e1aedc36f4f54e8ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Karas?= Date: Thu, 16 May 2024 08:28:01 +0200 Subject: [PATCH 3/3] add docker build based on latest Ubuntu TLS release: 24.04 --- ci/docker/buildAll.sh | 2 + ci/docker/runAll.sh | 14 +++++++ ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile | 38 +++++++++++++++++++ ci/docker/ubuntu_24.04_gcc_cmake/build.sh | 3 ++ .../ubuntu_24.04_gcc_cmake/data/build.sh | 25 ++++++++++++ ci/docker/ubuntu_24.04_gcc_cmake/run.sh | 3 ++ .../ubuntu_24.04_gcc_meson_qt6/Dockerfile | 32 ++++++++++++++++ ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh | 3 ++ .../ubuntu_24.04_gcc_meson_qt6/data/build.sh | 24 ++++++++++++ ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh | 3 ++ 10 files changed, 147 insertions(+) create mode 100644 ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile create mode 100755 ci/docker/ubuntu_24.04_gcc_cmake/build.sh create mode 100644 ci/docker/ubuntu_24.04_gcc_cmake/data/build.sh create mode 100755 ci/docker/ubuntu_24.04_gcc_cmake/run.sh create mode 100644 ci/docker/ubuntu_24.04_gcc_meson_qt6/Dockerfile create mode 100755 ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh create mode 100644 ci/docker/ubuntu_24.04_gcc_meson_qt6/data/build.sh create mode 100755 ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh diff --git a/ci/docker/buildAll.sh b/ci/docker/buildAll.sh index e1363e2c6..8508d5281 100755 --- a/ci/docker/buildAll.sh +++ b/ci/docker/buildAll.sh @@ -11,3 +11,5 @@ set -xe ./ubuntu_22.04_gcc_cmake/build.sh ./ubuntu_22.04_gcc_meson_qt6/build.sh ./ubuntu_22.04_aarch64_gcc_cmake/build.sh +./ubuntu_24.04_gcc_cmake/build.sh +./ubuntu_24.04_gcc_meson_qt6/build.sh diff --git a/ci/docker/runAll.sh b/ci/docker/runAll.sh index a958d620b..b9caaa9a6 100755 --- a/ci/docker/runAll.sh +++ b/ci/docker/runAll.sh @@ -29,6 +29,13 @@ RESULT_ubuntu_22_04_gcc_meson_qt6=$? ./ubuntu_22.04_aarch64_gcc_cmake/run.sh "$@" RESULT_ubuntu_22_04_aarch64_gcc_cmake=$? +./ubuntu_24.04_gcc_cmake/run.sh "$@" +RESULT_ubuntu_24_04_gcc_cmake=$? + +./ubuntu_24.04_gcc_meson_qt6/run.sh "$@" +RESULT_ubuntu_24_04_gcc_meson_qt6=$? + + # print results set +x echo @@ -59,3 +66,10 @@ if [ $RESULT_ubuntu_22_04_gcc_meson_qt6 -eq 0 ] ; then echo "OK"; else echo "FA echo -ne "ubuntu_22.04_aarch64_gcc_cmake " if [ $RESULT_ubuntu_22_04_aarch64_gcc_cmake -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi + +echo -ne "ubuntu_24.04_gcc_cmake " +if [ $RESULT_ubuntu_24_04_gcc_cmake -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi + +echo -ne "ubuntu_24.04_gcc_meson_qt6 " +if [ $RESULT_ubuntu_24_04_gcc_meson_qt6 -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi + diff --git a/ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile b/ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile new file mode 100644 index 000000000..4816f2a39 --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:noble + +# disable interactive functions +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update && apt-get install -y \ + git make libtool pkg-config \ + libxml2-dev libprotobuf-dev protobuf-compiler \ + libagg-dev \ + libfreetype6-dev \ + libcairo2-dev \ + libpangocairo-1.0-0 libpango1.0-dev \ + qtdeclarative5-dev libqt5svg5-dev \ + qtlocation5-dev qtpositioning5-dev qttools5-dev-tools qttools5-dev qtmultimedia5-dev \ + libglut3.12 libglut-dev \ + libmarisa-dev \ + doxygen \ + swig openjdk-8-jdk \ + locales \ + && rm -rf /var/lib/apt/lists/* + +RUN locale-gen en_US.UTF-8 +ENV LANG en_US.utf8 +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ +ENV QT_QPA_PLATFORM offscreen + +RUN apt-get update && apt-get install -y \ + cmake \ + g++ \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir /work + +COPY data/build.sh /work +RUN chmod +x /work/build.sh + +WORKDIR /work +CMD ./build.sh diff --git a/ci/docker/ubuntu_24.04_gcc_cmake/build.sh b/ci/docker/ubuntu_24.04_gcc_cmake/build.sh new file mode 100755 index 000000000..5900d638e --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_cmake/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd `dirname $0` +docker build -t libosmscout/ubuntu_22.04_gcc_cmake . diff --git a/ci/docker/ubuntu_24.04_gcc_cmake/data/build.sh b/ci/docker/ubuntu_24.04_gcc_cmake/data/build.sh new file mode 100644 index 000000000..d3a0aabe4 --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_cmake/data/build.sh @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +if [ $# -ge 1 ] ; then + REPO="$1" +else + REPO="https://github.com/Framstag/libosmscout.git" +fi + +if [ $# -ge 2 ] ; then + BRANCH="$2" +else + BRANCH="master" +fi + +git clone -b "$BRANCH" "$REPO" libosmscout + +export LANG=en_US.utf8 +cd libosmscout +mkdir build +cd build +cmake -DCMAKE_BUILD_TYPE=DEBUG -DOSMSCOUT_BUILD_BINDING_JAVA=OFF .. +make -j $(nproc) install +ctest --output-on-failure + diff --git a/ci/docker/ubuntu_24.04_gcc_cmake/run.sh b/ci/docker/ubuntu_24.04_gcc_cmake/run.sh new file mode 100755 index 000000000..d08caf989 --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_cmake/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker run --rm=true -it libosmscout/ubuntu_22.04_gcc_cmake ./build.sh "$@" diff --git a/ci/docker/ubuntu_24.04_gcc_meson_qt6/Dockerfile b/ci/docker/ubuntu_24.04_gcc_meson_qt6/Dockerfile new file mode 100644 index 000000000..0bb27fb3d --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_meson_qt6/Dockerfile @@ -0,0 +1,32 @@ +FROM ubuntu:noble + +# disable interactive functions +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update && apt-get install -y \ + git make libtool pkg-config \ + qmake6 libqt6svg6-dev libqt6core5compat6-dev qt6-declarative-dev qt6-positioning-dev qt6-tools-dev-tools \ + qt6-l10n-tools qt6-tools-dev qt6-multimedia-dev \ + libgl-dev \ + locales \ + meson ninja-build g++ \ + && rm -rf /var/lib/apt/lists/* + +RUN locale-gen en_US.UTF-8 +ENV LANG en_US.utf8 +ENV QT_QPA_PLATFORM offscreen + +# RUN apt-get update && apt-get install -y \ +# g++ \ +# python3-pip \ +# && rm -rf /var/lib/apt/lists/* +# +# RUN pip install meson ninja + +RUN mkdir /work + +COPY data/build.sh /work +RUN chmod +x /work/build.sh + +WORKDIR /work +CMD ./build.sh diff --git a/ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh b/ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh new file mode 100755 index 000000000..4c9027fe6 --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd `dirname $0` +docker build -t libosmscout/ubuntu_22.04_gcc_meson_qt6 . diff --git a/ci/docker/ubuntu_24.04_gcc_meson_qt6/data/build.sh b/ci/docker/ubuntu_24.04_gcc_meson_qt6/data/build.sh new file mode 100644 index 000000000..e2409c7c6 --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_meson_qt6/data/build.sh @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +if [ $# -ge 1 ] ; then + REPO="$1" +else + REPO="https://github.com/Framstag/libosmscout.git" +fi + +if [ $# -ge 2 ] ; then + BRANCH="$2" +else + BRANCH="master" +fi + +git clone -b "$BRANCH" "$REPO" libosmscout + +export LANG=en_US.utf8 +cd libosmscout +mkdir debug +PATH=/usr/lib/qt6/bin:/usr/lib/qt6/libexec:$PATH meson setup --buildtype debugoptimized --unity on --wrap-mode=nofallback -D qtVersion=6 debug +ninja -C debug +meson test -C debug --print-errorlogs + diff --git a/ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh b/ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh new file mode 100755 index 000000000..2ecd22dad --- /dev/null +++ b/ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker run --rm=true -it libosmscout/ubuntu_22.04_gcc_meson_qt6 ./build.sh "$@"