Compare commits

...

120 Commits

Author SHA1 Message Date
Qt Submodule Update Bot
7f6fd7621b Update submodules on '5.11' in qt5
Change-Id: Ie59c702af192cf03bb5c865345625f61feb83887
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-04-07 08:26:59 +00:00
Oliver Wolff
0029642f18 Fix msvc_2015_update3_patch
Change-Id: Ie008b274c2f27d9792340dd4f6c2d3215bd376ca
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-04-06 19:41:22 +00:00
Tony Sarajärvi
daeaec9b3c Remove updating of RHEL 7.4 system during each provisioning
Yum update doesn't only fetch the repository data. It also runs
a distro upgrade. So if something gets updated that isn't
compatible with us, it breaks. It also slows down the provisioning
a lot.

Change-Id: I27136bc572fbce5410b82ff9574cf85bf89e3100
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-06 19:41:19 +00:00
Qt Submodule Update Bot
9fdc8fe5e9 Update submodules on '5.11' in qt5
Change-Id: Ic767892fd0ed815d1cec35eced62e83b1ac4e029
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-06 19:41:16 +00:00
Joni Jantti
9af755a79e Add VC build tools to Windows 10 x86 template
These tools were missing from the installation.

Change-Id: I627b28a6f9373df708952e22a7f404b8dbce6239
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-06 11:02:51 +00:00
Liang Qi
d4edeff8aa Update submodules on '5.11' in qt5
Change-Id: Ic5b5615653f2fed507c75ca96a05de0affb65863
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-05 18:42:39 +00:00
Eskil Abrahamsen Blomfeldt
3c23dc4846 Don't require Qt Android Extras for Qt Purchasing
Qt Purchasing is supported on other platforms than Android, so
move qtandroidextras from depends to recommends instead.

Task-number: QTBUG-67318
Change-Id: I9c70574dd9b45579485b2640f7daeebdc6c2bc63
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-05 14:44:48 +00:00
Joni Jantti
9e74a1e5b7 Add a clean installed Win10_x86 for RTA
Task-number: QTQAINFRA-1842
Change-Id: I0334d74055690c7f850fd105fe008d11a8e57b8c
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2018-04-05 13:10:26 +00:00
Qt Submodule Update Bot
bb9547048b Update submodules on '5.11' in qt5
Change-Id: I2c8dfa7b7b27e6aa80381761d8b7883690133496
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-04 07:22:50 +00:00
Qt Submodule Update Bot
7c19a3f83b Update submodules on '5.11' in qt5
Change-Id: I7e60d0eae7d23fbc2eebf1734c3fd9a713b6b732
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-04-02 00:00:58 +00:00
Qt Submodule Update Bot
9f50ae280f Update submodules on '5.11' in qt5
Change-Id: I7f31b0b19c8380a7f5420917ad7dc423e3ca3658
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-04-01 10:23:51 +00:00
Qt Submodule Update Bot
fe06923553 Update submodules on '5.11' in qt5
Change-Id: I89c95acfd2ee14574c0ca524d80837023dbc112f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-31 10:49:31 +00:00
Joni Jantti
dbe27bc9cc Provisioning: Win8.1 - Add jom for RTA
Jom is required by RTA.

Task-number: QTQAINFRA-1895
Change-Id: Iec99a91d2a48c4c6ef49829e4f05baa90d1a96e0
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-30 17:57:20 +00:00
Qt Submodule Update Bot
c8b3ed182d Update submodules on '5.11' in qt5
Change-Id: I2f7afb1e261e59e527a482983f699402f0d29d85
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-30 11:11:25 +00:00
Qt Submodule Update Bot
8f73d37425 Update submodules on '5.11' in qt5
Change-Id: I77701db7d1955d7309d464ca1597888d98883a30
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-03-28 17:28:28 +00:00
Miikka Heikkinen
9dd5f6d861 Add SeparateDebugInfo for linux release
Task-number: QTQAINFRA-1688
Change-Id: I3557ac1e2bb6964278f381736f87e6fd3304744b
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-03-28 14:24:53 +00:00
Frederik Gladhorn
a01e7f3d40 Install an android virtual device for testing
The goal is to run tests on the AVD eventually.

Change-Id: I7ac887661497b5169c154ef8b0264ef07749a36a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-03-26 09:18:48 +00:00
Frederik Gladhorn
8552003532 Reduce wget verbosity when downloading qnx
The default style gives 1 KiB dots, 50 KiB per line, and the file is
567 MiB (~11600 lines). Reduce it to 1 MiB per dot and 32 MiB per line
(~18 lines).

Change-Id: Id181eee63313a4ad486af6c4752de0ed9ed5f7b6
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-03-26 09:18:45 +00:00
Heikki Halmet
8197e80155 Provisioning: Remove Java update from windows startup items
Change-Id: Iec709c9c42840910ab0dd98634c200d2aba8f7bf
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-22 06:05:45 +00:00
Tony Sarajärvi
794913dde7 Install Python 2.7.13 to RHEL with pip
System's default Python is 2.7.5 and doesn't come
with pip at all. To install its pip, it would require us to
enable the EPEL repository and install it from there.

The repos we use already include Python 2.7.13. If we install that
we get pip as well.

Change-Id: I083a970697a962ddb301616695c2cf419f1229f8
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:42 +00:00
Joni Jantti
5085220907 Provisioning: Win7_x64 - Add Squish 6.3.0 win64 msvc12
This package is required by RTA.

Task-number: QTQAINFRA-1878
Change-Id: I0496445880f838de34ffd53f72fa05e0f0b0be58
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-22 06:05:39 +00:00
Tony Sarajärvi
de4e9c2169 Provisioning: refactor squish install
Change-Id: I18e5f8f5d92cff5af2335cc5ac4cf571d27224ac
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-22 06:05:36 +00:00
Tony Sarajärvi
f1eca9bbff Remove duplicate python-devel provisioning from RHEL 7.x
Change-Id: I445135d675fa6b5cb305f6aadf5b754ab248a1ff
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:33 +00:00
Tony Sarajärvi
ab021d4bb4 Make unzip less verbose in macOS
Change-Id: I83249f724ecbfeeb4fd5c1cd33a9c6195c590c4b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-03-22 06:05:30 +00:00
Frederik Gladhorn
9ae91ae3f8 Update Python 3.4 to 3.6 in RHEL 7.x
Also install Python 3 through system packages instead
of some weird scripts.

Change-Id: Ie22e126a422bd6efe9b3030d5044f4c196894ca8
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:26 +00:00
Joni Jantti
418cb4c4f5 Provisioning: Win8.1_x64 - Add Python2 and Python3 for RTA
Python is required by RTA.

Task-number: QTQAINFRA-1870
Change-Id: If63218da138995580a3bed5ede8996d722fff48d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-22 06:05:23 +00:00
Matti Paaso
b59f4207a3 Add Windows 8.1 target for RTA
Change-Id: Ifd055590bada66f7437af0b4de4a8549440952ae
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-22 06:05:20 +00:00
Qt Submodule Update Bot
488dc5c36e Update submodules on '5.11' in qt5
Change-Id: Id1050cad70aad6d24368220769709b817dc70f8b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-21 05:07:39 +00:00
Qt Submodule Update Bot
3cb40d34d3 Update submodules on '5.11' in qt5
Change-Id: I12849c9612793703b598411c6a6b3c433f27b4fc
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-20 12:38:16 +00:00
Tony Sarajärvi
f6d18ec9b3 Disable background update checks in RHEL 7.x
Change-Id: If17fd47850be8b3a59ded7e0a543c9160f92b84c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-20 12:38:13 +00:00
Heikki Halmet
a6feaec287 Provisioning: Fix java installation for mac
Change-Id: I3b6672e671720416af71631c2f9ce814f07e596a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-19 11:57:09 +00:00
Tony Sarajärvi
1b5f8cec03 Remove try_catch.sh helper script
Change-Id: I3981920bb8085ffbad89c31e0fd628a6e11146b6
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:57:06 +00:00
Tony Sarajärvi
2f9a2f65e5 Remove try_catch codes from macOS 10.12 provisioning
Change-Id: I57fbfdef3e8105e9e66c576ef545fc6c22400ac7
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:57:03 +00:00
Tony Sarajärvi
a98b0f3d79 Remove try_catch codes from common macOS scripts
Change-Id: I66291e2da5514499387b61e01ad85a652cd24d7b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-19 11:57:00 +00:00
Tony Sarajärvi
90261c1df5 Remove try_catch codes from unix scripts
Change-Id: Iabadbf28c65132ae614048cb98e92f57e3786056
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:56:58 +00:00
Tony Sarajärvi
250dd8c84e Remove try_catch codes from macOS 10.11 scripts
Change-Id: I7690ae186729b3a180b1d38c298a861d981dbf5d
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:56:55 +00:00
Tony Sarajärvi
1c6abfae01 Remove try_catch from common linux scripts
Change-Id: I9c7b472fa4c448f40c9adc6cc8a0d84cb9c5e74c
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:56:53 +00:00
Tony Sarajärvi
4492fd3268 Remove try_catch codes from Ubuntu 16.04 scripts
Change-Id: I4a377b8bc2a16d9b9c4123a9a4f623f1a6a7ae18
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-19 11:56:50 +00:00
Joni Jantti
5d7972b73b Provisioning: Windows - Disable autoreboot
Windows machines currently reboot automatically in case of a blue
screen crash. This must be disabled to prevent problems with Coin.

Task-number: QTQAINFRA-1748
Change-Id: I64ac1cfa124694fab356b8443298c1b37bed9a92
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-18 16:22:17 +00:00
Tony Sarajärvi
85f874388c Revert "Provisioning: openSUSE - Set grub timeout to 0"
This reverts commit 2e329bc68e.
grub-update command isn't found, and after enforcing script
results, we have a P0 blocker here.

Change-Id: Iaf4b17a91cdc865974a5f4f196bbb80b085a39c2
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 677524620d)
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-18 16:22:15 +00:00
Tony Sarajärvi
863252be49 Download get-pip primarily from our local cache
We should first download from our local cache,
and if that doesn't work, fetch it online.

This commit doesn't fix it per se, but as we download
it from our local cache, the version is the one
our shasum checksum matches against.

Task-number: QTQAINFRA-1876
Change-Id: Ia7de54cf090af47ba33111911582f9d48c0ab2a2
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-18 16:22:12 +00:00
Tony Sarajärvi
64c79b27d6 Clean old RHEL repo data before fetching new data
Task-number: QTQAINFRA-1872
Change-Id: I49d9d1589adc5b34f1b7c2dccc14be0021f2baaa
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
2018-03-18 16:22:09 +00:00
Tony Sarajärvi
eebc0133f0 Disable update download in background
Task-number: QTQAINFRA-1852
Change-Id: I6d8e433fa40dd080fe84efcf3d0c655d14f86010
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-18 16:22:07 +00:00
Tony Sarajärvi
209cb73a36 Use local RHEL repositories with RHEL 7.4
This will remove the majority of our network traffic from the outbound
connection while provisioning. Also proxy was removed for
yum, as there is no point in proxying local data.

As a side effect, this makes provisioning currently faster by
reducing the time it takes by 35%.


Task-number: QTQAINFRA-1849
Change-Id: Ida4fb86d4bef166fc72e521e395d9753ec47a687
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-16 05:23:05 +00:00
Qt Submodule Update Bot
400371faba Update submodules on '5.11' in qt5
Change-Id: I9ad2fe2d1bad7d761b25de77d473994870aac960
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-16 05:22:45 +00:00
Heikki Halmet
23b4bcf6c5 Provisioning: Move http_proxy.txt under shared folder
Change-Id: Id5b2f07a92eadfb21fbfdb3fb65621d6322dc8c4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-15 15:07:27 +00:00
Heikki Halmet
237b308d47 Provisioning: Fix adb process name for android sdk installation
There's no process called "adb.exe" - It's called "adb"

Change-Id: I3c23ede12a6d7fc7f3f33bbb806a84e8d9a2aaf4
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-03-15 15:07:24 +00:00
Qt Submodule Update Bot
280b08eb73 Update submodules on '5.11' in qt5
Change-Id: I6a0ad20fa97dabfbec8eaed990e844b26b20b353
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-15 05:10:50 +00:00
Jędrzej Nowacki
8a47814c91 Simplify DownloadURL
The script was over-engineered. The new version provides the same
functionality while removing uninteresting postmortem messages.

In addition try_catch.sh has a bug that injects set +e to a sourcing
script which was propagating through DownloadURL.sh to almost all
provisioning scripts. So it is good to avoid using it.

Change-Id: If191a0dcf52a29c4bec580a254e8e58a00130f6d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-14 05:12:41 +00:00
Qt Submodule Update Bot
8fae7aa66d Update submodules on '5.11' in qt5
Change-Id: I8234b4d7d7c54ed0020e6cd2fcdbaa07d33eb928
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-14 05:12:31 +00:00
Liang Qi
9494b39329 Update submodules on '5.11' in qt5
Change-Id: Ia27a0de06afe5de52eb026a5225e4d2caac0975c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-11 07:56:21 +00:00
Liang Qi
5bbeaf6c0d Update qtwebengine only
Change-Id: I1396d561892a5fead56775906ecd8aa7c48ba187
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-10 13:31:42 +00:00
Tony Sarajärvi
b85b272c26 Move MSVC2017 x86 builds to 64bit host OS
Change-Id: I7544c12086ef8a437bca575dfce7de44ec9938a5
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-10 13:31:40 +00:00
Rainer Keller
04d1ee1df4 Provisioning: Create symbolic for shasum tool on macOS for compatibility
On macOS the sha1 tool is named 'shasum' while on all other unix systems
it is called 'sha1sum'. In order to make all unix provisioning scripts
run on macOS without special case handling a symbolic link is created.

Change-Id: Ib1365cbb0dcb31e68a22959ce939fb450ec7e3f7
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-10 13:31:34 +00:00
Rainer Keller
00e3a0149a Properly download and install RHEL EPEL repo
Use the same approach as in the other scripts.

Change-Id: Ie48103e2c4a528a9d29318c4cabd6ead71dc5c2c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-10 13:31:30 +00:00
Rainer Keller
9cb66c0114 Install RHEL EPEL only once
Installing twice will fail when preventing the +e injection bug
when fixing the try-catch issue.

Change-Id: I26a1b9fa235c44fe933f2f29016a80f57d47ed49
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-10 13:31:27 +00:00
Joni Jantti
940ef0a4cc Provisioning: win8.1 - RTA required provisioning scripts
Currently Windows 8.1 platforms have been removed from CI. RTA
however still uses them for testing so we need to add the programs
that RTA uses.

Task-number: QTQAINFRA-1524
Change-Id: Ide9fa076dc965b16b96f610541ace6088543f795
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-08 19:27:18 +00:00
Heikki Halmet
3410bab278 Provisioning: Fix Squish installation for msvc14 32-bit
Task-number: QTQAINFRA-1809
Change-Id: I8a2947fe52535e39b0817fec2ee0c35bb09e4060
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2018-03-08 19:27:14 +00:00
Joni Jantti
95609c6657 Provisioning: Executequeueditems on Windows
mscorsvw.exe background processing is draining a lot of
CPU processing on Windows platforms. Executing the list
of to be processed items with full CPU capacity should
clear out the list and stop the background processing.

Task-number: QTQAINFRA-1775
Change-Id: Ib12bc10f4572390f20bfea915ca48ec398de46ee
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-08 19:27:11 +00:00
Joni Jantti
3230cdb138 Provisioning: win10_x86 - Disable automatic updates
Task-number: QTQAINFRA-1814
Change-Id: I1fed4d952f77daa1c7bd5fdb34d9568ae1208bac
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-03-08 19:27:09 +00:00
Maurice Kalinowski
7a052f4183 open62541: Fix provisioning for RHEL 7.4
RHEL does not use pkgconfig, nor does it use /usr/local/lib as default
library path. As a consequence, the config tests for qtopcua were not
able to find the open62541 build.
c3591fe77debc0eab79851bd8f0c050cd4f3f608 in qtopcua.git allows to
specify an environment variable to point to the correct location. Move
to /usr/local/lib/open62541/ on all platforms consistently.

Change-Id: I73c8076b70767553edfd793889150c584d5c33b5
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2018-03-08 19:27:06 +00:00
Qt Submodule Update Bot
984b15d758 Update submodules on '5.11' in qt5
Change-Id: Id00474dec78862dbce0238560e859656bd69f69f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-08 05:44:13 +00:00
Jędrzej Nowacki
bb9739773c Simplify openssl_for_android_linux provisioning script
The script was over-engineered. The new version provides the same
functionality while removing uninteresting postmortem messages.

In addition try_catch.sh has a bug that injects set +e So it is good
to avoid using it.

