mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 11:26:04 +08:00
Add SLES 15 SP6 with non-blocking tests in CI
SLES 15 SP6 and Opensuse 15.6 seem to need direct configuration for git and curl to take CA certificates into use. [CI Platforms] nodejs18: - Needed for QtWebEngine build done in RTA - But nodejs18 doesn't yet have a provider - Therefore using commonly installed nodejs 18.6.0 as it's available Task-number: QTQAINFRA-6746 Task-number: QTQAINFRA-6745 Change-Id: I73fb2a98a648f56b7330e26811e6d4780c51ab80 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
This commit is contained in:
@@ -139,6 +139,16 @@ Configurations:
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
|
||||
]
|
||||
-
|
||||
Id: 'sles-15_sp6-static'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
|
||||
]
|
||||
-
|
||||
Id: 'windows-10_22h2-msvc2022'
|
||||
Template: 'qtci-windows-10_22H2-x86_64-52'
|
||||
|
||||
@@ -9,6 +9,15 @@ Configurations:
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
|
||||
]
|
||||
-
|
||||
Id: 'sles-15_sp6-minimal-static'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-minimal-static'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-53'
|
||||
|
||||
@@ -11,6 +11,7 @@ Include: [
|
||||
"opensuse-15.5-developer-build",
|
||||
"opensuse-15.6-developer-build",
|
||||
"sles-15_sp5-static",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-8.10",
|
||||
"windows-10_22h2-mingw13",
|
||||
|
||||
@@ -11,6 +11,7 @@ Include: [
|
||||
"opensuse-15.5-developer-build",
|
||||
"opensuse-15.6-developer-build",
|
||||
"sles-15_sp5-static",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-8.10",
|
||||
"windows-10_22h2-mingw13",
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
### SUSE Linux Enterprise Server 15 SP6 ###
|
||||
|
||||
# Register product #
|
||||
Register product at the beginning or later during the
|
||||
installation process. Full version allows registering later.
|
||||
|
||||
# Installation #
|
||||
Language: English (US)
|
||||
Keyboard Layout: English (US)
|
||||
|
||||
Available Extensions and Modules:
|
||||
Basesystem Module
|
||||
Desktop Applications Module
|
||||
Python 3 Module
|
||||
Server Applications Module
|
||||
|
||||
SLES with GNOME
|
||||
|
||||
Region: Etc
|
||||
Time Zone: UTC
|
||||
|
||||
Create user with automatic login
|
||||
|
||||
disable firewall
|
||||
|
||||
Displays: Resolution 1280x800
|
||||
Power: Screen Blank: Never
|
||||
Privacy: Screen lock: Automatic screen lock: disable
|
||||
Privacy: Screen lock: Show notifications on lock screen: disable
|
||||
|
||||
# Add user to sudoers
|
||||
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
|
||||
|
||||
sudo su -
|
||||
echo 'add_drivers+=" virtio-blk "' >/etc/dracut.conf.d/virtio.conf
|
||||
dracut -f
|
||||
|
||||
# Disable coredump
|
||||
chkconfig kdump off
|
||||
echo 'Storage=none' >> /etc/systemd/coredump.conf.d/custom.conf
|
||||
# Print config: systemd-analyze cat-config systemd/coredump.conf
|
||||
|
||||
# Add these to /etc/polkit-default-privs.local
|
||||
org.freedesktop.udisks2.filesystem-mount yes
|
||||
org.freedesktop.udisks2.filesystem-mount-other-seat yes
|
||||
org.freedesktop.udisks2.filesystem-mount-system yes
|
||||
org.freedesktop.login1.power-off yes
|
||||
org.freedesktop.login1.power-off-ignore-inhibit yes
|
||||
org.freedesktop.login1.power-off-multiple-sessions yes
|
||||
|
||||
# Run this command for changes to take effect
|
||||
sudo bash /sbin/set_polkit_default_privs
|
||||
|
||||
# Set how DHClient creates CID for compatibility with older DHCP servers
|
||||
sudo sed -i 's/DHCLIENT_CREATE_CID=""/DHCLIENT_CREATE_CID="rfc2132"/' /etc/sysconfig/network/dhcp
|
||||
systemctl restart wicked
|
||||
|
||||
# Create /etc/sysconfig/network/ifcfg-eth1 with values:
|
||||
* BOOTPROTO='dhcp'
|
||||
* STARTMODE='auto'
|
||||
sudo ifup eth1
|
||||
|
||||
# If not yet registered - Register product
|
||||
# Add 'Available Extensions and Modules'
|
||||
* Basesystem Module 15 SP6 x86_64
|
||||
* Server Applications Module 15 SP6 x86_64
|
||||
* Python 3 Module 15 SP6 x86_64
|
||||
* Desktop Applications Module 15 SP6 x86_64
|
||||
|
||||
zypper update
|
||||
|
||||
* Download and run coin-setup
|
||||
|
||||
# Fetch and run coin-setup
|
||||
Download http://coin/coin/binary/linux_386/coin-setup
|
||||
# run as qt user
|
||||
chmod 755 ./coin-setup
|
||||
run ./coin-setup
|
||||
|
||||
sudo reboot now
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down.
|
||||
sudo systemctl stop btrfs-balance.service
|
||||
|
||||
# This will disable btrfs balance job scheduling.
|
||||
sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service
|
||||
sudo systemctl stop fstrim.timer
|
||||
sudo systemctl disable fstrim.timer
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
sudo mkdir -p /etc/wicked/scripts
|
||||
echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off
|
||||
sudo chmod 744 /etc/wicked/scripts/net_tso_off
|
||||
echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
"$(dirname "$0")"/../common/unix/telegraf_install.sh
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/set_ulimit.sh"
|
||||
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
|
||||
echo "Set timezone to UTC."
|
||||
sudo timedatectl set-timezone Etc/UTC
|
||||
echo "Timeout for blanking the screen (0 = never)"
|
||||
gsettings set org.gnome.desktop.session idle-delay 0
|
||||
echo "Prevents screen lock when screesaver goes active."
|
||||
gsettings set org.gnome.desktop.screensaver lock-enabled false
|
||||
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
|
||||
|
||||
sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
echo "Set DISPLAY"
|
||||
echo 'export DISPLAY=":0"' >> ~/.bashrc
|
||||
|
||||
echo "Checking packagekit status"
|
||||
sudo systemctl status packagekit || true
|
||||
|
||||
while sudo systemctl is-active packagekit >/dev/null 2>&1 ; do
|
||||
echo "Waiting for PackageKit to finish..."
|
||||
sudo systemctl is-active packagekit
|
||||
sleep 5
|
||||
done
|
||||
|
||||
sudo systemctl stop packagekit
|
||||
sudo systemctl disable packagekit # With --now this could stop and disable
|
||||
sudo systemctl mask packagekit
|
||||
sudo systemctl status packagekit || true
|
||||
|
||||
sudo zypper -nq remove gnome-software
|
||||
|
||||
# shellcheck disable=SC2031
|
||||
if [ "$http_proxy" != "" ]; then
|
||||
sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
|
||||
sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
|
||||
fi
|
||||
|
||||
echo "Set CA certificate env variables for GIT and CURL"
|
||||
ca_path="/var/lib/ca-certificates/openssl/"
|
||||
ca_bundle="/var/lib/ca-certificates/ca-bundle.pem"
|
||||
SetEnvVar "GIT_SSL_CAPATH" "$ca_path"
|
||||
SetEnvVar "CURL_CA_BUNDLE" "$ca_bundle"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/linux/disable-notifications.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
# shellcheck source=../common/linux/disable-ntp_linux.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup
|
||||
sudo chmod 755 rmt-client-setup
|
||||
sudo SUSEConnect --cleanup
|
||||
sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95
|
||||
|
||||
# Activate these modules
|
||||
sudo SUSEConnect -p sle-module-basesystem/15.6/x86_64
|
||||
sudo SUSEConnect -p sle-module-server-applications/15.6/x86_64
|
||||
sudo SUSEConnect -p sle-module-desktop-applications/15.6/x86_64
|
||||
sudo SUSEConnect -p sle-module-development-tools/15.6/x86_64
|
||||
sudo SUSEConnect -p sle-module-python3/15.6/x86_64
|
||||
# sle-module-web-scripting is required for Nodejs
|
||||
sudo SUSEConnect -p sle-module-web-scripting/15.6/x86_64
|
||||
# For Firebird in RTA - libtommath-devel
|
||||
sudo SUSEConnect -p PackageHub/15.6/x86_64
|
||||
|
||||
sudo zypper lr -u
|
||||
|
||||
sudo rm -f /tmp/suse_rk.sh
|
||||
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
sudo zypper -nq install elfutils binutils
|
||||
|
||||
sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo
|
||||
sudo zypper refresh
|
||||
sudo zypper -nq install --force-resolution gcc10 gcc10-c++
|
||||
|
||||
# Make sure needed ca-certificates are available
|
||||
sudo zypper -nq install ca-certificates
|
||||
|
||||
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \
|
||||
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
|
||||
--slave /usr/bin/cc cc /usr/bin/gcc-10 \
|
||||
--slave /usr/bin/c++ c++ /usr/bin/g++-10
|
||||
|
||||
sudo zypper -nq install git ninja make patch wget tar
|
||||
|
||||
sudo zypper -nq install bison flex gperf \
|
||||
zlib-devel \
|
||||
libudev-devel \
|
||||
glib2-devel \
|
||||
freetype2-devel \
|
||||
fontconfig-devel \
|
||||
sqlite3-devel \
|
||||
libxkbcommon-devel \
|
||||
libxkbcommon-x11-devel
|
||||
|
||||
sudo zypper -nq install cmake
|
||||
|
||||
sudo zypper -nq install p7zip
|
||||
|
||||
# EGL support
|
||||
sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
|
||||
|
||||
# ICU
|
||||
sudo zypper -nq install libicu-devel libicu-suse65_1
|
||||
|
||||
# gtk3 style for QtGui/QStyle
|
||||
sudo zypper -nq install gtk3-devel
|
||||
|
||||
# Xinput2
|
||||
sudo zypper addrepo --no-gpgcheck https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo
|
||||
# Leaving postgresql14-devel out as dependency with clang15-devel doesn't yet have provider
|
||||
sudo zypper -nq install libXi-devel postgresql14 mysql-devel mysql mysql-server
|
||||
|
||||
# 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
|
||||
|
||||
# temporary solution for libxcb-cursor0 xcb-util-cursor-devel
|
||||
sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:/liangqi_qt:/branches:/SUSE:/SLE-15-SP6:/GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP6:GA.repo
|
||||
sudo zypper refresh
|
||||
sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-devel
|
||||
|
||||
# qtwebengine
|
||||
sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \
|
||||
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
|
||||
mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel \
|
||||
vulkan-devel
|
||||
|
||||
# qtwebkit
|
||||
sudo zypper -nq install libxml2-devel libxslt-devel
|
||||
|
||||
# yasm (for ffmpeg in multimedia)
|
||||
sudo zypper -nq install yasm
|
||||
|
||||
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
|
||||
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
|
||||
|
||||
# cups
|
||||
sudo zypper -nq install cups-devel
|
||||
|
||||
# speech-dispatcher
|
||||
sudo zypper -nq install libspeechd-devel
|
||||
#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc
|
||||
|
||||
# ODBC support
|
||||
sudo zypper -nq install unixODBC-devel unixODBC
|
||||
|
||||
# sqlite support
|
||||
sudo zypper -nq install sqlite3 sqlite3-devel
|
||||
|
||||
# Java - needed by RTA jenkins
|
||||
sudo zypper -nq install java
|
||||
|
||||
# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot.
|
||||
sudo zypper -nq update open-vm-tools
|
||||
|
||||
# Tools to build Git
|
||||
sudo zypper -nq install autoconf libcurl-devel libexpat-devel
|
||||
|
||||
# used for reading vcpkg packages version, from vcpkg.json
|
||||
sudo zypper -nq install jq
|
||||
|
||||
# zip, needed for vcpkg caching
|
||||
sudo zypper -nq install zip
|
||||
|
||||
# Nodejs - required by QtWebengine
|
||||
# Skip this as no provider yet, use commonly installed nodejs 18.16.0 version as it's available
|
||||
#sudo zypper -nq install nodejs18
|
||||
|
||||
# OpenSSL 3
|
||||
sudo zypper -nq install openssl-3
|
||||
|
||||
# cifs-utils, for mounting smb drive
|
||||
sudo zypper -nq install cifs-utils
|
||||
|
||||
# For Firebird in RTA
|
||||
sudo zypper -nq install libtommath-devel
|
||||
|
||||
gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
|
||||
echo "GCC = $gccVersion" >> versions.txt
|
||||
|
||||
OpenSSLVersion="$(openssl version |cut -b 9-14)"
|
||||
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/linux/install-nodejs.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang-v100-dyn.sh
|
||||
"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang.sh
|
||||
"$BASEDIR/../common/unix/libclang.sh"
|
||||
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# provides: python development libraries
|
||||
# version: provided by default Linux distribution repository
|
||||
# needed to build pyside
|
||||
|
||||
set -ex
|
||||
|
||||
PROVISIONING_DIR="$(dirname "$0")/../"
|
||||
# shellcheck source=../common/unix/common.sourced.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/common.sourced.sh"
|
||||
# shellcheck source=../common/unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
|
||||
|
||||
# Selected installation instructions coming from:
|
||||
# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
|
||||
export PACKAGE_NAME="python"
|
||||
python2Version="2.7.18"
|
||||
python3Version="3.12.3"
|
||||
python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
|
||||
python3Sha="56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1"
|
||||
|
||||
|
||||
function InstallPython {
|
||||
|
||||
PACKAGE_VERSION=$1
|
||||
PACKAGE_SHA=$2
|
||||
|
||||
$CMD_PKG_INSTALL ncurses zlib-devel libffi-devel
|
||||
|
||||
echo 'Configuration and Installation started'
|
||||
|
||||
#Download Source code
|
||||
DownloadURL \
|
||||
"http://ci-files01-hki.ci.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz" \
|
||||
"https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz" \
|
||||
"$PACKAGE_SHA"
|
||||
tar -xf "Python-${PACKAGE_VERSION}.tar.xz"
|
||||
|
||||
#Configure and Build
|
||||
cd "Python-${PACKAGE_VERSION}"
|
||||
./configure --prefix=/usr/local --exec-prefix=/usr/local
|
||||
make
|
||||
sudo make install
|
||||
|
||||
echo 'Installed python successfully'
|
||||
|
||||
#Cleanup
|
||||
cd -
|
||||
rm "Python-${PACKAGE_VERSION}.tar.xz"
|
||||
|
||||
#Verify python installation
|
||||
export PATH="/usr/local/bin:${PATH}"
|
||||
if command -V "$PACKAGE_NAME${PACKAGE_VERSION:0:1}" >/dev/null
|
||||
then
|
||||
printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME"
|
||||
else
|
||||
printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME"
|
||||
exit 127
|
||||
fi
|
||||
|
||||
|
||||
}
|
||||
|
||||
InstallPython "$python2Version" "$python2Sha"
|
||||
InstallPython "$python3Version" "$python3Sha"
|
||||
|
||||
python3 --version | grep -F "$python3Version"
|
||||
|
||||
pip3 install --user wheel
|
||||
pip3 install --user virtualenv
|
||||
pip3 install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
|
||||
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
SetEnvVar "PYTHON3_PATH" "/usr/local/bin"
|
||||
|
||||
# Provisioning during installation says:
|
||||
# 'The script sbom2doc is installed in '/home/qt/.local/bin' which is not on PATH.'
|
||||
# hence the explicit assignment to SBOM_PYTHON_APPS_PATH.
|
||||
SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/.local/bin"
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
"$(dirname "$0")/../common/linux/cmake_linux.sh"
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/unix/mqtt_broker.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/install-conan.sh" "linux"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-git.sh" "/var/lib/ca-certificates/openssl"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-vcpkg.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/unix/emsdk.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/unix/install_protobuf.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# shellcheck source=../common/unix/install_grpc.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# This script installs QEMU Guest Agent
|
||||
|
||||
set -ex
|
||||
|
||||
sudo zypper -nq install qemu-guest-agent
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-firebird.sh"
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-oracle.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/squishInstall.sh"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2024 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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# Having proxy set while running autotests makes them fail
|
||||
sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
# This script needs to be called last during provisioning so that the software information will show up last in provision log.
|
||||
|
||||
# Storage installed RPM packages information
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
rpm -q -a | sort >> ~/versions.txt
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
|
||||
"$(dirname "$0")/../common/linux/version.sh"
|
||||
Reference in New Issue
Block a user