From aa419b10fb36b6cbfffa02039a963b0f5d1b8581 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Mon, 12 Aug 2024 11:31:25 +0800 Subject: [PATCH] Provisioning: install dummy sound device on ubuntu VMs Pick-to: 6.7 6.5 Change-Id: I71a518576c1ef0677855561edbd2dc5560727c35 Reviewed-by: Axel Spoerl (cherry picked from commit 0020fd1b3ed105d6818f391f354fff71a05beb03) Reviewed-by: Qt Cherry-pick Bot --- .../common/linux/install-dummy-alsa-device.sh | 67 +++++++++++++++++++ .../91-install-dummy-sound.sh | 8 +++ .../91-install-dummy-sound.sh | 8 +++ .../91-install-dummy-sound.sh | 8 +++ .../91-install-dummy-sound.sh | 8 +++ .../91-install-dummy-sound.sh | 58 +--------------- 6 files changed, 102 insertions(+), 55 deletions(-) create mode 100644 coin/provisioning/common/linux/install-dummy-alsa-device.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/91-install-dummy-sound.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-install-dummy-sound.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/91-install-dummy-sound.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-install-dummy-sound.sh diff --git a/coin/provisioning/common/linux/install-dummy-alsa-device.sh b/coin/provisioning/common/linux/install-dummy-alsa-device.sh new file mode 100644 index 00000000..b131021a --- /dev/null +++ b/coin/provisioning/common/linux/install-dummy-alsa-device.sh @@ -0,0 +1,67 @@ +#!/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 + +systemd_folder=/etc/systemd/system +systemd_file=dummysound.service +script_folder=/home/qt/bin +script_file=dummy_sound.sh + +# Ensure that script folder exists +if [ ! -d ${script_folder} ]; then + sudo mkdir ${script_folder} + sudo chmod 750 ${script_folder} +fi + + +# Create script to install dummy sound driver, +# in case no other sound driver is installed. +sudo tee "${script_folder}/${script_file}" <<"EOF" +# Check for existing sound driver +if lsmod | grep -q -i snd-dummy +then + echo "(**) Dummy sound driver already loaded. Nothing to do."; + exit 0; +fi + +# load dummy sound module +sudo modprobe snd-dummy + +# Check result +if lsmod | grep -q snd_dummy +then + echo "(**) Dummy sound driver loaded."; +else + echo "(EE) Failed to load dummy sound driver."; + exit 1; +fi +EOF + +# set permissions +sudo chmod 750 "${script_folder}/${script_file}" + +# Create service file +sudo tee "${systemd_folder}/${systemd_file}" <<"EOF" +# /etc/systemd/system/dummysound.service +# + +[Unit] +Description=Install dummy sound driver + +[Service] +Type=oneshot +ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh" + +[Install] +WantedBy=multi-user.target +EOF + +# Start servive and output result, just for logging +sudo systemctl start dummysound.service +# status commented out, returns 3 on VM. +# sudo systemctl status dummysound.service + +# enable service +sudo systemctl enable dummysound.service diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/91-install-dummy-sound.sh new file mode 100755 index 00000000..5d280b36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/91-install-dummy-sound.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/install-dummy-alsa-device.sh +source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-install-dummy-sound.sh new file mode 100755 index 00000000..5d280b36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-install-dummy-sound.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/install-dummy-alsa-device.sh +source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/91-install-dummy-sound.sh new file mode 100755 index 00000000..5d280b36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/91-install-dummy-sound.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/install-dummy-alsa-device.sh +source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-install-dummy-sound.sh new file mode 100755 index 00000000..5d280b36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-install-dummy-sound.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/install-dummy-alsa-device.sh +source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh index 345c5efa..5d280b36 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh @@ -1,60 +1,8 @@ #!/usr/bin/env bash -# Copyright (C) 2023 The Qt Company Ltd. +# 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 -systemd_folder=/etc/systemd/system -systemd_file=dummysound.service -script_folder=/home/qt/bin -script_file=dummy_sound.sh - -# Create script to install dummy sound driver, -# in case no other sound driver is installed. -sudo tee "${script_folder}/${script_file}" <<"EOF" -# Check for existing sound driver -if lsmod | grep -q -i snd -then - echo "(**) Sound driver already loaded. Nothing to do."; - exit 0; -fi - -# load dummy sound module -sudo modprobe snd-dummy - -# Check result -if lsmod | grep -q snd_dummy -then - echo "(**) Dummy sound driver loaded."; -else - echo "(EE) Failed to load dummy sound driver."; - exit 1; -fi -EOF - -# set permissions -sudo chmod 750 "${script_folder}/${script_file}" - -# Create service file -sudo tee "${systemd_folder}/${systemd_file}" <<"EOF" -# /etc/systemd/system/dummysound.service -# - -[Unit] -Description=Install dummy sound driver - -[Service] -Type=oneshot -ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh" - -[Install] -WantedBy=multi-user.target -EOF - -# Start servive and output result, just for logging -sudo systemctl start dummysound.service -# status commented out, returns 3 on VM. -# sudo systemctl status dummysound.service - -# enable service -sudo systemctl enable dummysound.service +# shellcheck source=../common/linux/install-dummy-alsa-device.sh +source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"