Change-Id: I9e26e8fedad71d40270fe94695d5e1c09c3d9023
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-03-06 06:41:46 +00:00
Qt Submodule Update Bot
764294fcb8 Update submodules on '5.11' in qt5
Change-Id: I3f19c5b7daedfa7d499ab769404d1f34a32c7816
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-05 08:37:59 +00:00
Qt Submodule Update Bot
686e3ff1b5 Update submodules on '5.11' in qt5
Change-Id: Iebf77d7f467d0fde9ee622e4e7b657cb1e9b8003
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-04 09:53:17 +00:00
Qt Submodule Update Bot
b038a8c2bd Update submodules on '5.11' in qt5
Change-Id: I2ba427ea1d9e37421775c297d983654f3e691845
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-03-03 09:00:50 +00:00
Qt Submodule Update Bot
e926cd7556 Update submodules on '5.11' in qt5
Change-Id: I0b551c2af57243eee865cd4319ee1797dc38f705
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-02 21:34:42 +00:00
Jani Heikkinen
52b163092a Add missing 08-libclang.ps1 for windows7 provisioning
We need to set LLVM_INSTALL_DIR to be able to build qdoc. That was
missing from windows7.

Task-number: QTBUG-65950
Change-Id: I7f75eb0181056a2117080ead6dc5862324906689
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-01 07:17:27 +00:00
Kari Oikarinen
140c6479b5 Install libusbx-devel for QDB on RHEL 7.4
On previous RHEL version the package was libusb1-devel. That package doesn't
seem to be there anymore, which presumably means why the package to install was
changed to libusb-devel. Unfortunately libusb-devel provides a compatibility
package for the old 0.1 API version and doesn't work with QDB. libusbx-devel
seems to be the new name for the 1.0 API version of libusb on RHEL.

Change-Id: I50a10bed0b73b536e5d591363f01d7cf6a3a69d7
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2018-02-27 13:47:58 +00:00
Qt Submodule Update Bot
399cface18 Update submodules on '5.11' in qt5
Change-Id: I7c090de84c5cf511ec7cea69900546edf6039c39
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-27 07:01:04 +00:00
Oliver Wolff
cb6709ce5c Unify Windows provisioning scripts & improve error handling
While Coin should also see exit codes != 0 as error, we should
stick to one way of handling script errors. As Power Shell cmdlets
signal an error by throwing an exception we should do the same
(and that approach also works in Coin).

Additionally extracting 7zip files was unified across scripts by
using the existing helper function instead of reinventing the wheel
again and again.

A similar helper function was introduced for starting an external
application (and handling its errors).

Also echo and other "cmd" commands were replaced by their PowerShell
equivalents to have a unified approach across our Windows provisioning
scripts.

Change-Id: I70129ce38692f1396c33c13b33a2918485fa5271
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-02-26 19:52:45 +00:00
Johan Klokkhammer Helsing
08c88de5c8 Provisioning: Build and install Wayland 1.12.0 on RHEL 7.4
So QtWayland will be built and included in the installer.

wayland-egl, however, will not be built, as that depends on support in mesa.

Task-number: QTBUG-66341
Change-Id: Id3f1825e00be9d278fce8ac2710a2640baafd332
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-26 19:52:41 +00:00
Johan Klokkhammer Helsing
51a87054d6 Provisioning: Install RPMs for mesa-wayland-egl on RHEL 7.4
The standard mesa.spec file had sections for wayland-egl, which were ifdef'ed
out. The RPMs downloaded by this script have been built with these ifdef's
removed.

Task-number: QTBUG-66341
Change-Id: I43bcc67f5fd112e0837d45da7df20bcb63bfd989
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-26 19:52:38 +00:00
Qt Submodule Update Bot
8c790cd2bc Update submodules on '5.11' in qt5
Change-Id: I46be13c9983d30fb1e2461dbc795664600e0655a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-26 05:16:07 +00:00
Qt Submodule Update Bot
9c1ce66737 Update submodules on '5.11' in qt5
Change-Id: I2f9a24e295282514da028d8ff8d27e0de6326218
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-24 06:17:43 +00:00
Frederik Gladhorn
b20224fe60 Uninstall aptdaemon/aptd before using apt
This removes various kinds of update notifiers that depend on aptd.
Also gets rid of the problem that aptd may hold apt lock files.

Task-number: QTQAINFRA-1755
Change-Id: I27dd6fef4720ef25a504d76a3da16d9bf45fb2f7
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-23 21:00:32 +00:00
Joni Jantti
f6f00fdce1 Provisioning: Win7-x86 - Add msvc14_x86 squish package
Squish is required by RTA testing.

Task-number: QTQAINFRA-1732
Change-Id: I8ab0b11ccc299cc0b10e59f99d1cf27c0cdd48b9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-23 21:00:29 +00:00
Joni Jantti
f6f5cc70e9 Provisioning: openSUSE-42.3 - Disable update notifications
Update notifications need to be disabled to prevent popup messages
from stealing focus during testing.

Task-number: QTQAINFRA-1755
Change-Id: I202ffbee6420d2c9c167a97f02d5245145b618d0
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:25 +00:00
Matti Paaso
c3b33afc32 Provisioning: osx-10.11 - Java
This is needed for running RTA jobs in Coin.

Change-Id: Iff855dae54babef00c055a2c8b938871101305e3
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-02-23 21:00:21 +00:00
Joni Jantti
5e31866727 Provisioning: Win10 - Add Squish for mingw53
RTA requires Squish for mingw53 on Windows 10 machines for testing.

Task-number: QTQAINFRA-1729
Change-Id: I42f2c6c62dd004ebc072835340ce24105cfac5e8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:19 +00:00
Joni Jantti
b1a212b52e Provisioning: Make Windows scripts use the Download helper function
Some Windows provisioning scripts use the Invoke-WebRequest without
setting the ProgressPreference = 'SilentlyContinue' variable for
disabling the download progress bar. Disabling the progress bar
greatly increases the download speed during provisioning.

Change-Id: I649c1bcc970577776d720a4ebf5a7af96c1603f8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:15 +00:00
Tony Sarajärvi
54d8396d68 Set proxy on Windows VMs while provisioning
Task-number: QTQAINFRA-1669
Change-Id: Ia6b5b668051642a3729d7c7c83c69d8797045847
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:11 +00:00
Heikki Halmet
3a3c6fb2b3 Provisioning: Fix Windows 10 msvc 2014 squish installation
Change-Id: Id935580730d20a2f86fa6c82bf08ee3705f344f2
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-23 21:00:08 +00:00
Tony Sarajärvi
ae17b63db2 Add shebang to launchable script
Change-Id: I62e33b656eee3a17e1dab4476569d9afa0b62a45
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-23 08:20:34 +00:00
Maurice Kalinowski
acbedcc314 Provisioning: Update Open62541
This is required to use new APIs from the library.

Change-Id: Idbadfd04c331af228a9e095e130930b5fb88f7af
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
2018-02-23 08:20:31 +00:00
Liang Qi
3ba940924d Merge remote-tracking branch 'origin/5.10' into 5.11
Change-Id: Ia450fbc4398a627ebb37646b408a0692cc970094
2018-02-22 09:06:19 +01:00
Qt Submodule Update Bot
8eed3b5be4 Update submodules on '5.11' in qt5
Change-Id: I1447f714aa1035c2cdbe423935cc5a67a700de2d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-22 06:56:53 +00:00
Liang Qi
91739f5fe3 Merge remote-tracking branch 'origin/5.9' into 5.11
Conflicts:
	coin/provisioning/common/linux/open62541.sh
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
	coin/provisioning/qtci-macos-10.12-x86_64/40-qnx700.sh

Done-with: Maurice Kalinowski <maurice.kalinowski@qt.io>
Change-Id: Icd472b8f770a933bafead48093ecf7eb94156128
2018-02-20 22:33:59 +01:00
Oswald Buddenhagen
c64b2415d3 init-repo: complain about non-option arguments
otherwise abuse may go unnoticed (at this stage ...).

Change-Id: Ic8c2a843a941cdeb2d69542830eccf7fadcf252d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-20 11:20:20 +00:00
Matti Paaso
884490eaae Add RTA targets
Release Test Automation tests are ran also in additional targets
compared to qt5 targets.

Change-Id: I72ca86f875920ec266e0e6b7ea3fee026eaa1cfe
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-02-20 10:47:12 +00:00
Qt Submodule Update Bot
bcaeff8210 Update submodules on '5.11' in qt5
Change-Id: I069e5672ed40279dbbd8769be17f5cb328b12bc1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-19 07:15:40 +00:00
Qt Submodule Update Bot
060d0bdec1 Update submodules on '5.11' in qt5
Change-Id: I92f9401dc98ab115fe737ec5395025055830140f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-18 21:40:38 +00:00
Qt Submodule Update Bot
e086fbc6cb Update submodules on '5.9' in qt5
Change-Id: Ie7a64cad655dd0e850c8c6145f35b425de6f4c25
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-17 21:25:08 +00:00
Qt Submodule Update Bot
5186a96b47 Update submodules on '5.11' in qt5
Change-Id: I5253636ea9da20b20879f4863dc5b037842b9e7b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-17 10:52:39 +00:00
Liang Qi
ea28c00dd6 Merge remote-tracking branch 'origin/5.10.1' into 5.11
Change-Id: I07cebe617c7860cbeede24b2f45c7c508aed5a92
2018-02-15 20:59:29 +01:00
Heikki Halmet
404805141a Disable set -e when enabling devtoolset-4 environment variables
Change-Id: If427179da490f14963077cd733082258e354710f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-13 19:32:03 +00:00
Simo Fält
769a34ed26 Provision: Use specific Python2 version in macOS
Make sure we use some specific Python2 version on macOS instead of the
one pre-installed along with system.

Change-Id: Ifee07a8cf003e282ec3cb67535818f9fe39c8679
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-13 19:32:00 +00:00
Qt Submodule Update Bot
066373c9c6 Update submodules on '5.9' in qt5
Change-Id: I360edc60d8e2740d1964b91e18e02dc5daeea39a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-12 18:50:11 +00:00
Qt Submodule Update Bot
c77d4946b2 Update submodules on '5.10' in qt5
Change-Id: Ie45f18cc0c70cca437cadd8bfaa6e8a4ac0c81b8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-12 08:16:58 +00:00
Qt Submodule Update Bot
5611fe34b0 Update submodules on '5.10' in qt5
Change-Id: Ica319a5d98406174ce94d2e3c3784364ab44c642
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-10 07:47:25 +00:00
Mitch Curtis
e30de965b9 .gitmodules: update recommended modules for qtvirtualkeyboard
The basic example will start using qtquickcontrols2, so recommend that.
Remove qtquickcontrols, as it wasn't used.

Change-Id: Ieaab1480e6a85ecaa24888fa58024d728d863a16
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-09 18:36:54 +00:00
Qt Submodule Update Bot
b2b076782f Update submodules on '5.10' in qt5
Change-Id: I06c4afea4e574aa78f37009db512ba25194f6d5d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-09 12:47:17 +00:00
Qt Submodule Update Bot
f2dbac41cf Update submodules on '5.10.1' in qt5
Change-Id: Icac819f46b0faa05367d73e2435f98975bda2811
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-02-09 10:59:13 +00:00
Qt Submodule Update Bot
456a4d6453 Update submodules on '5.10' in qt5
Change-Id: I935d6ad075384973425d48782a105a9e3e7d21a0
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-08 09:31:00 +00:00
Joni Jantti
cadedac3b4 Provisioning: osx-10.11 - Disable sleep
Display sleep and system sleep need to be disabled to prevent the
machine from going to sleep during RTA testing.

Task-number: QTQAINFRA-1588
Change-Id: Idc91d77388ed9bc6df5f3c1aceca515f6308c618
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-08 08:04:47 +00:00
Joni Jantti
af55ddc913 Provisioning: MacOS-10.12 - Disable sleep
Display sleep and system sleep need to be disabled to prevent the
machine from going to sleep during RTA testing.

Task-number: QTQAINFRA-1588
Change-Id: I3dc1642d3714762bfb56963392d2bb5137c13256
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-08 08:04:44 +00:00
Qt Submodule Update Bot
9d73a2b304 Update submodules on '5.10.1' in qt5
Change-Id: I88fa5fe223a0e32a3c0261342d490f00561c6497
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-07 16:00:46 +00:00
Liang Qi
6cd75cce72 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I71b7fd09cd8f1c7e64531eec8a645c06a7066325
2018-02-07 13:58:54 +01:00
Liang Qi
25a0f1fa08 Merge remote-tracking branch 'origin/5.10' into 5.10.1
Change-Id: I275589752f6f623e61841a4552087a1875729615
2018-02-07 09:37:28 +01:00
Tony Sarajärvi
c3096caa14 Remove excess comment line for shellcheck
Change-Id: I3e9b8091c158a978bd95e48b18df326c3a545798
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-07 06:30:47 +00:00
Tony Sarajärvi
b4b62658ac Fix environment variable checking for proxy
Change-Id: Iec261d4ce4e84ba656edf9de52b4dc42d0249e51
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-07 06:30:44 +00:00
Qt Submodule Update Bot
052aa06ef4 Update submodules on '5.9' in qt5
Change-Id: I1254c80a58ec607af3cf3955b3c73e3fb30a516e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-07 06:30:41 +00:00
Joni Jantti
38649924df Provisioning: Ubuntu 16.04 x64 - Set grub timeout to 0
Grub timeout should be set to 0 so we save some time whenever the VMs
are booted.

Task-number: QTQAINFRA-1703
Change-Id: Ia866000703fdc083407d5d8588ba6680ffd80038
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-07 06:30:38 +00:00
Joni Jantti
9fa8b3ca35 Provisioning: openSUSE - Disable file indexing
Baloo file indexing sometimes takes up a great amount of CPU capacity
and should therefore be disabled.

Task-number: QTQAINFRA-1702
Change-Id: I549aef39c1dd2d2fa97196910f577153a42c4f54
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-07 06:30:35 +00:00
Johan Klokkhammer Helsing
532f1dea57 Provisioning: Don't test window decorations on Ubuntu 16.04 QEMU
Decorations were previously disabled within the Wayland tests to work around
another issue. That issue has now been fixed, and decorations have been enabled
again, but these tests now became flaky when run within QEMU.

Task-number: QTBUG-66173
Change-Id: I23b722ebc0719a2fd359ba5c3c57c66a887c06de
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-02-07 04:45:09 +00:00
Qt Submodule Update Bot
9a160d28d5 Update submodules on '5.10' in qt5
Change-Id: I818ad09e1071db0369823caf2cd18da601f3bd05
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2018-02-06 01:02:56 +00:00
Qt Submodule Update Bot
f322d6047a Update submodules on '5.10.1' in qt5
Change-Id: Ide442890f290ee8ed14950c90f9a0f6852eebc62
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-05 09:17:54 +00:00
Joni Jantti
2e329bc68e Provisioning: openSUSE - Set grub timeout to 0
Grub timeout should be set to 0 so we save some time whenever the VMs
are booted.

Task-number: QTQAINFRA-1703
Change-Id: I67db00d200dc3e5f94ed205b53bb0ca6e70bdd8d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-02-03 20:52:57 +00:00
Qt Submodule Update Bot
88811f882e Update submodules on '5.9' in qt5
Change-Id: I14c5e22d5c76b64a573fb32b71580e00c2a3eeba
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-03 15:20:59 +00:00
Qt Submodule Update Bot
29456af9b9 Update submodules on '5.10.1' in qt5
Change-Id: I00b96bfb3f93027136a770a25c7479b1902bcde4
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-02 05:09:53 +00:00
215 changed files with 1649 additions and 1727 deletions

4
.gitmodules vendored
View File

@@ -249,8 +249,8 @@
branch = 5.11
status = addon
[submodule "qtpurchasing"]
depends = qtbase qtandroidextras
recommends = qtdeclarative
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtpurchasing
url = ../qtpurchasing.git
branch = 5.11

View File

@@ -12,7 +12,7 @@ qtci-linux-Ubuntu-16.04-x86_64-2 GCC
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
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

View File

@@ -1,7 +1,7 @@
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-6 MSVC2017 DebugAndRelease Release ForceDebugInfo OpenGLDynamic
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 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests

View File

@@ -0,0 +1,6 @@
Template Target OS Target arch Compiler Features
--------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-7-x86_64-4 MSVC2013 Release ForceDebugInfo OpenGLDynamic DisableTests
qtci-windows-8.1-x86_64 MSVC2013 Release ForceDebugInfo OpenGLDynamic DisableTests
qtci-windows-10-x86-3 MSVC2017 Release ForceDebugInfo OpenGLDynamic

View File

