mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-25 00:15:11 +08:00
Provisioning: Add Ubuntu 24.04 x64 as non-blocking in CI
Adding all builds Wayland which is the default display server for Ubuntu. Testing each module in X11, and testing Wayland client plugin for each module in Qt Wayland integration. [CI Platforms] TestDocs was removed, see also QTQAINFRA-6068. Task-number: QTQAINFRA-6322 Task-number: QTQAINFRA-6098 Task-number: QTQAINFRA-6203 Change-Id: I8db0d861940bdd558384f1cc24243c6a84e133e2 Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
@@ -60,6 +60,37 @@ Configurations:
|
||||
'QT_QPA_PLATFORM=offscreen'
|
||||
]
|
||||
Platform dependency: 'ubuntu-24.04-arm64'
|
||||
# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-documentation'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
|
||||
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
||||
]
|
||||
# Test on Ubuntu 24.04 x64 X11
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-documentation-x11-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x64-documentation'
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-x11-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x64'
|
||||
-
|
||||
Id: 'opensuse-15.5-developer-build'
|
||||
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
|
||||
|
||||
@@ -5,3 +5,8 @@ Configurations:
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-license-check'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
|
||||
|
||||
@@ -24,6 +24,19 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-arm64'
|
||||
# Test on Ubuntu 24.04 x64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-documentation-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x64-documentation'
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x64'
|
||||
# Test on Debian-11.6 Wayland
|
||||
-
|
||||
Id: 'debian-11.6-arm64-wayland-tests'
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
### Ubuntu 24.04 ###
|
||||
Hard Disk: 1TB
|
||||
|
||||
Language: English (United States)
|
||||
Time & Date: Etc/Coordinated Universal Time
|
||||
Software Selection: Desktop image, minimal install
|
||||
|
||||
Language: English (US)
|
||||
Typing: English (US)
|
||||
Privacy: Location Services: OFF
|
||||
Connect Your Online Accounts: Skip
|
||||
|
||||
|
||||
# Configure Settings
|
||||
Notifications:
|
||||
* Notification Popups: OFF
|
||||
* Lock Screen Notifications: OFF
|
||||
Privacy:
|
||||
* Screen Lock: OFF
|
||||
* File History & Rubbish Bin:
|
||||
* File History: Off
|
||||
* Diagnostics:
|
||||
* Send error reports to Canonical: Never
|
||||
Power:
|
||||
* Blank screen: Never
|
||||
* Automatic suspend: Off
|
||||
Appearance:
|
||||
* Auto-hide the dock: Off
|
||||
Devices:
|
||||
* Displays: Resolution 1280 x 800
|
||||
Details:
|
||||
* Time Zone: UTC
|
||||
* run "sudo timedatectl set-timezone UTC"
|
||||
* Users: Automatic login on
|
||||
|
||||
Software & Updates:
|
||||
* Updates:
|
||||
* Subscribed to: Security updates only
|
||||
* Automatically check for updates: Never
|
||||
* Notify me of a new Ubuntu version: Never
|
||||
|
||||
# Add user to sudoers
|
||||
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
|
||||
|
||||
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
|
||||
run 'sudo grub-mkconfig'
|
||||
|
||||
# Install ssh server
|
||||
run 'sudo apt install openssh-server'
|
||||
|
||||
# Disable firewall
|
||||
run 'sudo ufw disable'
|
||||
|
||||
# Fetch and run coin-setup (in Opennebula)
|
||||
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||
run 'chmod +x ./coin-setup' to make it executable
|
||||
run './coin-setup'
|
||||
|
||||
Reboot
|
||||
|
||||
@@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
# Note! Python3 is required for Conan installation
|
||||
|
||||
os="$1"
|
||||
params="$2"
|
||||
|
||||
# Install Conan to Python user install directory (typically ~./local/)
|
||||
pip3 install conan --user
|
||||
pip3 install conan --user $params
|
||||
|
||||
SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
|
||||
SetEnvVar "CONAN_V2_MODE" "1"
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/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
|
||||
|
||||
# Disalbe updates
|
||||
echo "Disabling auto-upgrades"
|
||||
sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
#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
|
||||
|
||||
echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
|
||||
sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
"$(dirname "$0")"/../common/unix/telegraf_install.sh
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/set_ulimit.sh"
|
||||
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2017 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 modifies system settings for automated use
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
|
||||
NTS_IP=10.212.2.216
|
||||
|
||||
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
|
||||
echo "Set grub timeout to 0"
|
||||
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
|
||||
sudo update-grub
|
||||
|
||||
# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
|
||||
# Checking if Ubuntu 20.04 works without this
|
||||
#echo "Setting up workaround for Ubuntu systemd resolve bug"
|
||||
#sudo rm -f /etc/resolv.conf
|
||||
#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
|
||||
|
||||
# remove hostname to get unique based on IP address
|
||||
sudo rm /etc/hostname
|
||||
|
||||
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
|
||||
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
|
||||
|
||||
if [ "$http_proxy" != "" ]; then
|
||||
echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
|
||||
fi
|
||||
|
||||
# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
|
||||
sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
|
||||
254
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh
Normal file
254
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh
Normal file
@@ -0,0 +1,254 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022 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
|
||||
|
||||
# Install required packages with APT
|
||||
|
||||
# shellcheck source=../common/linux/apt_wait_loop.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
|
||||
|
||||
echo "Disabling auto update"
|
||||
sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
|
||||
for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
|
||||
sudo systemctl stop $service
|
||||
sudo systemctl disable $service
|
||||
done
|
||||
|
||||
function set_internal_repo {
|
||||
|
||||
# Stop fetching the dep-11 metadata, since our mirrors do not handle them well
|
||||
sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
|
||||
|
||||
sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
|
||||
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
|
||||
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
|
||||
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
|
||||
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
|
||||
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted
|
||||
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted
|
||||
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe
|
||||
EOC
|
||||
}
|
||||
|
||||
#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
|
||||
echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
|
||||
|
||||
# Make sure needed ca-certificates are available
|
||||
sudo apt-get install --reinstall ca-certificates
|
||||
|
||||
# Git is not needed by builds themselves, but is nice to have
|
||||
# immediately as one starts debugging
|
||||
installPackages+=(git)
|
||||
# 7zip is a needed decompressing tool
|
||||
installPackages+=(p7zip-full)
|
||||
# To be able to mount yocto-cache during builds
|
||||
installPackages+=(nfs-common)
|
||||
# libssl-dev provides headers for OpenSSL
|
||||
installPackages+=(libssl-dev)
|
||||
# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
|
||||
installPackages+=("^libxcb.*")
|
||||
installPackages+=(libxkbcommon-dev)
|
||||
installPackages+=(libxkbcommon-x11-dev)
|
||||
installPackages+=(libx11-xcb-dev)
|
||||
installPackages+=(libglu1-mesa-dev)
|
||||
installPackages+=(libxrender-dev)
|
||||
installPackages+=(libxi-dev)
|
||||
# Enable linking to system dbus
|
||||
installPackages+=(libdbus-1-dev)
|
||||
# Needed libraries for WebEngine
|
||||
installPackages+=(udev)
|
||||
installPackages+=(libudev-dev)
|
||||
installPackages+=(libdrm-dev)
|
||||
installPackages+=(libegl1-mesa-dev)
|
||||
installPackages+=(libfontconfig1-dev)
|
||||
installPackages+=(libgbm-dev)
|
||||
installPackages+=(liblcms2-dev)
|
||||
installPackages+=(libpci-dev)
|
||||
installPackages+=(libre2-dev)
|
||||
installPackages+=(libsnappy-dev)
|
||||
installPackages+=(libva-dev)
|
||||
installPackages+=(libvpx-dev)
|
||||
installPackages+=(libxkbfile-dev)
|
||||
installPackages+=(libxshmfence-dev)
|
||||
installPackages+=(libxss-dev)
|
||||
# installPackages+=(nodejs) too old
|
||||
installPackages+=(python3-html5lib)
|
||||
|
||||
# Common event loop handling
|
||||
installPackages+=(libglib2.0-dev)
|
||||
# MySQL support
|
||||
installPackages+=(libmysqlclient-dev)
|
||||
# PostgreSQL support
|
||||
installPackages+=(libpq-dev)
|
||||
# SQLite support
|
||||
installPackages+=(libsqlite3-dev)
|
||||
# ODBC support
|
||||
installPackages+=(unixodbc-dev)
|
||||
# Support for FreeType font engine
|
||||
installPackages+=(libfreetype6-dev)
|
||||
# Enable the usage of system jpeg libraries
|
||||
installPackages+=(libjpeg-dev)
|
||||
# Enable support for printer driver
|
||||
installPackages+=(libcups2-dev)
|
||||
# Enable support for printer test
|
||||
installPackages+=(cups-pdf)
|
||||
# Install libraries needed for QtMultimedia to be able to support all plugins
|
||||
installPackages+=(libasound2-dev)
|
||||
installPackages+=(libgstreamer1.0-dev)
|
||||
installPackages+=(libgstreamer-plugins-base1.0-dev)
|
||||
installPackages+=(libgstreamer-plugins-good1.0-dev)
|
||||
installPackages+=(libgstreamer-plugins-bad1.0-dev)
|
||||
installPackages+=(libgstreamer-gl1.0-0)
|
||||
installPackages+=(gir1.2-gst-plugins-base-1.0)
|
||||
installPackages+=(gir1.2-gst-plugins-bad-1.0)
|
||||
installPackages+=(yasm)
|
||||
installPackages+=(libva-dev)
|
||||
# for QtMultimedia streaming tests
|
||||
installPackages+=(vlc-bin)
|
||||
installPackages+=(vlc-plugin-base)
|
||||
|
||||
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
|
||||
installPackages+=(g++-multilib)
|
||||
# python3 development package
|
||||
installPackages+=(python3-dev)
|
||||
installPackages+=(python3-pip)
|
||||
installPackages+=(python3-venv)
|
||||
installPackages+=(virtualenv)
|
||||
installPackages+=(python3-wheel)
|
||||
installPackages+=(python-is-python3)
|
||||
# TODO: Ubuntu 24.04 Removal - not available
|
||||
# python2 development package
|
||||
#installPackages+=(python2-dev)
|
||||
|
||||
# Automates interactive applications (Needed by RTA to automate configure testing)
|
||||
installPackages+=(expect)
|
||||
installPackages+=(mesa-common-dev)
|
||||
|
||||
# TODO: Ubuntu 24.04 Replacement
|
||||
#installPackages+=(libgl1-mesa-glx)
|
||||
installPackages+=(libglx-mesa0)
|
||||
|
||||
installPackages+=(libgl1-mesa-dev)
|
||||
installPackages+=(libegl1-mesa-dev)
|
||||
installPackages+=(libegl1)
|
||||
installPackages+=(libegl-mesa0)
|
||||
installPackages+=(libegl-dev)
|
||||
installPackages+=(libglvnd-dev)
|
||||
installPackages+=(libgles2-mesa-dev)
|
||||
installPackages+=(curl)
|
||||
installPackages+=(libcurl4-openssl-dev)
|
||||
installPackages+=(libicu-dev)
|
||||
installPackages+=(zlib1g-dev)
|
||||
installPackages+=(zlib1g)
|
||||
installPackages+=(openjdk-8-jdk)
|
||||
#Java 11 for Android
|
||||
installPackages+=(openjdk-11-jdk)
|
||||
installPackages+=(libgtk-3-dev)
|
||||
installPackages+=(ninja-build)
|
||||
installPackages+=(libssl-dev)
|
||||
installPackages+=(libxcursor-dev)
|
||||
installPackages+=(libxcomposite-dev)
|
||||
installPackages+=(libxdamage-dev)
|
||||
installPackages+=(libxrandr-dev)
|
||||
installPackages+=(libfontconfig1-dev)
|
||||
installPackages+=(libsrtp2-dev)
|
||||
installPackages+=(libwebp-dev)
|
||||
installPackages+=(libjsoncpp-dev)
|
||||
installPackages+=(libopus-dev)
|
||||
installPackages+=(libminizip-dev)
|
||||
installPackages+=(libavutil-dev)
|
||||
installPackages+=(libavformat-dev)
|
||||
installPackages+=(libavcodec-dev)
|
||||
installPackages+=(libevent-dev)
|
||||
installPackages+=(bison)
|
||||
installPackages+=(flex)
|
||||
installPackages+=(gperf)
|
||||
installPackages+=(libasound2-dev)
|
||||
installPackages+=(libpulse-dev)
|
||||
installPackages+=(libxtst-dev)
|
||||
installPackages+=(libnspr4-dev)
|
||||
installPackages+=(libnss3-dev)
|
||||
installPackages+=(libnss3)
|
||||
installPackages+=(libopenal-dev)
|
||||
installPackages+=(libbluetooth-dev)
|
||||
#VirtualBox for RTA
|
||||
installPackages+=(virtualbox)
|
||||
installPackages+=(dkms)
|
||||
# Needed for qtspeech
|
||||
installPackages+=(libspeechd-dev)
|
||||
#Pypdf for PDF reading in RTA tests
|
||||
installPackages+=(python3-pypdf2)
|
||||
# Needed for b2qt
|
||||
installPackages+=(git-lfs)
|
||||
installPackages+=(chrpath)
|
||||
installPackages+=(gawk)
|
||||
installPackages+=(texinfo)
|
||||
# Needed for Poppler test in QtWebEngine
|
||||
installPackages+=(libpoppler-cpp-dev)
|
||||
# Needed for QtCore
|
||||
installPackages+=(libdouble-conversion-dev)
|
||||
installPackages+=(libpcre2-dev)
|
||||
# Needed for testlib selftests
|
||||
installPackages+=(valgrind)
|
||||
# Needed for qtgampepad
|
||||
installPackages+=(libsdl2-2.0)
|
||||
installPackages+=(libsdl2-dev)
|
||||
# Needed for qtwebkit
|
||||
installPackages+=(ruby)
|
||||
installPackages+=(libxslt1-dev)
|
||||
installPackages+=(libxml2-dev)
|
||||
installPackages+=(libhyphen-dev)
|
||||
# For remote access
|
||||
installPackages+=(ssh)
|
||||
# For bitbake
|
||||
installPackages+=(diffstat)
|
||||
installPackages+=(binfmt-support)
|
||||
installPackages+=(zstd)
|
||||
installPackages+=(lz4)
|
||||
# Vulkan is needed for examples
|
||||
installPackages+=(libvulkan-dev)
|
||||
# Needed for qtdltlogging
|
||||
installPackages+=(libdlt-dev)
|
||||
# For integrity
|
||||
installPackages+=(libc6:i386)
|
||||
# TODO: Ubuntu 24.04 Removal - not available
|
||||
#installPackages+=(libncurses5:i386)
|
||||
|
||||
installPackages+=(libstdc++6:i386)
|
||||
installPackages+=(libx11-6:i386)
|
||||
installPackages+=(lib32z1)
|
||||
installPackages+=(linux-libc-dev:i386)
|
||||
installPackages+=(libxcursor1:i386)
|
||||
installPackages+=(libc6-dev-i386)
|
||||
sudo dpkg --add-architecture i386
|
||||
# For QNX
|
||||
installPackages+=(nfs-kernel-server)
|
||||
installPackages+=(net-tools)
|
||||
installPackages+=(bridge-utils)
|
||||
# For Debian packaging
|
||||
installPackages+=(sbuild)
|
||||
installPackages+=(ubuntu-dev-tools)
|
||||
# cifs-utils, for mounting smb drive
|
||||
installPackages+=(keyutils)
|
||||
installPackages+=(cifs-utils)
|
||||
# VxWorks QEMU network setup (tunctl)
|
||||
installPackages+=(uml-utilities)
|
||||
# used for reading vcpkg packages version, from vcpkg.json
|
||||
installPackages+=(jq)
|
||||
|
||||
echo "Running update for apt"
|
||||
waitLoop
|
||||
sudo apt-get update
|
||||
echo "Installing packages"
|
||||
waitLoop
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
|
||||
|
||||
# Configure pip
|
||||
pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
|
||||
pip config --user set global.extra-index-url https://pypi.org/simple/
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
|
||||
|
||||
OpenSSLVersion="$(openssl version |cut -b 9-14)"
|
||||
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/linux/disable-notifications.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/linux/disable-ntp_linux.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/linux/remove-apport.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/linux/remove-update_notifier.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
# 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) 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
|
||||
|
||||
# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
|
||||
19
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh
Normal file
19
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
|
||||
# First test using QFont fails if fonts-noto-cjk is installed. This happens because
|
||||
# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
|
||||
# doesn't help since host version creates cache for a wrong architecture and running
|
||||
# armv7 fc-cache segfaults on QEMU.
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
|
||||
|
||||
# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
|
||||
qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
|
||||
|
||||
SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/libclang.sh"
|
||||
125
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh
Normal file
125
coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh
Normal file
@@ -0,0 +1,125 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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 the Yocto toolchain
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
|
||||
primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth"
|
||||
altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth"
|
||||
|
||||
echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
|
||||
|
||||
versionARM="3.2"
|
||||
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh"
|
||||
PrimaryUrl="$primaryBaseUrlPath/$package"
|
||||
AltUrl="$altBaseUrlPath/$package"
|
||||
SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22"
|
||||
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
|
||||
yoctoLocationARMv7="/opt/b2qt/$versionARM"
|
||||
sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi"
|
||||
crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
|
||||
envSetupARMv7="environment-setup-$sysrootARMv7"
|
||||
toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
|
||||
|
||||
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
|
||||
chmod +x "$yoctoInstaller"
|
||||
|
||||
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
|
||||
rm -rf "$yoctoInstaller"
|
||||
|
||||
echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
|
||||
|
||||
versionARM64="3.2"
|
||||
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh"
|
||||
PrimaryUrl="$primaryBaseUrlPath/$package"
|
||||
AltUrl="$altBaseUrlPath/$package"
|
||||
SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a"
|
||||
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
|
||||
yoctoLocationARM64="/opt/b2qt/$versionARM64"
|
||||
sysrootARM64="cortexa57-poky-linux"
|
||||
crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
|
||||
envSetupARM64="environment-setup-$sysrootARM64"
|
||||
toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
|
||||
|
||||
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
|
||||
chmod +x "$yoctoInstaller"
|
||||
|
||||
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
|
||||
rm -rf "$yoctoInstaller"
|
||||
|
||||
echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
|
||||
|
||||
versionMIPS64="3.2"
|
||||
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh"
|
||||
PrimaryUrl="$primaryBaseUrlPath/$package"
|
||||
AltUrl="$altBaseUrlPath/$package"
|
||||
SHA1="5d3a8bb4384de273937286d275d1dab36f969951"
|
||||
yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
|
||||
yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64"
|
||||
sysrootMIPS64="mips64r2-poky-linux"
|
||||
crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
|
||||
envSetupMIPS64="environment-setup-$sysrootMIPS64"
|
||||
toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
|
||||
|
||||
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
|
||||
chmod +x "$yoctoInstaller"
|
||||
|
||||
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64"
|
||||
rm -rf "$yoctoInstaller"
|
||||
|
||||
|
||||
|
||||
if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \
|
||||
[ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \
|
||||
[ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \
|
||||
[ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \
|
||||
[ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \
|
||||
[ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then
|
||||
SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7"
|
||||
SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
|
||||
SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7"
|
||||
SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7"
|
||||
SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64"
|
||||
SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
|
||||
SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64"
|
||||
SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64"
|
||||
SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64"
|
||||
SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64"
|
||||
SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64"
|
||||
SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64"
|
||||
else
|
||||
echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat << EOB >> ~/versions.txt
|
||||
Yocto ARMv7 toolchain = $versionARM
|
||||
Yocto ARM64 toolchain = $versionARM64
|
||||
Yocto MIPS64 toolchain = $versionMIPS64
|
||||
EOB
|
||||
|
||||
# List qt user in qemu toolchain sysroots
|
||||
sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd"
|
||||
sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group"
|
||||
sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd"
|
||||
sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group"
|
||||
|
||||
# Fix mdns to support both docker and network tests
|
||||
# See also https://bugreports.qt.io/browse/QTBUG-106013
|
||||
sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
|
||||
sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
|
||||
|
||||
# Install qemu binfmt for 32bit and 64bit arm architectures
|
||||
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
|
||||
--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
|
||||
--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
|
||||
sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \
|
||||
--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
|
||||
--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2017 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/integrity.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2018 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/mqtt_broker.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/fbx_linux.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/install-conan.sh" "linux" "--break-system-packages"
|
||||
@@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
|
||||
|
||||
set -ex
|
||||
|
||||
# This script will install ICU
|
||||
|
||||
icuVersion="73.2"
|
||||
icuLocationLib="/opt/icu/lib64"
|
||||
icuLocationInclude="/opt/icu/include"
|
||||
sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe"
|
||||
baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
|
||||
baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
|
||||
|
||||
sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b"
|
||||
develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
|
||||
develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
|
||||
|
||||
echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib"
|
||||
|
||||
targetFile=$(mktemp)
|
||||
sudo mkdir -p "$icuLocationLib"
|
||||
sudo mkdir -p "$icuLocationInclude"
|
||||
DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
|
||||
sudo 7z x -y -o$icuLocationLib "$targetFile"
|
||||
sudo rm "$targetFile"
|
||||
|
||||
echo "Installing custom ICU devel packages on CentOS"
|
||||
|
||||
tempDir=$(mktemp -d)
|
||||
|
||||
targetFile=$(mktemp)
|
||||
DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
|
||||
7z x -y -o"$tempDir" "$targetFile"
|
||||
|
||||
sudo cp -a "$tempDir"/lib/* "$icuLocationLib"
|
||||
sudo cp -a "$tempDir"/* /opt/icu/
|
||||
|
||||
sudo rm "$targetFile"
|
||||
sudo rm -fr "$tempDir"
|
||||
|
||||
sudo /sbin/ldconfig
|
||||
|
||||
echo "ICU = $icuVersion" >> ~/versions.txt
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
|
||||
# shellcheck source=../common/unix/install-breakpad.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2017 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/android_linux.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/cmake_linux.sh"
|
||||
|
||||
@@ -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,13 @@
|
||||
#!/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
|
||||
|
||||
# This script install cpdb from sources.
|
||||
# Requires GCC and Perl to be in PATH.
|
||||
set -ex
|
||||
|
||||
# Install the dependencies
|
||||
sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-cpdb.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2021 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/openssl_for_android.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2018 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) 2022 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,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2020 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 apt -y install qemu-guest-agent
|
||||
sudo systemctl start qemu-guest-agent
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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/qnx_710.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh"
|
||||
|
||||
# setup NFS
|
||||
sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
|
||||
sudo exportfs -a
|
||||
sudo systemctl restart nfs-kernel-server
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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/vx_works.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh"
|
||||
@@ -0,0 +1,59 @@
|
||||
#!/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 -e
|
||||
|
||||
PROVISIONING_DIR="$(dirname "$0")/../"
|
||||
# shellcheck source=../common/unix/common.sourced.sh
|
||||
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
|
||||
# shellcheck source=../common/unix/DownloadURL.sh
|
||||
source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
|
||||
|
||||
localRepo=http://ci-files01-hki.ci.qt.io/input/docker
|
||||
# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64
|
||||
#upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64
|
||||
upstreamRepo=https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64
|
||||
echo '
|
||||
57c62933ad2dc07a3a79efd5b464ea84fa80c773 containerd.io_1.6.31-1_amd64.deb
|
||||
cbcd536345e052b9221a0240caa451e1b687a05e docker-ce_26.1.0-1~ubuntu.24.04~noble_amd64.deb
|
||||
6f0989763692b88b748444174e70b6069c781533 docker-ce-cli_26.1.0-1~ubuntu.24.04~noble_amd64.deb
|
||||
' \
|
||||
| xargs -n2 | while read -r sha f
|
||||
do
|
||||
DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
|
||||
done
|
||||
|
||||
sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
|
||||
rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
|
||||
|
||||
sudo usermod -a -G docker "$USER"
|
||||
sudo docker --version
|
||||
|
||||
# Download and install the docker-compose extension from https://github.com/docker/compose/releases
|
||||
f=docker-compose-$(uname -s)-$(uname -m)
|
||||
DownloadURL \
|
||||
"$localRepo/$f-1.24.1" \
|
||||
"https://github.com/docker/compose/releases/download/1.24.1/$f" \
|
||||
cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a
|
||||
sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
|
||||
sudo docker-compose --version
|
||||
rm ./docker-compose*
|
||||
|
||||
# Install Avahi to discover Docker containers in the test network
|
||||
sudo apt-get install avahi-daemon -y
|
||||
|
||||
# Add registry mirror for docker images
|
||||
sudo tee -a /etc/docker/daemon.json <<"EOF"
|
||||
{
|
||||
"registry-mirrors": ["http://repo-clones.ci.qt.io:5000"]
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "Restart Docker"
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart docker
|
||||
|
||||
# Start testserver provisioning
|
||||
sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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
|
||||
|
||||
# The new version of libnss-mdns resolver library automatically rejects all
|
||||
# hostnames with more than two labels (i.e. subdomains deep), for example
|
||||
# vsftpd.test-net.qt.local is automatically rejected. The changes here fix
|
||||
# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow
|
||||
|
||||
cat <<EOT | sudo tee /etc/mdns.allow
|
||||
.local.
|
||||
.local
|
||||
EOT
|
||||
|
||||
sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf
|
||||
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022 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
|
||||
|
||||
# Provisions qdoc and qtattributionsscanner binaries; these are used for
|
||||
# documentation testing without the need for a dependency to qttools.
|
||||
|
||||
set -e
|
||||
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
|
||||
version="68bdc5764da2d4e442181b408751b6572f36fa74"
|
||||
sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4"
|
||||
url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
|
||||
url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
|
||||
|
||||
zip="/tmp/qdoc-qtattributionsscanner.7z"
|
||||
destination="/opt/qt-doctools"
|
||||
|
||||
sudo mkdir -p "$destination"
|
||||
sudo chmod 755 "$destination"
|
||||
DownloadURL "$url_cached" "$url" "$sha1" "$zip"
|
||||
if command -v 7zr &> /dev/null; then
|
||||
sudo 7zr x "$zip" "-o$destination/"
|
||||
else
|
||||
sudo 7z x "$zip" "-o$destination/"
|
||||
fi
|
||||
sudo chown -R qt:users "$destination"
|
||||
rm -rf "$zip"
|
||||
|
||||
echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022 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-3" "deb"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/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
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/squishInstall.sh"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/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
|
||||
|
||||
# shellcheck source=../common/linux/squish-coco.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
|
||||
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2021 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
|
||||
|
||||
# Setups sbuild environment
|
||||
|
||||
tee ~/.sbuildrc << EOF
|
||||
##############################################################################
|
||||
# PACKAGE BUILD RELATED (additionally produce _source.changes)
|
||||
##############################################################################
|
||||
# -d
|
||||
\$distribution = 'stable';
|
||||
# -A
|
||||
\$build_arch_all = 1;
|
||||
# -s
|
||||
\$build_source = 1;
|
||||
# -v
|
||||
\$verbose = 1;
|
||||
# parallel build
|
||||
\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8';
|
||||
##############################################################################
|
||||
# POST-BUILD RELATED (turn off functionality by setting variables to 0)
|
||||
##############################################################################
|
||||
\$run_lintian = 1;
|
||||
\$lintian_opts = ['-i', '-I'];
|
||||
\$run_piuparts = 0;
|
||||
\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata'];
|
||||
\$run_autopkgtest = 0;
|
||||
\$autopkgtest_root_args = '';
|
||||
\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
|
||||
|
||||
##############################################################################
|
||||
# PERL MAGIC
|
||||
##############################################################################
|
||||
1;
|
||||
EOF
|
||||
|
||||
# Add user group
|
||||
sudo sbuild-adduser "$LOGNAME"
|
||||
newgrp sbuild
|
||||
|
||||
# Create chroot
|
||||
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64
|
||||
|
||||
# For ubuntu 24.04
|
||||
echo "Create chroot for Ubuntu Noble"
|
||||
## ccache can't be found with Jammy (TODO: but now we have Noble - this should be tested)
|
||||
sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates noble /srv/chroot/noble-amd64 http://archive.ubuntu.com/ubuntu/
|
||||
echo "Done creating chroot for Ubuntu Noble"
|
||||
|
||||
# Update chroot.
|
||||
sudo sbuild-update -udcar stable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/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
|
||||
|
||||
# shellcheck source=../common/linux/axivion-bauhaus-suite.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh"
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
|
||||
# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy
|
||||
mkdir -p /home/qt/debian_packages
|
||||
cd /home/qt/debian_packages || exit
|
||||
# Backported cmake 3.24
|
||||
wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz
|
||||
tar xzf cmake-3.24-deb.tar.gz
|
||||
rm -rf cmake-3.24-deb.tar.gz
|
||||
# TODO: Adapt this from jammy to noble Ubuntu 24.04:
|
||||
# get rest of ready made Ubuntu jammy arm debian packages
|
||||
# so that sbuild can find those
|
||||
|
||||
#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb
|
||||
#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb
|
||||
@@ -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
|
||||
|
||||
# Install lcov 2.0 from 24.04/noble numbat
|
||||
|
||||
echo "Installing lcov"
|
||||
wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022 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/cleanup_cache.sh
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/ubuntu-version.sh"
|
||||
Reference in New Issue
Block a user