Added qtwebview to docker images. Mandatory since we now use webview for assistant

Deactivate Centos7 build because of unavailability of QtWebengine.
This commit is contained in:
Julien Wadel 2021-11-18 15:51:10 +01:00
parent 4b094d3261
commit 24909899d7
6 changed files with 76 additions and 29 deletions

View file

@ -1,3 +1,7 @@
.install-qt-webview: &install-qt-webview
before_script:
- sudo pacman -Sy qt5-webview --noprogressbar --noconfirm
job-archlinux-latest-ninja-clang:
tags: [ "docker-archlinux-latest" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION
@ -9,11 +13,12 @@ job-archlinux-latest-ninja-clang:
CC: clang
CXX: clang++
extends: .job-linux-desktop
<<: *install-qt-webview
#################################################
# Nightly
#################################################
#################################################
job-archlinux-latest-makefile-gcc:
tags: [ "docker-archlinux-latest" ]
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:$ARCHLINUX_IMAGE_VERSION
@ -25,6 +30,7 @@ job-archlinux-latest-makefile-gcc:
CC: gcc
CXX: g++
extends: .job-linux-desktop
<<: *install-qt-webview
job-archlinux-latest-makefile-clang:
@ -38,6 +44,7 @@ job-archlinux-latest-makefile-clang:
CC: clang
CXX: clang++
extends: .job-linux-desktop
<<: *install-qt-webview
job-archlinux-latest-ninja-gcc:
@ -51,6 +58,7 @@ job-archlinux-latest-ninja-gcc:
CC: gcc
CXX: g++
extends: .job-linux-desktop
<<: *install-qt-webview
job-archlinux-latest-ninja-gcc-novideo:
tags: [ "docker-archlinux-latest" ]
@ -60,6 +68,7 @@ job-archlinux-latest-ninja-gcc-novideo:
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-archlinux-latest-ninja-gcc
<<: *install-qt-webview
job-archlinux-latest-ninja-clang-novideo:
tags: [ "docker-archlinux-latest" ]
@ -73,7 +82,8 @@ job-archlinux-latest-ninja-clang-novideo:
CC: clang
CXX: clang++
extends: .job-linux-desktop
<<: *install-qt-webview
#################################################
# Package - Nightly
#################################################
@ -108,4 +118,3 @@ job-archlinux-latest-ninja-clang-novideo:
# - $DEPLOY_LINUX
# script:
# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/

View file

@ -7,11 +7,11 @@ variables:
MAKEFILE_JOBS: 5
CCACHE_SIZE: 2G
#this option is used to speedup submodule building times, when we don't need to trace debug (like SDK where it is already tested in its project)
LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS
LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS
DEFAULT_LINUX_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
DEFAULT_WINDOWS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
# DEFAULT_LINUX_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES
# DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DENABLE_UPDATE_CHECK=YES
# DEFAULT_WINDOWS_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES -DENABLE_UPDATE_CHECK=YES
@ -28,7 +28,7 @@ variables:
UBUNTU_ROLLING_IMAGE_VERSION: 20211012_add_qtwebview
#################################################
# Platforms to test
# Platforms to test
#################################################
.job-prepare:
@ -43,7 +43,7 @@ include:
## - '.gitlab-ci-files/job-linux-desktop-debian10.yml'
- '.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml'
- '.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml'
- '.gitlab-ci-files/job-linux-desktop-centos7.yml'
# - '.gitlab-ci-files/job-linux-desktop-centos7.yml' #QtWebengine cannot be build (support for C++14 is not found in configuration)
- '.gitlab-ci-files/job-windows-desktop.yml'
- '.gitlab-ci-files/job-macosx-desktop.yml'

View file

@ -2,18 +2,29 @@ FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos7:20210217_pyt
MAINTAINER Peio Rigaux <peio.rigaux@belledonne-communications.com>
# QT Dependenciesi (pigz is used to parallelize compression)
RUN sudo yum install -y libxkbcommon* libxcb freeglut-devel pigz icc-profiles-openicc fontconfig fontconfig-devel libfontconfig1-dev freetype-devel
RUN scl enable devtoolset-7 bash
RUN sudo yum install -y devtoolset-8
RUN sudo yum install -y devtoolset-8-gcc*
RUN scl enable devtoolset-8 bash
RUN sudo yum install -y gperf flex
SHELL ["/bin/bash", "--login", "-c"]
RUN scl enable devtoolset-8 bash
RUN gcc --version
# Configure AppImages dependencies
RUN sudo yum install -y fuse fuse-libs wget
# Build qt5.12
RUN git clone -b master --single-branch https://gitlab.linphone.org/BC/public/linphone-desktop.git && \
# Build qt5.12.12
RUN git clone -b feature/webview_subscription --single-branch https://gitlab.linphone.org/BC/public/linphone-desktop.git && \
./linphone-desktop/tools/build_qt_rpm && \
sudo rpm -i ./linphone-desktop/rpm-linphone-qt-5.12/rpmbuild/RPMS/x86_64/*.rpm && \
sudo mv ./linphone-desktop/rpm-linphone-qt-5.12/rpmbuild/RPMS/x86_64/*.rpm / && \
sudo rpm -i ./linphone-desktop/rpm-linphone-qt-5.12.12/rpmbuild/RPMS/x86_64/*.rpm && \
sudo mv ./linphone-desktop/rpm-linphone-qt-5.12.12/rpmbuild/RPMS/x86_64/*.rpm / && \
sudo rm -rf ./linphone-desktop

View file

@ -0,0 +1,35 @@
FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-rolling:20210217_python3
MAINTAINER Peio Rigaux <peio.rigaux@belledonne-communications.com>
#Tools for QT buid script
RUN sudo apt-get update && sudo apt-get install -y pigz
RUN sudo ln -s /usr/bin/python3 /usr/bin/python
#QT Dependencies
#atspi and dbus may be used to enable qt accessibility for screan reader
#xkbcommon is needed for special keyboard features
#flite1-dev, libspeechd-dev speech-dispatcher are needed for text to speech
#libfontconfig1-dev is needed to load correct fonts (support of ideograms, etc..)
RUN sudo apt-get update && sudo apt-get install -y libxkbcommon* libxcb-xfixes0-dev flite1-dev libspeechd-dev speech-dispatcher libfontconfig1-dev qdbus-qt5 libqt5dbus5 libdbus-1-dev libdbus-glib-1-dev libatspi2.0-0 libatspi2.0-dev
#needed fot qt to find dbus
ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
# Build qt5.12.5
RUN git clone -b master --single-branch https://gitlab.linphone.org/BC/public/linphone-desktop.git && \
./linphone-desktop/tools/build_qt_rpm && \
find "./linphone-desktop/rpm-linphone-qt-5.12.5/rpmbuild/RPMS/x86_64/" -iname "*.rpm" -exec sudo fakeroot alien -d {} + && \
find "." -maxdepth 1 -iname "*.deb" -exec sudo dpkg -i --force-overwrite {} + && \
rm -rf ./linphone-desktop
ENV Qt5_DIR=/opt/com.belledonne-communications/linphone/lib/cmake
ENV PATH=/opt/com.belledonne-communications/linphone/bin:$PATH
#Appimage deps
RUN sudo apt-get install -y wget fuse libfuse2 gnupg2
USER bc
WORKDIR /home/bc
ENV PS1='\[\e[34m\]\u@bc-dev-centos7>\[\e[0m\] '
CMD bash

View file

@ -1,6 +1,6 @@
# -*- rpm-spec -*-
%define _qt5_version 5.12
%define _qt5_version 5.12.12
%define _qt5_dir /opt/com.belledonne-communications/linphone
%define _qt5_archdatadir %{_qt5_dir}
@ -83,16 +83,6 @@ make install INSTALL_ROOT=%{buildroot} -j12
# Some files got ambiguous python shebangs, we fix them to avoid install errors
# Because in centos8 shebangs like #!/usr/bin/python are FORBIDDEN (see https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error)
%build qtwebengine
cd qtwebengine
qmake
make -j12
find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/#!\/usr\/bin\/python/#!\/usr\/bin\/python3/g'
make install INSTALL_ROOT=%{buildroot} -j12
cd ..
%files
%defattr(-,root,root,-)

View file

@ -4,7 +4,7 @@
# See: http://doc.qt.io/qt-5/configure-options.html
REPO_URL='https://gitlab.linphone.org/BC/public/external/qt/qt5.git'
QT_VERSION='5.12'
QT_VERSION='5.12.12'
RPM_NAME=linphone-qt-${QT_VERSION}
@ -24,7 +24,8 @@ if [ ! -d "${REPO_FOLDER}/.git" ]; then
#Simplest way to use paralle fetch if available
#Otherwise we would have to parse the git version number
git clone "${REPO_URL}" "${REPO_FOLDER}" --recursive -j 12 || git clone "${REPO_URL}" "${REPO_FOLDER}"
git --version
git clone "${REPO_URL}" "${REPO_FOLDER}" --recursive -j 12 -b ${QT_VERSION} || git clone "${REPO_URL}" "${REPO_FOLDER}" -b ${QT_VERSION} --recursive || git clone "${REPO_URL}" "${REPO_FOLDER}" -b ${QT_VERSION}
fi
cd "${REPO_FOLDER}"
while test $# -gt 0
@ -40,8 +41,9 @@ do
shift
done
git checkout "${QT_VERSION}"
git submodule foreach --recursive 'if [ -n "$(git branch -a | grep 5.12)" ]; then git checkout 5.12; fi'
git submodule update --init --recursive
#git checkout "${QT_VERSION}"
#git submodule foreach --recursive 'if [ -n "$(git branch -a | grep 5.12.12)" ]; then git checkout 5.12.12; fi'
if [[ $? != 0 ]] ; then
printf "${RED}Unable to checkout ${QT_VERSION}.${NC}\n"
exit 1