@@ -37,7 +37,6 @@
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
@@ -62,75 +61,43 @@ toolsSourceFile="$basePath/$toolsFile"
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
ExceptionDownload=99
ExceptionUnzipTools=100
ExceptionUnzipNdk=101
ExceptionRmTools=102
ExceptionRmNdk=103
ExceptionSdkManager=104
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder"
rm "$ndkTargetFile"
rm "$toolsTargetFile"
try
(
(DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile") || throw $ExceptionDownload
(DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile") || throw $ExceptionDownload
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkTargetFile" -d "$targetFolder" || throw $ExceptionUnzipNdk
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools
rm "$ndkTargetFile" || throw $ExceptionRmNdk
rm "$toolsTargetFile" || throw $ExceptionRmTools
echo "Changing ownership of Android files."
if uname -a |grep -q "el6\|el7"; then
sudo chown -R qt:wheel "$targetFolder"
else
sudo chown -R qt:users "$targetFolder"
fi
echo "Changing ownership of Android files."
if uname -a |grep -q "el6\|el7"; then
sudo chown -R qt:wheel "$targetFolder"
else
sudo chown -R qt:users "$targetFolder"
fi
echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
if [ "$http_proxy" != "" ]; then
proxy_host=$(echo $proxy | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo $proxy | cut -d':' -f3)
echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host=$proxy_host --proxy_port=$proxy_port "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion"
else
echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion"
fi
echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
if [ "$proxy" != "" ]; then
proxy_host=$(echo $proxy | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo $proxy | cut -d':' -f3)
echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host=$proxy_host --proxy_port=$proxy_port "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
else
echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
fi
SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionUnzipTools)
echo "Failed to unzip Android SDK Tools."
exit 1;
;;
$ExceptionUnzipNdk)
echo "Failed to unzip Android NDK."
exit 1;
;;
$ExceptionRmTools)
echo "Failed to remove temporary tools package '$toolsTargetFile'."
exit 1;
;;
$ExceptionRmNdk)
echo "Failed to remove temporary NDK package '$ndkTargetFile'."
exit 1;
;;
$ExceptionSdkManager)
echo "Failed to run sdkmanager."
exit 1;
;;
esac
}
echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
cd $sdkTargetFolder/tools/bin
echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86"
echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f
# Purely informative, show the list of avd devices
./avdmanager list avd

View File

@@ -37,7 +37,6 @@
# CMake is needed for autotests that verify that Qt can be built with CMake
# shellcheck source=InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"

View File

@@ -1,3 +1,5 @@
#!/usr/bin/env bash
# We need to disable selinux while we are overwriting some binaries
# required by it. If this is not done, ICU provisioning will create
# template that is not booting.

View File

@@ -33,19 +33,37 @@
##
#############################################################################
set +e
# We need to source to be able to use cmake in the shell
if uname -a |grep -q "Ubuntu"; then
source ~/.profile
else
source ~/.bashrc
fi
set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory"
trap "sudo rm -fr $TEMPDIR" EXIT
cd $TEMPDIR
pip install six
sudo pip install --upgrade pip
sudo pip install six
git clone https://github.com/open62541/open62541.git open62541
cd open62541
git checkout 302003d2448946fa4d8a02cc209b8931d31e975b
git checkout ba3b55ab4afafe6bc9d2cb922eafd51c6cee4629
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 ..
cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DLIB_INSTALL_DIR:PATH=/usr/local/lib/open62541 ..
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"

View File

@@ -36,7 +36,6 @@
# This script install OpenSSL from sources.
# Requires GCC and Perl to be in PATH.
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
@@ -51,37 +50,16 @@ sha="36af23887402a5ea4ebef91df8e61654906f58f2"
# QTQAINFRA-1436
opensslHome="${installFolder}openssl-1.0.2"
ExceptionDownload=99
ExceptionTar=100
ExceptionConfig=101
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
try
(
(DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile") || throw $ExceptionDownload
tar -xzf "$targetFile" -C "$installFolder"
# This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436)
mv "${opensslHome}g" "${opensslHome}"
pushd "$opensslHome"
tar -xzf "$targetFile" -C "$installFolder" || throw $ExceptionTar
# This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436)
mv "${opensslHome}g" "${opensslHome}"
pushd "$opensslHome"
perl Configure shared android || throw $ExceptionConfig
echo "Running configure"
perl Configure shared android
SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome"
SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome"
echo "OpenSSL for Android = $version" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionTar)
echo "Failed to extract $targetFile"
exit 1;
;;
$ExceptionConfig)
echo "Failed to run 'config'."
exit 1;
;;
esac
}
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@@ -44,7 +44,7 @@ sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700.tar.xz"
sha1="949a87c5f00d0756956cb4b1b3b213ecaeee9113"
folderName="qnx700"
targetFile="qnx700.tar.xz"
wget --tries=5 --waitretry=5 --output-document="$targetFile" "$sourceFile"
wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$sourceFile"
echo "$sha1 $targetFile" | sha1sum --check
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder

View File

@@ -37,21 +37,11 @@
# uncompresses it and installs it by default
# to /Applications/. This can be overridden by a target parameter.
# shellcheck source=try_catch.sh
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
set -ex
# shellcheck source=DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
ExceptionDownload=99
ExceptionCreateTmpFile=100
ExceptionCreateTmpDirectory=101
ExceptionUncompress=102
ExceptionMoveApp=103
ExceptionDeleteTmpFile=104
ExceptionRemoveTmpDirectory=105
ExceptionUnknownFormat=106
function InstallAppFromCompressedFileFromURL {
url=$1
url_alt=$2
@@ -63,74 +53,39 @@ function InstallAppFromCompressedFileFromURL {
target="/Applications/"
fi
try
(
basefilename=${url##*/}
extension=${basefilename##*.}
filename=${basefilename%.*}
if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then
extension="tar.gz"
fi
basefilename=${url##*/}
extension=${basefilename##*.}
filename=${basefilename%.*}
if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then
extension="tar.gz"
fi
echo "Extension for file: $extension"
echo "Creating temporary file and directory"
targetFile=$(mktemp "$TMPDIR$(uuidgen).$extension") || throw $ExceptionCreateTmpFile
# macOS 10.10 mktemp does require prefix
if [[ $OSTYPE == "darwin14" ]]; then
targetDirectory=$(mktemp -d -t '10.10') || throw $ExceptionCreateTmpDirectory
else
targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory
fi
(DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile") || throw $ExceptionDownload
echo "Uncompress $targetFile"
case $extension in
"tar.gz")
tar -xzf "$targetFile" --directory "$targetDirectory" || throw $ExceptionUncompress
;;
"zip")
unzip "$targetFile" -d "$targetDirectory" || throw $ExceptionUncompress
;;
*)
throw $ExceptionUnknownFormat
;;
esac
echo "Moving app to '$target'"
sudo mv "$targetDirectory/$appPrefix/"* "$target" || throw $ExceptionMoveApp
echo "Removing file '$targetFile'"
rm "$targetFile" || throw $ExceptionDeleteTmpFile
echo "Removing directory '$targetDirectory'"
rm -rf "$targetDirectory" || throw $ExceptionRemoveTmpDirectory
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionCreateTmpFile)
echo "Failed to create temporary file"
exit 1;
;;
$ExceptionUncompress)
echo "Failed extracting compressed file."
exit 1;
;;
$ExceptionMoveApp)
echo "Failed moving app to '$target'."
exit 1;
;;
$ExceptionDeleteTmpFile)
echo "Failed deleting temporary file."
exit 1;
;;
$ExceptionRemoveTmpDirectory)
echo "Failed deleting temporary file."
exit 1;
;;
$ExceptionUnknownFormat)
echo "Unknown file format."
exit 1;
;;
esac
}
echo "Extension for file: $extension"
echo "Creating temporary file and directory"
targetFile=$(mktemp "$TMPDIR$(uuidgen).$extension")
# macOS 10.10 mktemp does require prefix
if [[ $OSTYPE == "darwin14" ]]; then
targetDirectory=$(mktemp -d -t '10.10')
else
targetDirectory=$(mktemp -d)
fi
(DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile")
echo "Uncompress $targetFile"
case $extension in
"tar.gz")
tar -xzf "$targetFile" --directory "$targetDirectory"
;;
"zip")
unzip -q "$targetFile" -d "$targetDirectory"
;;
*)
exit 1
;;
esac
echo "Moving app to '$target'"
sudo mv "$targetDirectory/$appPrefix/"* "$target"
echo "Removing file '$targetFile'"
rm "$targetFile"
echo "Removing directory '$targetDirectory'"
rm -rf "$targetDirectory"
}

View File

@@ -33,16 +33,7 @@
##
#############################################################################
# shellcheck source=try_catch.sh
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
ExceptionCreateTmpFile=100
ExceptionDownloadPrimaryUrl=101
ExceptionDownloadAltUrl=102
ExceptionSHA1=103
ExceptionInstallerPKG=104
ExceptionDeleteTmpFile=105
set -ex
function InstallPKGFromURL {
url=$1
@@ -50,55 +41,19 @@ function InstallPKGFromURL {
expectedSha1=$3
targetDirectory=$4
try
(
echo "Creating temporary file"
targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg") || trow $ExceptionCreateTmpFile
try
(
echo "Downloading PKG from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
)
catch || {
case $ex_code in
$ExceptionDownloadPrimaryUrl)
echo "Failed to download '$url' multiple times"
echo "Downloading PKG from alternative URL '$url_alt'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
;;
esac
}
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
/usr/bin/shasum --check $targetFile.sha1 || throw $ExceptionSHA1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG
echo "Removing file '$targetFile'"
rm "$targetFile" || throw $ExceptionDeleteTmpFile
echo "Creating temporary file"
targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg")
echo "Downloading PKG from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
echo "Failed to download '$url' multiple times"
echo "Downloading PKG from alternative URL '$url_alt'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
)
catch || {
case $ex_code in
$ExceptionCreateTmpFile)
echo "Failed to create temporary file"
exit 1;
;;
$ExceptionDownloadAltUrl)
echo "Failed downloading PKG from primary and alternative URLs"
exit 1;
;;
$ExceptionSHA1)
echo "Failed to check sha1sum."
exit 1;
;;
$ExceptionInstallerPKG)
echo "Failed running installer on PKG."
exit 1;
;;
$ExceptionDeleteTmpFile)
echo "Failed deleting temporary file."
exit 1;
;;
esac
}
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
/usr/bin/shasum --check $targetFile.sha1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory"
echo "Removing file '$targetFile'"
rm "$targetFile"
}

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -boolean FALSE

View File

@@ -34,8 +34,8 @@
# This script installs FBX SDK
# shellcheck source=./../unix/try_catch.sh
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
@@ -50,27 +50,18 @@ installer="$targetFolder/fbx20161_2_fbxsdk_clang_macos.pkg"
ExceptionExtractPrimaryUrl=100
try
(
echo "Extracting '$cachedUrl'"
tar -xzf "$cachedUrl" -C "$targetFolder" || throw $ExceptionExtractPrimaryUrl
echo "Extracting '$cachedUrl'"
tar -xzf "$cachedUrl" -C "$targetFolder" || (
echo "Failed to uncompress from '$cachedUrl'"
echo "Downloading from '$officialUrl'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$officialUrl"
echo "Checking SHA1 on PKG '$targetFile'"
echo "$sha1 *$targetFile" > $targetFile.sha1
shasum --check $targetFile.sha1
echo "Extracting '$targetFile'"
tar -xzf "$targetFile" -C "$targetFolder"
)
catch || {
case $ex_code in
$ExceptionExtractPrimaryUrl)
set -e
echo "Failed to uncompress from '$cachedUrl'"
echo "Downloading from '$officialUrl'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$officialUrl" || exit 1;
echo "Checking SHA1 on PKG '$targetFile'"
echo "$sha1 *$targetFile" > $targetFile.sha1
shasum --check $targetFile.sha1
echo "Extracting '$targetFile'"
tar -xzf "$targetFile" -C "$targetFolder" || exit 1;
;;
esac
}
set -e
rm -rf "$targetFile"
echo "Running installer for '$installer'"
sudo installer -pkg "$installer" -target "/"

View File

@@ -33,56 +33,30 @@
##
#############################################################################
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
set -ex
# Command line tools is need by homebrew
function InstallCommandLineTools {
ExceptionMount=101
ExceptionInstall=102
ExceptionUnmount=103
url=$1
url_alt=$2
expectedSha1=$3
packageName=$4
version=$5
try
(
DownloadURL $url $url_alt $expectedSha1 /tmp/$packageName
echo "Mounting $packageName"
hdiutil attach /tmp/$packageName || throw $ExceptionMount
cd "/Volumes/Command Line Developer Tools"
echo "Installing"
sudo installer -verbose -pkg *.pkg -target / || throw $ExceptionInstall
cd /
# Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
sleep 3
echo "Unmounting"
umount /Volumes/Command\ Line\ Developer\ Tools/ || throw $ExceptionUnmount
echo "Removing $packageName"
rm /tmp/$packageName
echo "Command Line Tools = $version" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionMount)
echo "Failed to mount"
exit 1;
;;
$ExceptionInstall)
echo "Failed to install"
exit 1;
;;
$ExceptionUnmount)
echo "Failed to unmount"
exit 1;
esac
}
DownloadURL $url $url_alt $expectedSha1 /tmp/$packageName
echo "Mounting $packageName"
hdiutil attach /tmp/$packageName
cd "/Volumes/Command Line Developer Tools"
echo "Installing"
sudo installer -verbose -pkg *.pkg -target /
cd /
# Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
sleep 3
echo "Unmounting"
umount /Volumes/Command\ Line\ Developer\ Tools/
echo "Removing $packageName"
rm /tmp/$packageName
echo "Command Line Tools = $version" >> ~/versions.txt
}

View File

@@ -44,48 +44,18 @@
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
function InstallXCode()
{
ExceptionCPIO=103
ExceptionAcceptLicense=105
ExceptionDeveloperMode=113
function InstallXCode() {
sourceFile=$1
version=$2
try
(
echo "Uncompressing and installing '$sourceFile'"
xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) || throw $ExceptionCPIO
echo "Uncompressing and installing '$sourceFile'"
xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi)
echo "Accept license"
sudo xcodebuild -license accept || throw $ExceptionAcceptLicense
echo "Accept license"
sudo xcodebuild -license accept
echo "Enabling developer mode, so that using lldb does not require interactive password entry"
sudo /usr/sbin/DevToolsSecurity -enable || throw $ExceptionDeveloperMode
echo "Xcode = $version" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionCPIO)
echo "Failed to unarchive .cpio."
exit 1;
;;
$ExceptionDeveloperMode)
echo "Failed to enable developer mode."
exit 1;
;;
$ExceptionAcceptLicense)
echo "Failed to accept license."
exit 1;
;;
esac
}
echo "Enabling developer mode, so that using lldb does not require interactive password entry"
sudo /usr/sbin/DevToolsSecurity -enable
echo "Xcode = $version" >> ~/versions.txt
}

View File

@@ -0,0 +1,63 @@
#!/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 installs JDK
set -ex
echo "Installing Java Development Kit"
targetFile=jdk-8u102-macosx-x64.dmg
url=ci-files01-hki.intra.qt.io:/hdd/www/input/mac
# url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg
echo "Mounting $targetFile"
sudo mount "$url" /Volumes
sudo cp "/Volumes/$targetFile" /tmp
sudo umount /Volumes
sudo hdiutil attach "/tmp/$targetFile"
echo Installing JDK
cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /
echo "Unmounting $targetFile"
sudo hdiutil unmount /Volumes/JDK\ 8\ Update\ 102/ -force
echo "Disable auto update"
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
echo "JDK Version = 8 update 102" >> ~/versions.txt

View File

@@ -0,0 +1,52 @@
#!/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 installs python2
source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-2.7.14-macosx10.6.pkg"
AltUrl="https://www.python.org/ftp/python/2.7.14/python-2.7.14-macosx10.6.pkg"
SHA1="fa2bb77243ad0cb611aa3295204fab403bb0fa09"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip install virtualenv
SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH"
echo "python2 = 2.7.14" >> ~/versions.txt

View File

@@ -0,0 +1,49 @@
#!/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
SHASUM_TOOLNAME=$(ls -r /usr/bin/shasum?.* | head -n1)
sudo ln -s "${SHASUM_TOOLNAME}" /usr/local/bin/sha1sum

View File

@@ -40,51 +40,21 @@
# If called directly from another script, it will exit the parent script
# as well, if not called in its own subshell with parentheses.
# shellcheck source=try_catch.sh
source "${BASH_SOURCE%/*}/try_catch.sh"
ExceptionDownloadPrimaryUrl=100
ExceptionDownloadAltUrl=101
ExceptionSHA1=102
function DownloadURL {
url=$1
url_alt=$2
expectedSha1=$3
targetFile=$4
try
(
try
(
echo "Downloading from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
)
catch || {
case $ex_code in
$ExceptionDownloadPrimaryUrl)
echo "Failed to download '$url' multiple times"
echo "Downloading tar.gz from alternative URL '$url_alt'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
;;
esac
}
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
shasum --check $targetFile.sha1 || throw $ExceptionSHA1
echo "Downloading from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
echo "Failed to download '$url' multiple times"
echo "Downloading from alternative URL '$url_alt'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
)
catch || {
case $ex_code in
$ExceptionDownloadAltUrl)
echo "Failed downloading PKG from primary and alternative URLs"
exit 1;
;;
$ExceptionSHA1)
echo "Failed checksum on $targetFile."
exit 1;
;;
esac
}
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
sha1sum --check $targetFile.sha1
}

