diff options
115 files changed, 497 insertions, 197 deletions
diff --git a/.gitmodules b/.gitmodules index 33621a0b..565896cc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,66 +1,66 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 5.11.0 + branch = 5.11 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtdeclarative"] depends = qtbase recommends = qtsvg qtxmlpatterns path = qtdeclarative url = ../qtdeclarative.git - branch = 5.11.0 + branch = 5.11 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtscript"] depends = qtbase recommends = qttools path = qtscript url = ../qtscript.git - branch = 5.11.0 + branch = 5.11 status = deprecated [submodule "qtmultimedia"] depends = qtbase recommends = qtdeclarative path = qtmultimedia url = ../qtmultimedia.git - branch = 5.11.0 + branch = 5.11 status = essential [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt path = qttools url = ../qttools.git - branch = 5.11.0 + branch = 5.11 status = essential [submodule "qtxmlpatterns"] depends = qtbase path = qtxmlpatterns url = ../qtxmlpatterns.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qttranslations"] depends = qttools path = qttranslations url = ../qttranslations.git - branch = 5.11.0 + branch = 5.11 status = essential priority = 30 [submodule "qtdoc"] depends = qtdeclarative path = qtdoc url = ../qtdoc.git - branch = 5.11.0 + branch = 5.11 status = essential priority = 40 [submodule "qtrepotools"] @@ -81,14 +81,14 @@ recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport path = qtlocation url = ../qtlocation.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtsystems"] depends = qtbase @@ -121,27 +121,27 @@ recommends = qtdeclarative qtandroidextras path = qtconnectivity url = ../qtconnectivity.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qt3d"] depends = qtbase recommends = qtdeclarative qtimageformats qtgamepad path = qt3d url = ../qt3d.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtquick1"] depends = qtscript @@ -154,51 +154,51 @@ depends = qtdeclarative path = qtgraphicaleffects url = ../qtgraphicaleffects.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtquickcontrols"] depends = qtdeclarative recommends = qtgraphicaleffects path = qtquickcontrols url = ../qtquickcontrols.git - branch = 5.11.0 + branch = 5.11 status = essential [submodule "qtserialbus"] depends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtx11extras"] depends = qtbase path = qtx11extras url = ../qtx11extras.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtmacextras"] depends = qtbase path = qtmacextras url = ../qtmacextras.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtwinextras"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtwinextras url = ../qtwinextras.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtandroidextras"] depends = qtbase path = qtandroidextras url = ../qtandroidextras.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtenginio"] depends = qtdeclarative @@ -211,108 +211,108 @@ recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtwebengine"] depends = qtquickcontrols qtwebchannel recommends = qtlocation qttools path = qtwebengine url = ../qtwebengine.git - branch = 5.11.0 + branch = 5.11 status = addon priority = 10 [submodule "qtcanvas3d"] depends = qtdeclarative path = qtcanvas3d url = ../qtcanvas3d.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtwebview"] depends = qtdeclarative recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtquickcontrols2"] depends = qtgraphicaleffects recommends = qtimageformats path = qtquickcontrols2 url = ../qtquickcontrols2.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtpurchasing"] depends = qtbase recommends = qtdeclarative qtandroidextras path = qtpurchasing url = ../qtpurchasing.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtcharts"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtcharts url = ../qtcharts.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtdatavis3d"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtdatavis3d url = ../qtdatavis3d.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtvirtualkeyboard"] depends = qtbase qtdeclarative qtsvg recommends = qtmultimedia qtquickcontrols path = qtvirtualkeyboard url = ../qtvirtualkeyboard.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtgamepad"] depends = qtbase recommends = qtdeclarative path = qtgamepad url = ../qtgamepad.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtscxml"] depends = qtbase qtdeclarative path = qtscxml url = ../qtscxml.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtspeech"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtspeech url = ../qtspeech.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtnetworkauth"] depends = qtbase path = qtnetworkauth url = ../qtnetworkauth.git - branch = 5.11.0 + branch = 5.11 status = addon [submodule "qtremoteobjects"] depends = qtbase recommends = qtdeclarative path = qtremoteobjects url = ../qtremoteobjects.git - branch = 5.11.0 + branch = 5.11 status = preview [submodule "qtwebglplugin"] depends = qtbase qtwebsockets recommends = qtdeclarative path = qtwebglplugin url = ../qtwebglplugin.git - branch = 5.11.0 + branch = 5.11 status = preview 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..9b4f6851 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" @@ -50,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/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 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..353722f2 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -36,15 +36,17 @@ # 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" +version="1.0.2o" officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" installFolder="/home/qt/" -sha="36af23887402a5ea4ebef91df8e61654906f58f2" +sha="a47faaca57b47a0d9d5fb085545857cc92062691" # Until every VM doing Linux Android builds have provisioned the env variable # OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin. # QTQAINFRA-1436 @@ -54,7 +56,7 @@ DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" tar -xzf "$targetFile" -C "$installFolder" # This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436) -mv "${opensslHome}g" "${opensslHome}" +mv "${opensslHome}o" "${opensslHome}" pushd "$opensslHome" echo "Running configure" 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/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 diff --git a/coin/provisioning/common/shared/http_proxy.txt b/coin/provisioning/common/shared/http_proxy.txt index 3aa6ceba..88d0e630 100644 --- a/coin/provisioning/common/shared/http_proxy.txt +++ b/coin/provisioning/common/shared/http_proxy.txt @@ -1,2 +1,2 @@ -proxy="http://proxy.intra.qt.io:3128" +proxy=http://proxy.intra.qt.io:3128 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 53b9dfda..f024130f 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 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/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-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index b0363c4c..53c2ee17 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -39,9 +39,9 @@ # Msys need to be installed to target machine # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html -$version = "1.0.2j" +$version = "1.0.2o" $zip = "c:\users\qt\downloads\openssl-$version.tar.gz" -$sha1 = "bdfbdb416942f666865fa48fe13c2d0e588df54f" +$sha1 = "a47faaca57b47a0d9d5fb085545857cc92062691" $destination = "C:\Utils\openssl-android-master" Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip @@ -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..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) { @@ -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/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..8a4b452e 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" } } @@ -153,10 +117,10 @@ function Is64BitWinHost return [environment]::Is64BitOperatingSystem } -function isProxyEnabled { +function IsProxyEnabled { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyEnable } -function getProxy { +function Get-Proxy { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer } 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..68db6b17 100644 --- a/coin/provisioning/common/windows/jom.ps1 +++ b/coin/provisioning/common/windows/jom.ps1 @@ -4,6 +4,8 @@ $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" + +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/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/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 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/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 dd60ad69..5b6729f5 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -5,7 +5,9 @@ $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" + +Write-Output "Ninja = 1.6.0" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1 index c884dd94..50bee891 100644 --- a/coin/provisioning/common/windows/openssl.ps1 +++ b/coin/provisioning/common/windows/openssl.ps1 @@ -36,7 +36,7 @@ # This script installs OpenSSL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "1_0_2j" +$version = "1_0_2o" $packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" $packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" @@ -47,7 +47,7 @@ if (Is64BitWinHost) { $installFolder = "C:\openssl" $externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" - $sha1 = "b1660dbdcc77e1b3d81d780c7167be1c75384d44" + $sha1 = "86c71a28eda53fa406b957dd37491d616344b464" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex64 @@ -74,7 +74,7 @@ if (Is64BitWinHost) { $externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" -$sha1 = "29b31d20545214ab4e4c57afb20be2338c317cc3" +$sha1 = "bfc14fc03bd1d4dd03bf5459f62969d6b0ee96fe" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex86 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/python.ps1 b/coin/provisioning/common/windows/python.ps1 index ae9cbbbd..05811c58 100644 --- a/coin/provisioning/common/windows/python.ps1 +++ b/coin/provisioning/common/windows/python.ps1 @@ -64,8 +64,11 @@ Add-Path "C:\Python27;C:\Python27\Scripts" Run-Executable "C:\Python27\python.exe" "-m ensurepip" # Install python virtual env -#if (isProxyEnabled) { -# Write-Host "Using proxy with pip" -# $pip_args = "--proxy=" + (getProxy) -#} -Run-Executable "C:\Python27\Scripts\pip.exe" "install virtualenv" +if (IsProxyEnabled) { + $proxy = Get-Proxy + Write-Host "Using proxy ($proxy) with pip" + $pip_args = "--proxy=$proxy" +} +Run-Executable "C:\Python27\Scripts\pip.exe" "$pip_args 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..d5d5998a 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -65,8 +65,12 @@ Set-EnvironmentVariable "PYTHON3_PATH" "$install_path" Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts" # Install python virtual env -#if (isProxyEnabled) { -# Write-Host "Using proxy with pip" -# $pip_args = "--proxy=" + (getProxy) -#} -Run-Executable "$install_path\Scripts\pip3.exe" "install virtualenv" +if (IsProxyEnabled) { + $proxy = Get-Proxy + Write-Host "Using proxy ($proxy) with pip" + $pip_args = "--proxy=$proxy" +} +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv" + +Write-Output "Python3 = $version" >> ~/versions.txt + diff --git a/coin/provisioning/common/windows/set-proxy.ps1 b/coin/provisioning/common/windows/set-proxy.ps1 index 23c0e6aa..08d6a204 100644 --- a/coin/provisioning/common/windows/set-proxy.ps1 +++ b/coin/provisioning/common/windows/set-proxy.ps1 @@ -35,7 +35,7 @@ $n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt" $n = $n.Split('=') New-Variable -Name $n[0] -Value $n[1] -if (([string]::IsNullOrEmpty($proxy)) -or ($proxy -eq '""')) { +if ([string]::IsNullOrEmpty($proxy)) { Write-Host "No proxy is defined." } else { Write-Host "Checking proxy @ $proxy" 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) } } diff --git a/coin/provisioning/common/windows/unset-proxy.ps1 b/coin/provisioning/common/windows/unset-proxy.ps1 index d0a374ef..9c3dddb3 100644 --- a/coin/provisioning/common/windows/unset-proxy.ps1 +++ b/coin/provisioning/common/windows/unset-proxy.ps1 @@ -32,6 +32,8 @@ ############################################################################# Write-Host "Disabling proxy" +# A bit-mask is needed to disable "Automatically detect settings" from LAN +# settings that disturb and re-enable proxy even after disabling it. $dcs = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections").DefaultConnectionSettings $dcs[8] = $_ -band 0xF7 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" -Name DefaultConnectionSettings -Value $dcs 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-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 e125a9e2..ed589644 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="71194c4d6065a62ac1a891123df79fd9da311bf0" -$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" 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/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" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh index 119a1008..938ef37c 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh @@ -59,3 +59,6 @@ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/h if [ "$http_proxy" != "" ]; then echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf fi + +# This won't be needed for Ubuntu 17 and above, see QTBUG-67757. +sudo sed -i '/-UnityDecoration-extents/c\ -UnityDecoration-extents: 0 0 0 0;' /usr/share/themes/Ambiance/gtk-3.0/apps/unity.css 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) 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/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 53715dd4..5113633a 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="71194c4d6065a62ac1a891123df79fd9da311bf0" -$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" 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" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh index a68704f9..8532f99a 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh @@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -opensslVersion="1.0.2k" +opensslVersion="1.0.2o" opensslFile="openssl-$opensslVersion.tar.gz" opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" -opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44" +opensslSha1="a47faaca57b47a0d9d5fb085545857cc92062691" # Below target location has been hard coded into Coin. # QTQAINFRA-1195 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" 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 diff --git a/qt3d b/qt3d -Subproject 15e863517ea37ca7ba6bcb75b078272eddbc5d3 +Subproject 7eb41022f19a57505c8eef3497ad6710fc92bd7 diff --git a/qtactiveqt b/qtactiveqt -Subproject 9f2d3d9c5cfd1a23e92f5eaafd3c6833202b48c +Subproject cf5327ba621ec0842f980c995b97dad47eba210 diff --git a/qtandroidextras b/qtandroidextras -Subproject 5d54ecc1c8e58d2339871141e6bd769f340c4e9 +Subproject b36bf0b3eaa026e22a87865e106f54be6b52081 diff --git a/qtbase b/qtbase -Subproject a7863a58545a6c59eaf16f36905efcbf0e4f94f +Subproject 1b7337d23dbc767ba482d9051180f10d7705291 diff --git a/qtcanvas3d b/qtcanvas3d -Subproject 9d555f6d21d013c990793aaaa23a5085529631a +Subproject ff771b7d57eb3654f6321eb105129a594ec2841 diff --git a/qtcharts b/qtcharts -Subproject 4f66d1ffeecd95b4bf6666b71536c42dea7450e +Subproject cb1d6e0e8be5008cb81a4be897a7424b98db667 diff --git a/qtconnectivity b/qtconnectivity -Subproject 43f063427a3ffc62bd85237801b28c9f9826d56 +Subproject 8bf0702792f2d41764e62b63432870fee6a9e9c diff --git a/qtdeclarative b/qtdeclarative -Subproject 1e82f11629e5572783e5bfc36f24ad10c235ca5 +Subproject 6a02e8801c71d8008c5b4db922a736c358fee00 diff --git a/qtdoc b/qtdoc -Subproject 63f18077b2e8b4045c92248e86ed1ee2122cbd7 +Subproject b9a083c14f6cdd54f59081cd40f2cd2d39321af diff --git a/qtgamepad b/qtgamepad -Subproject e175347926b2aa8be045aed485e09b99ae72f51 +Subproject 313f221381507eee36c8e3bd0069b3e7962da14 diff --git a/qtgraphicaleffects b/qtgraphicaleffects -Subproject 80b9da7ac42468453b7d130bd0a322a1312ad0e +Subproject df80153bf07b08e5d2ae8ba18f85a9ec15dbaef diff --git a/qtimageformats b/qtimageformats -Subproject 92e49329edfb98c8b3f9cdcbaf116f0c601c773 +Subproject b83a0a9460432abb82218da247710a1aaf32133 diff --git a/qtlocation b/qtlocation -Subproject 139414573ab27bd1df1b491aeb6003a6fc0d3d5 +Subproject 255e58fe67885dc47e25e685ac3666c514d6074 diff --git a/qtmacextras b/qtmacextras -Subproject 80a8eb6cf546ba6a3b178c049f4f421fe6c8448 +Subproject fe8be8f48cf384a2f1b0f7c03a83aaa81680151 diff --git a/qtmultimedia b/qtmultimedia -Subproject b39c391853245f8293d19431541eab20d78b867 +Subproject a0049de16d9e2a92b8d31b1ee6943c994ffdf7d diff --git a/qtnetworkauth b/qtnetworkauth -Subproject 0d845e00a000f376101165ec9a5c9096030db25 +Subproject 060c067960547cc2c129110017b6ccf020e6be6 diff --git a/qtpurchasing b/qtpurchasing -Subproject 607617cacc1c6ced9fa3bbfb0cd24e115b623da +Subproject 02246cd68ca14345d95cbd8893fd24ff60faa73 diff --git a/qtquickcontrols b/qtquickcontrols -Subproject 88ff352d5145b5761179ee42164a0bfcd4f1d54 +Subproject 0689a8256c0a21087c01fff3998fd3b606a5ac4 diff --git a/qtquickcontrols2 b/qtquickcontrols2 -Subproject 60f3106b3fe537f1f26230bf0b59525cf98d678 +Subproject bf39c3ce5524d151532d89efef40ff1a8e25f4c diff --git a/qtremoteobjects b/qtremoteobjects -Subproject 24fade01e0e38acbf5ffdb9ffab712e8b7e86e3 +Subproject 7fe4bc5c19f519b3adf7209a37e3d8e5cc1e214 diff --git a/qtscript b/qtscript -Subproject 693f0320e92cb1ab93f6261c72702432abdcb11 +Subproject c2657d346455a5a7821fbfbe3b1107d7cf9b094 diff --git a/qtscxml b/qtscxml -Subproject 71a101b5cbdbe9e32053ce61a5b6417a6990d78 +Subproject 67d48807b44735a2385b88db7ada01f7cd7eacf diff --git a/qtsensors b/qtsensors -Subproject b4e80891f3d51b3d6a7ead74c8650b84e0f070e +Subproject f39a9e10671c0ba71c656e19101a53670b68962 diff --git a/qtserialbus b/qtserialbus -Subproject c66a364cf34b4945208f07362deabe0020e5b59 +Subproject fb561e9aa52d24b0156dc2c3987216954ad5210 diff --git a/qtserialport b/qtserialport -Subproject a9ada995489b899cb938602308ffa1a8814acd2 +Subproject b5f0519e8e6f8f125f711d61832072649d841df diff --git a/qtspeech b/qtspeech -Subproject b113bca742e01d3771f4f8ee0c5dc5ea5a97816 +Subproject d0494c3b3842ef77be355e764c1ba17f369d327 diff --git a/qtsvg b/qtsvg -Subproject b1ca1bb725fd8768782d8105b782932f95b7090 +Subproject 0279e65c25b22066d15752267a6b5d1ba660e7d diff --git a/qttools b/qttools -Subproject 9894e604dff2bf9fe9961b475a678938316154f +Subproject 36c5496ac198891eea52e5a2bb779d8ccda93e6 diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard -Subproject b92f0da2f8725ab529ec81c4e1b4b538e66258d +Subproject 72f846f7b5ce0495d64af210e13f41690eff820 diff --git a/qtwayland b/qtwayland -Subproject 87621266ec66df5fc98cce165e5c80b7721983a +Subproject 51472970ce519fb39f492238b879d67ad9505f2 diff --git a/qtwebchannel b/qtwebchannel -Subproject 9800f7d13e770e6409113e83f663ac4a419908a +Subproject 01241eb3704af785e8d98fb2f6e223ca62a6417 diff --git a/qtwebengine b/qtwebengine -Subproject 28e0320235d33f00c6c141a549dc0553ee0043a +Subproject 9b03a98ffb807f49d1e79fffad141a3634474d8 diff --git a/qtwebglplugin b/qtwebglplugin -Subproject 62a5226c6147ee45f488a2e2c65870c1f836a5b +Subproject 8bbe7450759417082efce6ff57e8f0e490a247f diff --git a/qtwebsockets b/qtwebsockets -Subproject 91bb60bba33a8c7df49835bfacfe9a8dc7381a1 +Subproject 416ca205ed89d5edf8cc0e3bb32b404b38f9f2e diff --git a/qtwebview b/qtwebview -Subproject 87c9572897daf98f3c4177f6d6acd00bafcc70f +Subproject bb7dda99936b97cc262f07b25fcb500f8a552c8 diff --git a/qtwinextras b/qtwinextras -Subproject 39e1314b23ff89c82dd762224076e7be6309de7 +Subproject 323fdf483f0021b7b3208cf2d35c0cb52248880 diff --git a/qtx11extras b/qtx11extras -Subproject e239c7919f31798ef567498104bfeeae108b872 +Subproject d80236f50559f4fe785fba598a03aaa7f05d37a diff --git a/qtxmlpatterns b/qtxmlpatterns -Subproject 17c45f3235f0bcb224379b0d1059c7669eb9148 +Subproject fc12d7056610895ef7c67004eaf521509208db4 |