diff options
186 files changed, 2321 insertions, 412 deletions
diff --git a/.gitmodules b/.gitmodules index 9ac0ec9c..1c21bce2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,66 +1,68 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 5.11 + branch = 5.12 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtdeclarative"] depends = qtbase - recommends = qtsvg qtxmlpatterns + recommends = qtsvg path = qtdeclarative url = ../qtdeclarative.git - branch = 5.11 + branch = 5.12 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtscript"] depends = qtbase recommends = qttools path = qtscript url = ../qtscript.git - branch = 5.11 + branch = 5.12 status = deprecated [submodule "qtmultimedia"] depends = qtbase recommends = qtdeclarative path = qtmultimedia url = ../qtmultimedia.git - branch = 5.11 + branch = 5.12 status = essential [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt path = qttools url = ../qttools.git - branch = 5.11 + branch = 5.12 status = essential [submodule "qtxmlpatterns"] depends = qtbase + recommends = qtdeclarative path = qtxmlpatterns url = ../qtxmlpatterns.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qttranslations"] depends = qttools path = qttranslations url = ../qttranslations.git - branch = 5.11 + branch = 5.12 status = essential priority = 30 [submodule "qtdoc"] - depends = qtdeclarative + depends = qtdeclarative qttools + recommends = qtmultimedia qtquickcontrols qtquickcontrols2 path = qtdoc url = ../qtdoc.git - branch = 5.11 + branch = 5.12 status = essential priority = 40 [submodule "qtrepotools"] @@ -81,14 +83,14 @@ recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport path = qtlocation url = ../qtlocation.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtsystems"] depends = qtbase @@ -121,191 +123,185 @@ recommends = qtdeclarative qtandroidextras path = qtconnectivity url = ../qtconnectivity.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qt3d"] depends = qtbase recommends = qtdeclarative qtimageformats qtgamepad path = qt3d url = ../qt3d.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtgraphicaleffects"] depends = qtdeclarative path = qtgraphicaleffects url = ../qtgraphicaleffects.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtquickcontrols"] depends = qtdeclarative recommends = qtgraphicaleffects path = qtquickcontrols url = ../qtquickcontrols.git - branch = 5.11 - status = essential + branch = 5.12 + status = addon [submodule "qtserialbus"] depends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtx11extras"] depends = qtbase path = qtx11extras url = ../qtx11extras.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtmacextras"] depends = qtbase path = qtmacextras url = ../qtmacextras.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtwinextras"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtwinextras url = ../qtwinextras.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtandroidextras"] depends = qtbase path = qtandroidextras url = ../qtandroidextras.git - branch = 5.11 + branch = 5.12 status = addon -[submodule "qtenginio"] - depends = qtdeclarative - path = qtenginio - url = ../qtenginio.git - branch = dev - status = ignore [submodule "qtwebsockets"] depends = qtbase recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtwebengine"] - depends = qtquickcontrols qtwebchannel - recommends = qtlocation qttools + depends = qtdeclarative + recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel path = qtwebengine url = ../qtwebengine.git - branch = 5.11 + branch = 5.12 status = addon priority = 10 [submodule "qtcanvas3d"] depends = qtdeclarative path = qtcanvas3d url = ../qtcanvas3d.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtwebview"] depends = qtdeclarative recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtquickcontrols2"] depends = qtgraphicaleffects recommends = qtimageformats path = qtquickcontrols2 url = ../qtquickcontrols2.git - branch = 5.11 - status = addon + branch = 5.12 + status = essential [submodule "qtpurchasing"] depends = qtbase recommends = qtdeclarative qtandroidextras path = qtpurchasing url = ../qtpurchasing.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtcharts"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtcharts url = ../qtcharts.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtdatavis3d"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtdatavis3d url = ../qtdatavis3d.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtvirtualkeyboard"] depends = qtbase qtdeclarative qtsvg recommends = qtmultimedia qtquickcontrols path = qtvirtualkeyboard url = ../qtvirtualkeyboard.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtgamepad"] depends = qtbase recommends = qtdeclarative path = qtgamepad url = ../qtgamepad.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtscxml"] depends = qtbase qtdeclarative path = qtscxml url = ../qtscxml.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtspeech"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtspeech url = ../qtspeech.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtnetworkauth"] depends = qtbase path = qtnetworkauth url = ../qtnetworkauth.git - branch = 5.11 + branch = 5.12 status = addon [submodule "qtremoteobjects"] depends = qtbase recommends = qtdeclarative path = qtremoteobjects url = ../qtremoteobjects.git - branch = 5.11 + branch = 5.12 status = preview [submodule "qtwebglplugin"] depends = qtbase qtwebsockets recommends = qtdeclarative path = qtwebglplugin url = ../qtwebglplugin.git - branch = 5.11 + branch = 5.12 status = preview diff --git a/LGPL_EXCEPTION.txt b/LGPL_EXCEPTION.txt deleted file mode 100644 index 5cdacb9a..00000000 --- a/LGPL_EXCEPTION.txt +++ /dev/null @@ -1,22 +0,0 @@ -The Qt Company Qt LGPL Exception version 1.1 - -As an additional permission to the GNU Lesser General Public License version -2.1, the object code form of a "work that uses the Library" may incorporate -material from a header file that is part of the Library. You may distribute -such object code under terms of your choice, provided that: - (i) the header files of the Library have not been modified; and - (ii) the incorporated material is limited to numerical parameters, data - structure layouts, accessors, macros, inline functions and - templates; and - (iii) you comply with the terms of Section 6 of the GNU Lesser General - Public License version 2.1. - -Moreover, you may apply this exception to a modified version of the Library, -provided that such modification does not involve copying material from the -Library into the modified Library's header files unless such material is -limited to (i) numerical parameters; (ii) data structure layouts; -(iii) accessors; and (iv) small macros, templates and inline functions of -five lines or less in length. - -Furthermore, you are not required to apply this additional permission to a -modified version of the Library. diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index 9235d866..8878836c 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -1,27 +1,27 @@ -Template Target OS Target arch Compiler Features ------------------------------------ ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-windows-10-x86_64-10 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix BuildExamples -qtci-windows-7-x86-3 Mingw53 DeveloperBuild Release OpenGLDynamic -qtci-windows-10-x86_64-10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic -qtci-windows-10-x86_64-10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic -qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic -qtci-linux-Ubuntu-16.04-x86_64-2 GCC NoWidgets ForceDebugInfo -qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation -qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch -qtci-linux-openSUSE-42.3-x86_64 ICC_18 DeveloperBuild NoPch DisableTests SystemSQLite -qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo -qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker ForceDebugInfo SeparateDebugInfo -qtci-macos-10.12-x86_64-8 Clang Packaging DebugAndRelease Release -qtci-osx-10.11-x86_64-3 Clang DeveloperBuild Release QtNamespace NoPch -qtci-osx-10.11-x86_64-3 Clang Release NoFramework DisableTests -qtci-macos-10.12-x86_64-8 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static -qtci-macos-10.12-x86_64-8 TvOS_ANY multi Clang DebugAndRelease DisableTests -qtci-macos-10.12-x86_64-8 WatchOS_ANY multi Clang DebugAndRelease DisableTests -qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC Release -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC Release -qtci-linux-Ubuntu-16.04-x86_64-2 GCC TestOnly LicenseCheck -qtci-linux-RHEL-7.4-x86_64 INTEGRITY_11_04 armv7 GCC Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-RHEL-7.4-x86_64 QNX_700 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +Template Target OS Target arch Compiler Target Compiler Features +----------------------------------- ------------------- ----------- ----------- --------------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86_64-10 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix BuildExamples +qtci-windows-7-x86-3 Mingw73 DeveloperBuild Release OpenGLDynamic +qtci-windows-10-x86_64-10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples +qtci-linux-Ubuntu-18.04-x86_64 GCC NoWidgets ForceDebugInfo +qtci-linux-Ubuntu-18.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation +qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch +qtci-linux-openSUSE-42.3-x86_64 ICC_18 DeveloperBuild NoPch DisableTests SystemSQLite +qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker ForceDebugInfo SeparateDebugInfo +qtci-macos-10.13-x86_64-2 Clang Packaging DebugAndRelease Release +qtci-macos-10.12-x86_64-8 Clang DeveloperBuild NoFramework Release QtNamespace NoPch +qtci-macos-10.13-x86_64-2 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static +qtci-macos-10.13-x86_64-2 TvOS_ANY multi Clang DebugAndRelease DisableTests +qtci-macos-10.13-x86_64-2 WatchOS_ANY multi Clang DebugAndRelease DisableTests +qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC Release +qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC Release +qtci-linux-Ubuntu-18.04-x86_64 GCC TestOnly LicenseCheck +qtci-linux-RHEL-7.4-x86_64 INTEGRITY_11_04 armv7 GCC Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 QNX_700 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qt3d-runtime.txt b/coin/platform_configs/qt3d-runtime.txt index 396b51dc..fdc51d6b 100644 --- a/coin/platform_configs/qt3d-runtime.txt +++ b/coin/platform_configs/qt3d-runtime.txt @@ -1,19 +1,21 @@ -Template Target OS Target arch Compiler Features ---------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-7-x86-3 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests -qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests -qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-7-x86-3 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86-3 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static -qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +Template Target OS Target arch Compiler Target Compiler Features +--------------------------- ------------------- ----------- ----------- --------------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests +qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests +qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-windows-7-x86-3 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86-3 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-macos-10.13-x86_64-2 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static +qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index d3e0ee0c..5a189f25 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -1,20 +1,22 @@ -Template Target OS Target arch Compiler Features ---------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 x86 MSVC2017 DebugAndRelease Release ForceDebugInfo OpenGLDynamic -qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-7-x86-3 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests -qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests -qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-7-x86-3 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86-3 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2 -qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +Template Target OS Target arch Compiler Target Compiler Features +--------------------------- ------------------- ----------- ----------- --------------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests +qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests +qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-windows-7-x86-3 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86-3 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86-3 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.13-x86_64-2 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2 +qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qtbase.txt b/coin/platform_configs/qtbase.txt index ee4f4e66..aaac89d0 100644 --- a/coin/platform_configs/qtbase.txt +++ b/coin/platform_configs/qtbase.txt @@ -1,4 +1,7 @@ Template Target OS Target arch Compiler Features --------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC DeveloperBuild DisableTests -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC DeveloperBuild DisableTests +qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC DeveloperBuild DisableTests +qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC DeveloperBuild DisableTests +qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo +qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC DeveloperBuild NoPch DisableTests + diff --git a/coin/platform_configs/qtconnectivity.txt b/coin/platform_configs/qtconnectivity.txt new file mode 100644 index 00000000..4ac73c86 --- /dev/null +++ b/coin/platform_configs/qtconnectivity.txt @@ -0,0 +1,3 @@ +Template Target OS Target arch Compiler Features +--------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo diff --git a/coin/platform_configs/qtdeclarative.txt b/coin/platform_configs/qtdeclarative.txt index 9d321d40..e2b69559 100644 --- a/coin/platform_configs/qtdeclarative.txt +++ b/coin/platform_configs/qtdeclarative.txt @@ -1,4 +1,4 @@ Template Target OS Target arch Compiler Features --------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC DeveloperBuild -qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC DeveloperBuild +qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC DeveloperBuild +qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC DeveloperBuild diff --git a/coin/platform_configs/qtsdk.txt b/coin/platform_configs/qtsdk.txt new file mode 100644 index 00000000..3011926d --- /dev/null +++ b/coin/platform_configs/qtsdk.txt @@ -0,0 +1,4 @@ +Template Target OS Target arch Compiler Features +--------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86-3 MSVC2017 Release ForceDebugInfo OpenGLDynamic +qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo diff --git a/coin/platform_configs/qtwebkit.txt b/coin/platform_configs/qtwebkit.txt index efae9754..a357ad5b 100644 --- a/coin/platform_configs/qtwebkit.txt +++ b/coin/platform_configs/qtwebkit.txt @@ -1,4 +1,4 @@ Template Target OS Target arch Compiler Features --------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- qtci-windows-10-x86_64-10 x86 MSVC2017 DebugAndRelease Release ForceDebugInfo OpenGLDynamic DisableTests -qtci-windows-7-x86-3 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests +qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 68e77dd1..8ff773a3 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -49,15 +49,15 @@ sdkTargetFolder="$targetFolder/sdk" basePath="http://ci-files01-hki.intra.qt.io/input/android" -toolsVersion="r25.2.5" -toolsFile="tools_$toolsVersion-linux.zip" -ndkVersion="r10e" +toolsVersion="r26.1.1" +toolsFile="sdk-tools-linux-4333796.zip" +ndkVersion="r18b" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" -sdkBuildToolsVersion="25.0.2" +sdkBuildToolsVersion="28.0.3" sdkApiLevel="android-21" -toolsSha1="72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1" -ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32" +toolsSha1="8c7c28554a32318461802c1291d76fccfafde054" +ndkSha1="500679655da3a86aecf67007e8ab230ea9b4dd7b" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" @@ -74,7 +74,7 @@ rm "$ndkTargetFile" rm "$toolsTargetFile" echo "Changing ownership of Android files." -if uname -a |grep -q "el6\|el7"; then +if uname -a |grep -q "el7"; then sudo chown -R qt:wheel "$targetFolder" else sudo chown -R qt:users "$targetFolder" @@ -90,6 +90,9 @@ else echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" fi +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" @@ -102,7 +105,12 @@ echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt echo "Android NDK = $ndkVersion" >> ~/versions.txt cd "$sdkTargetFolder/tools/bin" +./sdkmanager --install "emulator" echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" + +echo "Checking the contents of Android SDK again..." +ls -l "$sdkTargetFolder" + 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 ./avdmanager list avd diff --git a/coin/provisioning/common/linux/apt_wait_loop.sh b/coin/provisioning/common/linux/apt_wait_loop.sh new file mode 100755 index 00000000..b34e1ebc --- /dev/null +++ b/coin/provisioning/common/linux/apt_wait_loop.sh @@ -0,0 +1,44 @@ +#!/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$ +## +############################################################################# + +set -ex + +function waitLoop { + +while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do + echo "Waiting for other software managers to finish..." + sleep 0.5 +done +} diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 9b4f6851..2b8d71d0 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2016 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh new file mode 100755 index 00000000..7e805833 --- /dev/null +++ b/coin/provisioning/common/linux/disable-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +sudo gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false +sudo gsettings set org.gnome.desktop.notifications show-banners false diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh new file mode 100755 index 00000000..16af0a0a --- /dev/null +++ b/coin/provisioning/common/linux/docker.sh @@ -0,0 +1,52 @@ +#!/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$ +## +############################################################################# + +set -ex + +# Download and install the docker engine. +sudo apt-get install curl -y +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +sudo apt-get update +sudo apt-get install docker-ce -y +sudo usermod -a -G docker $USER +sudo docker info + +# Download and install the docker-compose extension. +sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose + +# Start testserver provisioning +source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh" diff --git a/coin/provisioning/common/linux/emsdk.sh b/coin/provisioning/common/linux/emsdk.sh new file mode 100755 index 00000000..64753844 --- /dev/null +++ b/coin/provisioning/common/linux/emsdk.sh @@ -0,0 +1,78 @@ +#!/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$ +## +############################################################################# + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + +version="1.38.1" +version_node="8.9.1" +urlEmscriptenCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-$version.tar.gz" +urlEmscriptenExternal="https://github.com/kripken/emscripten/archive/$version.tar.gz" +urlEmscriptenLlvmCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-llvm-e$version.tar.gz" +urlEmscriptenLlvmExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/linux_64bit/emscripten-llvm-e$version.tar.gz" +urlNodeCache="http://ci-files01-hki.intra.qt.io/input/emsdk/node-v$version_node-linux-x64.tar.xz" +urlNodeExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/node-v$version_node-linux-x64.tar.xz" +sha1Emscripten="62243b4219f6ad7f6d4bd5ae4abb27aecb87ffb3" +sha1EmscriptenLlvm="933ea5feab3aa5acc5c1e15a0deccf0e3fbeb0a7" +sha1Node="eaec5de2af934f7ebc7f9597983e71c5d5a9a726" +targetFolder="/opt/emsdk" +sudo mkdir "$targetFolder" + +InstallFromCompressedFileFromURL "$urlEmscriptenCache" "$urlEmscriptenExternal" "$sha1Emscripten" "$targetFolder" "" +InstallFromCompressedFileFromURL "$urlEmscriptenLlvmCache" "$urlEmscriptenLlvmExternal" "$sha1EmscriptenLlvm" "$targetFolder" "" +InstallFromCompressedFileFromURL "$urlNodeCache" "$urlNodeExternal" "$sha1Node" "$targetFolder" "" + +sudo chmod -R a+rwx "$targetFolder" + +echo "Writing $targetFolder/.emscripten" +cat <<EOM >"$targetFolder/.emscripten" +LLVM_ROOT='$targetFolder/emscripten-llvm-e$version/' +EMSCRIPTEN_NATIVE_OPTIMIZER='$targetFolder/emscripten-llvm-e$version/optimizer' +BINARYEN_ROOT='$targetFolder/emscripten-llvm-e$version/binaryen' +NODE_JS='$targetFolder/node-v$version_node-linux-x64/bin/node' +EMSCRIPTEN_ROOT='$targetFolder/emscripten-$version' +SPIDERMONKEY_ENGINE = '' +V8_ENGINE = '' +TEMP_DIR = '/tmp' +COMPILER_ENGINE = NODE_JS +JS_ENGINES = [NODE_JS] +EOM + +SetEnvVar "PATH" "\"$targetFolder/emscripten-llvm-e$version/:$targetFolder/node-v$version_node-linux-x64/bin:$targetFolder/emscripten-$version:\$PATH\"" +SetEnvVar "EMSCRIPTEN" "$targetFolder/emscripten-$version" +SetEnvVar "EM_CONFIG" "$targetFolder/.emscripten" diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh new file mode 100755 index 00000000..44ff654b --- /dev/null +++ b/coin/provisioning/common/linux/gcc.sh @@ -0,0 +1,102 @@ +#!/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 builds GCC from sources + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + +set -ex + +function InstallGCC() { + version=$1 + priority=$2 + prebuiltSHA1=$3 + sourcesSHA1=$4 + + tmpFolder="/tmp" + + prebuiltGCC="http://ci-files01-hki.intra.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz" + prebuiltTarget="$tmpFolder/gcc-$version-prebuilt.tar.gz" + installPrefix="/usr/local" + + suffixVersion=$(echo "$version" | cut -d "." -f1,2) + sourceFile="gcc-$version.tar.xz" + cachedUrl="http://ci-files01-hki.intra.qt.io/input/gcc/$sourceFile" + officialUrl="ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-$version/$sourceFile" + + targetFile="$tmpFolder/$sourceFile" + buildFolder="$HOME/gcc_build" + + echo "Fetching prebuilt GCC." + curl --fail -L --retry 5 --retry-delay 5 -o "$prebuiltTarget" "$prebuiltGCC" || ( + echo "Fetching prebuilt GCC failed. Building from sources." + DownloadURL "$cachedUrl" "$officialUrl" "$sourcesSHA1" "$targetFile" + ) + + if [ -f "$prebuiltTarget" ]; then + echo "$prebuiltSHA1 *$prebuiltTarget" | sha1sum -c - + sudo tar -xzf "$prebuiltTarget" -C "$installPrefix" + rm -rf "$prebuiltTarget" + else + tar -C "$tmpFolder" -xJf "$targetFile" + mkdir -p "$buildFolder" + cd "$tmpFolder/gcc-$version" + sudo "$tmpFolder/gcc-$version/contrib/download_prerequisites" + cd "$buildFolder" + "$tmpFolder/gcc-$version/configure" --disable-bootstrap --enable-languages=c,c++,lto --prefix="$installPrefix" --program-suffix="-$suffixVersion" + make -j4 + sudo make install + + rm -rf "$targetFile" + rm -rf "$tmpFolder/gcc-$version" + fi + + # openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links + if [ -f "/usr/sbin/update-alternatives" ]; then + sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \ + --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \ + --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \ + --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" + else + sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority" + fi + + + echo "GCC = $version" >> ~/versions.txt +} diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/open62541.sh index 97a76886..962e8963 100755 --- a/coin/provisioning/common/linux/open62541.sh +++ b/coin/provisioning/common/linux/open62541.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -59,15 +59,15 @@ sudo pip install six git clone https://github.com/open62541/open62541.git open62541 cd open62541 -git checkout 8845e493d7751fd4eee3917b540e5346646b9cf7 +git checkout 215651ab8db94e5eacdd10ec26a5a9fb96b9301f mkdir build cd build -cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DLIB_INSTALL_DIR:PATH=/usr/local/lib/open62541 .. +TARGETPATH=/opt/open62541 +cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH="$TARGETPATH" .. make sudo make install sudo /sbin/ldconfig -SetEnvVar "QTOPCUA_OPEN62541_LIB_PATH" "/usr/local/lib/open62541" -SetEnvVar "QTOPCUA_OPEN62541_INCLUDE_PATH" "/usr/local/include/open62541" +SetEnvVar "CI_OPEN62541_GCC_X64_PREFIX" "$TARGETPATH" diff --git a/coin/provisioning/common/linux/remove-apport.sh b/coin/provisioning/common/linux/remove-apport.sh new file mode 100755 index 00000000..cb6bddcd --- /dev/null +++ b/coin/provisioning/common/linux/remove-apport.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +sudo apt-get purge apport -y diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile new file mode 100644 index 00000000..b39eb21e --- /dev/null +++ b/coin/provisioning/common/linux/testserver/apache2/Dockerfile @@ -0,0 +1,7 @@ +FROM ubuntu:16.04 +ARG packages="apache2 libcgi-session-perl wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 80 443 + +# install configurations and test data +RUN wget https://tools.ietf.org/rfc/rfc3252.txt diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile new file mode 100644 index 00000000..67c1159b --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/Dockerfile @@ -0,0 +1,10 @@ +FROM ubuntu:16.04 +ARG packages="gdebi-core wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb +RUN gdebi -n dante-server_1.4.1-1_amd64.deb +EXPOSE 1080-1081 + +# install configurations and test data +COPY danted /etc/init.d/ +COPY danted-authenticating /etc/init.d/ diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/linux/testserver/danted/danted new file mode 100755 index 00000000..1da8203e --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/danted @@ -0,0 +1,93 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: danted +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SOCKS (v4 and v5) proxy daemon (danted) +### END INIT INFO +# +# dante SOCKS server init.d file. Based on /etc/init.d/skeleton: +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/danted +NAME=danted +DESC="Dante SOCKS daemon" +PIDFILE=/var/run/$NAME.pid +CONFFILE=/etc/$NAME.conf + +test -f $DAEMON || exit 0 + +set -e + +# This function makes sure that the Dante server can write to the pid-file. +touch_pidfile () +{ + if [ -r $CONFFILE ]; then + uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \ + $CONFFILE`" + if [ -n "$uid" ]; then + touch $PIDFILE + chown $uid $PIDFILE + fi + fi +} + +. /lib/lsb/init-functions + +case "$1" in + start) + if ! egrep -cve '^ *(#|$)' \ + -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null + then + echo "Not starting $DESC: not configured." + exit 0 + fi + echo -n "Starting $DESC: " + touch_pidfile + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- -D + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + echo "$NAME." + ;; + reload|force-reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + echo "Reloading $DESC configuration files." + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON -- -D + ;; + restart) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON + sleep 1 + touch_pidfile + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -D + echo "$NAME." + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/linux/testserver/danted/danted-authenticating new file mode 100755 index 00000000..7aa35db6 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/danted-authenticating @@ -0,0 +1,97 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: danted-authenticating +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SOCKS (v4 and v5) proxy daemon (danted) +### END INIT INFO +# +# dante SOCKS server init.d file. Based on /etc/init.d/skeleton: +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/danted +NAME=danted-authenticating +DESC="Dante SOCKS daemon" +PIDFILE=/var/run/$NAME.pid +CONFFILE=/etc/$NAME.conf +DANTED_ARGS="-D -f $CONFFILE" + +test -f $DAEMON || exit 0 + +set -e + +# This function makes sure that the Dante server can write to the pid-file. +touch_pidfile () +{ + if [ -r $CONFFILE ]; then + uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \ + $CONFFILE`" + if [ -n "$uid" ]; then + touch $PIDFILE + chown $uid $PIDFILE + fi + fi +} + +. /lib/lsb/init-functions + +case "$1" in + start) + if ! egrep -cve '^ *(#|$)' \ + -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null + then + echo "Not starting $DESC: not configured." + exit 0 + fi + echo -n "Starting $DESC: " + touch_pidfile + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + echo "$NAME." + ;; + reload|force-reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + echo "Reloading $DESC configuration files." + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + ;; + restart) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON + sleep 1 + touch_pidfile + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + echo "$NAME." + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/testserver/docker_testserver.sh new file mode 100755 index 00000000..2534c416 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/docker_testserver.sh @@ -0,0 +1,69 @@ +#!/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$ +## +############################################################################# + +set -ex + +# Using SHA-1 of each server context as the tag of docker images. A tag labels a +# specific image version. It is used by docker compose file (docker-compose.yml) +# to launch the corresponding docker containers. If one of the server contexts +# (./apache2, ./danted, ...) gets changes, all the related compose files in +# qtbase should be updated as well. +# +# For example, here's how to get the SHA-1 of apache test server. +# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \ +# awk '{ print $1 }' | sha1sum | awk '{ print $1 }' + +testserver='apache2 squid vsftpd ftp-proxy danted' + +for server in $testserver +do + context="${BASH_SOURCE%/*}/$server" + sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \ + sha1sum | awk '{ print $1 }') + sudo docker build -t qt-test-server-$server:$sha1 $context + + # transition - The fixed tag is temporarily used by CI to pass the qtbase testing. + case $server in + apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;; + squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;; + vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;; + ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;; + danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;; + esac + [ -z "$fixed_tag" ] || \ + sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag +done + +sudo docker images diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile new file mode 100644 index 00000000..c719c1eb --- /dev/null +++ b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 +ARG packages="ftp-proxy avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 2121 diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile new file mode 100644 index 00000000..f0ed68b3 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/squid/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 +ARG packages="squid avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 3128-3130 diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile new file mode 100644 index 00000000..af6cd7c7 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile @@ -0,0 +1,7 @@ +FROM ubuntu:16.04 +ARG packages="vsftpd ftp wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 20-21 + +# install configurations and test data +RUN wget https://tools.ietf.org/rfc/rfc3252.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh b/coin/provisioning/common/linux/ubuntu-version.sh index 21a4c4cf..d403df13 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh +++ b/coin/provisioning/common/linux/ubuntu-version.sh @@ -43,4 +43,4 @@ echo "***** All installed packages *****" >> ~/versions.txt apt list --installed >> ~/versions.txt echo "*********************************************" >> ~/versions.txt -"$(dirname "$0")/../common/linux/version.sh" +"$(dirname "$0")/version.sh" diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh index ed24d805..3e2a7f19 100755 --- a/coin/provisioning/common/linux/version.sh +++ b/coin/provisioning/common/linux/version.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2016 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh index f926de89..e22425b7 100755 --- a/coin/provisioning/common/macos/cmake.sh +++ b/coin/provisioning/common/macos/cmake.sh @@ -42,13 +42,13 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz" -AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" -SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" -appPrefix="cmake-3.6.2-Darwin-x86_64" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz" +SHA1="3d13de8020ce560159fa5cecb669498c48552d96" +appPrefix="cmake-3.11.3-Darwin-x86_64" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH" -echo "CMake = 3.6.2" >> ~/versions.txt +echo "CMake = 3.11.3" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/disable_spotlight.sh b/coin/provisioning/common/macos/disable_spotlight.sh new file mode 100755 index 00000000..7c60b52b --- /dev/null +++ b/coin/provisioning/common/macos/disable_spotlight.sh @@ -0,0 +1,38 @@ +#!/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$ +## +############################################################################# + +# Disable spotlight and and stop indexing +sudo mdutil -a -i off +sudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array "/Volumes" diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh index 2be234e7..7b0ead98 100755 --- a/coin/provisioning/common/macos/install-commandlinetools.sh +++ b/coin/provisioning/common/macos/install-commandlinetools.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh index e569bee5..5eddb72f 100755 --- a/coin/provisioning/common/macos/install_xcode.sh +++ b/coin/provisioning/common/macos/install_xcode.sh @@ -49,11 +49,27 @@ function InstallXCode() { version=$2 echo "Uncompressing and installing '$sourceFile'" - xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) + if [[ $sourceFile =~ tar ]]; then + cd /Applications/ && sudo tar -zxf "$sourceFile" + else + xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) + fi + + echo "Versioning application bundle" + majorVersion=$(echo $version | cut -d '.' -f 1) + versionedAppBundle="/Applications/Xcode${majorVersion}.app" + sudo mv /Applications/Xcode.app ${versionedAppBundle} + + echo "Selecting Xcode" + sudo xcode-select --switch ${versionedAppBundle} echo "Accept license" sudo xcodebuild -license accept + echo "Install packages" + # -runFirstLaunch is valid in 9.x + sudo xcodebuild -runFirstLaunch || true + echo "Enabling developer mode, so that using lldb does not require interactive password entry" sudo /usr/sbin/DevToolsSecurity -enable diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index 545a6d02..35bccc93 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -52,10 +52,14 @@ InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" InstallPip python3.6 -/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv +/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" +# Install all needed packages in a special wheel cache directory +/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" + echo "python3 = 3.6.1" >> ~/versions.txt diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt new file mode 100644 index 00000000..12380d85 --- /dev/null +++ b/coin/provisioning/common/shared/requirements.txt @@ -0,0 +1,19 @@ +# This file holds all python3 packages need for a certain qt module +# When adding new packages here, first add a comment with the name of the module +# Then all the packages. Duplicates are wanted as every module should install +# all packages it needs and shouldn't depend on a package from another module +# +# qtivi +antlr4-python3-runtime==4.7.1 +argh==0.26.2 +click==6.7 +coloredlogs==10.0 +humanfriendly==4.15.1 +Jinja2==2.10 +MarkupSafe==1.0 +path.py==11.0.1 +pathtools==0.1.2 +PyYAML==3.13 +six==1.11.0 +typing==3.6.4 +watchdog==0.8.3 diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index 14d1322d..2d82af58 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh index b616efb9..34bcf289 100755 --- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh @@ -2,10 +2,10 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -64,6 +64,9 @@ function InstallFromCompressedFileFromURL { "zip") unzip "$targetFile" -d "$targetDirectory" ;; + "xz") + tar -xf "$targetFile" --directory "$targetDirectory" + ;; *) exit 1 ;; diff --git a/coin/provisioning/common/unix/SetEnvVar.sh b/coin/provisioning/common/unix/SetEnvVar.sh index e1b69169..d5aa4dcd 100755 --- a/coin/provisioning/common/unix/SetEnvVar.sh +++ b/coin/provisioning/common/unix/SetEnvVar.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index 3e55b09f..1c33641a 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -4,7 +4,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -37,4 +37,4 @@ 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" +{ 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 645cf6ec..a9d1cc49 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -48,18 +48,12 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh" source "${BASH_SOURCE%/*}/DownloadURL.sh" libclang_version=6.0 -libclang_version_Rhel6=4.0 if uname -a |grep -q Darwin; then version=$libclang_version url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-mac.7z" url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-mac.7z" sha1="0af8ab8c1174faf4b721d079587190fc32ea8364" -elif uname -a |grep -q "el6"; then - version=$libclang_version_Rhel6 - url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z" - sha1="c7466109628418a6aa3db8b3f5825f847f1c4952" else version=$libclang_version url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" @@ -79,8 +73,6 @@ sudo mv /tmp/libclang "$destination" echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile echo "libClang = $version" >> ~/versions.txt -if [ "$version" == "6.0" ]; then - # This is a hacked static build of libclang which requires special - # handling on the qdoc side. - SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1" -fi +# This is a hacked static build of libclang which requires special +# handling on the qdoc side. +SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1" diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh index dbc6b6b1..37732b31 100644 --- a/coin/provisioning/common/unix/mqtt_broker.sh +++ b/coin/provisioning/common/unix/mqtt_broker.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -39,10 +39,10 @@ source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -CommitSHA="5e14a65bbf602fe5d58afdd1394ce76d41ed5c65" +CommitSHA="20bad2475c27a6e1d24a56d90a9fceb40963261e" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip" AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip" -SHA1="6afc375c2702eb36a960f38dd4912a3422d679fd" +SHA1="a0ac88715c2aebb9573a113dc13925a90da19233" targetFolder="/opt/paho_broker" appPrefix="paho.mqtt.testing-$CommitSHA" diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index c946dfdc..0f31e5fd 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -38,9 +38,9 @@ set -ex # This script will install squish package for Linux and Mac. # Squish is need by Release Test Automation (RTA) -version="6.3.0" +version="6.3.2" # Branch version without dot -qtBranch="59x" +qtBranch="510x" squishFolder="/opt/squish" squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/" squishFile="squish-$version-qt$qtBranch-linux64.run" @@ -76,7 +76,7 @@ function MountAndInstall { usersGroup="staff" mountFolder="/Volumes" squishLicenseDir="/Users/qt" - elif uname -a |grep -q "el6\|el7"; then + elif uname -a |grep -q "el7"; then usersGroup="qt" mountFolder="/tmp" squishLicenseDir="/root" @@ -129,6 +129,7 @@ function MountAndInstall { echo "'run-file', no need to uncompress" sudo cp $targetFileMount $targetDirectory UnMount + sudo chmod +x $targetDirectory/$targetFile 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 @@ -160,7 +161,7 @@ MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile" echo "Installing squish $version.." MountAndInstall "$squishUrl" "$squishFolder" "$squishFile" -echo "Installing test suite for squish" +echo "Installing provisioning scripts for squish" MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz" echo "Verifying Squish Installation" diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index 15fe29f8..5390dfae 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -1,6 +1,6 @@ ############################################################################ ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -53,9 +53,9 @@ Rename-Item C:\Utils\openssl-$version $destination Remove-Item -Path $zip Remove-Item C:\Utils\openssl-$version.tar -Set-EnvironmentVariable "CC" "C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc" -Set-EnvironmentVariable "AR" "C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar" -Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr" +Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang" +Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar" +Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr" # Make sure configure for openssl has a "make" and "perl" available $env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin" diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 9a09e919..cd98b747 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -1,6 +1,6 @@ ############################################################################ ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -40,23 +40,24 @@ # That's why we need to use Andoid-21 API version in Qt 5.9. # NDK -$ndkVersion = "r10e" +$ndkVersion = "r18b" $ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip" $ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip" -$ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357" -$ndkFolder = "c:\utils\android-ndk-$ndkVersion" +$ndkChecksum = "4b8b6a4edc0fa967b429c1d6d25adf69acc28803" +$ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion" $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" # SDK -$sdkVersion = "r24.4.1" +$toolsVersion = "26.1.1" +$toolsFile = "sdk-tools-windows-4333796.zip" $sdkApi = "ANDROID_API_VERSION" $sdkApiLevel = "android-21" -$sdkBuildToolsVersion = "23.0.3" -$sdkCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\android-sdk_$sdkVersion-windows.zip" -$sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip" -$sdkChecksum = "66b6a6433053c152b22bf8cab19c0f3fef4eba49" -$sdkFolder = "c:\utils\android-sdk-windows" -$sdkZip = "c:\Windows\Temp\android_sdk_$sdkVersion.zip" +$sdkBuildToolsVersion = "28.0.3" +$toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile" +$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile" +$toolsChecksum = "aa298b5346ee0d63940d13609fe6bec621384510" +$toolsFolder = "c:\Utils\Android\tools" +$sdkZip = "c:\Windows\Temp\$toolsFile" function Install($1, $2, $3, $4) { $cacheUrl = $1 @@ -66,41 +67,42 @@ function Install($1, $2, $3, $4) { Download $offcialUrl $cacheUrl $zip Verify-Checksum $zip "$checksum" - Extract-7Zip $zip C:\Utils + Extract-7Zip $zip C:\Utils\Android } -function SdkUpdate ($1, $2) { - Write-Host "Running Android SDK update for $1..." - cmd /c "echo y |$1\tools\android update sdk --no-ui --all --filter $2" -} - -Write-Host "Installing Android ndk $nkdVersion" +Write-Host "Installing Android NDK $nkdVersion" Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolder Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder -#Write-Host "Installing Android sdk $sdkVersion" -Install $sdkCachedUrl $sdkZip $sdkChecksum $sdkOfficialUrl -Set-EnvironmentVariable "ANDROID_SDK_HOME" $sdkFolder +Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl +Set-EnvironmentVariable "ANDROID_SDK_HOME" C:\Utils\Android Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel -# SDK update -SdkUpdate $sdkFolder $sdkApiLevel -SdkUpdate $sdkFolder tools -SdkUpdate $sdkFolder platform-tools -SdkUpdate $sdkFolder build-tools-$sdkBuildToolsVersion - -# kill adb. This process prevents provisioning to continue -$p = Get-Process -Name "adb" -ErrorAction:SilentlyContinue -if ($p -ne $null) { - Write-Host "Stopping adb.exe" - Stop-Process -Force $p -} else { - Write-Host "adb.exe not running" +if (IsProxyEnabled) { + $proxy = Get-Proxy + Write-Host "Using proxy ($proxy) with sdkmanager" + # Remove "http://" from the beginning + $proxy = $proxy.Remove(0,7) + $proxyhost,$proxyport = $proxy.split(':') + $sdkmanager_args = "--no_https --proxy=http --proxy_host=`"$proxyhost`" --proxy_port=`"$proxyport`" " } -Write-Output "Android SDK tools= $sdkVersion" >> ~/versions.txt +New-Item -ItemType Directory -Force -Path C:\Utils\Android\licenses +$licenseString = "`nd56f5187479451eabf01fb78af6dfcb131a6481e" +Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8 -InputObject $licenseString + +# Get a PATH where Java's path is defined from previous provisioning +[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process") + +$sdkmanager_args += " platforms;$sdkApiLevel tools platform-tools build-tools;$sdkBuildToolsVersion" +Run-Executable "$toolsFolder\bin\sdkmanager.bat" "$sdkmanager_args" +cd $toolsFolder\bin\ +$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses' +iex $command +cmd /c "dir C:\Utils\android" + +Write-Output "Android SDK tools= $toolsVersion" >> ~/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/disable-quickedit.ps1 b/coin/provisioning/common/windows/disable-quickedit.ps1 new file mode 100644 index 00000000..09e18503 --- /dev/null +++ b/coin/provisioning/common/windows/disable-quickedit.ps1 @@ -0,0 +1,13 @@ +# Disabling cmd.exe and powershell QuickEdit && InsertMode +# +# These two can freeze console window on win10 sometimes +# manual recovery is pressing enter on console window + +. "$PSScriptRoot\helpers.ps1" + +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console`" /V QuickEdit /T REG_dWORD /D 0 /F" +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console`" /V InsertMode /T REG_dWORD /D 0 /F" +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe`" /V QuickEdit /T REG_dWORD /D 0 /F" +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe`" /V InsertMode /T REG_dWORD /D 0 /F" +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe`" /V QuickEdit /T REG_dWORD /D 0 /F" +Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe`" /V InsertMode /T REG_dWORD /D 0 /F" diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 794f1b5d..cbf2371f 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -27,7 +27,8 @@ function Run-Executable $p = Start-Process -FilePath "$Executable" -Wait -PassThru } else { Write-Host "Running `"$Executable`" with arguments `"$Arguments`"" - $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -Wait -PassThru + $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -PassThru + Wait-Process -InputObject $p } if ($p.ExitCode -ne 0) { throw "Process $($Executable) exited with exit code $($p.ExitCode)" diff --git a/coin/provisioning/common/windows/install-git.ps1 b/coin/provisioning/common/windows/install-git.ps1 index c57e7199..110c3703 100644 --- a/coin/provisioning/common/windows/install-git.ps1 +++ b/coin/provisioning/common/windows/install-git.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -51,6 +51,8 @@ Download $url_official $url_cache $gitPackage Verify-Checksum $gitPackage $sha1 Write-Host "Installing Git $version..." Run-Executable "$gitPackage" "/SILENT /COMPONENTS=`"icons,ext\reg\shellhere,assoc,assoc_sh`"" -Remove-Item -Path $gitPackage +Write-Host "Adding SSH and SCP to environment variables for RTA" +Set-EnvironmentVariable "SSH" "C:\Program Files\Git\usr\bin\ssh.exe" +Set-EnvironmentVariable "SCP" "C:\Program Files\Git\usr\bin\scp.exe" Write-Output "Git = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1 index 3b1b63b6..7c13cfb7 100644 --- a/coin/provisioning/common/windows/mqtt_broker.ps1 +++ b/coin/provisioning/common/windows/mqtt_broker.ps1 @@ -3,7 +3,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -35,8 +35,8 @@ Write-Host "MQTT: Downloading Paho test broker..." $zip = Get-DownloadLocation "pahotest.zip" -$commitSHA = "5e14a65bbf602fe5d58afdd1394ce76d41ed5c65" -$sha1 = "6afc375c2702eb36a960f38dd4912a3422d679fd" +$commitSHA = "20bad2475c27a6e1d24a56d90a9fceb40963261e" +$sha1 = "a0ac88715c2aebb9573a113dc13925a90da19233" $internalUrl = "http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip" $externalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/$commitSHA.zip" diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..18f562c9 --- /dev/null +++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 @@ -0,0 +1,59 @@ +############################################################################# +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\helpers.ps1" + +$zip = Get-DownloadLocation "uasdkcpp.zip" +$sha1 = "e1927dbd5d8bb459b468fa70a70b1de51a4ce022" +$installLocation = "C:\Utils\uacpp" + +Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..." +$internalUrl = "http://ci-files01-hki.ci.local/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.zip" +# No public download link exists +$externalUrl = $internalUrl + +Download $externalUrl $internalUrl $zip +Verify-Checksum $zip $sha1 + +Write-Host "UACPPSDK: Installing $zip..." +Extract-7Zip $zip (Get-DefaultDownloadLocation) +Remove-Item -Path $zip + +$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.exe" +$arguments = "/S /D=$installLocation" +Run-Executable $executable $arguments +Write-Host "UACPPSDK: Installer done." +Remove-Item $executable + +Write-Host "Set environment variable for COIN to locate SDK" +Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation" diff --git a/coin/provisioning/common/windows/open62541.ps1 b/coin/provisioning/common/windows/open62541.ps1 new file mode 100644 index 00000000..beb09487 --- /dev/null +++ b/coin/provisioning/common/windows/open62541.ps1 @@ -0,0 +1,265 @@ +############################################################################# +## +## 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$ +## +############################################################################# + +Param ( + [string]$targetCommand= "" + ) + +. "$PSScriptRoot\helpers.ps1" + +## Variables for builds +$commitSHA = "215651ab8db94e5eacdd10ec26a5a9fb96b9301f" +$sha1 = "8d899f986071525be73e1ee8565b28ea10536d7d" +$extractTarget = "C:\open62541_build" + +function CreateArchive +{ + param( + [string]$sourceDirectory=$(throw("You must specify a directory")), + [string]$archiveName=$(throw("You must specify an archive name")) + ) + + if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { + $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe' + if (-not (test-path $zipExe)) { + $zipExe = "C:\Utils\sevenzip\7z.exe" + if (-not (test-path $zipExe)) { + throw "Could not find 7-zip." + } + } + } else { + $zipExe = "7z.exe" + } + + Run-Executable $zipExe "a -y `"$archiveName`" `"$sourceDirectory`"" +} + +function PrepareRepository +{ + $username = $env:USERNAME + $zip = "c:\users\$username\downloads\open62541.zip" + + $externalUrl = "https://github.com/open62541/open62541/archive/$commitSHA.zip" + $internalUrl = "http://ci-files01-hki.ci.local/input/open62541/$commitSHA.zip" + + Download $externalUrl $internalUrl $zip + Verify-Checksum $zip $sha1 + + Extract-7Zip $zip $extractTarget +} + +function PushDevEnvironment +{ + # Provisioning updates the registry entries for PATH etc. However, they are not + # propagated to the next provisioning script and hence need to be manually + # read / set. + $adaptedPath = $env:PATH + $jomLocation = [Environment]::GetEnvironmentVariable("CI_JOM_PATH", "Machine") + $adaptedPath = $adaptedPath + ";" + $jomLocation + $adaptedPath = $adaptedPath + ";" + "C:\Python27" + $adaptedPath = $adaptedPath + ";" + "C:\CMake\bin" + [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") +} + +function MSVCEnvironment +{ + Param ( + [string]$msvcDir=$(throw("No VS Directory specified")), + [string]$msvcbat=$(throw("No vsvars batch file specified")) + ) + + Push-Location $msvcDir + cmd /c "$msvcbat&set" | + foreach { + if ($_ -match "=") { + $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])" + } + } + Pop-Location +} + +function BuildAndInstallOpen62541 +{ + Param ( + [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")), + [string]$Platform=$(throw("You must specify the target platform [x86, x64]")), + [string]$MakeCommand=$(throw("You must specify a make command [mingw32-make, nmake]")) + ) + Write-Host "### Open62541: Supposed to build with: $Type $Platform $MakeCommand" + + ## Make Build directory + $buildDir = "$extractTarget\open62541-$commitSHA\build" + "_" + $Type + "_" + $Platform + if (Test-Path $buildDir) { + Write-Host " Deleting pre-existing build directory" + Remove-Item $buildDir -Force -Recurse + } + New-Item -ItemType Directory -Force -Path $buildDir + Push-Location $buildDir + + ## Invoke Cmake + $makeGenerator = "NMake Makefiles JOM" + $installTarget = "C:\Utils\open62541" + "_" + $Type + "_" + $Platform + if (Test-Path $installTarget) { + Write-Host " Deleting pre-existing install directory" + Remove-Item $installTarget -Force -Recurse + } + + if ($Type.StartsWith("mingw")) { + $makeGenerator = "MinGW Makefiles" + } + cmake -G "$makeGenerator" -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=$installTarget -DLIB_INSTALL_DIR:PATH=$installTarget/lib .. + + ## Call build command + Write-Host "### Open62541: Compilation ###" + Run-Executable $MakeCommand + + ## call install command + Write-Host "### Open62541: Installation ###" + Run-Executable $MakeCommand install + + $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + "_PREFIX" + Set-EnvironmentVariable $platformVariable $installTarget + + ## Packaging + Push-Location "C:\Utils" + $archiveName = "open62541_" + $Type + "_" + $Platform + ".7z" + CreateArchive $installTarget $archiveName + Pop-Location + + ## cleanup build directory + Write-Host "### Open62541: Cleanup ###" + Pop-Location + Remove-Item $buildDir -Force -Recurse +} + +function DownloadAndInstall +{ + Param ( + [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")), + [string]$Platform=$(throw("You must specify the target platform [x86, x64]")) + ) + $baseLocation = "http://ci-files01-hki.intra.qt.io/input/open62541/" + $targetName = "open62541_" + $Type + "_" + $Platform + $archiveName = $targetName + ".7z" + $downloadUrl = $baseLocation + $archiveName + + # Download + $downloadTarget = "C:\Utils\" + $archiveName + Download $downloadUrl $downloadUrl $downloadTarget + + # Extract + Push-Location C:\Utils + Extract-7Zip $downloadTarget C:\Utils + Pop-Location + + # Set environment variable + $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + $platformPath = "C:\Utils\" + $targetName + Set-EnvironmentVariable $platformVariable $platformPath +} + +############################## +# Startup # +############################## +if ($targetCommand.StartsWith("mingw")) { + Write-Host "### Creating Open62541 for MinGW" + $mingwPath = [Environment]::GetEnvironmentVariable($targetCommand, "Machine") + if (!$mingwPath) { + throw("Could not find mingw") + } + + # Strawberry has its own gcc, put mingw in front + $adaptedPath = $mingwPath + "\bin;" + [Environment]::GetEnvironmentVariable("PATH", "Machine") + [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") + + PushDevEnvironment + BuildAndInstallOpen62541 $targetCommand x86 "mingw32-make" +} elseif ($targetCommand -eq "msvc2015_x86") { + Write-Host "### Creating Open62541 for MSVC2015 x86" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat x86" + PushDevEnvironment + BuildAndInstallOpen62541 msvc2015 x86 jom +} elseif ($targetCommand -eq "msvc2015_x64") { + Write-Host "### Creating Open62541 for MSVC2015 x64" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat amd64" + PushDevEnvironment + BuildAndInstallOpen62541 msvc2015 x64 jom +} elseif ($targetCommand -eq "msvc2017_x86") { + Write-Host "### Creating Open62541 for MSVC2017 x86" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars32.bat + PushDevEnvironment + BuildAndInstallOpen62541 msvc2017 x86 jom +} elseif ($targetCommand -eq "msvc2017_x64") { + Write-Host "### Creating Open62541 for MSVC2017 x64" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars64.bat + PushDevEnvironment + BuildAndInstallOpen62541 msvc2017 x64 jom +} elseif ($targetCommand -eq "prepare") { + PrepareRepository +} elseif ($targetCommand -eq "build") { + Write-Host "### Building for all supported platforms" + PrepareRepository + Write-Host "### Invoking MinGW530 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw530 + Write-Host "### Invoking MinGW630 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw630 + Write-Host "### Invoking MinGW730 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw730 + Write-Host "### Invoking MSVC2015 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x86 + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x64 + Write-Host "### Invoking MSVC2017 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x86 + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x64 + Write-Host "### Archives have been generated at C:/Utils. Please upload manually" +} elseif ($targetCommand -eq "packaged") { + Write-Host "### Expecting pre-built packages, download and install from archives" + Write-Host "### MinGW530 x64" + DownloadAndInstall mingw530 x86 + Write-Host "### MinGW630 x64" + DownloadAndInstall mingw630 x86 + Write-Host "### MinGW730 x64" + DownloadAndInstall mingw730 x64 + Write-Host "### MSVC2015 x86" + DownloadAndInstall msvc2015 x86 + Write-Host "### MSVC2015 x64" + DownloadAndInstall msvc2015 x64 + Write-Host "### MSVC2017 x64" + DownloadAndInstall msvc2017 x64 +} elseif ($targetCommand) { + Write-Host "### Unknown parameter specified:" $targetCommand " Options are: mingw, msvc2015_x(86/64), msvc2017_x(86/64)" + throw("Unknown parameter") +} else { + # Default behavior + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand build +} diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 index e2855c75..aee4c199 100644 --- a/coin/provisioning/common/windows/python.ps1 +++ b/coin/provisioning/common/windows/python.ps1 @@ -3,7 +3,7 @@ ## Copyright (C) 2016 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -83,4 +83,7 @@ if (IsProxyEnabled) { } Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv" +# Install PyPDF2 for QSR documentation +Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install PyPDF2" + Write-Output "Python-$archVer = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1 index 473fe65c..c05c022c 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -4,7 +4,7 @@ ## Copyright (C) 2017 Pelagicore AG ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -79,7 +79,15 @@ if (IsProxyEnabled) { Write-Host "Using proxy ($proxy) with pip" $pip_args = "--proxy=$proxy" } -Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv" +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel" + +# Install all needed packages in a special wheel cache directory +$python3_wheel_dir="$install_path\python3-wheels" +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args wheel --wheel-dir $python3_wheel_dir -r $PSScriptRoot\..\shared\requirements.txt" +Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE" "$python3_wheel_dir" + +# Install PyPDF2 for QSR documentation +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install PyPDF2" Write-Output "Python3-$archVer = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 index 8db53ca7..5fb032f5 100644 --- a/coin/provisioning/common/windows/squishInstall.ps1 +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -38,11 +38,11 @@ # NOTE! Make sure 64bit versions are always installed before 32bit, # because they use same folder name before a rename -$version = "6.3.0" +$version = "6.3.2" # Qt branch without dot (*.*) -$qtBranch = "59x" -# So far Squish built with Qt5.9 works also with 5.10 and 5.11, but we have to be prepared that on some point +$qtBranch = "510x" +# So far Squish built with Qt5.10 works also with 5.11, but we have to be prepared that on some point # the compatibility breaks, and we may need to have separate Squish packages for different Qt versions. $targetDir = "C:\Utils\squish" diff --git a/coin/provisioning/common/windows/vc_redist.ps1 b/coin/provisioning/common/windows/vc_redist.ps1 index c356ca2c..f68846f0 100644 --- a/coin/provisioning/common/windows/vc_redist.ps1 +++ b/coin/provisioning/common/windows/vc_redist.ps1 @@ -4,7 +4,7 @@ ## Copyright (C) 2017 Pelagicore AG ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/common/windows/vclibs_debug.ps1 b/coin/provisioning/common/windows/vclibs_debug.ps1 new file mode 100644 index 00000000..ef387ab4 --- /dev/null +++ b/coin/provisioning/common/windows/vclibs_debug.ps1 @@ -0,0 +1,23 @@ +. "$PSScriptRoot\helpers.ps1" + +function Install-VCLibsDebug +{ + Param ( + [string]$Arch + ) + + $installedPackage = Get-AppxPackage Microsoft.VCLibs.140.00.Debug | Where-Object {$_.Architecture -eq $Arch} + if ($installedPackage) { + Write-Host "Debug VCLibs already installed for $Arch." + return + } + + if (Is64BitWinHost) { + $ProgramFiles = "Program Files (x86)" + } else { + $ProgramFiles = "Program Files" + } + Add-AppxPackage "C:\$ProgramFiles\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs\14.0\Appx\Debug\$Arch\Microsoft.VCLibs.$Arch.Debug.14.00.appx" + + Write-Host "Debug VCLibs successfully installed for $Arch." +} diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh new file mode 100755 index 00000000..c1189a94 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.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$ +## +############################################################################# + +set -ex + +installPackages=() + +# For Jenkins +installPackages+=(java-1.8.0-openjdk-devel) +# For Qt Creator +installPackages+=(openssl-devel) + +sudo yum -y install "${installPackages[@]}" + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh index 6152c7e5..2861821c 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh @@ -1,4 +1,38 @@ #!/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$ +## +############################################################################# + # provides: python development libraries # version: provided by default Linux distribution repository # needed to build pyside diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh index 90d4199f..67c17954 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2016 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the test suite of the Qt Toolkit. @@ -33,9 +33,6 @@ ## ############################################################################# -# shellcheck source=../common/unix/DownloadURL.sh -source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" - # This script installs the right ICU version set -ex @@ -45,31 +42,29 @@ sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753" function Install7ZPackageFromURL { url=$1 - urlExt=$2 - expectedSha1=$3 - targetDirectory=$4 + expectedSha1=$2 + targetDirectory=$3 targetFile=$(mktemp) - DownloadURL "$url" "$urlExt" "$expectedSha1" "$targetFile" + wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" + echo "$expectedSha1 $targetFile" | sha1sum --check sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile" rm "$targetFile" } echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" -baseBinaryPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" -Install7ZPackageFromURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalUrl" "$sha1" "/usr/lib64" +baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" +Install7ZPackageFromURL "$baseBinaryPackageURL" "$sha1" "/usr/lib64" echo "Installing custom ICU devel packages on RHEL" sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" -develPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" +develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" tempDir=$(mktemp -d) # shellcheck disable=SC2064 trap "sudo rm -fr $tempDir" EXIT -Install7ZPackageFromURL "$develPackageURL" "$develPackageExternalUrl" "$sha1Dev" "$tempDir" +Install7ZPackageFromURL "$develPackageURL" "$sha1Dev" "$tempDir" sudo cp -a "$tempDir/lib"/* /usr/lib64 sudo cp -a "$tempDir"/* /usr/ @@ -77,4 +72,3 @@ sudo /sbin/ldconfig # Storage version information to ~/versions.txt, which is used to print version information to provision log. echo "ICU = $icuVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh index fba8c1b2..b547b479 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh @@ -98,6 +98,17 @@ installPackages+=(mesa-libwayland-egl-devel) installPackages+=(libwayland-client) installPackages+=(libwayland-cursor) installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util-devel) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) sudo yum -y install "${installPackages[@]}" @@ -106,4 +117,11 @@ sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3 # We shouldn't use yum to install virtualenv. The one found from package repo is not # working, but we can use installed pip sudo pip install --upgrade pip -sudo pip install virtualenv +sudo pip install virtualenv wheel + +sudo /usr/local/bin/pip3 install wheel +# Install all needed packages in a special wheel cache directory +/usr/local/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" 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 505374c5..e677427f 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 @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage 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 049cdd2d..21c926b8 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 @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage 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 e613edc0..4559151e 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 @@ -110,6 +110,7 @@ installPackages+=(python-pip) installPackages+=(python3-dev) installPackages+=(python3-pip) installPackages+=(python3-virtualenv) +installPackages+=(python3-wheel) # Needed to be able to build Yocto installPackages+=(chrpath) installPackages+=(gawk) @@ -157,15 +158,27 @@ installPackages+=(libbluetooth-dev) #VirtualBox for RTA installPackages+=(virtualbox) installPackages+=(dkms) - -echo "Running update for apt" -sudo apt-get update -echo "Installing packages" -sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" +#Pypdf for QSR documentation +installPackages+=(python-pypdf2) sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse +deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse +deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse +deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe +deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse EOC + +echo "Running update for apt" +sudo apt-get update +echo "Installing packages" +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" + +# Install all needed packages in a special wheel cache directory +pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh index 04c09770..c2331d16 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh deleted file mode 100755 index 6570e107..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the test suite 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$ -## -############################################################################# - -sudo apt-get update -sudo apt-get install -y libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libxml2-dev libboost-regex-dev - -TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" -trap "sudo rm -fr $TEMPDIR" EXIT -cd $TEMPDIR -git clone https://github.com/FreeOpcUa/freeopcua.git freeopcua -cd freeopcua -git checkout 955cc5b924cf310fc15b376a11f4b7b9db28980b -mkdir build -cd build -source ~/.profile -cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. -make -sudo make install -sudo /sbin/ldconfig diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh index 6cc2b44f..a4b63493 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh index 6b5cf23c..37aec494 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh index 7f24d224..c4740556 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh new file mode 100755 index 00000000..4a6681f3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/linux/docker.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..96bf23f8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh @@ -0,0 +1,70 @@ +#!/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 "Set grub timeout to 0" +sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo update-grub + +# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320 +echo "Setting up workaround for Ubuntu systemd resolve bug" +sudo rm -f /etc/resolv.conf +sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +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 + +echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale + +if [ "$http_proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi + +# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures. +sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh new file mode 100755 index 00000000..1d567a3e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh @@ -0,0 +1,174 @@ +#!/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 + +# shellcheck source=../common/linux/apt_wait_loop.sh +source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh" + +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 + +function set_internal_repo { + sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-updates main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-backports main restricted universe + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-security main restricted universe multiverse +EOC +} + +(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." + +# Git is not needed by builds themselves, but is nice to have +# immediately as one starts debugging +installPackages+=(git) +# 7zip is a needed decompressing tool +installPackages+=(p7zip-full) +# To be able to mount yocto-cache during builds +installPackages+=(nfs-common) +# libssl-dev provides headers for OpenSSL +installPackages+=(libssl-dev) +# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git +installPackages+=("^libxcb.*") +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libglu1-mesa-dev) +installPackages+=(libxrender-dev) +installPackages+=(libxi-dev) +# Enable linking to system dbus +installPackages+=(libdbus-1-dev) +# Needed libraries for WebEngine +installPackages+=(libudev-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libxss-dev) +# Common event loop handling +installPackages+=(libglib2.0-dev) +# MySQL support +installPackages+=(libmysqlclient-dev) +# PostgreSQL support +installPackages+=(libpq-dev) +# SQLite support +installPackages+=(libsqlite3-dev) +# ODBC support +installPackages+=(unixodbc-dev) +# Support for FreeType font engine +installPackages+=(libfreetype6-dev) +# Enable the usage of system jpeg libraries +installPackages+=(libjpeg-dev) +# Enable support for printer driver +installPackages+=(libcups2-dev) +# Install libraries needed for QtMultimedia to be able to support all plugins +installPackages+=(libasound2-dev) +installPackages+=(libgstreamer1.0-dev) +installPackages+=(libgstreamer-plugins-base1.0-dev) +installPackages+=(libgstreamer-plugins-good1.0-dev) +installPackages+=(libgstreamer-plugins-bad1.0-dev) +# Support for cross-building to x86 (needed by WebEngine boot2qt builds) +installPackages+=(g++-multilib) +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-virtualenv) +installPackages+=(python3-wheel) +# python2 development package +installPackages+=(python-dev) +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) +installPackages+=(libgl1-mesa-glx) +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(curl) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libxss-dev) +installPackages+=(libsrtp0-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +#VirtualBox for RTA +installPackages+=(virtualbox) +installPackages+=(dkms) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python-pypdf2) + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" + +# Install all needed packages in a special wheel cache directory +pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh new file mode 100755 index 00000000..f38c9bab --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..89806892 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh @@ -0,0 +1,4 @@ +#!/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-Ubuntu-18.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh new file mode 100755 index 00000000..09477763 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh new file mode 100755 index 00000000..62940e21 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/linux/gcc.sh +source "${BASH_SOURCE%/*}/../common/linux/gcc.sh" + +InstallGCC 8.2.0 50 19e40bea7df5dbadb22eec09ada621ecd9235687 19926bdb6c4b58891015929853d41aeff019d400 + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh index b2057b21..e3faa20e 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh @@ -45,8 +45,82 @@ cd "$tempDir" #latest commit from the master proven to work git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f +git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 +git cherry-pick 04b33e21866412689f18b7ad6daf0a54d8f959a7 git submodule update --init pixman -./configure --target-list=arm-linux-user,aarch64-linux-user --static + +patch -p1 <<EOT +From aad6a8f17dc7ad3681d2d98a01e474a8904a129b Mon Sep 17 00:00:00 2001 +From: Simon Hausmann <simon.hausmann@qt.io> +Date: Fri, 24 Aug 2018 10:38:29 +0200 +Subject: [PATCH] linux-user: add support for MADV_DONTNEED + +Most flags to madvise() are just hints, so typically ignoring the +syscall and returning okay is fine. However applications exist that do +rely on MADV_DONTNEED behavior to guarantee that upon subsequent access +the mapping is refreshed from the backing file or zero for anonymous +mappings. +--- + linux-user/mmap.c | 18 ++++++++++++++++++ + linux-user/qemu.h | 1 + + linux-user/syscall.c | 6 +----- + 3 files changed, 20 insertions(+), 5 deletions(-) + +diff --git a/linux-user/mmap.c b/linux-user/mmap.c +index 61685bf79e..cb3069f27e 100644 +--- a/linux-user/mmap.c ++++ b/linux-user/mmap.c +@@ -764,3 +764,16 @@ int target_msync(abi_ulong start, abi_ulong len, int flags) + start &= qemu_host_page_mask; + return msync(g2h(start), end - start, flags); + } ++ ++int target_madvise(abi_ulong start, abi_ulong len, int flags) ++{ ++ /* A straight passthrough may not be safe because qemu sometimes ++ turns private file-backed mappings into anonymous mappings. ++ Most flags are hints, except for MADV_DONTNEED that applications ++ may rely on to zero out pages, so we pass that through. ++ Otherwise returning success is ok. */ ++ if (flags & MADV_DONTNEED) { ++ return madvise(g2h(start), len, MADV_DONTNEED); ++ } ++ return 0; ++} +diff --git a/linux-user/qemu.h b/linux-user/qemu.h +index 4edd7d0c08..3c975909a1 100644 +--- a/linux-user/qemu.h ++++ b/linux-user/qemu.h +@@ -429,6 +429,7 @@ int target_munmap(abi_ulong start, abi_ulong len); + abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, + abi_ulong new_size, unsigned long flags, + abi_ulong new_addr); ++int target_madvise(abi_ulong start, abi_ulong len, int flags); + int target_msync(abi_ulong start, abi_ulong len, int flags); + extern unsigned long last_brk; + extern abi_ulong mmap_next_start; +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 11a311f9db..94d8abc745 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -11148,11 +11148,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, + + #ifdef TARGET_NR_madvise + case TARGET_NR_madvise: +- /* A straight passthrough may not be safe because qemu sometimes +- turns private file-backed mappings into anonymous mappings. +- This will break MADV_DONTNEED. +- This is a hint, so ignoring and returning success is ok. */ +- ret = get_errno(0); ++ ret = get_errno(target_madvise(arg1, arg2, arg3)); + break; + #endif + #if TARGET_ABI_BITS == 32 +-- +2.17.1 +EOT + +./configure --target-list=arm-linux-user,aarch64-linux-user --static --disable-werror make sudo make install rm -rf "$tempDir" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh new file mode 100755 index 00000000..0d18dbcf --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh index cc799702..fbe669d9 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh @@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" echo "Installing Yocto toolchain for 32-bit b2qt..." -versionARM="2.3.1" -package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-41b0b46.sh" +versionARM="2.3.4" +package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-7608ebe.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package" AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package" -SHA1="f17cce550c9d2148f11ae5c760f43a67e9813a45" +SHA1="db7a0f4f9ddd5992a563d5348889021a7ceb1c56" yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh" yoctoLocationARMv7="/opt/yocto-armv7" sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi" @@ -60,11 +60,11 @@ rm -rf "$yoctoInstaller" echo "Installing Yocto toolchain for 64-bit b2qt..." -versionARM64="2.3.1" -package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-41b0b46.sh" +versionARM64="2.3.4" +package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-7608ebe.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package" AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package" -SHA1="b49d7ec8a6339dda5a82815dc31fed1fae00851d" +SHA1="5dcae7c6cbc266798ba49a9e51fff1f06790729d" yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh" yoctoLocationARM64="/opt/yocto-arm64" sysrootARM64="sysroots/aarch64-poky-linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh index 7f32e073..e4d988fc 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh index 0f89e72c..0f89e72c 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..4527e984 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh @@ -0,0 +1,36 @@ +#!/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$ +## +############################################################################# + +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-system_updates.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh index 94b53309..d8df4375 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/01-system_updates.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh @@ -3,4 +3,4 @@ set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/system_updates.sh +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh new file mode 100755 index 00000000..0527fe85 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh @@ -0,0 +1,39 @@ +#!/bin/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$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh new file mode 100755 index 00000000..db8a3ff5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/cmake_linux.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh index 9eb7e086..1a185223 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh @@ -32,8 +32,7 @@ ## $QT_END_LICENSE$ ## ############################################################################# + set -ex -BASEDIR=$(dirname "$0") -# shellcheck source=../common/unix/libclang.sh -"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION" +source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh new file mode 100755 index 00000000..24ac2ac0 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh new file mode 100755 index 00000000..4a6681f3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/linux/docker.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh new file mode 100644 index 00000000..b062800a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/linux/ubuntu-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 0e677642..61c19510 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 @@ -10,15 +10,24 @@ source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts echo "Set DISPLAY" echo 'export DISPLAY=":0"' >> ~/.bashrc echo "Disabling file indexing." sudo balooctl disable -echo "Disable update notifications" + +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 0.5 +done +echo "Disabling update notifications" sudo zypper -nq remove plasma5-pk-updates + # shellcheck disable=SC2031 if [ "$http_proxy" != "" ]; then sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh index f32af9b5..2fab85ac 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh @@ -26,7 +26,9 @@ sudo zypper -nq install sqlite3-devel sudo zypper -nq install Mesa-libEGL-devel sudo zypper -nq install Mesa-libGL-devel +# libxkbcommon sudo zypper -nq install libxkbcommon-devel +sudo zypper -nq install libxkbcommon-x11-devel # Xinput2 sudo zypper -nq install libXi-devel diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh index e7cdd4a7..208762d3 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh @@ -9,4 +9,10 @@ sudo pkcon -y refresh sudo pkcon -y install python-devel python-virtualenv # install python3 -sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv +sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel + +# Install all needed packages in a special wheel cache directory +pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" 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 505374c5..e677427f 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 @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage 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 049cdd2d..21c926b8 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 @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh new file mode 100755 index 00000000..ecce5ae7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh @@ -0,0 +1,38 @@ +#!/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$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../common/linux/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh index 6f926777..ce8043fa 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh @@ -87,3 +87,5 @@ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resourc echo "Set Network Test Server address to $NTS_IP in /etc/hosts" echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +sudo systemsetup settimezone GMT diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..d991e6c0 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +$(dirname "$0")/../common/macos/disable_spotlight.sh diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh index d534e74d..462ac422 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..c3936499 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh @@ -0,0 +1,50 @@ +#!/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$ +## +############################################################################# + +# On macOS the sha1 tool is named 'shasum' while on all other unix systems it is called 'sha1sum'. +# In order to make all unix provioning scripts run on macOS without special case handling +# a symbolic link is created. +# The shasum tool is a perl script which does some globbing to determine the perl version. The +# symbolic link has to point directly to the binary including the perl version. +# Additionally the CI seems to have multiple parallel perl versions installed which causes +# multiple shasum tools to be present (shasum5.16, shasum5.18). +# +# Currently this is +# /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/qtci-osx-10.11-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh index 32528873..32528873 100644..100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh index 2c3e45f3..2c3e45f3 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/03-bashprofile.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh index 4a631b4f..d91316bd 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -33,10 +33,10 @@ ## ############################################################################# -# This script modified system settings for automated use - set -ex +# This script modified system settings for automated use + VNCPassword=qt NTS_IP=10.212.2.216 @@ -88,3 +88,4 @@ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resourc echo "Set Network Test Server address to $NTS_IP in /etc/hosts" echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +sudo systemsetup settimezone GMT diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-crashreporter.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh index 8461c656..8461c656 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/01-crashreporter.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..d991e6c0 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +$(dirname "$0")/../common/macos/disable_spotlight.sh diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh index 3c11214d..3c11214d 100755 --- a/coin/provisioning/qtci-osx-10.10-x86_64/06-disable_update_downloads.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh index 610f7a8e..6e7c796a 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh set -ex @@ -7,4 +7,3 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" # Enables the usage of temporary keychains for SSL autotests SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" - diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh index 13b05040..06437ee1 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/15-xz.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -39,10 +39,10 @@ set -ex -# shellcheck source=../common/macos/InstallPKGFromURL.sh +# shellcheck source=../common/macos/InstallPKGFromURL source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/XZ.pkg" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" DestDir="/" diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/30-java.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh index 8877c40b..8877c40b 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/30-java.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh index a067f637..2aa8713b 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/20-xcode.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -35,16 +35,19 @@ # This script installs Xcode # Prerequisites: Have Xcode prefetched to local cache as xz compressed. -# This can be achieved by fetching Xcode_8.xip from Apple Store. -# Uncompress it with 'xar -xf Xcode_8.xip' +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' # Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py # with which you can run 'python parse_pbzx2.py Content'. -# This will give you a file called "Content.part00.cpio.xz" that -# can be renamed to Xcode_8.xz for this script. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. set -ex # shellcheck source=../common/macos/install_xcode.sh source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_8.2.xz 8.2 +InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_10.tar.gz 10.0.0 diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh index cb7dcfc6..83dd1bec 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/21-install-commandlinetools.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh @@ -2,10 +2,10 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -37,10 +37,10 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="8.2" -packageName="Command_Line_Tools_macOS_10.11_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="4df615ca765ac1a1e681ddcbca79fc15990e3b25" +version="10.0.0" +packageName="Command_Line_Tools_macOS_10.13_for_Xcode_$version.dmg" +url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/$packageName" +sha1="1d6abe29b8df6397c179b8e2ffbfd0293f1282b0" InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh index e5dd1910..e5dd1910 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-cmake.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh index 0ead5a58..0ead5a58 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-homebrew.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh index 1908c79b..d873499c 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh @@ -2,10 +2,10 @@ ############################################################################# ## -## Copyright (C) 2016 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -44,7 +44,7 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/mysql-5.7.15-osx10.11-x86_64.tar.gz" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" appPrefix="" @@ -55,6 +55,4 @@ sudo mkdir -p "/opt" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" - echo "MySQL = 5.7.15" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh new file mode 100755 index 00000000..69c6b318 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/pip.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh index 7fedb4a2..e59f0f03 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -44,14 +44,14 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/Postgres-9.6.0.zip" -AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/9.6.0/Postgres-9.6.0.zip" +psqlVersion="9.6.0" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" +AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip" SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" appPrefix="" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" - -echo "PostgreSQL = 9.6.0" >> ~/versions.txt - +echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh index ef65edad..ef65edad 100755 --- a/coin/provisioning/qtci-osx-10.10-x86_64/25-python2.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh index 92b05bf3..92b05bf3 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-python3.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh index 15511332..15511332 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/26-p7zip.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh new file mode 100755 index 00000000..a35d26ca --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/virtualenv.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh new file mode 100755 index 00000000..fea11e01 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +$BASEDIR/../common/unix/libclang.sh diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh index d206369c..717a0767 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -47,15 +47,15 @@ sdkTargetFolder="$targetFolder/sdk" basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" -toolsVersion="r25.2.5" -toolsFile="tools_$toolsVersion-macosx.zip" -ndkVersion="r10e" +toolsVersion="r26.1.1" +toolsFile="sdk-tools-darwin-4333796.zip" +ndkVersion="r18b" ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="25.0.2" +sdkBuildToolsVersion="28.0.3" sdkApiLevel="android-21" -toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659" -ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" +toolsSha1="ed85ea7b59bc3483ce0af4c198523ba044e083ad" +ndkSha1="98cb9909aa8c2dab32db188bbdc3ac6207e09440" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" @@ -73,6 +73,9 @@ sudo chown -R qt:wheel "$targetFolder" echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." (echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh new file mode 100755 index 00000000..9ce5d9ff --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/fbx_macos.sh + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh new file mode 100755 index 00000000..9e025a5e --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh @@ -0,0 +1,76 @@ +#!/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 install OpenSSL + +set -ex + +# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +opensslVersion="1.0.2p" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +opensslTargetLocation="/usr/local/opt/openssl" + +InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" +cd "/tmp/openssl-$opensslVersion" +pwd +sudo ./config --prefix=/usr/local/openssl-$opensslVersion +echo "Running 'make' for OpenSSL" +sudo make --silent > /tmp/openssl_make.log 2>&1 +echo "Running 'make install' for OpenSSL" +sudo make --silent install > /tmp/openssl_make_install.log 2>&1 + +path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') +sudo mkdir -p "$path" +sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation + +SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" +SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" + +security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem +security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem + +sudo rm -rf /tmp/openssl-$opensslVersion + +echo "OpenSSL = $opensslVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/40-qnx700.sh b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh index 38fb6103..a5547972 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/40-qnx700.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -36,7 +36,7 @@ # This script installs QNX 7. targetFolder="/opt/" -sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700-20180801-macos.zip" +sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip" folderName="qnx700" sudo mkdir -p "$targetFolder" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh new file mode 100755 index 00000000..b70a8a78 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env sh + +############################################################################# +## +## 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$ +## +############################################################################# + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.intra.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(<"$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain" +shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(<"$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(<"$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iosdevelopment.p12" +shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iosdistribution.p12" +shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf" +Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh index 27ff15c3..27ff15c3 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh deleted file mode 120000 index 58a40af4..00000000 --- a/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh +++ /dev/null @@ -1 +0,0 @@ -../common/macos/sha1sum-compatibility.sh
\ No newline at end of file diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh deleted file mode 120000 index 58a40af4..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh +++ /dev/null @@ -1 +0,0 @@ -../common/macos/sha1sum-compatibility.sh
\ No newline at end of file diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh deleted file mode 100755 index 3c11214d..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex -BASEDIR=$(dirname "$0") -"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh b/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh deleted file mode 100755 index ef65edad..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex - -source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh b/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh deleted file mode 100755 index 91872201..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -# There is only one mac package -# shellcheck source=../common/unix/libclang.sh -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-windows-10-x86/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-10-x86/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/01-allow-remote-desktop-access.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-10-x86/09-install-strawberry-perl.ps1 new file mode 100644 index 00000000..2b5756be --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/09-install-strawberry-perl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-10-x86/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1 new file mode 100644 index 00000000..56ecb97b --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1 @@ -0,0 +1,3 @@ +. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1" + +Install-VCLibsDebug X86 diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1 new file mode 100644 index 00000000..6a398725 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1 @@ -0,0 +1,2 @@ +Remove-AppxPackage Microsoft.ZuneVideo_10.17092.13511.0_x64__8wekyb3d8bbwe +Remove-AppxPackage Microsoft.ZuneMusic_10.17083.18321.0_x64__8wekyb3d8bbwe diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..e7f14459 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 new file mode 100644 index 00000000..9b532392 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\open62541.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-10-x86_64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" 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 daaab36f..2ad25685 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 @@ -4,7 +4,7 @@ ## Copyright (C) 2017 Pelagicore AG ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1 new file mode 100644 index 00000000..49148017 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1 @@ -0,0 +1,3 @@ +. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1" + +Install-VCLibsDebug X64 diff --git a/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1 b/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1 new file mode 100644 index 00000000..375deed3 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 mingw diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1 deleted file mode 100644 index 684816f0..00000000 --- a/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -. "$PSScriptRoot\..\common\windows\install-mingw.ps1" - -# This script will install MinGW 5.3.0 - -$release = "i686-5.3.0-release-posix-dwarf-rt_v4-rev0" -$sha1 = "D4F21D25F3454F8EFDADA50E5AD799A0A9E07C6A" - -InstallMinGW $release $sha1 - - diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1 new file mode 100644 index 00000000..c893926e --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1 @@ -0,0 +1,10 @@ +. "$PSScriptRoot\..\common\windows\install-mingw.ps1" + +# This script will install MinGW 7.3.0 + +$release = "i686-7.3.0-release-posix-dwarf-rt_v5-rev0" +$sha1 = "96e11c754b379c093e1cb3133f71db5b9f3e0532" + +InstallMinGW $release $sha1 + + diff --git a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 new file mode 100644 index 00000000..85bfb98c --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand prepare +. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand mingw730 @@ -1,7 +1,13 @@ # Create the super cache so modules will add themselves to it. -# Also suppress the license check on subsequent "visits". The first -# visit will skip it anyway due to not having a compiler set up yet. -cache(CONFIG, add super, $$list(QTDIR_build)) +cache(, super) + +# Suppress the license check on subsequent "visits". The first +# visit will skip it anyway due to not having a compiler set up +# yet. This cannot be added to the super cache, because that is +# read before spec_pre.prf, which flushes CONFIG. This does not +# affect submodules, as they come with a .qmake.conf. But that +# one sets the flag via qt_build_config.prf anyway. +!QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build)) TEMPLATE = subdirs diff --git a/qt3d b/qt3d -Subproject b87b85cf0253dd941cec2b7fe763ffe435d74be +Subproject 0a0a7e4ca4f05c7d6da55ec64c8a9734d82853f diff --git a/qtactiveqt b/qtactiveqt -Subproject 1b97fc12b43be7bdb7298ffe677cc81cc0f6aa0 +Subproject d33a671b159f5316ddb7e39f375a07d8740c9d1 diff --git a/qtandroidextras b/qtandroidextras -Subproject 16d33f91eadadc63e4a999fb175ed67b3321e9b +Subproject 22afd6cf09e235f926980d325ca467766d07828 diff --git a/qtbase b/qtbase -Subproject cf708de03aa96d18c5bc043c90b2795fcf1b051 +Subproject 76f11b0eda50f05fb0912738be41b4333a82f74 diff --git a/qtcanvas3d b/qtcanvas3d -Subproject 6a0b9c09fc9a52778475302495d6862ef79790c +Subproject f0552b1eb14568fa6802191d13a1123effdbb63 diff --git a/qtcharts b/qtcharts -Subproject a11cf9dfb356108575449665c64003d9e0173aa +Subproject db215ad259a98cd82f224dfa80abeec96c5caab diff --git a/qtconnectivity b/qtconnectivity -Subproject d1cf8dad0e6d8d08b5c6f2f08d85a0e75b0bcf8 +Subproject 4af2d432a08a17c741bd01d9a1517b2f1765729 diff --git a/qtdatavis3d b/qtdatavis3d -Subproject f68245a9bf77278d4578d4ee60d061ed6d70822 +Subproject 20f42d4c87162992fc2322e65aee1a1e2b1f28a diff --git a/qtdeclarative b/qtdeclarative -Subproject 8e72580db8ab1ae5f8a1f3b1104bfc111ccb957 +Subproject e3446c8225acbaa6a613d6c62e8e2fc58e2b70b diff --git a/qtdoc b/qtdoc -Subproject a918a2af3f26036ff58cc08c22ac4f871a90644 +Subproject 71ecf8ed8ee28f07c34136371bbb6f3b50e35d0 diff --git a/qtenginio b/qtenginio deleted file mode 160000 -Subproject b0ad5907f480307853f7ac951bacfaa61dcbd94 diff --git a/qtgamepad b/qtgamepad -Subproject d8f4ce34bc8f3f7930bd4948c0c2a4023bb755a +Subproject 2d532f3d84654e75273af4a5a34310413555e00 diff --git a/qtgraphicaleffects b/qtgraphicaleffects -Subproject 43ab97d41f17583a899af14a6c24465cdc9d253 +Subproject 5b24291329cdbd19b795b4c3d8aafc4ffd916a2 diff --git a/qtimageformats b/qtimageformats -Subproject 904aa931871fe2ebe5cc6b14a55f37658e15ee8 +Subproject 178b8572d71a34975ffd7ada87227e1b8ed7296 diff --git a/qtlocation b/qtlocation -Subproject de6da4d9a94d35ecb05dd69b188f795a5afd577 +Subproject fa56cc36c287108a095f006fa2083796610afe2 diff --git a/qtmacextras b/qtmacextras -Subproject e1ecedbf1d8782234c13e742d4a10c4383a6063 +Subproject 5d10497214e0dbb3f7d5c2368e5757789ffbbda diff --git a/qtmultimedia b/qtmultimedia -Subproject 21eaa20a7c9f1e814b1f0d5ced19668e184ef8a +Subproject 7b0b5bb0b9e15ad54b061ee39712ce86235535d diff --git a/qtnetworkauth b/qtnetworkauth -Subproject 6dd1201a74fa4820e82e4481d3850f9f132f929 +Subproject 71318ed079ddf7c0c3af9d70f64b9519e23b749 diff --git a/qtpurchasing b/qtpurchasing -Subproject aec37d5cb1752b924a7cc434da49efb52b5de91 +Subproject 2de8d672b596c6a67afc2a72a293a08d0a3912d diff --git a/qtquickcontrols b/qtquickcontrols -Subproject 89179c8129e95b309992cf3a2a3f9185ed976cf +Subproject 5e2dfd09b3ace43c2f3dc75c56933c7c723b50f diff --git a/qtquickcontrols2 b/qtquickcontrols2 -Subproject 4003f44bbe0704aa82c92d1afe287dfdcf00d43 +Subproject 9eea19123b002bc817e103ac3b3f80bdbd87a02 diff --git a/qtremoteobjects b/qtremoteobjects -Subproject 8f08b5a6b1aea29023e4724921ddc666af04efa +Subproject 5bc5f04be23237f9d55b2134ae55bd93bed342a diff --git a/qtscript b/qtscript -Subproject 46951113d1cf456038fa0c71cb79ac3bad60fdc +Subproject 0be84da60090e9d20ec0066bcd3900ca5572df9 diff --git a/qtscxml b/qtscxml -Subproject 7872f514de00da1d84371d19a9c649b18af1b8d +Subproject 1043e8abd566aa92f63acedbe188a51e83b9555 diff --git a/qtsensors b/qtsensors -Subproject 137d8d37e3e62773c57fadc19394b648f4c35a7 +Subproject 36d12d57b0b291b660b2bdb9e1b3ae855e2fc4c diff --git a/qtserialbus b/qtserialbus -Subproject f0fdcdf0f42b92e27a15259dfe7da685666bdb8 +Subproject ce265ff81223bf7a5978e66dba59fb4b10469b9 diff --git a/qtserialport b/qtserialport -Subproject c78d34da2a73ba3c9965a42e327d0c0f105c9ba +Subproject a15a7f1362454a575a4420cdd89498f42055fe4 diff --git a/qtspeech b/qtspeech -Subproject 85969da7c9b09f7170bcbd4e25907a25f18fbf3 +Subproject f224e5309bc9ee6bf37eb9be2ed345f2cfcb4ce diff --git a/qtsvg b/qtsvg -Subproject adf09500abb022e66358772b48e9c2cfe769fb5 +Subproject aa7431fdabc0434bc30ae8af0753be8c1cb9b57 diff --git a/qttools b/qttools -Subproject c2bd786c00ab0c8050f085ab8000f925e4f5998 +Subproject 7301cd2df11d07eb58cbfb443348e31c86a00cc diff --git a/qttranslations b/qttranslations -Subproject c49e22e0b3a48b67f481f7362b74d90e6596b60 +Subproject 074b73089a4d8e4966ddcab5cdd5e9ec0ac6181 diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard -Subproject 59867f0ced84484b7ccd9629621b574bca15e8d +Subproject 5aaf55adcf3742e05283274ce1b8c721c7da7c8 diff --git a/qtwayland b/qtwayland -Subproject 859d6654ef030494647147046778f4206c04d7f +Subproject 88041986f448c14871fac76ee01280736af3f38 diff --git a/qtwebchannel b/qtwebchannel -Subproject 566f16426ccf27b6d9259b55a968304a7157282 +Subproject a7bb269981ad50bd4e8140aa1d9af9e5abd0784 diff --git a/qtwebengine b/qtwebengine -Subproject 851e74766a96241e3e0e64a945818125b58e72d +Subproject 21112a89e3d742451d6b449fc7075d51266fe70 diff --git a/qtwebglplugin b/qtwebglplugin -Subproject 2b79236c74195243b2bc22a28a1fce0c7b5f95a +Subproject d0c4de38ddc18792c7a8a90ef2d0091b51736dd diff --git a/qtwebsockets b/qtwebsockets -Subproject e3dd161dd9b9bcc6bb22ac3a0ae9f0b502323f1 +Subproject a53a28b971e3ae1a4a2baf7320ba60f5077f559 diff --git a/qtwebview b/qtwebview -Subproject 48ebfcdbaa4641d309c5760d0859d4e0a900757 +Subproject a14a1174cdc7ee2142abd33f85ea820eca90c96 diff --git a/qtwinextras b/qtwinextras -Subproject 4d0276d49e6a74b2047be1b05f6490599e3d82a +Subproject 669a0856ffb6908f02ee6212073fa5799c63fea diff --git a/qtx11extras b/qtx11extras -Subproject 46170a55710a8cf90650ac641791e199fb066d8 +Subproject 12bfa3cb74b0fb3b9e793dbb2f67cac647e7157 diff --git a/qtxmlpatterns b/qtxmlpatterns -Subproject 85d2c1e8577f32e52ace93d7fbdb878186d3b86 +Subproject 274f162fd41c4de88df7efda9e6ec16a1ca968b |