View File

@@ -33,21 +33,11 @@
##
#############################################################################
# shellcheck source=try_catch.sh
source "${BASH_SOURCE%/*}/try_catch.sh"
set -ex
# shellcheck source=DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
ExceptionDownload=99
ExceptionCreateTmpFile=100
ExceptionCreateTmpDirectory=101
ExceptionUncompress=102
ExceptionMoveApp=103
ExceptionDeleteTmpFile=104
ExceptionRemoveTmpDirectory=105
ExceptionUnknownFormat=106
function InstallFromCompressedFileFromURL {
url=$1
url_alt=$2
@@ -55,70 +45,35 @@ function InstallFromCompressedFileFromURL {
installDirectory=$4
appPrefix=$5
try
(
basefilename=${url##*/}
extension=${basefilename##*.}
filename=${basefilename%.*}
if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then
extension="tar.gz"
fi
echo "Extension for file: $extension"
echo "Creating temporary file and directory"
targetFile=$(mktemp "$TMPDIR$(uuidgen)XXXXX.$extension") || throw $ExceptionCreateTmpFile
targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory
(DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile") || throw $ExceptionDownload
echo "Uncompress $targetFile"
case $extension in
"tar.gz")
tar -xzf "$targetFile" --directory "$targetDirectory" || throw $ExceptionUncompress
;;
"zip")
unzip "$targetFile" -d "$targetDirectory" || throw $ExceptionUncompress
;;
*)
throw $ExceptionUnknownFormat
;;
esac
echo "Moving app to $installDirectory"
sudo mkdir -p "$installDirectory"
sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory" || throw $ExceptionMoveApp
echo "Removing file '$targetFile'"
rm "$targetFile" || throw $ExceptionDeleteTmpFile
echo "Removing directory '$targetDirectory'"
rm -rf "$targetDirectory" || throw $ExceptionRemoveTmpDirectory
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionCreateTmpFile)
echo "Failed to create temporary file"
exit 1;
;;
$ExceptionUncompress)
echo "Failed extracting compressed file."
exit 1;
;;
$ExceptionMoveApp)
echo "Failed moving app to target location."
exit 1;
;;
$ExceptionDeleteTmpFile)
echo "Failed deleting temporary file."
exit 1;
;;
$ExceptionRemoveTmpDirectory)
echo "Failed deleting temporary file."
exit 1;
;;
$ExceptionUnknownFormat)
echo "Unknown file format."
exit 1;
;;
esac
}
basefilename=${url##*/}
extension=${basefilename##*.}
filename=${basefilename%.*}
if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then
extension="tar.gz"
fi
echo "Extension for file: $extension"
echo "Creating temporary file and directory"
targetFile=$(mktemp "$TMPDIR$(uuidgen)XXXXX.$extension")
targetDirectory=$(mktemp -d)
DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile"
echo "Uncompress $targetFile"
case $extension in
"tar.gz")
tar -xzf "$targetFile" --directory "$targetDirectory"
;;
"zip")
unzip "$targetFile" -d "$targetDirectory"
;;
*)
exit 1
;;
esac
echo "Moving app to $installDirectory"
sudo mkdir -p "$installDirectory"
sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory"
echo "Removing file '$targetFile'"
rm "$targetFile"
echo "Removing directory '$targetDirectory'"
rm -rf "$targetDirectory"
}

View File

@@ -32,19 +32,8 @@
##
#############################################################################
source "${BASH_SOURCE%/*}/try_catch.sh"
source "${BASH_SOURCE%/*}/http_proxy.txt"
set -ex
try
(
wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io
)
if [ $? -eq 0 ]; then
echo "Setting http_proxy to $proxy"
export http_proxy=$proxy
else
echo "Proxy not detected at $proxy"
fi
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"

View File

@@ -60,12 +60,7 @@ zip="libclang.7z"
destination="/usr/local/libclang-$version"
curl --fail -L --retry 5 --retry-delay 5 -o "$zip" "$url"
_shasum=sha1sum
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "DARWIN"
_shasum=/usr/bin/shasum
fi
echo "$sha1 $zip" | $_shasum --check
echo "$sha1 $zip" | sha1sum --check
7z x $zip -o/tmp/
rm -rf $zip

View File

@@ -33,8 +33,6 @@
##
#############################################################################
source "${BASH_SOURCE%/*}/try_catch.sh"
set -ex
# This script will install squish package for Linux and Mac.
@@ -65,18 +63,7 @@ if [ -f "/etc/profile.d/squish_env.sh" ]; then
export SQUISH_LICENSEKEY_DIR=$HOME
fi
ExceptionMount=100
ExceptionCreateFolder=101
ExceptionUncompress=102
ExceptionUnknownFormat=103
ExceptionCopy=104
ExceptionUmount=105
ExceptionHdiutilAttach=106
ExceptionInstallSquish=107
ExceptionChangeOwnership=108
function MountAndInstall {
url=$1
targetDirectory=$2
targetFile=$3
@@ -102,96 +89,51 @@ function MountAndInstall {
targetFileMount="$mountFolder"/"$targetFile"
try
(
echo "Mounting $url to $mountFolder"
sudo mount "$url" $mountFolder || throw $ExceptionMount
echo "Create $targetDirectory if needed"
if [ ! -d "/opt" ]; then
sudo mkdir "/opt" || throw $ExceptionCreateFolder
fi
if [ ! -d "$targetDirectory" ]; then
sudo mkdir "$targetDirectory" || throw $ExceptionCreateFolder
fi
echo "Uncompress $targetFile"
if [[ $targetFile == *.tar.gz ]]; then
if [[ $targetFile == .squish-3-license.* ]]; then
target="$squishLicenseDir"
# Squish license need to be exists also in users home directory, because squish check it before it starts running tests
sudo tar -xzf "$targetFileMount" --directory "$HOME" || throw $ExceptionUncompress
else
target="$targetDirectory"
fi
sudo tar -xzf "$targetFileMount" --directory "$target" || throw $ExceptionUncompress
echo "Unmounting $mountFolder"
sudo umount $mountFolder || throw $ExceptionUmount
elif [[ $targetFile == *.dmg ]]; then
echo "'dmg-file', no need to uncompress"
sudo cp $targetFileMount /tmp || throw $ExceptionCopy
sudo umount $mountFolder || throw $ExceptionUmount
sudo hdiutil attach "/tmp/$targetFile" || throw $ExceptionHdiutilAttach
sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" || throw $ExceptionInstallSquish
sudo hdiutil unmount /Volumes/froglogic\ Squish/
elif [[ $targetFile == *.run ]]; then
echo "'run-file', no need to uncompress"
sudo cp $targetFileMount $targetDirectory || throw $ExceptionCopy
sudo umount $mountFolder || throw $ExceptionUmount
sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 || throw $ExceptionInstallSquish
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
sudo mkdir /usr/lib/tcl8.6 || throw $ExceptionCreateFolder
sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ || throw $ExceptionCopy
fi
echo "Mounting $url to $mountFolder"
sudo mount "$url" $mountFolder
echo "Create $targetDirectory if needed"
if [ ! -d "/opt" ]; then
sudo mkdir "/opt"
fi
if [ ! -d "$targetDirectory" ]; then
sudo mkdir "$targetDirectory"
fi
echo "Uncompress $targetFile"
if [[ $targetFile == *.tar.gz ]]; then
if [[ $targetFile == .squish-3-license.* ]]; then
target="$squishLicenseDir"
# Squish license need to be exists also in users home directory, because squish check it before it starts running tests
sudo tar -xzf "$targetFileMount" --directory "$HOME"
else
throw $ExceptionUnknownFormat
target="$targetDirectory"
fi
sudo tar -xzf "$targetFileMount" --directory "$target"
echo "Unmounting $mountFolder"
sudo umount $mountFolder
elif [[ $targetFile == *.dmg ]]; then
echo "'dmg-file', no need to uncompress"
sudo cp $targetFileMount /tmp
sudo umount $mountFolder
sudo hdiutil attach "/tmp/$targetFile"
sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory"
sudo hdiutil unmount /Volumes/froglogic\ Squish/
elif [[ $targetFile == *.run ]]; then
echo "'run-file', no need to uncompress"
sudo cp $targetFileMount $targetDirectory
sudo umount $mountFolder
sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
sudo mkdir /usr/lib/tcl8.6
sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
else
exit 1
fi
echo "Changing ownerships"
sudo chown -R qt:$usersGroup "$targetDirectory" || throw $ExceptionChangeOwnership
sudo chown qt:$usersGroup "$HOME/.squish-3-license"
)
catch || {
case $ex_code in
$ExceptionMount)
echo "Failed to mount $url to $mountFolder."
exit 1;
;;
$ExceptionCreateFolder)
echo "Failed to create folder"
exit 1;
;;
$ExceptionUncompress)
echo "Failed extracting compressed file."
exit 1;
;;
$ExceptionUnknownFormat)
echo "Unknown file format."
exit 1;
;;
$ExceptionCopy)
echo "Failed to copy"
exit 1;
;;
$ExceptionUmount)
echo "Failed to unmount $mountFolder."
exit 1;
;;
$ExceptionHdiutilAttach)
echo "Failed to hdituli attach $mountFolder/$targetFile."
exit 1;
;;
$ExceptionInstallSquish)
echo "Failed to install squish"
exit 1;
;;
$ExceptionChangeOwnership)
echo "Failed to change ownership of $targetDirectory."
exit 1;
;;
esac
}
echo "Changing ownerships"
sudo chown -R qt:$usersGroup "$targetDirectory"
sudo chown qt:$usersGroup "$HOME/.squish-3-license"
}
echo "Set commands for environment variables in .bashrc"

View File

@@ -2,18 +2,12 @@
$scriptsPath = "C:\Python27\Scripts"
& "$scriptsPath\pip.exe" install --upgrade conan==0.24.0
Run-Executable "$scriptsPath\pip.exe" "install --upgrade conan==0.24.0"
# Use Qt Project repository by default
& "$scriptsPath\conan.exe" remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert
Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert"
[Environment]::SetEnvironmentVariable("CI_CONAN_BUILDINFO_DIR", "C:\Utils\conanbuildinfos", "Machine")
function Start-Process-Logged
{
Write-Host "Start-Process", $args
Start-Process @args
}
Set-EnvironmentVariable "CI_CONAN_BUILDINFO_DIR" "C:\Utils\conanbuildinfos"
function Run-Conan-Install
{
@@ -43,18 +37,20 @@ function Run-Conan-Install
$outpwd = "C:\Utils\conanbuildinfos\$($BuildinfoDir)\$($_.BaseName)"
New-Item $outpwd -Type directory -Force
$process = Start-Process-Logged `
"$scriptsPath\conan.exe" `
-WorkingDirectory $outpwd `
-ArgumentList "install -f $conanfile --no-imports --verify $manifestsDir", `
'-s', ('compiler="' + $Compiler + '"'), `
"-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs" `
-NoNewWindow -Wait -Verbose `
-PassThru # Return process object
if ($process.ExitCode -ne 0) {
Write-Host "conan exited with code $($process.ExitCode)"
Exit(1)
for ($i = 1; $i -le 5; $i++) {
try {
Push-Location $outpwd
Run-Executable "$scriptsPath\conan.exe" "install -f $conanfile --no-imports --verify $manifestsDir", `
'-s', ('compiler="' + $Compiler + '"'), `
"-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs" `
break;
} catch {
if ($i -eq 5) {
throw "Could not install conan content"
}
} finally {
Pop-Location
}
}
Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"

View File

@@ -1,10 +1,11 @@
. "$PSScriptRoot\helpers.ps1"
$zip = "c:\users\qt\downloads\Qt3DStudio-3rdparty-win64-CI.zip"
$url = "http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip"
Invoke-WebRequest -UseBasicParsing http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip -OutFile $zip
Download $url $url $zip
Verify-Checksum $zip "08D740D2EFB4CBCDE7D012908B89AA48DE5CD4E1"
Extract-Zip $zip C:\Utils\Qt3DStudio3rdparty
Remove-Item $zip
Remove-Item -Path $zip
[Environment]::SetEnvironmentVariable("QT3DSTUDIO_3RDPARTY_DIR", "C:/Utils/Qt3DStudio3rdparty", "Machine")
Set-EnvironmentVariable "QT3DSTUDIO_3RDPARTY_DIR" "C:/Utils/Qt3DStudio3rdparty"

View File

@@ -30,7 +30,8 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# This script allows the Windows Remote Desktop Access
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
Run-Executable "reg.exe" "add `"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server`" /v fDenyTSConnections /t REG_DWORD /d 0 /f"

View File

@@ -47,23 +47,23 @@ $destination = "C:\Utils\openssl-android-master"
Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip
Verify-Checksum $zip $sha1
C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils
C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-$version.tar -oC:\Utils
Extract-7Zip $zip C:\Utils
Extract-7Zip C:\Utils\openssl-$version.tar C:\Utils
Rename-Item C:\Utils\openssl-$version $destination
Remove-Item $zip
Remove-Item -Path $zip
Remove-Item C:\Utils\openssl-$version.tar
set CC=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc
set AR=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar
set ANDROID_DEV=C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr
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"
# Make sure configure for openssl has a "make" and "perl" available
$env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin"
echo "Configuring OpenSSL $version for Android..."
pushd $destination
C:\msys\1.0\bin\bash.exe -c "c:/strawberry/perl/bin/perl Configure shared android"
popd
Write-Host "Configuring OpenSSL $version for Android..."
Push-Location $destination
Run-Executable "C:\msys\1.0\bin\bash.exe" "-c `"c:/strawberry/perl/bin/perl Configure shared android`""
Pop-Location
# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed.
# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h

View File

