mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-07 23:46:51 +08:00
Add Ubuntu 22.04 aarch64 platform for RTA
Ubuntu 22.04 arm64 with minimal provision is added for RTA use only: Git, Java and GCC are installed in 02-apt.sh script. Python 3.10.12 is found already in Ubuntu. Task-number: QTQAINFRA-6212 Change-Id: Ib9931974179626afacdc7d6c03810a333ed3ae8e Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io> Reviewed-by: Matti Paaso <matti.paaso@qt.io>
This commit is contained in:
committed by
Elias Toivola
parent
fe87f13d43
commit
715321a47d
@@ -12,3 +12,21 @@ Configurations:
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
||||
]
|
||||
-
|
||||
Id: 'Ubuntu-22.04-arm64-x11'
|
||||
Template: 'qtci-linux-Ubuntu-22.04-aarch64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
|
||||
]
|
||||
-
|
||||
Id: 'Ubuntu-22.04-arm64-wayland'
|
||||
Template: 'qtci-linux-Ubuntu-22.04-aarch64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
|
||||
]
|
||||
|
||||
@@ -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"
|
||||
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-ntp.sh
Executable file
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-ntp.sh
Executable file
@@ -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 @@
|
||||
#!/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
|
||||
|
||||
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
|
||||
|
||||
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh
Executable file
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh
Executable file
@@ -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"
|
||||
43
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh
Executable file
43
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh
Executable file
@@ -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
|
||||
60
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
Executable file
60
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/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" > /dev/null <<-EOC
|
||||
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted universe multiverse
|
||||
deb [arch=aarch64 http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted universe multiverse
|
||||
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-backports main restricted universe
|
||||
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-security main restricted universe multiverse
|
||||
EOC
|
||||
}
|
||||
|
||||
#repo-clones not set up for aarch64 yet
|
||||
#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
|
||||
|
||||
# Make sure needed ca-certificates are available
|
||||
sudo apt-get install --reinstall ca-certificates
|
||||
|
||||
## Tools
|
||||
# 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)
|
||||
|
||||
# Packages needed for RTA and Squish
|
||||
installPackages+=(default-jdk)
|
||||
installPackages+=(gcc)
|
||||
|
||||
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[@]}"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
|
||||
|
||||
OpenSSLVersion="$(openssl version |cut -b 9-14)"
|
||||
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
|
||||
|
||||
7
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh
Executable file
7
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh
Executable file
@@ -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
|
||||
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh
Executable file
6
coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh
Executable file
@@ -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