aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh')
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh175
1 files changed, 175 insertions, 0 deletions
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
new file mode 100755
index 00000000..b0eaebb0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
@@ -0,0 +1,175 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl3)
+installPackages+=(openssl3-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# update kernel
+installPackages+=(kernel)
+installPackages+=(kernel-tools)
+installPackages+=(kernel-devel)
+installPackages+=(kernel-core)
+installPackages+=(kernel-modules)
+installPackages+=(kernel-headers)
+# EGL support
+# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash
+installPackages+=(mesa-libEGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-libGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# for QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3
+installPackages+=(python3.11)
+installPackages+=(python3.11-pip)
+installPackages+=(python3.11-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libdrm-devel)
+installPackages+=(libva-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+installPackages+=(python3-html5lib)
+installPackages+=(libatomic)
+installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64)
+# For Android builds
+installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+#installPackages+=(mesa-libwayland-egl)
+#installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+# zip, needed for vcpkg caching
+installPackages+=(zip)
+# OpenSSL requirement, built by vcpkg
+installPackages+=(perl-IPC-Cmd)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo dnf -y module install nodejs:16
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python3.11 -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+sudo /usr/bin/pip3 install dataclasses
+
+OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
+
+# List all available updates
+sudo yum -y list updates