@@ -70,23 +70,19 @@ function Install($1, $2, $3, $4) {
}
function SdkUpdate ($1, $2) {
echo "Running Android SDK update for $1..."
Write-Host "Running Android SDK update for $1..."
cmd /c "echo y |$1\tools\android update sdk --no-ui --all --filter $2"
}
echo "Installing Android ndk $nkdVersion"
Write-Host "Installing Android ndk $nkdVersion"
Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl
echo "Set environment variable ANDROID_NDK_HOME=$ndkFolder"
[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME", $ndkFolder, "Machine")
echo "Set environment variable ANDROID_NDK_ROOT=$ndkFolder"
[Environment]::SetEnvironmentVariable("ANDROID_NDK_ROOT", $ndkFolder, "Machine")
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolder
Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder
#echo "Installing Android sdk $sdkVersion"
#Write-Host "Installing Android sdk $sdkVersion"
Install $sdkCachedUrl $sdkZip $sdkChecksum $sdkOfficialUrl
echo "Set environment variable ANDROID_SDK_HOME=$sdkFolder"
[Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME", $sdkFolder, "Machine")
echo "Set environment variable ANDROID_API_VERSION $sdkApiLevel"
[Environment]::SetEnvironmentVariable("ANDROID_API_VERSION", $sdkApiLevel, "Machine")
Set-EnvironmentVariable "ANDROID_SDK_HOME" $sdkFolder
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
# SDK update
SdkUpdate $sdkFolder $sdkApiLevel
@@ -94,5 +90,11 @@ SdkUpdate $sdkFolder tools
SdkUpdate $sdkFolder platform-tools
SdkUpdate $sdkFolder build-tools-$sdkBuildToolsVersion
# kill adb. This process prevent's provisioning to continue
taskkill /im adb.exe /f
# 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"
}

View File

@@ -40,7 +40,7 @@ $zip = "c:\users\qt\downloads\cmake-" + $version + "-win32-x86.zip"
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
$cachedurl = "\\ci-files01-hki.intra.qt.io\provisioning\cmake\cmake-" + $version + "-win32-x86.zip"
echo "Removing old cmake"
Write-Host "Removing old cmake"
Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue
Download $officialurl $cachedurl $zip
@@ -52,5 +52,5 @@ Rename-Item $defaultinstallfolder C:\CMake
Add-Path "C:\CMake\bin"
echo "CMake = $version" >> ~\versions.txt
Write-Output "CMake = $version" >> ~\versions.txt

View File

@@ -1,11 +1,9 @@
#!/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.
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
@@ -32,33 +30,6 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
echo "Sourcing try_catch.sh"
function try()
{
[[ $- = *e* ]]; SAVED_OPT_E=$?
set +e
}
function throw()
{
exit "$1"
}
function catch()
{
export ex_code=$?
(( SAVED_OPT_E )) && set +e
return $ex_code
}
function throwErrors()
{
set -e
}
function ignoreErrors()
{
set +e
}
Get-WmiObject Win32_OSRecoveryConfiguration -EnableAllPrivileges | Set-WmiInstance -Arguments @{ AutoReboot=$False }

View File

@@ -1,2 +1,4 @@
. "$PSScriptRoot\helpers.ps1"
# Disable the NTP from syncing
w32tm /config /syncfromflags:NO
Run-Executable "w32tm.exe" "/config /syncfromflags:NO"

View File

@@ -30,10 +30,11 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# This script prevents Windows from going to sleep
powercfg -change -monitor-timeout-ac 0
powercfg -change -standby-timeout-ac 0
powercfg -change -disk-timeout-ac 0
powercfg -change -hibernate-timeout-ac 0
Run-Executable "powercfg.exe" "-change -monitor-timeout-ac 0"
Run-Executable "powercfg.exe" "-change -standby-timeout-ac 0"
Run-Executable "powercfg.exe" "-change -disk-timeout-ac 0"
Run-Executable "powercfg.exe" "-change -hibernate-timeout-ac 0"

View File

@@ -30,7 +30,8 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# This script disables the Windows UAC
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
Run-Executable "reg.exe" "ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f"

View File

@@ -2,4 +2,7 @@
#
# If disabled manually, windows will automatically enable it after
# some period of time. Disabling it speeds up the builds.
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /V DisableAntiSpyware /T REG_dWORD /D 1 /F
. "$PSScriptRoot\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"

View File

@@ -43,7 +43,7 @@ if ($service.Status -eq "Stopped") {
Write-Host "Windows Update service already stopped."
} else {
Write-Host "Stopping Windows Update service."
stop-service wuauserv
Stop-Service -Name "wuauserv" -Force
}
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"

View File

@@ -11,9 +11,9 @@ $exe = "C:\Windows\Temp\$package"
Download $officialUrl $cachedUrl $exe
echo "Installing DirectX SDK"
cmd /c "$exe /u"
Write-Host "Installing DirectX SDK"
Run-Executable $exe "/u"
Remove-Item $exe
Remove-Item -Path $exe
echo "DirectX SDK = 9.29.1962 (Jun 10)" >> ~\versions.txt
Write-Output "DirectX SDK = 9.29.1962 (Jun 10)" >> ~\versions.txt

View File

@@ -0,0 +1,39 @@
#############################################################################
##
## 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"
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
if( (is64bitWinHost) -eq 1 ) {
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
}

View File

@@ -51,18 +51,16 @@ $sha1 = "3690400625672bef6369bcf90dcde4d78b493b24"
#$targetFile = "C:\Windows\Temp\$packageName"
$targetFolder = "C:\Program Files\"
#echo "Downloading '$installerName'"
#Write-Host "Downloading '$installerName'"
#Download $officialUrl $cacheUrl $targetFile
#Verify-Checksum $targetFile $sha1
echo "Extracting '$cacheUrl'"
#Extract-7Zip $cacheUrl $targetFolder
Start-Process -FilePath "C:\Utils\sevenzip\7z.exe" -ArgumentList "x -y `"$cacheUrl`" -o`"$targetFolder`"" -Wait
Write-Host "Extracting '$cacheUrl'"
Extract-7Zip $cacheUrl $targetFolder
#Remove-Item -Recurse -Force "$packageName"
echo "Adding environment variables."
[Environment]::SetEnvironmentVariable("FBXSDK", "$targetFolder\Autodesk\FBX\FBX SDK\2016.1.2", [EnvironmentVariableTarget]::Machine)
Set-EnvironmentVariable "FBXSDK" "$targetFolder\Autodesk\FBX\FBX SDK\2016.1.2"
echo "FBX SDK = $version" >> ~\versions.txt
Write-Output "FBX SDK = $version" >> ~\versions.txt

View File

@@ -5,13 +5,32 @@ function Verify-Checksum
[string]$Expected=$(throw("Checksum required")),
[ValidateSet("sha1","md5")][string]$Algorithm="sha1"
)
Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open"
$algo = [type]"System.Security.Cryptography.$Algorithm"
$crypto = $algo::Create()
$hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "")
$fs.Close()
if ($hash -ne $Expected) {
Write-Error "Checksum verification failed, got: '$hash' expected: '$Expected'"
throw "Checksum verification failed, got: '$hash' expected: '$Expected'"
}
}
function Run-Executable
{
Param (
[string]$Executable=$(throw("You must specify a program to run.")),
[string[]]$Arguments
)
if ([string]::IsNullOrEmpty($Arguments)) {
Write-Host "Running `"$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
}
if ($p.ExitCode -ne 0) {
throw "Process $($Executable) exited with exit code $($p.ExitCode)"
}
}
@@ -21,24 +40,21 @@ function Extract-7Zip
[string]$Source,
[string]$Destination
)
echo "Extracting '$Source' to '$Destination'..."
Write-Host "Extracting '$Source' to '$Destination'..."
if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
$zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles} -ne $null)[0] '7-zip\7z.exe'
$zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe'
if (-not (test-path $zipExe)) {
$zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
$zipExe = "C:\Utils\sevenzip\7z.exe"
if (-not (test-path $zipExe)) {
$zipExe = "C:\Utils\sevenzip\7z.exe"
if (-not (test-path $zipExe)) {
throw "Could not find 7-zip."
}
throw "Could not find 7-zip."
}
}
} else {
$zipExe = "7z.exe"
}
& $zipExe x $Source "-o$Destination" -y
Run-Executable "$zipExe" "x -y `"-o$Destination`" `"$Source`""
}
function Extract-Zip
@@ -47,7 +63,7 @@ function Extract-Zip
[string]$Source,
[string]$Destination
)
echo "Extracting '$Source' to '$Destination'..."
Write-Host "Extracting '$Source' to '$Destination'..."
New-Item -ItemType Directory -Force -Path $Destination
$shell = new-object -com shell.application
@@ -66,7 +82,7 @@ function Extract-Dev-Folders-From-Zip
$shell = new-object -com shell.application
echo "Extracting contents of $package"
Write-Host "Extracting contents of $package"
foreach ($subDir in "lib", "include", "bin", "share") {
$zip = $shell.Namespace($package + "\" + $zipDir + "\" + $subDir)
if ($zip) {
@@ -97,12 +113,14 @@ function Download
)
$ProgressPreference = 'SilentlyContinue'
try {
Write-Host "Downloading from cached location ($CachedUrl) to $Destination"
if ($CachedUrl.StartsWith("http")) {
Invoke-WebRequest -UseBasicParsing $CachedUrl -OutFile $Destination
} else {
Copy-Item $CachedUrl $Destination
}
} catch {
Write-Host "Cached download failed: Downloading from official location: $OfficialUrl"
Invoke-WebRequest -UseBasicParsing $OfficialUrl -OutFile $Destination
}
}
@@ -112,35 +130,33 @@ function Add-Path
Param (
[string]$Path
)
echo "Adding $Path to Path"
Write-Host "Adding $Path to Path"
$oldPath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
[Environment]::SetEnvironmentVariable("Path", $oldPath + ";$Path", [EnvironmentVariableTarget]::Machine)
$Env:PATH = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
}
function is64bitWinHost
{
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64")) {
return 1
}
else {
return 0
}
}
Function Execute-Command
function Set-EnvironmentVariable
{
Param (
[string]$command
[string]$Key = $(BadParam("a key")),
[string]$Value = $(BadParam("a value."))
)
Try {
echo "Executing command '$command'..."
$process = Start-Process -FilePath "cmd" -ArgumentList "/c $command" -PassThru -Wait -WindowStyle Hidden
if ($process.ExitCode) {throw "Error running command: '$command'"}
}
Catch {
$_.Exception.Message
exit 1
}
Write-Host "Setting environment variable `"$($Key)`" to `"$($Value)`""
[Environment]::SetEnvironmentVariable($Key, $Value, [EnvironmentVariableTarget]::Machine)
}
function Is64BitWinHost
{
return [environment]::Is64BitOperatingSystem
}
function isProxyEnabled {
return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyEnable
}
function getProxy {
return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer
}

View File

@@ -37,9 +37,9 @@
$version = "53_1"
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64")) {
if (Is64BitWinHost) {
# FIXME: do we really want to use the 4.8.2 ICU build?
[Environment]::SetEnvironmentVariable("CI_ICU_PATH_Mingw49", "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1", "Machine")
Set-EnvironmentVariable "CI_ICU_PATH_Mingw49" "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1"
}

View File

