Files
qt5/coin/provisioning/qtci-linux-openSUSE-15.6-x86_64/04-zypperpackages.sh
Nils Petter Skålerud 8adbc25578 FFmpeg: Move required provisioning packages into common files
The packages required for FFmpeg provisioning may change between FFmpeg
versions, as is the case when upgrading to FFmpeg n8.1. It is a
time-waster to manually go through all hosts to make sure they all
have the correct packages. Additionally we have no way of knowing
whether a package is used by FFmpeg and/or something else.

This patch moves the list of required FFmpeg packages into some common
files, and refactors each host to read these files. This way we can
modify provisioning in one place.

Pick-to: 6.11
Change-Id: I31d409595b7da231b1f845c18095e77f7af51b0a
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-05-04 14:20:31 +00:00

104 lines
3.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
set -ex
sudo zypper -nq install git gcc9 gcc9-c++ ninja
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-9 \
--slave /usr/bin/cc cc /usr/bin/gcc-9 \
--slave /usr/bin/c++ c++ /usr/bin/g++-9
# Make sure needed ca-certificates are available
sudo zypper -nq install ca-certificates
sudo zypper -nq install bison flex gperf \
zlib-devel \
systemd-devel \
glib2-devel \
libopenssl-3-devel \
freetype2-devel \
fontconfig-devel \
sqlite3-devel \
libxkbcommon-devel \
libxkbcommon-x11-devel \
pcre2-devel libpng16-devel
# EGL support
sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
# Xinput2
sudo zypper -nq install libXi-devel
# system provided XCB libraries
sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel
# ICU
sudo zypper -nq install libicu-devel
# qtwebengine
# Removing nodejs12 as it's not available and testing with common nodejs 18.16.0
sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
mozilla-nspr-devel mozilla-nss-devel glproto-devel \
libxshmfence-devel libXdamage-devel \
'cargo<1.93' rust-bindgen
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel pipewire-devel gstreamer-plugin-openh264
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_opensuse_packages.txt"
sudo zypper -nq install "${required_ffmpeg_packages[@]}"
# cups
sudo zypper -nq install cups-devel
#speech-dispatcher
sudo zypper -nq install libspeechd-devel
# make
sudo zypper -nq install make
# Tools to build Git
sudo zypper -nq install autoconf libcurl-devel libexpat-devel
# zip, needed for vcpkg caching
sudo zypper -nq install zip
# OpenSSL 3
sudo zypper -nq install openssl-3
# Valgrind (Needed for testlib selftests)
sudo zypper -nq install valgrind-devel
# cifs-utils, for mounting smb drive
sudo zypper -nq install cifs-utils
# For Firebird in RTA
sudo zypper -nq install libtommath-devel
# Java
sudo zypper -nq install java-21-openjdk-devel-21.0.9.0-150600.3.18.2
# For tst_license.pl with all the machines generating SBOM
sudo zypper -nq install perl-JSON
# Keep zoneinfo up-to-date (COIN-1282)
sudo zypper -nq install timezone
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt