From 47eb3746310465eb1f43d8ab69d753f9356e30fb Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Sun, 11 Apr 2021 09:02:16 +0300 Subject: [PATCH 1/2] Provisioning: Install Nodejs using pkg instead of Brew Openssl is one of Nodejs dependencies when installing it via Homebrew which is causing issues with actual openssl source build during provisioning Task-number: QTQAINFRA-4402 Change-Id: I711c0f2bb7faebb3e5cbe2f415f34b2ac2d38a66 Reviewed-by: Jani Heikkinen (cherry picked from commit 26c97222c11ad27bb495dcf85ff5c0256b9a0f12) --- coin/provisioning/common/macos/nodejs.sh | 50 +++++++++++++++++++ .../qtci-macos-10.13-x86_64/30-nodejs.sh | 4 +- .../qtci-macos-10.14-x86_64/30-nodejs.sh | 5 +- .../qtci-macos-10.15-x86_64/30-nodejs.sh | 5 +- 4 files changed, 56 insertions(+), 8 deletions(-) create mode 100755 coin/provisioning/common/macos/nodejs.sh diff --git a/coin/provisioning/common/macos/nodejs.sh b/coin/provisioning/common/macos/nodejs.sh new file mode 100755 index 00000000..b3728999 --- /dev/null +++ b/coin/provisioning/common/macos/nodejs.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# shellcheck source=./../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + +# This script will install Nodejs + +version="14.16.1" +urlCache="http://ci-files01-hki.ci.local/input/nodejs/node-v$version.pkg" +urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg" +sha1="4720274971c40fe51b2c647060f77c45fb4949a7" + +DownloadURL $urlCache $urlOffcial $sha1 "/tmp" +sudo installer -pkg node-v$version.pkg -target / + + echo "Nodejs = $version" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh index ab992405..5010f586 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash - set -ex -brew install nodejs +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh index ab992405..3b88d526 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh +++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh @@ -1,6 +1,5 @@ #!/usr/bin/env bash - set -ex -brew install nodejs - +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh index ab992405..3b88d526 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh @@ -1,6 +1,5 @@ #!/usr/bin/env bash - set -ex -brew install nodejs - +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" From 4578721c383c5c6d0e31e904722beaed3ee35ba1 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Tue, 30 Mar 2021 09:54:45 +0300 Subject: [PATCH 2/2] Provisioning: Reset Time Zone for macOS 10.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setting Time Zone for macOS 10.14 seems to be flaky. Let's reset it. If it still fails to set it then exit the script execution. Task-number: QTBUG-92174 Change-Id: I07b28d0511d8fc097a1da43b78de9a5131f6bfa7 Reviewed-by: Tony Sarajärvi (cherry picked from commit ba149a162bb5683fbc139f57f4669f970f47f03d) Reviewed-by: Jani Heikkinen (cherry picked from commit c84925c5122732d280837be444d82943c2f7bf73) --- .../qtci-macos-10.13-x86_64/05-systemsetup.sh | 14 +++++++++++++- .../qtci-macos-10.14-x86_64/05-systemsetup.sh | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh index 95631107..9c4ea4a6 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2019 The Qt Company Ltd. +## Copyright (C) 2021 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -97,4 +97,16 @@ 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 sudo systemsetup settimezone GMT +# Setting Time Zone seems to be flaky in macOS 10.13 and in macOS 10.14. Checking that Time Zone is correct. If not, reset it. +if [[ $(sudo systemsetup -gettimezone) = *GMT* ]]; then + echo "Time Zone is GMT" +else + echo "Wrong Time Zone. Reset Time Zone to GMT" + sleep 5 + sudo systemsetup settimezone GMT + if [[ $(sudo systemsetup -gettimezone) != *GMT* ]]; then + echo "Couldn't set Time Zone!" + exit 1 + fi +fi sudo rm -f "$targetFile" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh index 79eba834..f5e85f5f 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2019 The Qt Company Ltd. +## Copyright (C) 2021 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -97,5 +97,17 @@ 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 sudo systemsetup settimezone GMT +# Setting Time Zone seems to be flaky in macOS 10.13 and in macOS 10.14. Checking that Time Zone is correct. If not, reset it. +if [[ $(sudo systemsetup -gettimezone) = *GMT* ]]; then + echo "Time Zone is GMT" +else + echo "Wrong Time Zone. Reset Time Zone to GMT" + sleep 5 + sudo systemsetup settimezone GMT + if [[ $(sudo systemsetup -gettimezone) != *GMT* ]]; then + echo "Couldn't set Time Zone!" + exit 1 + fi +fi sudo systemsetup setusingnetworktime off sudo rm -f "$targetFile"