@@ -36,11 +36,10 @@
# This script will install Dependency Walker 2.2.6000
$version = "2.2.6000"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "_x64"
$sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA"
}
else {
} else {
$arch = "_x86"
$sha1 = "bfec714057e8449b0246051be99ba46a7760bab9"
}
@@ -49,15 +48,15 @@ $url_official = "http://www.dependencywalker.com/depends22" + $arch + ".zip"
$dependsPackage = "C:\Windows\Temp\depends-$version.zip"
$TARGETDIR = "C:\Utils\dependencywalker"
if(!(Test-Path -Path $TARGETDIR )){
if (!(Test-Path -Path $TARGETDIR )) {
New-Item -ItemType directory -Path $TARGETDIR
}
Download $url_official $url_cache $dependsPackage
Verify-Checksum $dependsPackage $sha1
Get-ChildItem $dependsPackage | % {& "C:\Utils\sevenzip\7z.exe" "x" $_.fullname "-o$TARGETDIR"}
Extract-7Zip $dependsPackage $TARGETDIR
echo "Cleaning $dependsPackage.."
Remove-Item -Recurse -Force "$dependsPackage"
Write-Host "Cleaning $dependsPackage.."
Remove-Item -Recurse -Force -Path "$dependsPackage"
echo "Dependency Walker = $version" >> ~\versions.txt
Write-Output "Dependency Walker = $version" >> ~\versions.txt

View File

@@ -35,11 +35,10 @@
# Install Git version 2.13.0
$version = "2.13.0"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "-64-bit"
$sha1 = "E1D7C6E5E16ACAF3C108064A2ED158F604FA29A7"
}
else {
} else {
$arch = "-32-bit"
$sha1 = "03c7df2e4ef61ea6b6f9c0eb7e6d5151d9682aec"
}
@@ -47,11 +46,11 @@ $gitPackage = "C:\Windows\Temp\Git-" + $version + $arch + ".exe"
$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\Git-" + $version + $arch + ".exe"
$url_official = "https://github.com/git-for-windows/git/releases/download/v" + $version + ".windows.1/Git-" + $version + $arch + ".exe"
echo "Fetching Git $version..."
Write-Host "Fetching Git $version..."
Download $url_official $url_cache $gitPackage
Verify-Checksum $gitPackage $sha1
echo "Installing Git $version..."
cmd /c "$gitPackage /SILENT /COMPONENTS="icons,ext\reg\shellhere,assoc,assoc_sh""
remove-item $gitPackage
Write-Host "Installing Git $version..."
Run-Executable "$gitPackage" "/SILENT /COMPONENTS=`"icons,ext\reg\shellhere,assoc,assoc_sh`""
Remove-Item -Path $gitPackage
echo "Git = $version" >> ~\versions.txt
Write-Output "Git = $version" >> ~\versions.txt

View File

@@ -38,11 +38,10 @@
$installdir = "C:\Program Files\Java\jdk1.8.0_144"
$version = "8u144"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "x64"
$sha1 = "adb03bc3f4b40bcb3227687860798981d58e1858"
}
else {
} else {
$arch = "i586"
$sha1 = "3b9ab95914514eaefd72b815c5d9dd84c8e216fc"
}
@@ -51,28 +50,31 @@ $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jdk-" + $version
$official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
echo "Fetching Java SE $version..."
Write-Host "Fetching Java SE $version..."
$ProgressPreference = 'SilentlyContinue'
try {
echo "...from local cache"
Invoke-WebRequest -UseBasicParsing $url_cache -OutFile $javaPackage
Write-Host "...from local cache"
Download $url_cache $url_cache $javaPackage
} catch {
echo "...from oracle.com"
Write-Host "...from oracle.com"
$client = new-object System.Net.WebClient
$cookie = "oraclelicense=accept-securebackup-cookie"
$client.Headers.Add("Cookie", $cookie)
$client.DownloadFile($official_url, $javaPackage)
Invoke-WebRequest -UseBasicParsing $official_url -OutFile $javaPackage
Download $official_url $official_url $javaPackage
}
Verify-Checksum $javaPackage $sha1
cmd /c "$javaPackage /s SPONSORS=0"
echo "Cleaning $javaPackage.."
Remove-Item -Recurse -Force "$javaPackage"
Run-Executable "$javaPackage" "/s SPONSORS=0"
Write-Host "Cleaning $javaPackage.."
Remove-Item -Recurse -Force -Path "$javaPackage"
[Environment]::SetEnvironmentVariable("JAVA_HOME", "$installdir", [EnvironmentVariableTarget]::Machine)
Write-Host "Remove Java update from startup"
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /v SunJavaUpdateSched /f
Set-EnvironmentVariable "JAVA_HOME" "$installdir"
Add-Path "$installdir\bin"
echo "Java SE = $version $arch" >> ~\versions.txt
Write-Output "Java SE = $version $arch" >> ~\versions.txt

View File

@@ -55,14 +55,13 @@ function InstallMinGW
Download $url_official $url_cache $mingwPackage
Verify-Checksum $mingwPackage $sha1
Get-ChildItem $mingwPackage | % {& "C:\Utils\sevenzip\7z.exe" "x" $_.fullname "-o$TARGETDIR"}
Extract-7Zip $mingwPackage $TARGETDIR
echo "Adding MinGW environment variable."
[Environment]::SetEnvironmentVariable("$envvar", "$targetdir\mingw" + $win_arch.Substring($win_arch.get_Length()-2), [EnvironmentVariableTarget]::Machine)
Set-EnvironmentVariable "$envvar" ("$targetdir\mingw" + $win_arch.Substring($win_arch.get_Length()-2))
echo "Cleaning $mingwPackage.."
Remove-Item -Recurse -Force "$mingwPackage"
Write-Host "Cleaning $mingwPackage.."
Remove-Item -Recurse -Force -Path "$mingwPackage"
echo "MinGW = $version $release" >> ~\versions.txt
Write-Output "MinGW = $version $release" >> ~\versions.txt
}

View File

@@ -36,11 +36,10 @@
# This script will install Notepad++
$version = "7.3"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = ".x64"
$sha1 = "E7306DF1D6E81801FB4BE0868610DB70E979B0AA"
}
else {
} else {
$arch = ""
$sha1 = "d4c403675a21cc381f640b92e596bae3ef958dc6"
}
@@ -50,13 +49,12 @@ $nppPackage = "C:\Windows\Temp\npp-$version.exe"
Download $url_official $url_cache $nppPackage
Verify-Checksum $nppPackage $sha1
cmd /c "$nppPackage /S"
Run-Executable "$nppPackage" "/S"
echo "Cleaning $nppPackage.."
Remove-Item -Recurse -Force "$nppPackage"
Write-Host "Cleaning $nppPackage.."
Remove-Item -Recurse -Force -Path "$nppPackage"
echo "Notepad++ = $version" >> ~\versions.txt
Write-Output "Notepad++ = $version" >> ~\versions.txt
Write-Host "Disabling auto updates."
Rename-Item -Path "C:\Program Files\Notepad++\updater" -NewName "updater_disabled"
echo "Auto-updating disabled."

View File

@@ -36,11 +36,10 @@
# This script will install Ruby
$version = "2.4.2-2"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "-x64"
$sha1 = "c961c2752a183487bc42ed24beb7e931230fa7d5"
}
else {
} else {
$arch = "-x86"
$sha1 = "2639a481c3b5ad11f57d5523cc41ca884286089e"
}
@@ -50,9 +49,9 @@ $rubyPackage = "C:\Windows\Temp\rubyinstaller-$version.exe"
Download $url_official $url_cache $rubyPackage
Verify-Checksum $rubyPackage $sha1
Start-Process -FilePath $rubyPackage -ArgumentList "/dir=C:\Ruby-$version$arch /tasks=modpath /verysilent" -Wait
Run-Executable $rubyPackage "/dir=C:\Ruby-$version$arch /tasks=modpath /verysilent"
echo "Cleaning $rubyPackage.."
Remove-Item -Recurse -Force "$rubyPackage"
Write-Host "Cleaning $rubyPackage.."
Remove-Item -Recurse -Force -Path "$rubyPackage"
echo "Ruby = $version" >> ~\versions.txt
Write-Output "Ruby = $version" >> ~\versions.txt

View File

@@ -38,11 +38,10 @@
$version = "16.04"
$nonDottedVersion = "1604"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "-x64"
$sha1 = "338A5CC5200E98EDD644FC21807FDBE59910C4D0"
}
else {
} else {
$arch = ""
$sha1 = "dd1cb1163c5572951c9cd27f5a8dd550b33c58a4"
}
@@ -54,11 +53,11 @@ $7zTargetLocation = "C:\Utils\sevenzip\"
Download $url_official $url_cache $7zPackage
Verify-Checksum $7zPackage $sha1
Start-Process -FilePath $7zPackage -ArgumentList "/S","/D=$7zTargetLocation" -Wait
Run-Executable $7zPackage "/S","/D=$7zTargetLocation"
echo "Cleaning $7zPackage.."
Remove-Item -Recurse -Force "$7zPackage"
Write-Host "Cleaning $7zPackage.."
Remove-Item -Recurse -Force -Path "$7zPackage"
Add-Path $7zTargetLocation
echo "7-Zip = $version" >> ~\versions.txt
Write-Output "7-Zip = $version" >> ~\versions.txt

View File

@@ -36,23 +36,23 @@
# This script installs Strawberry Perl
$version = "5.26.0.1"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = "-64bit"
$sha1 = "2AE2EDA36A190701399130CBFEE04D00E9BA036D"
}
else {
} else {
$arch = "-32bit"
$sha1 = "b50b688a879f33941433774b2813bfd4b917e4ee"
}
$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\strawberry-perl-" + $version + $arch + ".msi"
$url_official = "http://strawberryperl.com/download/" + $version + "/strawberry-perl-" + $version + $arch + ".msi"
$strawberryPackage = "C:\Windows\Temp\strawberry-installer-$version.msi"
$installer_name = "strawberry-perl-" + $version + $arch + ".msi"
$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $installer_name
$url_official = "http://strawberryperl.com/download/" + $version + "/" + $installer_name
$strawberryPackage = "C:\Windows\Temp\" + $installer_name
Download $url_official $url_cache $strawberryPackage
Verify-Checksum $strawberryPackage $sha1
cmd /c "$strawberryPackage /QB INSTALLDIR=C:\strawberry REBOOT=REALLYSUPPRESS"
Run-Executable "$strawberryPackage" "/QB INSTALLDIR=C:\strawberry REBOOT=REALLYSUPPRESS"
echo "Cleaning $strawberryPackage.."
Remove-Item -Recurse -Force "$strawberryPackage"
Write-Host "Cleaning $strawberryPackage.."
Remove-Item -Recurse -Force -Path "$strawberryPackage"
echo "strawberry = $version" >> ~\versions.txt
Write-Output "strawberry = $version" >> ~\versions.txt

View File

@@ -6,4 +6,4 @@ Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/j
Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4"
Extract-Zip $zip C:\Utils\Jom
[Environment]::SetEnvironmentVariable("CI_JOM_PATH", "C:\Utils\Jom", "Machine")
Set-EnvironmentVariable "CI_JOM_PATH" "C:\Utils\Jom"

View File

@@ -1,4 +1,7 @@
param([Int32]$archVer=32)
param(
[Int32]$archVer=32,
[string]$toolchain="vs2015"
)
. "$PSScriptRoot\helpers.ps1"
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
@@ -14,29 +17,64 @@ Get-Content "$PSScriptRoot\..\shared\sw_versions.txt" | Foreach-Object {
$zip = "c:\users\qt\downloads\libclang.7z"
$baseDestination = "C:\Utils\libclang-" + $libclang_version
if ( $archVer -eq 64 ) {
$sha1 = "dc42beb0efff130c4d7dfef3c97adf26f1ab04e0"
$url = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-windows-vs2015_64.7z"
$destination = $baseDestination + "-64"
function setURL() {
$script:url = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
}
if ( $toolchain -eq "vs2015" ) {
if ( $archVer -eq 64 ) {
$sha1 = "dc42beb0efff130c4d7dfef3c97adf26f1ab04e0"
$destination = $baseDestination + "-64"
setURL
Download $url $url $zip
Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\
Rename-Item C:\Utils\libclang $destination
Remove-Item -Force -Path $zip
}
$archVer=32
$sha1 = "64e826c00ae632fbb28655e6e1fa9194980e1205"
$destination = $baseDestination + "-32"
setURL
Download $url $url $zip
Verify-Checksum $zip $sha1
C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils\
Extract-7Zip $zip C:\Utils\
Rename-Item C:\Utils\libclang $destination
del $zip
Remove-Item -Force -Path $zip
}
$sha1 = "64e826c00ae632fbb28655e6e1fa9194980e1205"
$url = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-windows-vs2015_32.7z"
$destination = $baseDestination + "-32"
if ( $toolchain -eq "mingw" ) {
if ( $archVer -eq 64 ) {
$sha1 = "3e318f70a1e76c14365ced65f4fa7031bb730818"
$destination = $baseDestination + "-64"
Download $url $url $zip
Verify-Checksum $zip $sha1
setURL
Download $url $url $zip
Verify-Checksum $zip $sha1
C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils\
Rename-Item C:\Utils\libclang $destination
del $zip
Extract-7Zip $zip C:\Utils\
Rename-Item C:\Utils\libclang $destination
Remove-Item -Force -Path $zip
}
[Environment]::SetEnvironmentVariable("LLVM_INSTALL_DIR", $baseDestination + "-_ARCH_", [EnvironmentVariableTarget]::Machine)
echo "libClang = $libclang_version" >> ~/versions.txt
$archVer=32
$sha1 = "a9973192a01a9c16976ed0cc6ef6dac3dbc4a2d3"
$destination = $baseDestination + "-32"
setURL
Download $url $url $zip
Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\
Rename-Item C:\Utils\libclang $destination
Remove-Item -Force -Path $zip
}
Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-_ARCH_")
Write-Output "libClang = $libclang_version" >> ~/versions.txt

View File

@@ -44,4 +44,4 @@ Verify-Checksum $archive "396a3224c306480f24a583850d923d06aa4377c1"
Extract-7Zip $archive $libusb_location
# Tell qt-apps/qdb build system where to find libusb
[Environment]::SetEnvironmentVariable("LIBUSB_PATH", $libusb_location, "Machine")
Set-EnvironmentVariable "LIBUSB_PATH" $libusb_location

View File

@@ -1,3 +1,3 @@
# This is needed e.g. for Android NDK installation for Windows 7 x86
echo "Increase value of MaxMemoryPerShellMB to avoid 'out of memory' exception"
Write-Host "Increase value of MaxMemoryPerShellMB to avoid 'out of memory' exception"
set-item wsman:localhost\Shell\MaxMemoryPerShellMB 2048

View File

@@ -47,14 +47,15 @@ function Extract-Mesa
[string]$targetFolder
)
Write-Host "Installing Mesa from $downloadUrl to $targetFolder"
$localArchivePath = "C:\Windows\temp\opengl32sw.7z"
Invoke-WebRequest -UseBasicParsing $downloadUrl -OutFile $localArchivePath
Verify-Checksum $localArchivePath $sha1
Get-ChildItem $package | % {& "C:\Utils\sevenzip\7z.exe" "x" "-y" $_.fullname "-o$targetFolder"}
Remove-Item $localArchivePath
Write-Host "Downloading $downloadUrl to $package"
Invoke-WebRequest -UseBasicParsing $downloadUrl -OutFile $package
Verify-Checksum $package $sha1
Extract-7Zip $package $targetFolder
Write-Host "Removing $package"
Remove-Item -Path $package
}
if ( Test-Path C:\Windows\SysWOW64 ) {
if (Is64BitWinHost) {
Extract-Mesa $mesaOpenglUrl_64 $mesaOpenglSha1_64 "C:\Windows\System32"
Extract-Mesa $mesaOpenglUrl_32 $mesaOpenglSha1_32 "C:\Windows\SysWOW64"
} else {

View File

@@ -33,7 +33,7 @@
. "$PSScriptRoot\helpers.ps1"
echo "MQTT: Downloading Paho test broker..."
Write-Host "MQTT: Downloading Paho test broker..."
$zip = "c:\users\qt\downloads\pahotest.zip"
$externalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
$internalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
@@ -42,9 +42,8 @@ $sha1 = "532fe145096cdd8d679f425cbfd883289150c968"
Download $externalUrl $internalUrl $zip
Verify-Checksum $zip $sha1
echo "MQTT: Installing $zip..."
Write-Host "MQTT: Installing $zip..."
Extract-Zip $zip C:\Utils
Remove-Item $zip
Remove-Item -Path $zip
echo "MQTT: Updating environment..."
[Environment]::SetEnvironmentVariable("MQTT_TEST_BROKER_LOCATION", "C:\Utils\paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0\interoperability\startbroker.py", "Machine")
Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0\interoperability\startbroker.py"

View File

@@ -0,0 +1,50 @@
#############################################################################
##
## 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$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# Install Visual Studio 2013 update 5
$version = "2013 Update 5 (KB2829760)"
$package = "C:\Windows\Temp\vs12-kb2829760.exe"
$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VS2013.5.exe"
Write-Output "Fetching patch for Visual Studio $version..."
Copy-Item $url_cache $package
Write-Output "Installing Update 5 for Visual Studio $version..."
Start-Process -FilePath $package -ArgumentList "/norestart /passive" -Wait
Write-Output "Removing $package ..."
Remove-Item $package
Write-Output "Visual Studio = $version" >> ~\versions.txt

View File

@@ -36,25 +36,30 @@
# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
$version = "2015 update3 (KB3165756)"
$package = "C:\Windows\Temp\vs14-kb3165756.exe"
$packagePath = "C:\Windows\Temp"
$package = $packagePath + "\vs14-kb3165756.exe"
$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/vs14-kb3165756.exe"
$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
$preparedPackage="\\ci-files01-hki.intra.qt.io\provisioning\windows\vs14-kb3165756-update"
$preparedPackage = "\\ci-files01-hki.intra.qt.io\provisioning\windows\vs14-kb3165756-update"
if (Test-Path $preparedPackage) {
echo "Using prepared package"
pushd $preparedPackage
$commandLine = "$preparedPackage\vs14-kb3165756.exe"
# The prepared package contains updated packages so that not everything has to be downloaded
Write-Host "Using prepared package"
Copy-Item -Recurse $preparedPackage $packagePath
# Remove the whole downloaded folder
$toRemove = $packagePath + "\vs14-kb3165756-update"
$executable = "$toRemove\vs14-kb3165756.exe"
} else {
echo "Fetching patch for Visual Studio $version..."
Write-Host "Fetching patch for Visual Studio $version..."
Download $url_official $url_cache $package
Verify-Checksum $package $sha1
$commandLine = $package
$executable = $package
# Remove the downloaded executable
$toRemove = $executable
}
echo "Installing patch for Visual Studio $version..."
. $commandLine /norestart /passive
if ($commandLine.StartsWith("C:\Windows")) {
remove-item $package
}
Verify-Checksum $executable $sha1
Write-Host "Installing patch for Visual Studio $version..."
Run-Executable $executable "/norestart /passive"
Remove-Item -Force -Recurse -Path $toRemove

View File

@@ -48,16 +48,16 @@ function DownloadAndInstall
[string]$installPath
)
echo "Fetching from URL ..."
Write-Host "Fetching from URL ..."
Copy-Item $internalUrl $package
$zipDir = [io.path]::GetFileNameWithoutExtension($package)
Extract-Dev-Folders-From-Zip $package $zipDir $installPath
Remove-Item $package
Remove-Item -Path $package
}
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
# Install x64 bit version
$architecture = "x64"
$installFolder = "C:\Utils\my_sql\my_sql"
@@ -65,26 +65,23 @@ if( (is64bitWinHost) -eq 1 ) {
DownloadAndInstall $internalUrl $packagex64 $installFolder
echo "Set environment variables ..."
[Environment]::SetEnvironmentVariable("MYSQL_INCLUDE_x64", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("MYSQL_LIB_x64", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\lib"
}
# Install x86 bit version
$architecture = "x86"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-win32.zip"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$installFolder = "C:\Utils\my_sql\my_sql$architecture"
}
else {
} else {
$installFolder = "C:\Utils\my_sql\my_sql"
}
DownloadAndInstall $internalUrl $packagex86 $installFolder
echo "Set environment variables ..."
[Environment]::SetEnvironmentVariable("MYSQL_INCLUDE_x86", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("MYSQL_LIB_x86", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\lib"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
echo "MySQL = $version" >> ~/versions.txt
Write-Output "MySQL = $version" >> ~/versions.txt

View File

@@ -6,6 +6,6 @@ Download https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win
Verify-Checksum $zip "E01093F6533818425F8EFB0843CED7DCAABEA3B2"
Extract-Zip $zip C:\Utils\Ninja
Remove-Item $zip
Remove-Item -Path $zip
Add-Path "C:\Utils\Ninja"

View File

@@ -40,7 +40,7 @@ $version = "1_0_2j"
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe"
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
# Install x64 bit version
$architecture = "x64"
@@ -49,25 +49,24 @@ if( (is64bitWinHost) -eq 1 ) {
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
$sha1 = "b1660dbdcc77e1b3d81d780c7167be1c75384d44"
echo "Fetching from URL ..."
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
Verify-Checksum $packagex64 $sha1
echo "Installing $packagex64 ..."
cmd /c "$packagex64 /SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Installing $packagex64 ..."
Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
echo "Remove downloaded $packagex64 ..."
Remove-Item $packagex64
Write-Host "Remove downloaded $packagex64 ..."
Remove-Item -Path $packagex64
echo "Set $architecture environment variables ..."
[Environment]::SetEnvironmentVariable("OPENSSL_CONF_x64", "$installFolder\bin\openssl.cfg", "Machine")
[Environment]::SetEnvironmentVariable("OPENSSL_INCLUDE_x64", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("OPENSSL_LIB_x64", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
}
# Install x86 bit version
$architecture = "x86"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$installFolder = "C:\openssl$architecture"
} else {
$installFolder = "C:\openssl"
@@ -77,19 +76,18 @@ $externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
$sha1 = "29b31d20545214ab4e4c57afb20be2338c317cc3"
echo "Fetching from URL ..."
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86
Verify-Checksum $packagex86 $sha1
echo "Installing $packagex86 ..."
cmd /c "$packagex86 /SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Installing $packagex86 ..."
Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
echo "Remove downloaded $packagex86 ..."
Remove-Item $packagex86
Write-Host "Remove downloaded $packagex86 ..."
Remove-Item -Path $packagex86
echo "Set $architecture environment variables ..."
[Environment]::SetEnvironmentVariable("OPENSSL_CONF_x86", "$installFolder\bin\openssl.cfg", "Machine")
[Environment]::SetEnvironmentVariable("OPENSSL_INCLUDE_x86", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("OPENSSL_LIB_x86", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
echo "OpenSSL = $version" >> ~/versions.txt
Write-Output "OpenSSL = $version" >> ~/versions.txt

View File

@@ -40,7 +40,7 @@ $version = "9.1.9-1"
$packagex64 = "C:\Windows\temp\postgresql-$version-windows-x64-binaries.zip"
$packagex86 = "C:\Windows\temp\postgresql-$version-windows-binaries.zip"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
# Install x64 bit versions
$architecture = "x64"
$installFolder = "C:\Utils\postgresql\pgsql"
@@ -48,18 +48,17 @@ if( (is64bitWinHost) -eq 1 ) {
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip"
$sha1 = "4da0453cdfda335e064d4437cf5bb9d356054cfd"
echo "Fetching from URL ..."
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
Verify-Checksum $packagex64 $sha1
echo "Installing $packagex64 ..."
Write-Host "Installing $packagex64 ..."
Extract-Dev-Folders-From-Zip $packagex64 "pgsql" $installFolder
echo "Remove downloaded $packagex64 ..."
Remove-Item $packagex64
Write-Host "Remove downloaded $packagex64 ..."
Remove-Item -Path $packagex64
echo "Set $architecture environment variables ..."
[Environment]::SetEnvironmentVariable("POSTGRESQL_INCLUDE_x64", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("POSTGRESQL_LIB_x64", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\lib"
}
# Install x86 bit version
@@ -67,26 +66,24 @@ $architecture = "x86"
$externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-binaries.zip"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip"
$sha1 = "eb4f01845e1592800edbb74f60944b6c0aca51a9"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$installFolder = "C:\Utils\postgresql$architecture\pgsql"
}
else {
} else {
$installFolder = "C:\Utils\postgresql\pgsql"
}
echo "Fetching from URL..."
Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $packagex86
Verify-Checksum $packagex86 $sha1
echo "Installing $packagex86 ..."
Write-Host "Installing $packagex86 ..."
Extract-Dev-Folders-From-Zip $packagex86 "pgsql" $installFolder
echo "Remove downloaded $packagex86 ..."
Remove-Item $packagex86
Write-Host "Remove downloaded $packagex86 ..."
Remove-Item -Path $packagex86
echo "Set $architecture environment variables ..."
[Environment]::SetEnvironmentVariable("POSTGRESQL_INCLUDE_x86", "$installFolder\include", "Machine")
[Environment]::SetEnvironmentVariable("POSTGRESQL_LIB_x86", "$installFolder\lib", "Machine")
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\lib"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
echo "PostgreSQL = $version" >> ~/versions.txt
Write-Output "PostgreSQL = $version" >> ~/versions.txt

View File

@@ -36,11 +36,10 @@
# Python is required for building Qt 5 from source.
$version = "2.7.13"
if( (is64bitWinHost) -eq 1 ) {
if (Is64BitWinHost) {
$arch = ".amd64"
$sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
}
else {
} else {
$arch = ""
$sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
}
@@ -48,19 +47,25 @@ $package = "C:\Windows\temp\python-$version.msi"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version" + $arch + ".msi"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\python-$version" + $arch + ".msi"
echo "Fetching from URL..."
Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
cmd /c "msiexec /passive /i $package ALLUSERS=1"
Write-Host "Installing $package..."
Run-Executable "msiexec" "/passive /i $package ALLUSERS=1"
# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
echo "Chancing allowZip64 value to 'True'..."
Write-Host "Changing allowZip64 value to 'True'..."
(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
echo "Remove $package..."
del $package
Write-Host "Remove $package..."
Remove-Item -Path $package
Add-Path "C:\Python27;C:\Python27\Scripts"
C:\Python27\python.exe -m ensurepip
Run-Executable "C:\Python27\python.exe" "-m ensurepip"
# Install python virtual env
C:\Python27\Scripts\pip.exe install virtualenv
#if (isProxyEnabled) {
# Write-Host "Using proxy with pip"
# $pip_args = "--proxy=" + (getProxy)
#}
Run-Executable "C:\Python27\Scripts\pip.exe" "install virtualenv"

View File

@@ -32,7 +32,6 @@
##
#############################################################################
param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
@@ -43,28 +42,31 @@ $package = "C:\Windows\temp\python-$version.exe"
$install_path = "C:\Python36"
# check bit version
if ( $archVer -eq 64 ) {
echo "Running in 64 bit system"
if (Is64BitWinHost) {
Write-Host "Running in 64 bit system"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/python-$version-amd64.exe"
$sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff"
}
else {
} else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/python-$version.exe"
$sha1 = "76c50b747237a0974126dd8b32ea036dd77b2ad1"
}
echo "Fetching from URL..."
Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
cmd /c "$package /q TargetDir=$install_path"
echo "Remove $package..."
del $package
Write-Host "Installing $package..."
Run-Executable "$package" "/q TargetDir=$install_path"
Write-Host "Remove $package..."
Remove-Item -Path $package
[Environment]::SetEnvironmentVariable("PYTHON3_PATH", "$install_path", [EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("PIP3_PATH", "$install_path\Scripts", [EnvironmentVariableTarget]::Machine)
Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
# Install python virtual env
cmd /c "$install_path\Scripts\pip3.exe install virtualenv"
#if (isProxyEnabled) {
# Write-Host "Using proxy with pip"
# $pip_args = "--proxy=" + (getProxy)
#}
Run-Executable "$install_path\Scripts\pip3.exe" "install virtualenv"

View File

@@ -0,0 +1,61 @@
#############################################################################
##
## 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$
##
#############################################################################
$n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt"
$n = $n.Split('=')
New-Variable -Name $n[0] -Value $n[1]
if (([string]::IsNullOrEmpty($proxy)) -or ($proxy -eq '""')) {
Write-Host "No proxy is defined."
} else {
Write-Host "Checking proxy @ $proxy"
$proxy = $proxy -replace '"', ""
$webclient = New-Object System.Net.WebClient
$proxy_obj = New-Object System.Net.WebProxy($proxy)
$webclient.proxy = $proxy_obj
try {
$webpage = $webclient.DownloadData("http://proxy.intra.qt.io")
} catch {
$ErrorMessage = $_.Exception.Message
$FailedItem = $_.Exception.ItemName
$iserror = $true
}
if ($iserror -eq $true) {
Write-Host "Testing download with proxy does not work: $ErrorMessage, $FailedItem. Not setting proxy."
} else {
Write-Host "Setting proxy to: $proxy"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -Value "$proxy"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 1
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride -Value 10.215
}
}

View File

@@ -33,13 +33,18 @@
. "$PSScriptRoot\helpers.ps1"
# This script will install squish package for Windows.
# Squish is need by Release Test Automation (RTA)
# NOTE! Make sure 64bit versions are always installed before 32bit,
# because they use same folder name before a rename
$version = "6.3.0"
# 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
# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
$targetDir = "C:\Utils\squish"
$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
$squishBranchUrl = "$squishUrl\$qtBranch"
@@ -49,115 +54,73 @@ $licensePackage = ".squish-3-license"
$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
# This can be removed when using vanilla os
if((Test-Path -Path "$targetDir" )){
try {
echo "Renaming old Squish"
echo "Rename-Item -ErrorAction 'Stop' $targetDir $targetDir_deleted"
Rename-Item -ErrorAction 'Stop' "$targetDir" squish_deleted
} catch {}
}
Function DownloadAndInstallSquish {
Param (
[string]$version,
[string]$squishBranchUrl,
[string]$qtBranch,
[string]$bit,
[string]$targetDir,
[string]$squishPackage
)
$SquishUrl = $squishBranchUrl + "\squish-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe"
$SquishInstaller = "$targetDir\$squishPackage.exe"
$SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage"
$Command = "$SquishInstaller $SquishParameters"
echo "Fetching from URL ..."
Write-Host "Fetching from URL $squishUrl"
Copy-Item "$SquishUrl" "$SquishInstaller"
echo "Installing Squish"
Execute-Command $Command
remove-item $SquishInstaller
Write-Host "Installing Squish"
Run-Executable "$SquishInstaller" "$SquishParameters"
Remove-Item -Path $SquishInstaller
if ("$bit" -eq "win64") {
if ($squishPackage.StartsWith("mingw")) {
$squishPackage64bit = "mingw_64"
} else {
$squishPackage64bit = "$squishPackage`_64"
}
Rename-Item $targetDir\$squishPackage $targetDir\$squishPackage64bit
} else {
if ($squishPackage.StartsWith("mingw")) {
Rename-Item $targetDir\$squishPackage $targetDir\mingw
}
}
}
Function DownloadSquishLicence {
Param (
[string]$licensePackage,
[string]$squishUrl,
[string]$targetDir
[string]$squishUrl
)
# This can be removed when using vanilla os
if ($Env:SQUISH_LICENSEKEY_DIR)
{
echo "Removing SQUISH_LICENSEKEY_DIR env variable"
Remove-Item Env:\SQUISH_LICENSEKEY_DIR
}
echo "Installing Squish license to home directory"
Write-Host "Installing Squish license to home directory"
Copy-Item $squishUrl\$licensePackage ~\$licensePackage
}
echo "Creating $targetDir"
Write-Host "Creating $targetDir"
New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
DownloadSquishLicence $licensePackage $squishUrl $targetDir
DownloadSquishLicence $squishUrl
if(($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 8.1 Enterprise"))
{
# Squish for Visual Studio 2015
$squishPackage = "msvc14"
$squishPackage64bit = "msvc14_64"
if ($OSVersion -eq "Windows 10 Enterprise") {
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
{
echo "Installing $squishPackage_64"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 msvc14
}
DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
DownloadAndInstallSquish $version win32 "msvc14"
echo "Installing $squishPackage"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackage
}
if($OSVersion -eq "Windows 8.1 Enterprise")
{
# Squish for Visual Studio 2013
$squishPackage64bit = "msvc12_64"
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
{
echo "Installing $squishPackage_64"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
}
else
{
echo "Change secret file to normal one"
attrib -h C:\Users\qt\.squish-3-license
}
}
else
{
# Windows 7
# Squish for MinGW
$squishPackageMingw = "mingw_gcc53_posix_dwarf"
echo "Installing $squishPackageMingw"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackageMingw
mv $targetDir\$squishPackageMingw $targetDir\mingw
# Squish for Visual Studio 2015
$squishPackage = "msvc14"
$squishPackage64bit = "msvc14_64"
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
{
echo "Installing $squishPackage64bit"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
}
} elseif ($OSVersion -eq "Windows 8.1 Enterprise") {
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 "msvc12"
DownloadAndInstallSquish $version win64 "msvc14"
}
DownloadAndInstallSquish $version win32 "msvc14"
} elseif ($OSVersion -eq "Windows 7 Enterprise") {
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 "msvc12"
DownloadAndInstallSquish $version win64 "msvc14"
}
DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
DownloadAndInstallSquish $version win32 "msvc14"
}

View File

@@ -0,0 +1,41 @@
#############################################################################
##
## 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$
##
#############################################################################
Write-Host "Disabling proxy"
$dcs = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections").DefaultConnectionSettings
$dcs[8] = $_ -band 0xF7
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" -Name DefaultConnectionSettings -Value $dcs
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride

View File

@@ -32,21 +32,18 @@
##
#############################################################################
param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1"
# This script installs Visual C++ Redistributable for Visual Studio 2015
# This is a dependency of the current python3 version
# check bit version
if ( $archVer -eq 64 ) {
echo "Running in 64 bit system"
if (Is64BitWinHost) {
Write-Host "Running in 64 bit system"
$arch = "x64"
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x64.exe"
$sha1 = "3155cb0f146b927fcc30647c1a904cd162548c8c"
}
else {
} else {
$arch = "x86"
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x86.exe"
@@ -55,10 +52,10 @@ else {
$package = "C:\Windows\temp\vc_redist.$arch.exe"
echo "Fetching from URL..."
Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
Start-Process -FilePath $package -ArgumentList "/q" -Wait
echo "Remove $package..."
del $package
Write-Host "Installing $package..."
Run-Executable $package "/q"
Write-Host "Remove $package..."
Remove-Item -Force -Path $package

View File

@@ -40,9 +40,9 @@ $url_cache = "\\ci-files01-hki.ci.local\provisioning\windows\VulkanSDK-" +$versi
$vulkanPackage = "C:\Windows\Temp\vulkan-installer-$version.exe"
Copy-Item $url_cache $vulkanPackage
cmd /c "$vulkanPackage /S"
Run-Executable $vulkanPackage "/S"
echo "Cleaning $vulkanPackage.."
Remove-Item -Recurse -Force "$vulkanPackage"
Write-Host "Cleaning $vulkanPackage.."
Remove-Item -Recurse -Force -Path "$vulkanPackage"
echo "Vulkan SDK = $version" >> ~\versions.txt
Write-Output "Vulkan SDK = $version" >> ~\versions.txt

View File

@@ -3,14 +3,12 @@
# In order to run auto tests for UWP, we have to enable developer mode on Windows 10 machines.
# https://docs.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development
if ([environment]::Is64BitOperatingSystem) {
. "$PSScriptRoot\helpers.ps1"
if (Is64BitWinHost) {
$bitness = "/reg:64"
} else {
$bitness = "/reg:32"
}
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /V AllowDevelopmentWithoutDevLicense /T REG_DWORD /D 1 /F $bitness
if ($LastExitCode -ne 0) {
Write-Host "Could not enable Developer Mode."
exit 1
}
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock`" /V AllowDevelopmentWithoutDevLicense /T REG_DWORD /D 1 /F $bitness"

View File

@@ -1,10 +1,11 @@
. "$PSScriptRoot\helpers.ps1"
$zip = "c:\users\qt\downloads\winrtrunner.zip"
$url = "http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrunner.zip"
Invoke-WebRequest -UseBasicParsing http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrunner.zip -OutFile $zip
Download $url $url $zip
Verify-Checksum $zip "C19098A4C9DBD20EDEB4E5E0D3E6A5BBBCA73C42"
Extract-Zip $zip C:\Utils\winrtrunner
Remove-Item $zip
Remove-Item -Path $zip
[Environment]::SetEnvironmentVariable("CI_WINRTRUNNER_PATH", "C:\Utils\winrtrunner", "Machine")
Set-EnvironmentVariable "CI_WINRTRUNNER_PATH" "C:\Utils\winrtrunner"

View File

@@ -1,3 +1,4 @@
. "$PSScriptRoot\helpers.ps1"
# Disable the windows search indexing service
sc.exe config WSearch start= disabled
Run-Executable "sc.exe" "config WSearch start= disabled"

View File

@@ -37,6 +37,6 @@ set -ex
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
if [ "$proxy" != "" ]; then
if [ "$http_proxy" != "" ]; then
echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
fi

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
package="epel-release-6-8.noarch.rpm"
primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package"
sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a"
targetFile="/tmp/$package"
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
sudo rpm -ivh "$targetFile"
rm "$targetFile"

View File

@@ -7,11 +7,6 @@ set -ex
sudo yum install -y python-devel python-virtualenv
# install the EPEL repository which provides python3
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh epel-release-latest-6.noarch.rpm
sudo rm -f epel-release-latest-6.noarch.rpm
# install python3
sudo yum install -y python34-devel

View File

@@ -36,7 +36,6 @@
set -ex
BASEDIR=$(dirname "$0")
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
source $BASEDIR/../common/shared/network_test_server_ip.txt
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
@@ -50,7 +49,3 @@ export DISPLAY=:0
gsettings set org.gnome.desktop.screensaver lock-enabled false
# disable blank screen power saving
gsettings set org.gnome.desktop.session idle-delay 0
if [ "$proxy" != "" ]; then
echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
fi

View File

@@ -35,4 +35,42 @@
set -ex
sudo subscription-manager repos --enable rhel-workstation-rhscl-7-rpms
echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
sudo systemctl stop packagekit
sudo systemctl disable packagekit
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-7-workstation-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-7-workstation-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 7 Workstation (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-7-workstation-optional-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-7-workstation-optional-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 7 Workstation - Optional (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-workstation-rhscl-7-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-workstation-rhscl-7-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Workstation
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
sudo yum clean all
# As well as this fetching the repository data, we also get a printout of the used repos
sudo yum repolist

View File

@@ -35,7 +35,6 @@
set -ex
sudo yum-config-manager --enable rhel-server-rhscl7-rpms
sudo yum -y install devtoolset-4
echo "source /opt/rh/devtoolset-4/enable" >> ~/.bashrc

View File

@@ -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$
##
#############################################################################
set -ex
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
package="epel-release-7-11.noarch.rpm"
primaryUrl="https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/$package"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/$package"
sha1="5512b80e5b71f2370d8419fa16a0bc14c5edf854"
targetFile="/tmp/$package"
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
sudo rpm -ivh "$targetFile"
rm "$targetFile"

View File

@@ -48,7 +48,6 @@ installPackages+=(mesa-libGL-devel)
installPackages+=(libxkbfile-devel)
# Xinput2
installPackages+=(libXi-devel)
installPackages+=(python-devel)
installPackages+=(mysql-server)
installPackages+=(mysql)
installPackages+=(mysql-devel)
@@ -61,11 +60,13 @@ installPackages+=(gstreamer1-plugins-base-devel)
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusb-devel)
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
installPackages+=(speech-dispatcher-devel)
# Python
installPackages+=(python-devel python-virtualenv)
# Python 2.7 with python-devel, pip and virtualenv
installPackages+=(python27)
# Python 3 with python-devel, pip and virtualenv
installPackages+=(rh-python36)
# WebEngine
installPackages+=(bison)
installPackages+=(flex)
@@ -86,6 +87,13 @@ installPackages+=(bluez-libs-devel)
# QtWebKit
installPackages+=(libxml2-devel)
installPackages+=(libxslt-devel)
# For building Wayland from source
installPackages+=(libffi-devel)
sudo yum -y update
sudo yum -y install "${installPackages[@]}"
# Make python 2.7 and its pip default
echo "source scl_source enable python27" >> ~/.bashrc
sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3
sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3

View File

@@ -35,21 +35,9 @@
set -ex
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
name="p7zip"
version="7-11"
package="epel-release-$version.noarch.rpm"
primaryUrl="https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/$package"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/$package"
sha1="5512b80e5b71f2370d8419fa16a0bc14c5edf854"
targetFile="/tmp/$package"
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
sudo rpm -ivh "$targetFile"
sudo yum -y install "$name"
sudo rm "$targetFile"
# Link 7za to 7z so we can use existing installation scripts
sudo ln -s /usr/bin/7za /usr/bin/7z

View File

@@ -32,6 +32,7 @@
## $QT_END_LICENSE$
##
#############################################################################
set +e
source /opt/rh/devtoolset-4/enable

View File

@@ -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.
@@ -37,27 +37,27 @@ set -ex
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
packageEpel="epel-release-latest-7.noarch.rpm"
OfficialUrl="https://dl.fedoraproject.org/pub/epel/$packageEpel"
CachedUrl="http://ci-files01-hki.intra.qt.io/input/redhat/$packageEpel"
SHA1="5512b80e5b71f2370d8419fa16a0bc14c5edf854"
version=1.12.0
sha1="9a0dd96f53fff3e227035ed76caaa209b632ea8d"
archive="wayland-$version.tar.xz"
primaryUrl="https://wayland.freedesktop.org/releases/$archive"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/wayland/$archive"
DownloadURL $OfficialUrl $CachedUrl $SHA1 ./$packageEpel
sudo rpm -Uvh $packageEpel
sudo rm -f $packageEpel
echo "Installing Wayland $version $sha1 on RHEL"
# install python3
sudo yum install -y python34-devel
targetFile="/tmp/$archive"
DownloadURL $primaryUrl $cacheUrl $sha1 $targetFile
tar xf $targetFile --directory /tmp/
rm $targetFile
# install pip3
packagePip="get-pip.py"
OfficialUrlPip="https://bootstrap.pypa.io/$packagePip"
CachedUrlPip="http://ci-files01-hki.intra.qt.io/input/redhat/$packagePip"
SHA1Pip="3d45cef22b043b2b333baa63abaa99544e9c031d"
DownloadURL $OfficialUrlPip $CachedUrlPip $SHA1Pip ./$packagePip
sudo python3 $packagePip
sudo rm -f $packagePip
sudo pip3 install virtualenv
cd /tmp/wayland-$version
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--disable-static \
--disable-documentation
make
sudo make install
rm -rf /tmp/wayland-$version
echo "wayland = $version" >> ~/versions.txt

View File

@@ -0,0 +1,61 @@
#!/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/unix/DownloadURL.sh"
version="17.0.1-6.20170307.wayland"
wayland_egl_rpm="mesa-libwayland-egl-$version.el7.x86_64.rpm"
wayland_egl_sha1="0a42fddd9a58c0bcd93efdaf84fd54b872f050d0"
wayland_egl_devel_rpm="mesa-libwayland-egl-devel-$version.el7.x86_64.rpm"
wayland_egl_devel_sha1="3ece8768e6bdd8603ce15d75f3b80895da038f15"
mirror1="http://ci-files01-hki.intra.qt.io/input/wayland"
mirror2=$mirror1
echo "Installing libwayland-egl development packages on RHEL"
# We're installing the packages with `--nodeps` because we've already installed
# the Wayland libraries, but not through the package manager.
DownloadURL $mirror1/$wayland_egl_rpm $mirror2/$wayland_egl_rpm $wayland_egl_sha1 /tmp/$wayland_egl_rpm
sudo rpm -i --nodeps /tmp/$wayland_egl_rpm
rm /tmp/$wayland_egl_rpm
DownloadURL $mirror1/$wayland_egl_devel_rpm $mirror2/$wayland_egl_devel_rpm $wayland_egl_devel_sha1 /tmp/$wayland_egl_devel_rpm
sudo rpm -i --nodeps /tmp/$wayland_egl_devel_rpm
rm /tmp/$wayland_egl_devel_rpm
echo "mesa-libwayland-egl = $version" >> ~/versions.txt

View File

@@ -37,61 +37,25 @@
set -ex
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
NTS_IP=10.212.2.216
ExceptionGsettings1=100
ExceptionGsettings2=101
ExceptionGsettings3=102
ExceptionNTS=103
ExceptionProxy=104
echo "Set timezone to UTC."
sudo timedatectl set-timezone Etc/UTC
echo "Timeout for blanking the screen (0 = never)"
gsettings set org.gnome.desktop.session idle-delay 0
echo "Prevents screen lock when screesaver goes active."
gsettings set org.gnome.desktop.screensaver lock-enabled false
echo "Disable questions on shutdown."
gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
echo "Set grub timeout to 0"
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
sudo update-grub
try
(
echo "Set timezone to UTC."
sudo timedatectl set-timezone Etc/UTC || throw $ExceptionTimezone
echo "Timeout for blanking the screen (0 = never)"
gsettings set org.gnome.desktop.session idle-delay 0 || throw $ExceptionGsettings1
echo "Prevents screen lock when screesaver goes active."
gsettings set org.gnome.desktop.screensaver lock-enabled false || throw $ExceptionGsettings2
echo "Disable questions on shutdown."
gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true || throw $ExceptionGsettings3
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 || throw $ExceptionNTS
if [ "$proxy" != "" ]; then
echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf || throw $ExceptionProxy
fi
)
catch || {
case $ex_code in
$ExceptionTimezone)
echo "Failed to set timezone to UTC"
exit 1;
;;
$ExceptionGsettings1)
echo "Failed to disable black screen."
exit 1;
;;
$ExceptionGsettings2)
echo "Failed to prevent screen lock."
exit 1;
;;
$ExceptionGsettings3)
echo "Failed to disable questions on shutdown."
exit 1;
;;
$ExceptionNTS)
echo "Failed to set network teset server address into /etc/hosts."
exit 1;
;;
$ExceptionProxy)
echo "Failed to set proxy /etc/apt/apt.conf."
exit 1;
;;
esac
}
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
if [ "$http_proxy" != "" ]; then
echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
fi

View File

@@ -37,138 +37,127 @@
set -ex
source "${BASH_SOURCE%/*}/../common/unix/try_catch.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
ExceptionAPTUpdate=100
ExceptionAPT=101
ExceptionSED=102
# aptdaemon is used by update notifiers and similar and there is no point in having those (the symptom is aptd holding a lock)
for i in `seq 10`; do
echo attempting to remove aptdaemon
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y remove aptdaemon || true
# check that aptdaemon is no longer installed
which aptd > /dev/null || break
if [[ $i -eq 10 ]]; then
exit 1
fi
sleep 10
done
try
(
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 || throw $ExceptionSED
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
# 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)
# Needed to be able to build Yocto
installPackages+=(chrpath)
installPackages+=(gawk)
installPackages+=(texinfo)
# 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+=(libopenal-dev)
installPackages+=(libbluetooth-dev)
#VirtualBox for RTA
installPackages+=(virtualbox)
installPackages+=(dkms)
# 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)
# python2 development package
installPackages+=(python-pip)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
installPackages+=(python3-virtualenv)
# Needed to be able to build Yocto
installPackages+=(chrpath)
installPackages+=(gawk)
installPackages+=(texinfo)
# 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+=(libopenal-dev)
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[@]}" || throw $ExceptionAPT
)
catch || {
case $ex_code in
$ExceptionAPTUpdate)
echo "Failed to run APT update."
exit 1;
;;
$ExceptionAPT)
echo "Failed to install package."
sudo lsof /var/lib/dpkg/lock
exit 1;
;;
$ExceptionSED)
echo "Failed to disable auto update."
exit 1;
;;
esac
}
echo "Running update for apt"
sudo apt-get update
echo "Installing packages"
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"

View File

@@ -94,4 +94,10 @@ sed $QEMU_FONTCONFFILE -e "s:/usr/share/fonts:$QEMU_FONTCONFPATH/fonts:" -i
sed $QEMU_FONTCONFFILE -e "s:/usr/local/share/fonts:$QEMU_FONTCONFPATH/local_fonts:" -i
# Set QEMU font configuration variables
SetEnvVar "QEMU_SET_ENV" "\"FONTCONFIG_FILE=$QEMU_FONTCONFFILE,FONTCONFIG_PATH=$QEMU_FONTCONFPATH\""
qemu_env="FONTCONFIG_FILE=$QEMU_FONTCONFFILE"
qemu_env="${qemu_env},FONTCONFIG_PATH=$QEMU_FONTCONFPATH"
# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
qemu_env="${qemu_env},QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""

View File

@@ -12,8 +12,12 @@ 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"
sudo zypper -nq remove plasma5-pk-updates
if [ "$proxy" != "" ]; then
if [ "$http_proxy" != "" ]; then
sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
fi

View File

@@ -0,0 +1 @@
../common/macos/sha1sum-compatibility.sh

View File

@@ -37,29 +37,19 @@ set -ex
# This script modified system settings for automated use
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
VNCPassword=qt
NTS_IP=10.212.2.216
ExceptionDisableScreensaver=100
ExceptionSetInitialDelay=101
ExceptionSetDelay=102
ExceptionVNC=103
ExceptionNTS=104
ExceptionDisableScreensaverPassword=105
echo "Disable Screensaver"
# For current session
defaults -currentHost write com.apple.screensaver idleTime 0
try
(
echo "Disable Screensaver"
# For current session
defaults -currentHost write com.apple.screensaver idleTime 0 || throw $ExceptionDisableScreensaver
echo "Disable sleep"
sudo pmset sleep 0 displaysleep 0
# For session after a reboot
mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver
(
cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
# For session after a reboot
mkdir -p "$HOME/Library/LaunchAgents"
cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -83,48 +73,17 @@ try
</dict>
</plist>
EOT
) || throw $ExceptionDisableScreensaver
defaults write com.apple.screensaver askForPassword -int 0 || throw $ExceptionDisableScreensaverPassword
defaults write com.apple.screensaver askForPassword -int 0
echo "Set keyboard type rates and delays"
# normal minimum is 15 (225 ms)
defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay
# normal minimum is 2 (30 ms)
defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay
echo "Set keyboard type rates and delays"
# normal minimum is 15 (225 ms)
defaults write -g InitialKeyRepeat -int 15
# normal minimum is 2 (30 ms)
defaults write -g KeyRepeat -int 2
echo "Enable remote desktop sharing"
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC
echo "Enable remote desktop sharing"
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
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 || throw $ExceptionNTS
)
catch || {
case $ex_code in
$ExceptionDisableScreensaver)
echo "Failed to disable screensaver."
exit 1;
;;
$ExceptionSetInitialDelay)
echo "Failed to set initial delay of keyboard."
exit 1;
;;
$ExceptionSetDelay)
echo "Failed to set delay of keyboard."
exit 1;
;;
$ExceptionVNC)
echo "Failed to enable VNC."
exit 1;
;;
$ExceptionNTS)
echo "Failed to set NTS."
exit 1;
;;
$ExceptionDisableScreensaverPassword)
echo "Failed to disable requiring of password after screensaver is enabled."
exit 1;
;;
esac
}
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

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR"/../common/macos/disable_update_downloads.sh

View File

@@ -39,7 +39,7 @@
set -ex
# shellcheck source=../common/unix/try_catch.sh
# shellcheck source=../common/macos/InstallPKGFromURL
source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"

View File

@@ -1,132 +1,3 @@
#!/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 installs JDK
set -ex
echo "Installing Java Development Kit"
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
ExceptionDownloadPrimaryUrl=100
ExceptionDownloadAltUrl=101
ExceptionSHA1=102
ExceptionAttachImage=103
ExceptionInstall=104
ExceptionDetachImage=105
ExceptionRemoveTmpFile=106
ExceptionDisableAutoUpdate=107
url=http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/jdk-8u102-macosx-x64.dmg
url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg
targetFile=/tmp/jdk-8u102-macosx-x64.dmg
expectedSha1=1405af955f14e32aae187b5754a716307db22104
try
(
try
(
echo "Downloading from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
)
catch || {
case $ex_code in
$ExceptionDownloadPrimaryUrl)
echo "Failed to download '$url' multiple times"
echo "Downloading tar.gz from alternative URL '$url_alt'"
curl --fail -L --retry 5 --retry-delay 5 -j -k -H "Cookie: oraclelicense=accept-securebackup-cookie" -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
;;
esac
}
echo "Checking SHA1 on '$targetFile'"
echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1
echo Mounting DMG
hdiutil attach "$targetFile" || throw $ExceptionAttachImage
echo Installing JDK
(cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /) || throw $ExceptionInstall
disk=`hdiutil info | grep '/Volumes/JDK 8 Update 102' | awk '{print $1}'`
hdiutil detach $disk || throw $ExceptionDetachImage
echo "Removing temporary file '$targetFile'"
rm "$targetFile" || throw $ExceptionRemoveTmpFile
echo "Disable auto update"
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false || throw $ExceptionDisableAutoUpdate
echo "JDK Version = 8 update 102" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionDownloadPrimaryUrl)
echo "Failed to download JDK from primary URL."
exit 1;
;;
$ExceptionDownloadAltUrl)
echo "Failed to download JDK from alternative URL."
exit 1;
;;
$ExceptionSHA1)
echo "Failed to check SHA1."
exit 1;
;;
$ExceptionAttachImage)
echo "Failed to attach image."
exit 1;
;;
$ExceptionInstall)
echo "Failed to install JDK."
exit 1;
;;
$ExceptionDetachImage)
echo "Failed to detach image."
exit 1;
;;
$ExceptionRemoveTmpFile)
echo "Failed to remove temporary file."
exit 1;
;;
$ExceptionDisableAutoUpdate)
echo "Failed to disable auto update."
exit 1;
;;
esac
}
BASEDIR=$(dirname "$0")
$BASEDIR/../common/macos/java.sh

View File

@@ -44,9 +44,6 @@
set -ex
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
# shellcheck source=../common/macos/install_xcode.sh
source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -ex
source "${BASH_SOURCE%/*}/../common/macos/python2.sh"

View File

@@ -39,8 +39,6 @@
set -ex
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
@@ -64,57 +62,23 @@ toolsSourceFile="$basePath/$toolsFile"
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
ExceptionUnzipTools=100
ExceptionUnzipNdk=101
ExceptionRmTools=102
ExceptionRmNdk=103
ExceptionSdkManager=104
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
try
(
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkSourceFile" -d "$targetFolder" || throw $ExceptionUnzipNdk
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
echo "Changing ownership of Android files."
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 "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" || throw $ExceptionSdkManager
SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionUnzipTools)
echo "Failed to unzip Android SDK Tools."
exit 1;
;;
$ExceptionUnzipNdk)
echo "Failed to unzip Android NDK."
exit 1;
;;
$ExceptionRmTools)
echo "Failed to remove temporary tools package '$toolsTargetFile'."
exit 1;
;;
$ExceptionRmNdk)
echo "Failed to remove temporary NDK package '$ndkTargetFile'."
exit 1;
;;
$ExceptionSdkManager)
echo "Failed to run sdkmanager."
exit 1;
;;
esac
}
SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt

View File

@@ -37,8 +37,6 @@
set -ex
# shellcheck source=../common/unix/try_catch.sh
source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh"
# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../common/unix/SetEnvVar.sh
@@ -54,68 +52,25 @@ opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44"
# QTQAINFRA-1195
opensslTargetLocation="/usr/local/opt/openssl"
ExceptionCD=100
ExceptionConfig=101
ExceptionMake=102
ExceptionInstall=103
ExceptionLN=104
ExceptionCertificate=105
ExceptionCleanup=106
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
try
(
InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
cd "/tmp/openssl-$opensslVersion" || throw $ExceptionCD
pwd
sudo ./config --prefix=/usr/local/openssl-$opensslVersion || throw $ExceptionConfig
echo "Running 'make' for OpenSSL"
sudo make --silent > /tmp/openssl_make.log 2>&1 || throw $ExceptionMake
echo "Running 'make install' for OpenSSL"
sudo make --silent install > /tmp/openssl_make_install.log 2>&1 || throw $ExceptionInstall
path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
sudo mkdir -p "$path"
sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation
path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
sudo mkdir -p "$path"
sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation || throw $ExceptionLN
SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
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
security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate
sudo rm -rf /tmp/openssl-$opensslVersion
sudo rm -rf /tmp/openssl-$opensslVersion || throw $ExceptionCleanup
echo "OpenSSL = $opensslVersion" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionCD)
echo "Failed to change directory to /tmp/openssl-$opensslVersion."
exit 1;
;;
$ExceptionConfig)
echo "Failed to run config for OpenSSL."
exit 1;
;;
$ExceptionMake)
echo "Failed to run 'make' for OpenSSL."
exit 1;
;;
$ExceptionInstall)
echo "Failed to run 'make install' for OpenSSL."
exit 1;
;;
$ExceptionLN)
echo "Failed to create a soft link for OpenSSL."
exit 1;
;;
$ExceptionCertificate)
echo "Failed to install Certificate for OpenSSL."
exit 1;
;;
$ExceptionCleanup)
echo "Failed to clean up /tmp/openssl-$opensslVersion."
exit 1;
;;
esac
}
echo "OpenSSL = $opensslVersion" >> ~/versions.txt

View File

@@ -35,45 +35,23 @@
# This script installs QNX 7.
# shellcheck source=../common/try_catch.sh
source "${BASH_SOURCE%/*}/../common/try_catch.sh"
targetFolder="/opt/"
sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip"
folderName="qnx700"
ExceptionExtract=100
ExceptionExtract2=101
sudo mkdir -p "$targetFolder"
echo "Extracting QNX 7"
sudo unzip -q "$sourceFile" -d "$targetFolder"
try
(
sudo mkdir -p "$targetFolder"
sudo chown -R qt:wheel "$targetFolder"/"$folderName"
echo "Extracting QNX 7"
sudo unzip -q "$sourceFile" -d "$targetFolder" || throw $ExceptionExtract
# Verify that we have last file in zip
if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
exit 1
fi
sudo chown -R qt:wheel "$targetFolder"/"$folderName"
# Verify that we have last file in zip
if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
throw $ExceptionExtract2
fi
# Set env variables
echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
echo "QNX SDP = 7.0.0" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionExtract)
echo "Failed to unzip QNX 7."
exit 1;
;;
$ExceptionExtract2)
echo "The last file in the zip did not get extracted."
exit 1;
;;
esac
}
# Set env variables
echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
echo "QNX SDP = 7.0.0" >> ~/versions.txt

View File

@@ -0,0 +1 @@
../common/macos/sha1sum-compatibility.sh

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR"/../common/macos/disable_update_downloads.sh

Some files were not shown because too many files have changed in this diff Show More