diff --git a/coin/provisioning/common/linux/install-nodejs.sh b/coin/provisioning/common/linux/install-nodejs.sh new file mode 100755 index 00000000..95a8a0e5 --- /dev/null +++ b/coin/provisioning/common/linux/install-nodejs.sh @@ -0,0 +1,42 @@ +#!/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=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# This script will install node.js 18.16.0 +version="18.16.0" + +uname_m="$(uname -m)" +case "$uname_m" in + x86_64|amd64) + sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548" + pkgname="node-v$version-linux-x64.tar.xz" + dirname="node-v$version-linux-x64" + ;; + arm64|aarch64) + sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea" + pkgname="node-v$version-linux-arm64.tar.xz" + dirname="node-v$version-linux-arm64" + ;; + *) fatal "Unknown architecture in uname: $uname_m" 43 ;; +esac + +internalUrl="http://ci-files01-hki.ci.qt.io/input/nodejs/$pkgname" +externalUrl="https://nodejs.org/dist/v$version/$pkgname" + +targetFile="$HOME/$pkgname" +DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile" +echo "Installing nodejs" +tar -xJf "$targetFile" -C "$HOME" +rm "$targetFile" + +installPrefix="/opt/$dirname" +sudo mv "$HOME/$dirname" "$installPrefix" + +SetEnvVar "PATH" "$installPrefix/bin:\$PATH" + +echo "nodejs = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/nodejs.sh b/coin/provisioning/common/macos/nodejs.sh index 141e7810..ac927110 100755 --- a/coin/provisioning/common/macos/nodejs.sh +++ b/coin/provisioning/common/macos/nodejs.sh @@ -7,12 +7,12 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # This script will install Nodejs -version="14.16.1" +version="18.16.0" urlCache="http://ci-files01-hki.ci.qt.io/input/nodejs/node-v$version.pkg" urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg" -sha1="4720274971c40fe51b2c647060f77c45fb4949a7" +sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e" -DownloadURL $urlCache $urlOffcial $sha1 "/tmp/node-v$version.pkg" +DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg" sudo installer -pkg "/tmp/node-v$version.pkg" -target / echo "Nodejs = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh index 95400e4a..530a8564 100755 --- a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh @@ -55,8 +55,7 @@ installPackages+=(libgbm-dev) installPackages+=(libxkbfile-dev) installPackages+=(libxshmfence-dev) installPackages+=(libxss-dev) -## installPackages+=(nodejs-mozilla) # use nodejs-mozilla because nodejs is outdated -installPackages+=(nodejs) +# installPackages+=(nodejs) too old installPackages+=(python3-html5lib) # ## Common event loop handling diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh new file mode 100755 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.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" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh index e80597e8..4d0ac056 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh @@ -143,7 +143,9 @@ sudo yum -y install "${installPackages[@]}" sudo ln -s /usr/bin/python2 /usr/bin/python -sudo dnf -y module install nodejs:12 +sudo dnf -y module install nodejs:16 + +sudo /usr/bin/pip3 install dataclasses # We shouldn't use yum to install virtualenv. The one found from package repo is not # working, but we can use installed pip diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh index 2f002f12..2c07e9b6 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh @@ -65,6 +65,7 @@ installPackages+=(gperftools-libs) installPackages+=(gperf) installPackages+=(alsa-lib-devel) installPackages+=(pulseaudio-libs-devel) +installPackages+=(libuuid-devel) installPackages+=(libXtst-devel) installPackages+=(libxshmfence-devel) installPackages+=(nspr-devel) diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh index e467b2be..b1a93357 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh @@ -68,7 +68,7 @@ installPackages+=(libvpx-dev) installPackages+=(libxkbfile-dev) installPackages+=(libxshmfence-dev) installPackages+=(libxss-dev) -installPackages+=(nodejs) +# installPackages+=(nodejs) too old installPackages+=(python3-html5lib) # Common event loop handling diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh new file mode 100755 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.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"