mirror of
git://code.qt.io/qt/qt5.git
synced 2026-05-09 12:37:50 +08:00
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>
107 lines
3.3 KiB
Bash
Executable File
107 lines
3.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2024 The Qt Company Ltd.
|
|
|
|
set -ex
|
|
|
|
# Curl is pre-installed but the original version is buggy.
|
|
# This line here is to update it.
|
|
sudo zypper -nq install curl
|
|
|
|
sudo zypper -nq install git gcc13 gcc15-c++ ninja
|
|
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 1 \
|
|
--slave /usr/bin/g++ g++ /usr/bin/g++-15 \
|
|
--slave /usr/bin/cc cc /usr/bin/gcc-15 \
|
|
--slave /usr/bin/c++ c++ /usr/bin/g++-15
|
|
|
|
# Make sure needed ca-certificates are available
|
|
sudo zypper -nq install ca-certificates
|
|
|
|
sudo zypper -nq install bison flex gperf libgio-2_0-0=2.84.4\
|
|
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
|
|
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 nodejs \
|
|
libxshmfence-devel libXdamage-devel \
|
|
'cargo<1.94' 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 not available
|
|
|
|
# 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-160000.1.1
|
|
|
|
# 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
|