From e48317193fa95a9e5f34439542c9af57633e3ece Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 27 Apr 2018 03:01:17 +0300 Subject: [PATCH 01/14] Update submodules on '5.11' in qt5 Change-Id: I33004fcf26af40c9f17315a8aa5e66b22cc5f6ec Reviewed-by: Qt Submodule Update Bot --- qt3d | 2 +- qtbase | 2 +- qtcharts | 2 +- qtdeclarative | 2 +- qtlocation | 2 +- qtmultimedia | 2 +- qtquickcontrols2 | 2 +- qtremoteobjects | 2 +- qtwayland | 2 +- qtwebengine | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/qt3d b/qt3d index 898c11d1..2831c495 160000 --- a/qt3d +++ b/qt3d @@ -1 +1 @@ -Subproject commit 898c11d13a1af0c70fc8d5902bf3da210d6c2faf +Subproject commit 2831c495233338403b31348393e785055700541b diff --git a/qtbase b/qtbase index c579f49e..2660aefd 160000 --- a/qtbase +++ b/qtbase @@ -1 +1 @@ -Subproject commit c579f49e2a80a55a4004ff8e5b2ee76bda146387 +Subproject commit 2660aefdbc52c5f2ef1ec96216c7ab82aa0c7324 diff --git a/qtcharts b/qtcharts index d3f9275c..1448df49 160000 --- a/qtcharts +++ b/qtcharts @@ -1 +1 @@ -Subproject commit d3f9275cbaa6a6059298ec248dd28dd6ef065e51 +Subproject commit 1448df4988763d163b6753f9afddbec7999aedd8 diff --git a/qtdeclarative b/qtdeclarative index bea27694..2f397aa1 160000 --- a/qtdeclarative +++ b/qtdeclarative @@ -1 +1 @@ -Subproject commit bea27694ae60bc0273ee3a6f34a57168c9bf01a1 +Subproject commit 2f397aa15a13efbadf6c1bc378bb134ac1e655c5 diff --git a/qtlocation b/qtlocation index e2fb6664..d4483812 160000 --- a/qtlocation +++ b/qtlocation @@ -1 +1 @@ -Subproject commit e2fb666418f023ad99bede7adffd670eb749b707 +Subproject commit d44838125389720e4352dd51ad1da02f4cb58dc8 diff --git a/qtmultimedia b/qtmultimedia index b660ff21..ea079680 160000 --- a/qtmultimedia +++ b/qtmultimedia @@ -1 +1 @@ -Subproject commit b660ff21c6f07eb08b63ad10946326259353d864 +Subproject commit ea079680154f337e181eed3c3deb993c5c6b7c6b diff --git a/qtquickcontrols2 b/qtquickcontrols2 index 110b7187..bc933339 160000 --- a/qtquickcontrols2 +++ b/qtquickcontrols2 @@ -1 +1 @@ -Subproject commit 110b7187cef4a920423e860ef0e10f819c283fa2 +Subproject commit bc93333958e469e2bd79319befb23328a9de38a9 diff --git a/qtremoteobjects b/qtremoteobjects index 11354178..e8cadf8f 160000 --- a/qtremoteobjects +++ b/qtremoteobjects @@ -1 +1 @@ -Subproject commit 1135417853d83545a85dc2d283df388205a3609a +Subproject commit e8cadf8f88128758725ef7498ed7164751095832 diff --git a/qtwayland b/qtwayland index 434f3e9a..f8a16e0e 160000 --- a/qtwayland +++ b/qtwayland @@ -1 +1 @@ -Subproject commit 434f3e9a952b5858abc1f0ed1179ea5d2fca6a19 +Subproject commit f8a16e0edb11d3acc7f2448a4bcd0eb9606b39dc diff --git a/qtwebengine b/qtwebengine index b3b95a5b..216240a3 160000 --- a/qtwebengine +++ b/qtwebengine @@ -1 +1 @@ -Subproject commit b3b95a5bf3f04c18182fcc4519ec8285e290037d +Subproject commit 216240a31baae6e54e38de8157332f272ddf57a7 From 1125bbae42cbda0accd10c2f16acf73078a75173 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 28 Apr 2018 03:01:40 +0300 Subject: [PATCH 02/14] Update submodules on '5.11' in qt5 Change-Id: I342c23fe566e1f2d8bf1aab24a7b9c6c47ea82fc Reviewed-by: Qt Submodule Update Bot --- qtbase | 2 +- qtdeclarative | 2 +- qtmultimedia | 2 +- qtnetworkauth | 2 +- qtremoteobjects | 2 +- qtspeech | 2 +- qtwayland | 2 +- qtwebengine | 2 +- qtwebglplugin | 2 +- qtxmlpatterns | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/qtbase b/qtbase index 2660aefd..9fdbd9dc 160000 --- a/qtbase +++ b/qtbase @@ -1 +1 @@ -Subproject commit 2660aefdbc52c5f2ef1ec96216c7ab82aa0c7324 +Subproject commit 9fdbd9dce917e90f0e644bedd8dca183f88304d6 diff --git a/qtdeclarative b/qtdeclarative index 2f397aa1..8e98b175 160000 --- a/qtdeclarative +++ b/qtdeclarative @@ -1 +1 @@ -Subproject commit 2f397aa15a13efbadf6c1bc378bb134ac1e655c5 +Subproject commit 8e98b175fa9fc896b0372ec814ee6600116a027b diff --git a/qtmultimedia b/qtmultimedia index ea079680..8aaf91f2 160000 --- a/qtmultimedia +++ b/qtmultimedia @@ -1 +1 @@ -Subproject commit ea079680154f337e181eed3c3deb993c5c6b7c6b +Subproject commit 8aaf91f29933bf652ef6dc0215dea1f278b1f858 diff --git a/qtnetworkauth b/qtnetworkauth index 0d845e00..060c0679 160000 --- a/qtnetworkauth +++ b/qtnetworkauth @@ -1 +1 @@ -Subproject commit 0d845e00a000f376101165ec9a5c9096030db25c +Subproject commit 060c067960547cc2c129110017b6ccf020e6be6c diff --git a/qtremoteobjects b/qtremoteobjects index e8cadf8f..7fe4bc5c 160000 --- a/qtremoteobjects +++ b/qtremoteobjects @@ -1 +1 @@ -Subproject commit e8cadf8f88128758725ef7498ed7164751095832 +Subproject commit 7fe4bc5c19f519b3adf7209a37e3d8e5cc1e214d diff --git a/qtspeech b/qtspeech index b36a675e..da77ce98 160000 --- a/qtspeech +++ b/qtspeech @@ -1 +1 @@ -Subproject commit b36a675e77a92cd408864bfbcfdf755647749927 +Subproject commit da77ce9802200cc6dd47268172f60a60bd1310d1 diff --git a/qtwayland b/qtwayland index f8a16e0e..51472970 160000 --- a/qtwayland +++ b/qtwayland @@ -1 +1 @@ -Subproject commit f8a16e0edb11d3acc7f2448a4bcd0eb9606b39dc +Subproject commit 51472970ce519fb39f492238b879d67ad9505f28 diff --git a/qtwebengine b/qtwebengine index 216240a3..ff0a83a6 160000 --- a/qtwebengine +++ b/qtwebengine @@ -1 +1 @@ -Subproject commit 216240a31baae6e54e38de8157332f272ddf57a7 +Subproject commit ff0a83a6c3e64772276cb71cba0392d1e89b037f diff --git a/qtwebglplugin b/qtwebglplugin index 7bbbe5a8..8bbe7450 160000 --- a/qtwebglplugin +++ b/qtwebglplugin @@ -1 +1 @@ -Subproject commit 7bbbe5a86779fd1ff55b07dbda433779f4aff6a7 +Subproject commit 8bbe7450759417082efce6ff57e8f0e490a247f2 diff --git a/qtxmlpatterns b/qtxmlpatterns index e4abf2c6..1a254ab1 160000 --- a/qtxmlpatterns +++ b/qtxmlpatterns @@ -1 +1 @@ -Subproject commit e4abf2c6e3de158d3a6eb3c46b5158f741136c9d +Subproject commit 1a254ab116f63b8188b9bc12cdd19e6d5696c3f2 From 9bf79e6bab6a49622e754b25b01bd24974bd23c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 11 Apr 2018 09:13:53 +0300 Subject: [PATCH 03/14] Fix shellcheck complaints in provisioning scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I38306c6d2ff360dc12f8c33b289bbc4ae4935aca Reviewed-by: Joni Jäntti Reviewed-by: Simo Fält --- coin/provisioning/common/linux/android_linux.sh | 13 +++++++++---- coin/provisioning/common/linux/cmake_linux.sh | 2 ++ coin/provisioning/common/linux/fbx_linux.sh | 3 +++ coin/provisioning/common/linux/integrity.sh | 2 ++ coin/provisioning/common/linux/open62541.sh | 6 +++++- .../common/linux/openssl_for_android_linux.sh | 2 ++ coin/provisioning/common/linux/qnx_700.sh | 1 + coin/provisioning/common/unix/DownloadURL.sh | 6 +++--- .../common/unix/check_and_set_proxy.sh | 1 + coin/provisioning/common/unix/libclang.sh | 10 ++++++---- coin/provisioning/common/unix/squishInstall.sh | 14 +++++++------- 11 files changed, 41 insertions(+), 19 deletions(-) diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 5679c4c6..68e77dd1 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -37,8 +37,11 @@ # It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/check_and_set_proxy.sh source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/android" @@ -78,10 +81,11 @@ else fi echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." +# shellcheck disable=SC2031 if [ "$http_proxy" != "" ]; then - proxy_host=$(echo $proxy | cut -d'/' -f3 | cut -d':' -f1) - proxy_port=$(echo $proxy | cut -d':' -f3) - echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host=$proxy_host --proxy_port=$proxy_port "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" + proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1) + proxy_port=$(echo "$proxy" | cut -d':' -f3) + echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" else echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" fi @@ -91,12 +95,13 @@ SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" +# shellcheck disable=SC2129 echo "Android SDK tools = $toolsVersion" >> ~/versions.txt echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt echo "Android NDK = $ndkVersion" >> ~/versions.txt -cd $sdkTargetFolder/tools/bin +cd "$sdkTargetFolder/tools/bin" echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f # Purely informative, show the list of avd devices diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 7154d822..0b09971c 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -37,7 +37,9 @@ # CMake is needed for autotests that verify that Qt can be built with CMake +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="3.6.2" diff --git a/coin/provisioning/common/linux/fbx_linux.sh b/coin/provisioning/common/linux/fbx_linux.sh index a6c00f61..f04eb89f 100755 --- a/coin/provisioning/common/linux/fbx_linux.sh +++ b/coin/provisioning/common/linux/fbx_linux.sh @@ -34,7 +34,10 @@ ############################################################################# # This script installs FBX SDK + +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" set -e diff --git a/coin/provisioning/common/linux/integrity.sh b/coin/provisioning/common/linux/integrity.sh index e291358d..180881a3 100755 --- a/coin/provisioning/common/linux/integrity.sh +++ b/coin/provisioning/common/linux/integrity.sh @@ -35,7 +35,9 @@ # This script installs INTEGRITY +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="11.4.4" diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/open62541.sh index 4d907f17..433748d1 100755 --- a/coin/provisioning/common/linux/open62541.sh +++ b/coin/provisioning/common/linux/open62541.sh @@ -35,6 +35,8 @@ set +e +# shellcheck disable=SC1090 + # We need to source to be able to use cmake in the shell if uname -a |grep -q "Ubuntu"; then source ~/.profile @@ -44,11 +46,13 @@ fi set -ex +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" +# shellcheck disable=SC2064 trap "sudo rm -fr $TEMPDIR" EXIT -cd $TEMPDIR +cd "$TEMPDIR" sudo pip install --upgrade pip sudo pip install six diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh index 30022c39..ed91c5ab 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -36,7 +36,9 @@ # This script install OpenSSL from sources. # Requires GCC and Perl to be in PATH. +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="1.0.2g" diff --git a/coin/provisioning/common/linux/qnx_700.sh b/coin/provisioning/common/linux/qnx_700.sh index b53c1d26..49fb7243 100755 --- a/coin/provisioning/common/linux/qnx_700.sh +++ b/coin/provisioning/common/linux/qnx_700.sh @@ -37,6 +37,7 @@ set -ex +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/" diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index d1f2f1bf..14d1322d 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -54,8 +54,8 @@ function DownloadURL { ) echo "Checking SHA1 on PKG '$targetFile'" - echo "$expectedSha1 *$targetFile" > $targetFile.sha1 - sha1sum --check $targetFile.sha1 - rm -f $targetFile.sha1 + echo "$expectedSha1 *$targetFile" > "$targetFile.sha1" + sha1sum --check "$targetFile.sha1" + rm -f "$targetFile.sha1" } diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index 1cbee166..3e55b09f 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -34,6 +34,7 @@ set -ex +# shellcheck source=../shared/http_proxy.txt source "${BASH_SOURCE%/*}/../shared/http_proxy.txt" (wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy) || echo "Proxy not detected at $proxy" diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh index 7f29259e..5b3b6bb1 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -40,10 +40,12 @@ # In case of Linux, we expect to get the values as args set -e +# shellcheck source=./check_and_set_proxy.sh source "${BASH_SOURCE%/*}/check_and_set_proxy.sh" BASEDIR=$(dirname "$0") -. $BASEDIR/../shared/sw_versions.txt +# shellcheck source=../shared/sw_versions.txt +. "$BASEDIR/../shared/sw_versions.txt" url=$1 sha1=$2 version=$3 @@ -61,10 +63,10 @@ destination="/usr/local/libclang-$version" curl --fail -L --retry 5 --retry-delay 5 -o "$zip" "$url" echo "$sha1 $zip" | sha1sum --check -7z x $zip -o/tmp/ -rm -rf $zip +7z x "$zip" -o/tmp/ +rm -rf "$zip" -sudo mv /tmp/libclang $destination +sudo mv /tmp/libclang "$destination" echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile echo "libClang = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index 0ed9b0a0..ab0102ec 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -93,7 +93,7 @@ function MountAndInstall { targetFileMount="$mountFolder"/"$targetFile" echo "Mounting $url to $mountFolder" - sudo mount "$url" $mountFolder + sudo mount "$url" "$mountFolder" echo "Create $targetDirectory if needed" if [ ! -d "/opt" ]; then sudo mkdir "/opt" @@ -112,19 +112,19 @@ function MountAndInstall { fi sudo tar -xzf "$targetFileMount" --directory "$target" echo "Unmounting $mountFolder" - sudo umount $mountFolder + sudo umount "$mountFolder" elif [[ $targetFile == *.dmg ]]; then echo "'dmg-file', no need to uncompress" - sudo cp $targetFileMount /tmp - sudo umount $mountFolder + sudo cp "$targetFileMount" /tmp + sudo umount "$mountFolder" sudo hdiutil attach "/tmp/$targetFile" sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" sudo hdiutil unmount /Volumes/froglogic\ Squish/ elif [[ $targetFile == *.run ]]; then echo "'run-file', no need to uncompress" - sudo cp $targetFileMount $targetDirectory - sudo umount $mountFolder - sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 + sudo cp "$targetFileMount" "$targetDirectory" + sudo umount "$mountFolder" + sudo "$targetDirectory/$targetFile" unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 sudo rm -fr "$targetDirectory/$targetFile" if uname -a |grep -q "Ubuntu"; then sudo mkdir /usr/lib/tcl8.6 From eccb53c6073a6e38feda6de840d1351105fb0c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 11 Apr 2018 09:50:31 +0300 Subject: [PATCH 04/14] Fix shellcheck complaints in common macos provisioning scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9d6891a2956f66ebf2ca759c4085acad30a84618 Reviewed-by: Joni Jäntti Reviewed-by: Simo Fält --- .../common/macos/InstallAppFromCompressedFileFromURL.sh | 2 +- coin/provisioning/common/macos/InstallPKGFromURL.sh | 4 ++-- coin/provisioning/common/macos/fbx_macos.sh | 2 -- .../common/macos/install-commandlinetools.sh | 9 +++++---- coin/provisioning/common/macos/python2.sh | 2 +- coin/provisioning/common/macos/python3.sh | 2 +- coin/provisioning/common/macos/sha1sum-compatibility.sh | 1 + 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh index d20a4ed8..1dd48e87 100755 --- a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh @@ -39,7 +39,7 @@ set -ex -# shellcheck source=DownloadURL.sh +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" function InstallAppFromCompressedFileFromURL { diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh index f5c4e2e4..77ef128a 100755 --- a/coin/provisioning/common/macos/InstallPKGFromURL.sh +++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh @@ -50,8 +50,8 @@ function InstallPKGFromURL { curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" ) echo "Checking SHA1 on PKG '$targetFile'" - echo "$expectedSha1 *$targetFile" > $targetFile.sha1 - /usr/bin/shasum --check $targetFile.sha1 + echo "$expectedSha1 *$targetFile" > "$targetFile.sha1" + /usr/bin/shasum --check "$targetFile.sha1" echo "Run installer on PKG" sudo installer -package "$targetFile" -target "$targetDirectory" echo "Removing file '$targetFile'" diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh index 40776938..7e58a107 100755 --- a/coin/provisioning/common/macos/fbx_macos.sh +++ b/coin/provisioning/common/macos/fbx_macos.sh @@ -48,8 +48,6 @@ targetFolder="/tmp" targetFile="$targetFolder/$fileName" installer="$targetFolder/fbx20161_2_fbxsdk_clang_macos.pkg" -ExceptionExtractPrimaryUrl=100 - echo "Extracting '$cachedUrl'" tar -xzf "$cachedUrl" -C "$targetFolder" || ( echo "Failed to uncompress from '$cachedUrl'" diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh index 18ff1036..2be234e7 100755 --- a/coin/provisioning/common/macos/install-commandlinetools.sh +++ b/coin/provisioning/common/macos/install-commandlinetools.sh @@ -32,6 +32,7 @@ ## $QT_END_LICENSE$ ## ############################################################################# +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" set -ex @@ -44,19 +45,19 @@ function InstallCommandLineTools { packageName=$4 version=$5 - DownloadURL $url $url_alt $expectedSha1 /tmp/$packageName + DownloadURL "$url" "$url_alt" "$expectedSha1" "/tmp/$packageName" echo "Mounting $packageName" - hdiutil attach /tmp/$packageName + hdiutil attach "/tmp/$packageName" cd "/Volumes/Command Line Developer Tools" echo "Installing" - sudo installer -verbose -pkg *.pkg -target / + sudo installer -verbose -pkg ./*.pkg -target / cd / # Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted sleep 3 echo "Unmounting" umount /Volumes/Command\ Line\ Developer\ Tools/ echo "Removing $packageName" - rm /tmp/$packageName + rm "/tmp/$packageName" echo "Command Line Tools = $version" >> ~/versions.txt } diff --git a/coin/provisioning/common/macos/python2.sh b/coin/provisioning/common/macos/python2.sh index 687b9be5..f4016f8d 100755 --- a/coin/provisioning/common/macos/python2.sh +++ b/coin/provisioning/common/macos/python2.sh @@ -37,7 +37,7 @@ # shellcheck source=./InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" -# shellcheck source=./../unix/SetEnvVar.sh +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index f2876a20..545a6d02 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -38,7 +38,7 @@ # shellcheck source=./InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" -# shellcheck source=./../unix/SetEnvVar.sh +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" diff --git a/coin/provisioning/common/macos/sha1sum-compatibility.sh b/coin/provisioning/common/macos/sha1sum-compatibility.sh index 5080f8fc..c3936499 100755 --- a/coin/provisioning/common/macos/sha1sum-compatibility.sh +++ b/coin/provisioning/common/macos/sha1sum-compatibility.sh @@ -45,5 +45,6 @@ # /usr/local/bin/sha1sum -> /usr/bin/shasum5.18 [ -d /usr/local/bin ] || sudo mkdir -p /usr/local/bin +# shellcheck disable=SC2012 SHASUM_TOOLNAME=$(ls -r /usr/bin/shasum?.* | head -n1) sudo ln -s "${SHASUM_TOOLNAME}" /usr/local/bin/sha1sum From 5586a17eff92982d12d075f1f72636f0a028f5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 11 Apr 2018 10:01:13 +0300 Subject: [PATCH 05/14] Fix shellcheck complaints for openSUSE provisioning scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5360a1b7b4c405d7ca9fedee8e100d933ec6e7b7 Reviewed-by: Oswald Buddenhagen Reviewed-by: Simo Fält --- .../qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh | 5 ++++- .../qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh | 1 + .../qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh | 5 +++-- .../provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh | 2 +- coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh | 1 + .../qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh | 1 + .../qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh | 1 + .../qtci-linux-openSUSE-42.3-x86_64/90-squish.sh | 2 +- 8 files changed, 13 insertions(+), 5 deletions(-) diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh index 053adfe1..0e677642 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh @@ -3,7 +3,9 @@ set -ex BASEDIR=$(dirname "$0") -source $BASEDIR/../common/shared/network_test_server_ip.txt +# 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" sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc @@ -17,6 +19,7 @@ sudo balooctl disable echo "Disable update notifications" sudo zypper -nq remove plasma5-pk-updates +# 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 diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh index 97bb177c..38707a8a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh @@ -1,2 +1,3 @@ #!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh index b4155e86..3202462b 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh @@ -3,9 +3,10 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/shared/sw_versions.txt +# shellcheck source=../common/shared/sw_versions.txt +. "$BASEDIR/../common/shared/sw_versions.txt" VERSION=$libclang_version URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" SHA1="bbdbbc0296f42310077539b7247d285386119ef4" -$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION" +"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh index 2044310c..5eb53566 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh @@ -2,4 +2,4 @@ set -ex -$(dirname $0)/../common/linux/cmake_linux.sh +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh index e5a4208b..7ab8528a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh @@ -35,6 +35,7 @@ # This script install Intel Parallel Studio XE Composer Edition for C++ Linux +# shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh index 04c09770..505374c5 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh index 6cc2b44f..049cdd2d 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/linux/open62541.sh source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh index 27ff15c3..e4281588 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash BASEDIR=$(dirname "$0") -$BASEDIR/../common/unix/squishInstall.sh +"$BASEDIR/../common/unix/squishInstall.sh" From b8c0fb552fb21ffda7ed2d002957327f28ca8fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 11 Apr 2018 15:30:46 +0300 Subject: [PATCH 06/14] Fix and-or in NTP disabling Change-Id: Ib4b6ffa65ba600919ad71b2748da5055449f3164 Reviewed-by: Heikki Halmet --- coin/provisioning/common/linux/disable-ntp_linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh index 56f98c52..b73e44a5 100755 --- a/coin/provisioning/common/linux/disable-ntp_linux.sh +++ b/coin/provisioning/common/linux/disable-ntp_linux.sh @@ -40,5 +40,5 @@ echo "Disable Network Time Protocol (NTP)" if uname -a |grep -q "Ubuntu"; then sudo timedatectl set-ntp false else - systemctl &>/dev/null && sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off + (systemctl &>/dev/null && sudo systemctl disable ntpd) || sudo /sbin/chkconfig ntpd off fi From cd87f148dd9892c063dde7936b9081547758ee12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Thu, 19 Apr 2018 11:10:22 +0300 Subject: [PATCH 07/14] Fix Squish Provisioning coding style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I663ce38fffa3a9446972d1790d80f76b7155c029 Reviewed-by: Simo Fält --- coin/provisioning/common/windows/squishInstall.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 index 04eb563b..8db53ca7 100644 --- a/coin/provisioning/common/windows/squishInstall.ps1 +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -104,11 +104,11 @@ Function TestSquish { [string]$squishPackage ) - echo "Verifying Squish Installation" + Write-Host "Verifying Squish Installation" if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") { - echo "Squish installation tested successfully!" + Write-Host "Squish installation tested successfully!" } else { - echo "Squish test failed! $squishPackage wasn't installed correctly." + Write-Host "Squish test failed! $squishPackage wasn't installed correctly." [Environment]::Exit(1) } } From d93baa38d0684f3990f2e86e494d6ae3f7b65e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Thu, 19 Apr 2018 12:23:03 +0300 Subject: [PATCH 08/14] Fix powershell stylings in provisioning scripts Change-Id: I946027047b9810ec1197b50394f157eb406434c2 Reviewed-by: Oliver Wolff --- coin/provisioning/common/windows/msvc-2013-update5.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/coin/provisioning/common/windows/msvc-2013-update5.ps1 b/coin/provisioning/common/windows/msvc-2013-update5.ps1 index f28d8f0b..1d717fe6 100644 --- a/coin/provisioning/common/windows/msvc-2013-update5.ps1 +++ b/coin/provisioning/common/windows/msvc-2013-update5.ps1 @@ -38,13 +38,13 @@ $version = "2013 Update 5 (KB2829760)" $package = "C:\Windows\Temp\vs12-kb2829760.exe" $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VS2013.5.exe" -Write-Output "Fetching patch for Visual Studio $version..." +Write-Host "Fetching patch for Visual Studio $version..." Copy-Item $url_cache $package -Write-Output "Installing Update 5 for Visual Studio $version..." -Start-Process -FilePath $package -ArgumentList "/norestart /passive" -Wait +Write-Host "Installing Update 5 for Visual Studio $version..." +Run-Executable "$package" "/norestart /passive" -Write-Output "Removing $package ..." +Write-Host "Removing $package ..." Remove-Item $package Write-Output "Visual Studio = $version" >> ~\versions.txt From ce1479c1d3bdfacba942c524c41c0f0a7ede6ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Thu, 19 Apr 2018 12:58:21 +0300 Subject: [PATCH 09/14] Provisioning: list installed packages in distro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I71bbfbfba034066cffd4cb1a9d781d386b1b6b9a Reviewed-by: Simo Fält --- .../qtci-linux-RHEL-7.4-x86_64/99-version.sh | 48 +++++++++++++++++++ .../99-version.sh | 46 ++++++++++++++++++ .../99-version.sh | 48 +++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100755 coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# 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" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh new file mode 100755 index 00000000..21a4c4cf --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed packages *****" >> ~/versions.txt +apt list --installed >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# 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" From 93e31c12816298c161a12d5f66d2b65aca48f8ca Mon Sep 17 00:00:00 2001 From: Joni Jantti Date: Mon, 16 Apr 2018 13:58:04 +0300 Subject: [PATCH 10/14] Provisioning: Ubuntu - zlib1g:i386 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RTA needs this package for QNX testing. Task-number: QTQAINFRA-1930 Change-Id: I3587558bc1c8ece6dbb29b5f5184f4bfa744a790 Reviewed-by: Tony Sarajärvi --- coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh index 40e07fe6..e78cba17 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh @@ -124,6 +124,7 @@ installPackages+=(curl) installPackages+=(libicu-dev) installPackages+=(zlib1g-dev) installPackages+=(zlib1g) +installPackages+=(zlib1g:i386) installPackages+=(openjdk-8-jdk) installPackages+=(libgtk-3-dev) installPackages+=(ninja-build) From e3699c5a6fe299e94510a34d2af80e5526461f86 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Mon, 16 Apr 2018 09:19:26 +0300 Subject: [PATCH 11/14] Add missing sw versions to versions.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ifa12b6c6308e4ad73989e7e935061f77ae1823e2 Reviewed-by: Tony Sarajärvi --- coin/provisioning/common/linux/cmake_linux.sh | 3 +++ coin/provisioning/common/windows/03-conan.ps1 | 2 ++ coin/provisioning/common/windows/android-openssl.ps1 | 2 ++ coin/provisioning/common/windows/android.ps1 | 6 ++++++ coin/provisioning/common/windows/icu.ps1 | 2 ++ coin/provisioning/common/windows/jom.ps1 | 2 ++ coin/provisioning/common/windows/libusb.ps1 | 2 ++ coin/provisioning/common/windows/mesa_llvmpipe.ps1 | 1 + .../provisioning/common/windows/msvc_2015_update3_patch.ps1 | 2 ++ coin/provisioning/common/windows/ninja.ps1 | 2 ++ coin/provisioning/common/windows/python.ps1 | 2 ++ coin/provisioning/common/windows/python3.ps1 | 3 +++ coin/provisioning/qtci-windows-7-x86/04-msys.ps1 | 2 ++ 13 files changed, 31 insertions(+) diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 0b09971c..9b4f6851 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -52,3 +52,6 @@ appPrefix="cmake-$version-Linux-x86_64" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" SetEnvVar "PATH" "$targetFolder/bin:\$PATH" + +echo "CMake = $version" >> ~/versions.txt + diff --git a/coin/provisioning/common/windows/03-conan.ps1 b/coin/provisioning/common/windows/03-conan.ps1 index d900f5a7..74c21e20 100644 --- a/coin/provisioning/common/windows/03-conan.ps1 +++ b/coin/provisioning/common/windows/03-conan.ps1 @@ -56,3 +56,5 @@ function Run-Conan-Install Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt" } } + +Write-Output "Conan = 0.24.0" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index b0363c4c..1131841a 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -67,3 +67,5 @@ Pop-Location # Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. # C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h + +Write-Output "Android OpenSSL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 2048d6a9..8fa19e04 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -98,3 +98,9 @@ if ($p -ne $null) { } else { Write-Host "adb.exe not running" } + +Write-Output "Android SDK tools= $sdkVersion" >> ~/versions.txt +Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt +Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt +Write-Output "Android NDK = $ndkVersion" >> ~/versions.txt + diff --git a/coin/provisioning/common/windows/icu.ps1 b/coin/provisioning/common/windows/icu.ps1 index a03d10c4..786eb88f 100644 --- a/coin/provisioning/common/windows/icu.ps1 +++ b/coin/provisioning/common/windows/icu.ps1 @@ -43,3 +43,5 @@ if (Is64BitWinHost) { Set-EnvironmentVariable "CI_ICU_PATH_Mingw49" "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1" } + +Write-Output "ICU = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1 index efdbb97d..2344eec7 100644 --- a/coin/provisioning/common/windows/jom.ps1 +++ b/coin/provisioning/common/windows/jom.ps1 @@ -7,3 +7,5 @@ Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4" Extract-Zip $zip C:\Utils\Jom Set-EnvironmentVariable "CI_JOM_PATH" "C:\Utils\Jom" + +Write-Output "Jom = 1.1.2" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/libusb.ps1 b/coin/provisioning/common/windows/libusb.ps1 index d5340484..3207131b 100644 --- a/coin/provisioning/common/windows/libusb.ps1 +++ b/coin/provisioning/common/windows/libusb.ps1 @@ -45,3 +45,5 @@ Extract-7Zip $archive $libusb_location # Tell qt-apps/qdb build system where to find libusb Set-EnvironmentVariable "LIBUSB_PATH" $libusb_location + +Write-Output "libusb = libusb-1.0.21" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 index 3f688f4c..2f613076 100644 --- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 +++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 @@ -62,3 +62,4 @@ if (Is64BitWinHost) { Extract-Mesa $mesaOpenglUrl_32 $mesaOpenglSha1_32 "C:\Windows\system32" } +Write-Output "Mesa llvmpipe = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 b/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 index a153e9d8..bfbb397a 100644 --- a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 +++ b/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 @@ -63,3 +63,5 @@ Write-Host "Installing patch for Visual Studio $version..." Run-Executable $executable "/norestart /passive" Remove-Item -Force -Recurse -Path $toRemove + +Write-Output "Visual Studio = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1 index dd60ad69..1903501e 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -9,3 +9,5 @@ Extract-Zip $zip C:\Utils\Ninja Remove-Item -Path $zip Add-Path "C:\Utils\Ninja" + +Write-Output "Ninja = 1.6.0" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 index ae9cbbbd..28881d58 100644 --- a/coin/provisioning/common/windows/python.ps1 +++ b/coin/provisioning/common/windows/python.ps1 @@ -69,3 +69,5 @@ Run-Executable "C:\Python27\python.exe" "-m ensurepip" # $pip_args = "--proxy=" + (getProxy) #} Run-Executable "C:\Python27\Scripts\pip.exe" "install virtualenv" + +Write-Output "Python = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1 index 0ea93133..cd5c8348 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -70,3 +70,6 @@ Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts" # $pip_args = "--proxy=" + (getProxy) #} Run-Executable "$install_path\Scripts\pip3.exe" "install virtualenv" + +Write-Output "Python3 = $version" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 b/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 index 8bfcdbae..be52fb2a 100644 --- a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 @@ -12,3 +12,5 @@ $destination = "C:\msys" Download $url $url $zip Verify-Checksum $zip $sha1 C:\Utils\sevenzip\7z.exe x $zip -oC:\ + +Write-Output "Msys = $version" >> ~/versions.txt From 8d04f876e73ae16a6381ba45bbe51377ad23a60f Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Mon, 19 Mar 2018 13:04:11 +0100 Subject: [PATCH 12/14] windows provisioning: Do not use Windows builtin way of extracting zips The builtin way of Windows for handling zip files is much slower than using 7zip. A small benchmark (not representative, just extracting the android ndk) showed 11 minutes using Extract-Zip vs 2,5 minutes using Extract-7Zip on my machine. Change-Id: I5198aabb5b75860ead687581fc5e368eb75e48ae Reviewed-by: Simon Hausmann --- .../common/windows/3dstudio_3rdparty.ps1 | 2 +- coin/provisioning/common/windows/android.ps1 | 2 +- coin/provisioning/common/windows/cmake.ps1 | 2 +- coin/provisioning/common/windows/helpers.ps1 | 48 +++---------------- coin/provisioning/common/windows/jom.ps1 | 2 +- .../common/windows/mqtt_broker.ps1 | 2 +- coin/provisioning/common/windows/mysql.ps1 | 24 ++++------ coin/provisioning/common/windows/ninja.ps1 | 2 +- .../common/windows/postgresql.ps1 | 18 +++---- .../common/windows/winrtrunner.ps1 | 2 +- .../90-signing-tools.ps1 | 2 +- 11 files changed, 33 insertions(+), 73 deletions(-) diff --git a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 index 924d8606..ed408b6c 100644 --- a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 +++ b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 @@ -5,7 +5,7 @@ $url = "http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win Download $url $url $zip Verify-Checksum $zip "08D740D2EFB4CBCDE7D012908B89AA48DE5CD4E1" -Extract-Zip $zip C:\Utils\Qt3DStudio3rdparty +Extract-7Zip $zip C:\Utils\Qt3DStudio3rdparty Remove-Item -Path $zip Set-EnvironmentVariable "QT3DSTUDIO_3RDPARTY_DIR" "C:/Utils/Qt3DStudio3rdparty" diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 8fa19e04..9a09e919 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -66,7 +66,7 @@ function Install($1, $2, $3, $4) { Download $offcialUrl $cacheUrl $zip Verify-Checksum $zip "$checksum" - Extract-Zip $zip C:\Utils + Extract-7Zip $zip C:\Utils } function SdkUpdate ($1, $2) { diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1 index c0ead98e..ace68835 100644 --- a/coin/provisioning/common/windows/cmake.ps1 +++ b/coin/provisioning/common/windows/cmake.ps1 @@ -46,7 +46,7 @@ Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue Download $officialurl $cachedurl $zip Verify-Checksum $zip "541F6E7EFD228E46770B8631FFE57097576E4D4E" -Extract-Zip $zip C: +Extract-7Zip $zip C: $defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86" Rename-Item $defaultinstallfolder C:\CMake diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 45779c04..a2535b25 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -38,7 +38,8 @@ function Extract-7Zip { Param ( [string]$Source, - [string]$Destination + [string]$Destination, + [string]$Filter ) Write-Host "Extracting '$Source' to '$Destination'..." @@ -54,47 +55,10 @@ function Extract-7Zip $zipExe = "7z.exe" } - Run-Executable "$zipExe" "x -y `"-o$Destination`" `"$Source`"" -} - -function Extract-Zip -{ - Param ( - [string]$Source, - [string]$Destination - ) - Write-Host "Extracting '$Source' to '$Destination'..." - - New-Item -ItemType Directory -Force -Path $Destination - $shell = new-object -com shell.application - $zipfile = $shell.Namespace($Source) - $destinationFolder = $shell.Namespace($Destination) - $destinationFolder.CopyHere($zipfile.Items(), 16) -} - -function Extract-Dev-Folders-From-Zip -{ - Param ( - [string]$package, - [string]$zipDir, - [string]$installPath - ) - - $shell = new-object -com shell.application - - Write-Host "Extracting contents of $package" - foreach ($subDir in "lib", "include", "bin", "share") { - $zip = $shell.Namespace($package + "\" + $zipDir + "\" + $subDir) - if ($zip) { - Write-Host "Extracting $subDir from zip archive" - } else { - Write-Host "$subDir is missing from zip archive - skipping" - continue - } - $destDir = $installPath + "\" + $subdir - New-Item $destDir -type directory - $destinationFolder = $shell.Namespace($destDir) - $destinationFolder.CopyHere($zip.Items(), 16) + if ([string]::IsNullOrEmpty($Filter)) { + Run-Executable "$zipExe" "x -y `"-o$Destination`" `"$Source`"" + } else { + Run-Executable "$zipExe" "x -y -aoa `"-o$Destination`" `"$Source`" $Filter" } } diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1 index 2344eec7..68db6b17 100644 --- a/coin/provisioning/common/windows/jom.ps1 +++ b/coin/provisioning/common/windows/jom.ps1 @@ -4,7 +4,7 @@ $zip = "c:\users\qt\downloads\jom_1_1_2.zip" Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_2.zip -OutFile $zip Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4" -Extract-Zip $zip C:\Utils\Jom +Extract-7Zip $zip C:\Utils\Jom Set-EnvironmentVariable "CI_JOM_PATH" "C:\Utils\Jom" diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1 index b88f568e..205d9c95 100644 --- a/coin/provisioning/common/windows/mqtt_broker.ps1 +++ b/coin/provisioning/common/windows/mqtt_broker.ps1 @@ -43,7 +43,7 @@ Download $externalUrl $internalUrl $zip Verify-Checksum $zip $sha1 Write-Host "MQTT: Installing $zip..." -Extract-Zip $zip C:\Utils +Extract-7Zip $zip C:\Utils Remove-Item -Path $zip Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0\interoperability\startbroker.py" diff --git a/coin/provisioning/common/windows/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1 index a22e439a..29ce0ab4 100644 --- a/coin/provisioning/common/windows/mysql.ps1 +++ b/coin/provisioning/common/windows/mysql.ps1 @@ -37,8 +37,11 @@ # Both x86 and x64 versions needed when x86 integrations are done on x64 machine $version = "5.6.11" -$packagex64 = "C:\Windows\temp\mysql-$version-winx64.zip" -$packagex86 = "C:\Windows\temp\mysql-$version-win32.zip" +$baseNameX64 = "mysql-$version-winx64" +$packagex64 = "C:\Windows\temp\$baseNameX64.zip" +$baseNameX86 = "mysql-$version-win32" +$packagex86 = "C:\Windows\temp\$baseNameX86.zip" +$installFolder = "C:\Utils\my_sql" function DownloadAndInstall { @@ -52,7 +55,7 @@ function DownloadAndInstall Copy-Item $internalUrl $package $zipDir = [io.path]::GetFileNameWithoutExtension($package) - Extract-Dev-Folders-From-Zip $package $zipDir $installPath + Extract-7Zip $package $installPath "$zipDir\lib $zipDir\bin $zipDir\share $zipDir\include" Remove-Item -Path $package } @@ -60,28 +63,21 @@ function DownloadAndInstall if (Is64BitWinHost) { # Install x64 bit version $architecture = "x64" - $installFolder = "C:\Utils\my_sql\my_sql" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-winx64.zip" DownloadAndInstall $internalUrl $packagex64 $installFolder - Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\include" - Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\lib" + Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\$baseNameX64\include" + Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\$baseNameX64\lib" } # Install x86 bit version $architecture = "x86" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-win32.zip" -if (Is64BitWinHost) { - $installFolder = "C:\Utils\my_sql\my_sql$architecture" -} else { - $installFolder = "C:\Utils\my_sql\my_sql" -} - DownloadAndInstall $internalUrl $packagex86 $installFolder -Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\include" -Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\lib" +Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\$baseNameX86\include" +Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\$baseNameX86\lib" # Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "MySQL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1 index 1903501e..5b6729f5 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -5,7 +5,7 @@ $zip = "c:\users\qt\downloads\ninja-1.6.0-win-x86.zip" Download https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip \\ci-files01-hki.intra.qt.io\provisioning\ninja\ninja-1.6.0-win-x86.zip $zip Verify-Checksum $zip "E01093F6533818425F8EFB0843CED7DCAABEA3B2" -Extract-Zip $zip C:\Utils\Ninja +Extract-7Zip $zip C:\Utils\Ninja Remove-Item -Path $zip Add-Path "C:\Utils\Ninja" diff --git a/coin/provisioning/common/windows/postgresql.ps1 b/coin/provisioning/common/windows/postgresql.ps1 index b9681809..46d7501a 100644 --- a/coin/provisioning/common/windows/postgresql.ps1 +++ b/coin/provisioning/common/windows/postgresql.ps1 @@ -43,7 +43,7 @@ $packagex86 = "C:\Windows\temp\postgresql-$version-windows-binaries.zip" if (Is64BitWinHost) { # Install x64 bit versions $architecture = "x64" - $installFolder = "C:\Utils\postgresql\pgsql" + $installFolder = "C:\Utils\postgresql" $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-x64-binaries.zip" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip" $sha1 = "4da0453cdfda335e064d4437cf5bb9d356054cfd" @@ -52,13 +52,13 @@ if (Is64BitWinHost) { Download $externalUrl $internalUrl $packagex64 Verify-Checksum $packagex64 $sha1 Write-Host "Installing $packagex64 ..." - Extract-Dev-Folders-From-Zip $packagex64 "pgsql" $installFolder + Extract-7Zip $packagex64 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include" Write-Host "Remove downloaded $packagex64 ..." Remove-Item -Path $packagex64 - Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\include" - Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\lib" + Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\pgsql\include" + Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\pgsql\lib" } # Install x86 bit version @@ -67,9 +67,9 @@ $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windo $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip" $sha1 = "eb4f01845e1592800edbb74f60944b6c0aca51a9" if (Is64BitWinHost) { - $installFolder = "C:\Utils\postgresql$architecture\pgsql" + $installFolder = "C:\Utils\postgresql$architecture" } else { - $installFolder = "C:\Utils\postgresql\pgsql" + $installFolder = "C:\Utils\postgresql" } @@ -77,13 +77,13 @@ Write-Host "Fetching from URL..." Download $externalUrl $internalUrl $packagex86 Verify-Checksum $packagex86 $sha1 Write-Host "Installing $packagex86 ..." -Extract-Dev-Folders-From-Zip $packagex86 "pgsql" $installFolder +Extract-7Zip $packagex86 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include" Write-Host "Remove downloaded $packagex86 ..." Remove-Item -Path $packagex86 -Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\include" -Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\lib" +Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\pgsql\include" +Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\pgsql\lib" # Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "PostgreSQL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/winrtrunner.ps1 b/coin/provisioning/common/windows/winrtrunner.ps1 index 89a64344..9cdd04ab 100644 --- a/coin/provisioning/common/windows/winrtrunner.ps1 +++ b/coin/provisioning/common/windows/winrtrunner.ps1 @@ -5,7 +5,7 @@ $url = "http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrun Download $url $url $zip Verify-Checksum $zip "C19098A4C9DBD20EDEB4E5E0D3E6A5BBBCA73C42" -Extract-Zip $zip C:\Utils\winrtrunner +Extract-7Zip $zip C:\Utils\winrtrunner Remove-Item -Path $zip Set-EnvironmentVariable "CI_WINRTRUNNER_PATH" "C:\Utils\winrtrunner" diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 index 854bee01..daaab36f 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 @@ -40,5 +40,5 @@ $url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip" $destination = "C:\Windows\temp\sign.zip" Download $url $url $destination -Extract-Zip "$destination" "C:\Utils" +Extract-7Zip "$destination" "C:\Utils" Remove-Item -Path "$destination" From 7a018aeb8b0fe63d0370cc2f704d40fdf3e30bfc Mon Sep 17 00:00:00 2001 From: Joni Jantti Date: Wed, 24 Jan 2018 14:57:21 +0200 Subject: [PATCH 13/14] Provisioning: Add a clean Ubuntu 16.04 x86 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A clean ubuntu 16.04 provisioning is required by RTA. Task-number: QTQAINFRA-1640 Change-Id: I83f53c7b677da6d1aa0e89cc6bde0b2363a7ae1e Reviewed-by: Joni Jäntti Reviewed-by: Tony Sarajärvi Reviewed-by: Simo Fält --- .../01-systemsetup.sh | 59 +++++++++++++++++++ .../qtci-linux-Ubuntu-16.04-x86/02-apt.sh | 55 +++++++++++++++++ .../qtci-linux-Ubuntu-16.04-x86/90-squish.sh | 3 + 3 files changed, 117 insertions(+) create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh new file mode 100755 index 00000000..ee6af148 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 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$ +## +############################################################################# + +# 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 "Disable questions on shutdown." +gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true + +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 + +if [ "$proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh new file mode 100755 index 00000000..bfbb6a8e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 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$ +## +############################################################################# + +# Install required packages with APT + +set -ex + +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 + +installPackages+=(git) +installPackages+=(p7zip-full) +installPackages+=(expect) + +echo "Running update for apt" +sudo apt-get update +echo "Installing packages" +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh new file mode 100755 index 00000000..965112af --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" From 889cdbf4a8f90e7580f55d341006f49f12f9b9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Wed, 11 Apr 2018 10:22:32 +0300 Subject: [PATCH 14/14] Fix shellcheck complaints for RHEL 7.x in provisioning scripts Change-Id: I489f4f25d603457c8f0444ed277a162a7fd4128f Reviewed-by: Liang Qi --- .../01-systemsetup.sh | 3 ++- .../03-install-rhel-epel.sh | 1 + .../qtci-linux-RHEL-7.4-x86_64/05-libclang.sh | 5 ++-- .../qtci-linux-RHEL-7.4-x86_64/06-cmake.sh | 1 + .../qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh | 1 + .../08-integrity.sh | 1 + .../09-disable_selinux.sh | 1 + .../10-openssl_for_android_linux.sh | 2 ++ .../22-mqtt_broker.sh | 1 + .../qtci-linux-RHEL-7.4-x86_64/30-fbx.sh | 2 +- .../30-install_icu.sh | 24 +++++++++---------- .../40-android_linux.sh | 1 + .../50-open62541.sh | 1 + .../qtci-linux-RHEL-7.4-x86_64/90-squish.sh | 2 +- 14 files changed, 29 insertions(+), 17 deletions(-) diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh index 85ceaa24..c0f94a49 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh @@ -36,7 +36,8 @@ set -ex BASEDIR=$(dirname "$0") -source $BASEDIR/../common/shared/network_test_server_ip.txt +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" 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 diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh index 4eb9882d..5cdf7df0 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh @@ -35,6 +35,7 @@ set -ex +# shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" package="epel-release-7-11.noarch.rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh index 49d4d4f5..219f80c4 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh @@ -2,9 +2,10 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/shared/sw_versions.txt +# shellcheck source=../common/shared/sw_versions.txt +. "$BASEDIR/../common/shared/sw_versions.txt" VERSION=$libclang_version URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" SHA1="bbdbbc0296f42310077539b7247d285386119ef4" -$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION" +"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh index 9800229d..062b2790 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh @@ -39,4 +39,5 @@ set -ex # CMake is needed for autotests that verify that Qt can be built with CMake +# shellcheck source=../common/linux/cmake_linux.sh source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh index 970d80b1..92c741fb 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/qnx_700.sh source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh index 1710b878..154370da 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/integrity.sh source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh index e4d2dc15..b7a53cd4 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/disable_selinux.sh source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh index 9b0cd0f6..ef2b3ba8 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh @@ -34,8 +34,10 @@ ############################################################################# set +e +# shellcheck disable=SC1091 source /opt/rh/devtoolset-4/enable set -ex +# shellcheck source=../common/linux/openssl_for_android_linux.sh source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh index 04c09770..505374c5 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh index ca24a70e..d8df4375 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh @@ -3,4 +3,4 @@ set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/linux/fbx_linux.sh +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh index ed9d6679..cb23bbca 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh @@ -47,26 +47,26 @@ develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/ echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" -targetFile=`mktemp` -wget --tries=5 --waitretry=5 --output-document=$targetFile $baseBinaryPackageURL +targetFile=$(mktemp) +wget --tries=5 --waitretry=5 --output-document="$targetFile" "$baseBinaryPackageURL" echo "$sha1 $targetFile" | sha1sum --check -sudo 7z x -y -o"/usr/lib64" $targetFile -sudo rm $targetFile +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" echo "Installing custom ICU devel packages on RHEL" -tempDir=`mktemp -d` +tempDir=$(mktemp -d) -targetFile=`mktemp` -wget --tries=5 --waitretry=5 --output-document=$targetFile $develPackageURL +targetFile=$(mktemp) +wget --tries=5 --waitretry=5 --output-document="$targetFile" "$develPackageURL" echo "$sha1Dev $targetFile" | sha1sum --check -7z x -y -o$tempDir $targetFile +7z x -y -o"$tempDir" "$targetFile" -sudo cp -a $tempDir/lib/* /usr/lib64 -sudo cp -a $tempDir/* /usr/ +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ -sudo rm $targetFile -sudo rm -fr $tempDir +sudo rm "$targetFile" +sudo rm -fr "$tempDir" sudo /sbin/ldconfig diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh index ffe96d30..a6c4dfff 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/android_linux.sh source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh index 6cc2b44f..049cdd2d 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/linux/open62541.sh source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh index 27ff15c3..e4281588 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash BASEDIR=$(dirname "$0") -$BASEDIR/../common/unix/squishInstall.sh +"$BASEDIR/../common/unix/squishInstall.sh"