From d9a869707efe02c32ebca4f2f89dfb96c8e34019 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Mon, 19 Nov 2018 17:14:48 +0100 Subject: [PATCH] provisioning: consistently install libxkbcommon* on linux distros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ubuntu was the only distro that installed both of the required packages: installPackages+=(libxkbcommon-dev) installPackages+=(libxkbcommon-x11-dev) RHEL 7.4 did not explicitly install any, but got libxkbcommon-dev pulled in as gtk3 dependency. Extract from provisioning log: --> Processing Dependency: pkgconfig(xkbcommon) >= 0.2.0 for package: gtk3-devel-3.22.30-3.el7.x86_64 ---> Package libxkbcommon-devel.x86_64 0:0.7.1-1.el7 will be installed openSUSE explicitly installed libxkbcommon-devel, but not libxkbcommon-x11-devel. Qt official binaries are built on RHEL, where we do not have libxkbcommon-x11-dev installed. This means that XCB plugin and Compose input plugin would fallback to using bundled sources. It was actually desired until now that XCB/Compose use the bundled sources instead of linking with the library from the system, but this was only a lucky side effect. If we had installed libxkbcommon-x11-dev on RHEL, then Qt binaries would end up linking with the libxkbcommon from the system, because of the missing "-qt-xkbcommon" configre switch for release builds. We won't bundle libxkbcommon anymore, hence we need to install the missing dependencies, as done by this patch. Change-Id: I5c7b8ac38c266ce81cb5a3189a9082bfd581ee31 Reviewed-by: Jani Heikkinen Reviewed-by: Frederik Gladhorn Reviewed-by: Jędrzej Nowacki --- .../qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh | 3 +++ .../qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh | 2 ++ 2 files changed, 5 insertions(+) diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh index 65a5be45..8e03972e 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh @@ -100,6 +100,9 @@ installPackages+=(libwayland-cursor) installPackages+=(libwayland-server) # Jenkins installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) sudo yum -y install "${installPackages[@]}" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh index f32af9b5..2fab85ac 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh @@ -26,7 +26,9 @@ sudo zypper -nq install sqlite3-devel sudo zypper -nq install Mesa-libEGL-devel sudo zypper -nq install Mesa-libGL-devel +# libxkbcommon sudo zypper -nq install libxkbcommon-devel +sudo zypper -nq install libxkbcommon-x11-devel # Xinput2 sudo zypper -nq install libXi-devel