From b5a3958912507a345f070d2b480107a82ad79e6e Mon Sep 17 00:00:00 2001 From: Tero Heikkinen Date: Thu, 9 Oct 2025 09:19:16 +0300 Subject: [PATCH] Add openSUSE Leap 16.0 with non-blocking tests in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Notes: - GCC 15 - Python 3.13 - MimerSQL with openSSL 3 - CINetworkTest skipped until newer ICU 77 version available - gstreamer-plugin-openh264 not available Repository names have changed: - Old: /etc/zypp/repos.d/repo-oss.repo - New: /etc/zypp/repos.d/openSUSE:repo-oss.repo Not installed by default, therefore no need to disable anymore: - balooctl - ntp Task-number: QTQAINFRA-7455 Task-number: QTQAINFRA-7452 Change-Id: I2af7f828e07d31d3622cf46e819318c71d28783e Reviewed-by: Simo Fält Reviewed-by: Elias Toivola --- coin/platform_configs/cmake_platforms.yaml | 13 ++ .../cmake_platforms_wasm.yaml | 39 +++++ .../qtsaferenderer-runtime.yaml | 1 + coin/platform_configs/qtsaferenderer.yaml | 1 + coin/platform_configs/quick-minimal.yaml | 136 ++++++++++++++++++ coin/platform_configs/wasm_qtbase_tests.yaml | 7 + .../wasm_qtdeclarative_tests.yaml | 7 + .../README_MANUAL_INSTALLATIONS | 96 +++++++++++++ .../01-disable_net_lso.sh | 4 + .../01-install_telegraf.sh | 3 + .../01-set-ulimit.sh | 6 + .../01-systemsetup.sh | 51 +++++++ .../03-enable-repos.sh | 11 ++ .../03-limit-avahi-interfaces.sh | 8 ++ .../04-zypperpackages.sh | 97 +++++++++++++ .../05-disable_kwin_overview.sh | 7 + .../05-mount-vcpkg-cache-drive.sh | 8 ++ .../08-libclang-dyn.sh | 7 + .../08-libclang.sh | 7 + .../08-pythondev.sh | 22 +++ .../09-cmake.sh | 5 + .../09-openssl.sh | 5 + .../10-cmake-min-supported.sh | 8 ++ .../20-sccache.sh | 3 + .../22-mqtt_broker.sh | 6 + .../30-install-conan.sh | 6 + .../30-install-git.sh | 6 + .../40-install-flite.sh | 6 + .../41-install-vcpkg.sh | 6 + .../42-install-vcpkg-ports.sh | 6 + .../55-emsdk.sh | 8 ++ .../60-install_protobuf.sh | 9 ++ .../61-install_grpc.sh | 9 ++ .../70-install_QemuGA.sh | 9 ++ .../80-install-chrome.sh | 100 +++++++++++++ .../90-bootstrap-autostart.sh | 3 + .../90-firebird.sh | 8 ++ .../90-install-ffmpeg.sh | 3 + .../90-install-oracle.sh | 8 ++ .../90-mimer.sh | 8 ++ .../90-squish.sh | 4 + .../91-install-dummy-sound.sh | 8 ++ .../95-install-mosquitto-mqtt.sh | 9 ++ .../99-cleanup.sh | 7 + .../99-enable_test_stacktraces.sh | 11 ++ .../99-network-test.sh | 6 + .../99-unset-proxy.sh | 9 ++ .../99-version.sh | 17 +++ 48 files changed, 824 insertions(+) create mode 100644 coin/pre-provisioning/qtci-linux-openSUSE-16.0-x86_64/README_MANUAL_INSTALLATIONS create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-disable_net_lso.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-install_telegraf.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-set-ulimit.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-systemsetup.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-enable-repos.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-limit-avahi-interfaces.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/04-zypperpackages.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-disable_kwin_overview.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-mount-vcpkg-cache-drive.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang-dyn.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-pythondev.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-cmake.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-openssl.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/10-cmake-min-supported.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/20-sccache.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/22-mqtt_broker.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-conan.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-git.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/40-install-flite.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/41-install-vcpkg.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/42-install-vcpkg-ports.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/55-emsdk.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/60-install_protobuf.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/61-install_grpc.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/70-install_QemuGA.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/80-install-chrome.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-bootstrap-autostart.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-firebird.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-ffmpeg.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-oracle.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-mimer.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-squish.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/91-install-dummy-sound.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/95-install-mosquitto-mqtt.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-cleanup.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-enable_test_stacktraces.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-network-test.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-unset-proxy.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-version.sh diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index 062d24e4..63239e22 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -143,6 +143,19 @@ Configurations: 'VCPKG_HOST_TRIPLET=x64-linux-qt', 'VCPKG_TARGET_TRIPLET=x64-linux-qt', ] +- + Id: 'opensuse-16.0-developer-build' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Compiler: 'GCC' + Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure'] + Configure arguments: '-nomake examples -developer-build' + Environment variables: [ + 'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}', + 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}', + 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE', + 'VCPKG_HOST_TRIPLET=x64-linux-qt', + 'VCPKG_TARGET_TRIPLET=x64-linux-qt', + ] - Id: 'sles-15_sp6-static' Template: 'qtci-linux-SLES-15_SP6-x86_64-52' diff --git a/coin/platform_configs/cmake_platforms_wasm.yaml b/coin/platform_configs/cmake_platforms_wasm.yaml index acc120fd..8c7cca3f 100644 --- a/coin/platform_configs/cmake_platforms_wasm.yaml +++ b/coin/platform_configs/cmake_platforms_wasm.yaml @@ -13,6 +13,19 @@ Configurations: -feature-exceptions -DQT_QMAKE_DEVICE_OPTIONS=\"QT_EMSCRIPTEN_ASYNCIFY=1\"", 'HEADLESS_CHROME_FOR_TESTING=true' ] +- + Id: 'webassembly-linux-thread-asyncify-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Platform dependency: 'opensuse-16.0-developer-build' + Features: ['DoNotRunTests', 'UseConfigure'] + Environment variables: [ + 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', + "TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread \ + -feature-exceptions -DQT_QMAKE_DEVICE_OPTIONS=\"QT_EMSCRIPTEN_ASYNCIFY=1\"", + 'HEADLESS_CHROME_FOR_TESTING=true' + ] - Id: 'webassembly-windows' Template: 'qtci-windows-11_24H2-x86_64-71' @@ -41,6 +54,19 @@ Configurations: 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' ] +- + Id: 'webassembly-linux-thread-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Platform dependency: 'opensuse-16.0-developer-build' + Features: ['DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] + Environment variables: [ + 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', + 'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread', + 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' + ] - Id: 'webassembly-linux-shared' Template: 'qtci-linux-openSUSE-15.6-x86_64-51' @@ -54,3 +80,16 @@ Configurations: 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' ] +- + Id: 'webassembly-linux-shared-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Platform dependency: 'opensuse-16.0-developer-build' + Features: ['DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] + Environment variables: [ + 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', + 'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -no-feature-thread -nomake tests -nomake examples -shared', + 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' + ] diff --git a/coin/platform_configs/qtsaferenderer-runtime.yaml b/coin/platform_configs/qtsaferenderer-runtime.yaml index 664410f6..98e4a5b2 100644 --- a/coin/platform_configs/qtsaferenderer-runtime.yaml +++ b/coin/platform_configs/qtsaferenderer-runtime.yaml @@ -9,6 +9,7 @@ Include: [ "ubuntu-22.04-developer-build", "ubuntu-24.04-arm64", "opensuse-15.6-developer-build", + "opensuse-16.0-developer-build", "sles-15_sp6-static", "windows-10_22h2-msvc2022", "rhel-9.4", diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml index 738d7041..cf635648 100644 --- a/coin/platform_configs/qtsaferenderer.yaml +++ b/coin/platform_configs/qtsaferenderer.yaml @@ -10,6 +10,7 @@ Include: [ "ubuntu-22.04-developer-build", "ubuntu-24.04-arm64", "opensuse-15.6-developer-build", + "opensuse-16.0-developer-build", "sles-15_sp6-static", "windows-10_22h2-msvc2022", "rhel-9.4", diff --git a/coin/platform_configs/quick-minimal.yaml b/coin/platform_configs/quick-minimal.yaml index 12a41dc0..97cf7627 100644 --- a/coin/platform_configs/quick-minimal.yaml +++ b/coin/platform_configs/quick-minimal.yaml @@ -5,6 +5,7 @@ Include: [ ], cmake_platforms.yaml: [ "opensuse-15.6-developer-build", + "opensuse-16.0-developer-build", ] ] @@ -694,6 +695,141 @@ Configurations: -DFEATURE_qdoc=off', 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' ] +- + Id: 'wasm-quick-minimal-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Platform dependency: 'opensuse-16.0-developer-build' + Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant'] + Environment variables: [ + 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', + 'TARGET_CMAKE_ARGS= + -DCMAKE_CXX_FLAGS="-flto" + -DCMAKE_EXE_LINKER_FLAGS="-flto"', + 'TARGET_CONFIGURE_ARGS= + -release + -platform wasm-emscripten + -nomake examples + -nomake tests + -feature-thread + -optimize-size + -static + -ltcg + -feature-c++20 + -disable-deprecated-up-to 0x070000 + -no-feature-sql + -no-feature-xml + -no-feature-printsupport + -no-feature-dbus + -no-feature-vnc + -no-feature-future + -no-feature-concurrent + -no-feature-process + -no-feature-processenvironment + -no-feature-multiprocess + -no-feature-sharedmemory + -no-feature-permissions + -no-feature-udpsocket + -no-feature-localserver + -no-feature-picture + -no-feature-pdf + -no-feature-accessibility + -no-feature-clipboard + -no-feature-draganddrop + -no-feature-image_heuristic_mask + -no-feature-imageformat_bmp + -no-feature-imageformat_ppm + -no-feature-imageformat_xbm + -no-feature-cssparser + -no-feature-action + -no-feature-whatsthis + -no-feature-vkgen + -no-feature-backtrace + -no-feature-stack_clash_protection + -no-feature-mimetype + -no-feature-textmarkdownreader + -no-feature-textodfwriter + -no-feature-testlib + -no-feature-texthtmlparser + -no-feature-textmarkdownwriter + -no-feature-imageio-text-loading + -no-feature-image_text + -no-feature-proxymodel + -no-feature-filesystemmodel + -no-feature-wheelevent + -no-feature-tabletevent + -no-feature-icu + -no-feature-systemtrayicon + -no-feature-raster-64bit + -no-feature-raster-fp + -no-feature-undostack + -no-feature-undogroup + -no-feature-undocommand + -no-feature-sctp + -no-feature-dtls + -no-feature-networkproxy + -no-feature-getifaddrs + -no-feature-ipv6ifname + -no-feature-libresolv + -no-feature-libproxy + -no-feature-networkinterface + -no-feature-networkdiskcache + -no-feature-topleveldomain + -no-feature-gssapi + -no-feature-sha3-fast + -no-feature-systemsemaphore + -no-feature-gestures + -no-feature-jalalicalendar + -no-feature-hijricalendar + -no-feature-islamiccivilcalendar + -no-feature-timezone + -no-feature-timezone_tzdb + -no-feature-im + -no-feature-graphicsframecapture + -no-feature-library + -no-feature-filesystemwatcher + -no-feature-gif + -no-feature-ico + -no-feature-sessionmanager + -no-feature-emojisegmenter + -no-feature-egl + -no-feature-metal + -no-feature-vulkan + -no-feature-openvg + -no-feature-wasm-simd128 + -no-feature-wasm-exceptions + -no-feature-wasm-jspi + -no-feature-harfbuzz', + 'NON_QTBASE_CMAKE_ARGS= + -DFEATURE_qml_network=off + -DFEATURE_qml_ssl=off + -DFEATURE_qml_jit=off + -DFEATURE_qml_debug=off + -DFEATURE_qml_preview=off + -DFEATURE_qml_xml_http_request=off + -DFEATURE_qml_locale=off + -DFEATURE_qml_worker_script=off + -DFEATURE_qml_xmllistmodel=off + -DFEATURE_quick_canvas=off + -DFEATURE_quick_designer=off + -DFEATURE_quick_flipable=off + -DFEATURE_quick_gridview=off + -DFEATURE_quick_tableview=off + -DFEATURE_quick_treeview=off + -DFEATURE_quick_particles=off + -DFEATURE_quick_pathview=off + -DFEATURE_quick_sprite=off + -DFEATURE_quick_draganddrop=off + -DFEATURE_quick_pixmap_cache_threaded_download=off + -DFEATURE_qml_table_model=off + -DFEATURE_qml_tree_model=off + -DFEATURE_quicktemplates2_hover=off + -DFEATURE_quicktemplates2_multitouch=off + -DFEATURE_quicktemplates2_calendar=off + -DFEATURE_qdoc=off', + 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON' + ] - Id: 'ios-quick-minimal' Template: 'qtci-macos-14-arm-106' diff --git a/coin/platform_configs/wasm_qtbase_tests.yaml b/coin/platform_configs/wasm_qtbase_tests.yaml index ff2e5001..495ef8dc 100644 --- a/coin/platform_configs/wasm_qtbase_tests.yaml +++ b/coin/platform_configs/wasm_qtbase_tests.yaml @@ -7,3 +7,10 @@ Configurations: Compiler: 'GCC' Features: ['Sccache', 'TestOnly'] Platform dependency: 'webassembly-linux-thread-asyncify' +- + Id: 'webassembly-linux-thread-asyncify-tests-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Features: ['Sccache', 'TestOnly'] + Platform dependency: 'webassembly-linux-thread-asyncify-new' diff --git a/coin/platform_configs/wasm_qtdeclarative_tests.yaml b/coin/platform_configs/wasm_qtdeclarative_tests.yaml index ff2e5001..495ef8dc 100644 --- a/coin/platform_configs/wasm_qtdeclarative_tests.yaml +++ b/coin/platform_configs/wasm_qtdeclarative_tests.yaml @@ -7,3 +7,10 @@ Configurations: Compiler: 'GCC' Features: ['Sccache', 'TestOnly'] Platform dependency: 'webassembly-linux-thread-asyncify' +- + Id: 'webassembly-linux-thread-asyncify-tests-new' + Template: 'qtci-linux-openSUSE-16.0-x86_64-51' + Target os: 'WebAssembly' + Compiler: 'GCC' + Features: ['Sccache', 'TestOnly'] + Platform dependency: 'webassembly-linux-thread-asyncify-new' diff --git a/coin/pre-provisioning/qtci-linux-openSUSE-16.0-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-openSUSE-16.0-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..920a35fd --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-openSUSE-16.0-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,96 @@ +### OpenSUSE Leap 16.0 ### +## KDE ## +## In qtci-linux-openSUSE-16.0-x86_64-50 > Graphics Platform: X11 (System default) ## + +# Installation # +Language: English (US) +Keyboard Layout: English (US) + +Activate online repositories during installation (yes) +Use default selections +(Note: openSUSE 16.0 didn't offer these) + +Desktop with KDE Plasma + - This is not available in installer in openSUSE 16.0 + - Needs to be installed later via zypper + +Suggested Partitioning - default values + +Clock and Time Zone + - Region: Etc + - Time Zone: UTC - Coordinated Universal Time + - Hardware Clock Set to UTC (yes) + +## Configurations ## +Before coin-setup add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt +zypper update + +## openSUSE 16.0 ## +# - Doesn't have Desktop GUI etc. +# - Needs to install more than with previous versions + +# Install GNOME and KDE Plasma to get Desktops available +sudo zypper install -t pattern GNOME +sudo zypper install -t pattern kde + +# Set graphical target: +sudo systemctl set-default graphical.target +sudo reboot +# After reboot continue installation from Desktop GUI + +# How to remove Activities overview which has issues with some tests + - Switch from GDM to SDDM display manager to have Plasma (X11) available + - Plasma (X11) is selected because it doesn't have Activities overview + +#sudo zypper install sddm <-- Not needed, we have sddm-qt6 package installed +sudo systemctl disable gdm +sudo systemctl enable sddm +sudo systemctl set-default graphical.target + +# To verify which display manager is in use: +cat /etc/systemd/system/display-manager.service + +# After reboot Desktop Session: Plasma (X11) should be enabled in login screen +sudo reboot + +# To have autologin enabled +edit /etc/sysconfig/displaymanager +DISPLAYMANAGER_AUTOLOGIN="qt" + +# Autologin needs SDDM configuration to keep Plasma (X11) as selected +create /etc/sddm.conf.d/autologin.con + +[Autologin] +User=qt +Session=plasma6.desktop + +sudo reboot # And verify that autologin works and Desktop Session is still Plasma (X11) + +# Enable and start OpenSSH server +systemctl status sshd +systemctl enable sshd +systemctl start sshd + +# Login to desktop and continue with Coin setup +Download and run coin-setup binary - http:///coin/binary/linux_amd64/coin-setup +- If IP has changed and Coin name not visible to VM, check from Coin logs which IP works for VMs +- chmod 755 ./coin-setup && ./coin-setup + +Workspace Behavior - Screen locking - Lock screen automatically - unselect options +Startup and Shutdown - Login Screen - Behavior - Select Automatically log in with session (System default) +Notifications + All & App Notifications - unselect + Critical notifications - unselect + Low priority notifications - unselect + Application progress: Show in task manager - unselect + Show in notifications - unselect + Notification badges: Show in task manager - unselect +Display and Monitor - Display Configuration - 1280x800 +Power Management: Screen Energy Saving - unselect + Suspend Session - unselect +YaST - Hardware - Sound - Add Dummy soundcard + - openSUSE 16.0 already had dummy soundcard enabled again + +sudo zypper -nq install qemu-guest-agent + +Reboot diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..c404c366 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-disable_net_lso.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..dadc0781 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-set-ulimit.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..0520f9c6 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/01-systemsetup.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. + +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" + +# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027 +sudo btrfs quota disable / + +sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +"$BASEDIR/../common/linux/configure-gnome-shell.sh" + +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 "Disabling file indexing." +#sudo balooctl disable # Not available, no longer installed by default + +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo systemctl mask packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 0.5 +done +#echo "Disabling update notifications" +sudo zypper -nq remove discover6-notifier + +# 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" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-enable-repos.sh new file mode 100644 index 00000000..438943e2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-enable-repos.sh @@ -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 + +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/16.0/repo/oss/#g" /etc/zypp/repos.d/openSUSE:repo-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/16.0/repo/non-oss/#g" /etc/zypp/repos.d/openSUSE:repo-non-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/codecs.opensuse.org/openh264/openSUSE_Leap/#g" /etc/zypp/repos.d/openSUSE:repo-openh264.repo + +sudo zypper lr -u diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-limit-avahi-interfaces.sh new file mode 100644 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/03-limit-avahi-interfaces.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/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/04-zypperpackages.sh new file mode 100644 index 00000000..7d0bbdbc --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/04-zypperpackages.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. + +set -ex + +sudo zypper -nq install git gcc13 gcc15-c++ ninja +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-15 \ + --slave /usr/bin/cc cc /usr/bin/gcc-15 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-15 + +# Make sure needed ca-certificates are available +sudo zypper -nq install ca-certificates + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + systemd-devel \ + glib2-devel \ + libopenssl-3-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel \ + pcre2-devel libpng16-devel + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + + +# Xinput2 +sudo zypper -nq install libXi-devel + +# 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 xcb-util-cursor-devel + +# ICU +sudo zypper -nq install libicu-devel + +# qtwebengine +# Removing nodejs12 as it's not available and testing with common nodejs 18.16.0 +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel glproto-devel \ + libxshmfence-devel libXdamage-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 pipewire-devel # gstreamer-plugin-openh264 not available + +# cups +sudo zypper -nq install cups-devel + +#speech-dispatcher +sudo zypper -nq install libspeechd-devel + +# make +sudo zypper -nq install make + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +# zip, needed for vcpkg caching +sudo zypper -nq install zip + +# OpenSSL 3 +sudo zypper -nq install openssl-3 + +# Valgrind (Needed for testlib selftests) +sudo zypper -nq install valgrind-devel + +# cifs-utils, for mounting smb drive +sudo zypper -nq install cifs-utils + +# For Firebird in RTA +sudo zypper -nq install libtommath-devel + +# Java +sudo zypper -nq install java-17-openjdk + +# For tst_license.pl with all the machines generating SBOM +sudo zypper -nq install perl-JSON + +gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)" +echo "GCC = $gccVersion" >> versions.txt + +glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)" +echo "glibc = $glibcVersion" >> versions.txt + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-disable_kwin_overview.sh new file mode 100644 index 00000000..cb60bd3c --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100644 index 00000000..1144af47 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/05-mount-vcpkg-cache-drive.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" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang-dyn.sh new file mode 100644 index 00000000..504a7072 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang-dyn.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-dyn.sh +"$BASEDIR/../common/unix/libclang-dyn.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang.sh new file mode 100644 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-pythondev.sh new file mode 100644 index 00000000..3f5b757e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/08-pythondev.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside and emsdk for WebAssembly + +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# install python3 +sudo zypper -nq install python313-base python313-devel python313-pip python313-virtualenv python313-wheel +python3.13 -m pip install selenium netifaces scache brotli httpcompressionserver +python3.13 -m pip install -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" + +SetEnvVar "PYTHON3_EXECUTABLE" "/usr/bin/python3.13" + +# Provisioning during installation says: +# 'Defaulting to user installation because normal site-packages is not writeable' +# So it implicitly uses pip install --user, hence the path. +SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/.local/bin" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-cmake.sh new file mode 100644 index 00000000..5eb53566 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-cmake.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-openssl.sh new file mode 100644 index 00000000..e1131e39 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/09-openssl.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/10-cmake-min-supported.sh new file mode 100644 index 00000000..cc79d066 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/10-cmake-min-supported.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_min_supported.sh" + +# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf. +sudo zypper -nq install patchelf diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..14e283f9 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/22-mqtt_broker.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" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-conan.sh new file mode 100644 index 00000000..b8820053 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-conan.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-git.sh new file mode 100644 index 00000000..05fcdf8e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/30-install-git.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/40-install-flite.sh new file mode 100644 index 00000000..67ed1991 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/40-install-flite.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-flite.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/42-install-vcpkg-ports.sh new file mode 100644 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/55-emsdk.sh new file mode 100644 index 00000000..33dc42cc --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/55-emsdk.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" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..fcf73831 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/60-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_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..0a51d0f4 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/61-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 + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..71b482b0 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/70-install_QemuGA.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 diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/80-install-chrome.sh new file mode 100644 index 00000000..4a1c1eb5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/80-install-chrome.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. + +# This script will install up-to-date google Chrome needed for Webassembly auto tests. + +# problems: +# The jspi browser require --enable-unsafe-swiftshader to work, the original browser don't +# Running the original browser after the jspi browser causes it to crash unless +# we make sure the cachedir is different. + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# DownloadURL uses functions with exit status +set +ex + +function Install { + sha=$1 + cached=$2 + official=$3 + home=$4 + target=$5 + + if [ -z "$home" ] + then + echo "No home" + exit 1 + fi + + if [ -z "$target" ] + then + echo "No target" + exit 1 + fi + + cachedUrl="https://ci-files01-hki.ci.qt.io/input/wasm/${cached}" + officialUrl="https://storage.googleapis.com/chrome-for-testing-public/${official}" + tmp="/tmp/${sha}.zip" + + if ! DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$tmp" + then + echo "Download failed" + exit 1 + fi + + sudo rm -rf "${home}/${target}" + if ! unzip -q "$tmp" -d "${home}" + then + echo "Unzip failed" + exit 1 + fi + rm "$tmp" +} + +Install \ + "006d8e0438980d5ca8809af6f036e2b802b13cc8" \ + "chrome/chrome-for-testing-131.zip" \ + "131.0.6778.204/linux64/chrome-linux64.zip" \ + "${HOME}" \ + "chrome-linux64" + +Install \ + "53007a6778c4ba25763d066f12c598b982e72f74" \ + "chromedriver/chrome-for-testing-131.zip" \ + "131.0.6778.204/linux64/chromedriver-linux64.zip" \ + "${HOME}" \ + "chromedriver-linux64" + +Install \ + "9743a66a4427711e5b0cf1d569c1b893eab3c123" \ + "chrome/chrome-for-testing-139.zip" \ + "139.0.7258.138/linux64/chrome-linux64.zip" \ + "${HOME}/jspi" \ + "chrome-linux64" + +Install \ + "874a7870150ed0b20908ae77a5bd10d8cd5dea11" \ + "chromedriver/chrome-for-testing-139.zip" \ + "139.0.7258.138/linux64/chromedriver-linux64.zip" \ + "${HOME}/jspi" \ + "chromedriver-linux64" + +chromePath="${HOME}/chrome-linux64/" +chromeDriverPath="${HOME}/chromedriver-linux64/" +chromeJspiPath="${HOME}/jspi/chrome-linux64/" +chromeJspiDriverPath="${HOME}/jspi/chromedriver-linux64/" + +cp ${chromeDriverPath}chromedriver ${chromePath} +cp ${chromeJspiDriverPath}chromedriver ${chromeJspiPath} + +SetEnvVar "BROWSER_FOR_WASM" "${chromePath}chrome" +SetEnvVar "CHROMEDRIVER_PATH" "${chromePath}chromedriver" + +SetEnvVar "WASM_BROWSER_JSPI" "${chromeJspiPath}chrome" +SetEnvVar "WASM_BROWSER_JSPI_ARGS" "\"--headless --password-store=basic --enable-unsafe-swiftshader --user-data-dir=${HOME}/.cache/jspi\"" +SetEnvVar "WASM_CHROMEDRIVER_PATH_JSPI" "${chromeJspiPath}chromedriver" +SetEnvVar "WASM_CHROMEDRIVER_PATH_JSPI_ARGS" "\"--headless --password-store=basic --enable-unsafe-swiftshader --user-data-dir=${HOME}/.cache/jspi\"" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-firebird.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-firebird.sh new file mode 100644 index 00000000..f277cd5d --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-firebird.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" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..882680b7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-install-oracle.sh new file mode 100644 index 00000000..dc2c38ec --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-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/install-oracle.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-mimer.sh new file mode 100644 index 00000000..cb699ac1 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-mimer.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-3" "rpm" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-squish.sh new file mode 100644 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/91-install-dummy-sound.sh new file mode 100644 index 00000000..5d280b36 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-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-16.0-x86_64/95-install-mosquitto-mqtt.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/95-install-mosquitto-mqtt.sh new file mode 100644 index 00000000..23f02d8e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/95-install-mosquitto-mqtt.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 -e +set -o pipefail + +export PROVISIONING_DIR="${BASH_SOURCE%/*}/../" +source "$PROVISIONING_DIR"/common/unix/install-mosquitto-mqtt.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-cleanup.sh new file mode 100644 index 00000000..610e150e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-cleanup.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/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-enable_test_stacktraces.sh new file mode 100644 index 00000000..41761b49 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-enable_test_stacktraces.sh @@ -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 + +# Disable ptrace +echo "kernel.yama.ptrace_scope = 0" | sudo tee /etc/sysctl.d/10-ptrace.conf + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-network-test.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-network-test.sh new file mode 100644 index 00000000..bc84ded2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-network-test.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +echo "WIP: Temporarily skip network test until ICU 77 version is available" + +#BASEDIR=$(dirname "$0") +#"$BASEDIR/../common/linux/install-network-test.sh" "--warn-only" diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-unset-proxy.sh new file mode 100644 index 00000000..eec5f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-unset-proxy.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 + diff --git a/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-version.sh new file mode 100644 index 00000000..a31c9280 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-16.0-x86_64/99-version.sh @@ -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"