Compare commits

...

50 Commits

Author SHA1 Message Date
Oliver Wolff
a37f4a2485 Windows 10: Enable developer mode
Developer mode is required by RTA for testing.

Change-Id: I4f20fb8d694d5148b7f976c1ef4bb23ff2fb57ba
(cherry picked from commit f51fd755b5)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:28 +00:00
Joni Jantti
34cf0234b9 Provisioning: Win10 - Add Squish for mingw53
RTA requires Squish for mingw53 on Windows 10 machines for testing.

Task-number: QTQAINFRA-1729
Change-Id: I42f2c6c62dd004ebc072835340ce24105cfac5e8
(cherry picked from commit 5e31866727)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:22 +00:00
Joni Jantti
18b2d88dd5 Provisioning: Win7-x86 - Add msvc14_x86 squish package
Squish is required by RTA testing.

Task-number: QTQAINFRA-1732
Change-Id: I8ab0b11ccc299cc0b10e59f99d1cf27c0cdd48b9
(cherry picked from commit f6f00fdce1)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:18 +00:00
Joni Jantti
0f25c861f8 Provisioning: win10_x86 - Disable automatic updates
Task-number: QTQAINFRA-1814
Change-Id: I69b4f57808fe039208d9a92d288a74a09148db39
(cherry picked from commit 3230cdb138)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:13 +00:00
Joni Jantti
2042fea677 Provisioning: Ubuntu 16.04 - QNX700
QNX 7.0 is required by RTA on Ubuntu.

Task-number: QTQAINFRA-1671
Task-number: QTQAINFRA-1914
Change-Id: I82821e096cfa2d35a2176eba6e753a0d71049b72
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit dc6c54cb2d)
2018-04-18 18:16:09 +00:00
Simo Fält
b74a5ac533 Revert "Install Python 2.7.13 to RHEL with pip"
This reverts commit 794913dde7,
which seems to break pyside builds. Instead we install python-pip
package from the EPEL repository.

Change-Id: Ic84680b0b0d6950d389bb42a6add18c83256f00f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 6a06c4b4fe)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:16:06 +00:00
Heikki Halmet
6f39655317 Provisioning: Upgrade pip to latest version
Latest pip version is not installed during python
installation. Pip need to be reinstalled after python
installation because older version of pip seems to cause
installation problems randomly at least with python 2.7

Task-number: QTQAINFRA-1902
Change-Id: If3d74130ecee6e410c64cad309feff9edc0e5db0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 2e6af2bba7)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-18 18:16:02 +00:00
Heikki Halmet
51e22677e8 Provisioning: Remove sha1 file after shasum check
Change-Id: Iee8e66d98e5ebd2dee18baf8e1752a86065417d1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit c79d285ffa)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-18 18:15:57 +00:00
Tony Sarajärvi
68884e38f8 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>
(cherry picked from commit daeaec9b3c)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-18 18:15:48 +00:00
Tony Sarajärvi
bced3b27e6 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>
(cherry picked from commit 794913dde7)
2018-04-18 18:15:44 +00:00
Tony Sarajärvi
afffd938c0 Remove duplicate python-devel provisioning from RHEL 7.x
Change-Id: I445135d675fa6b5cb305f6aadf5b754ab248a1ff
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit f1eca9bbff)
2018-04-18 18:15:39 +00:00
Tony Sarajärvi
9bcf5656a1 Make unzip less verbose in macOS
Change-Id: I83249f724ecbfeeb4fd5c1cd33a9c6195c590c4b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit ab021d4bb4)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:15:36 +00:00
Frederik Gladhorn
4ff6dd218a 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>
(cherry picked from commit 9ae91ae3f8)
2018-04-18 18:15:31 +00:00
Rainer Keller
836bc7c649 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>
(cherry picked from commit 9cb66c0114)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:15:27 +00:00
Tony Sarajärvi
0f10422f5d Disable background update checks in RHEL 7.x
Change-Id: If17fd47850be8b3a59ded7e0a543c9160f92b84c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit f6d18ec9b3)
2018-04-18 18:15:22 +00:00
Heikki Halmet
4b9ea4477d Provisioning: Fix java installation for mac
Change-Id: I3b6672e671720416af71631c2f9ce814f07e596a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit a6feaec287)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-18 18:15:17 +00:00
Tony Sarajärvi
a780f200a8 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>
(cherry picked from commit 1b5f8cec03)
2018-04-18 18:15:13 +00:00
Jędrzej Nowacki
71282805a5 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>
(cherry picked from commit bb9739773c)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:15:09 +00:00
Tony Sarajärvi
9497487c77 Remove try_catch codes from unix scripts
Change-Id: Iabadbf28c65132ae614048cb98e92f57e3786056
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 90261c1df5)
2018-04-18 18:15:04 +00:00
Heikki Halmet
6ef6267ab9 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>
(cherry picked from commit 23b4bcf6c5)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-18 18:15:00 +00:00
Tony Sarajärvi
fb55d5bc14 Set proxy on Windows VMs while provisioning
Task-number: QTQAINFRA-1669
Change-Id: Ia6b5b668051642a3729d7c7c83c69d8797045847
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 54d8396d68)
2018-04-18 18:14:41 +00:00
Tony Sarajärvi
41c372c010 Remove try_catch codes from common macOS scripts
Change-Id: I66291e2da5514499387b61e01ad85a652cd24d7b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit a98b0f3d79)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:14:37 +00:00
Tony Sarajärvi
34e9e68372 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>
(cherry picked from commit 2f9a2f65e5)
2018-04-18 18:14:32 +00:00
Matti Paaso
ee16738e1b 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>
(cherry picked from commit c3b33afc32)
2018-04-18 18:14:28 +00:00
Tony Sarajärvi
33b0b0751f 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>
(cherry picked from commit 250dd8c84e)
2018-04-18 18:14:22 +00:00
Tony Sarajärvi
be8d6ad1b7 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>
(cherry picked from commit 1c6abfae01)
2018-04-18 18:14:18 +00:00
Tony Sarajärvi
8aef7fc9c0 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>
(cherry picked from commit 4492fd3268)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-18 18:14:13 +00:00
Frederik Gladhorn
8c9174127a 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>
(cherry picked from commit b20224fe60)
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-04-18 18:14:09 +00:00
Jędrzej Nowacki
ac8a85582b 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>
(cherry picked from commit 8a47814c91)
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2018-04-18 18:14:04 +00:00
Rainer Keller
ea67572b4a 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>
(cherry picked from commit 04d1ee1df4)
2018-04-18 18:13:59 +00:00
Qt Submodule Update Bot
0c7588bae3 Update submodules on '5.9' in qt5
Change-Id: Ife627e898e8db611cfaea25892e615fb8ab1a36e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-18 18:13:40 +00:00
Liang Qi
0f7a4738a0 Merge remote-tracking branch 'origin/5.9.5' into 5.9
Change-Id: Iff18e567ab3b4568054e748347a11c20fc33bcdb
2018-04-15 15:50:47 +02:00
Qt Submodule Update Bot
0ef5baf70b Update submodules on '5.9' in qt5
Change-Id: I35c6ed46b3e4d9dd17615fcd8badec07489eb79a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-12 07:33:59 +00:00
Qt Submodule Update Bot
4fabcfd5d1 Update submodules on '5.9.5' in qt5
Change-Id: Ic65ec06baa9db9f59521b6ade093e4b41427577d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-04-10 19:13:49 +00:00
Qt Submodule Update Bot
e5d5e2aacb Update submodules on '5.9.5' in qt5
Change-Id: I31ba0df4dd95538fbe9893288c99b2a4df7b5e7c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-05 04:14:52 +00:00
Qt Submodule Update Bot
366ffa5dac Update submodules on '5.9' in qt5
Change-Id: I50a741ca3dd3770fbc455604de9e91c132b8fd12
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-30 17:12:27 +00:00
Tony Sarajärvi
1297fd0b4e 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>
(cherry picked from commit 863252be49)
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
2018-03-20 09:59:50 +00:00
Tony Sarajärvi
cc6592ef08 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>
(cherry picked from commit eebc0133f0)
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
2018-03-20 09:59:48 +00:00
Tony Sarajärvi
4a32f93d87 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>
(cherry picked from commit 64c79b27d6)
2018-03-20 09:59:46 +00:00
Tony Sarajärvi
d4c38f8da9 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>
(cherry picked from commit 209cb73a36)
2018-03-20 09:59:43 +00:00
Tony Sarajärvi
677524620d 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>
2018-03-17 12:05:27 +00:00
Qt Submodule Update Bot
1547283a3a Update submodules on '5.9' in qt5
Change-Id: I43b202ee47186605ee0bc45c8e1b72aedd5c9a46
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-17 10:23:05 +00:00
Qt Submodule Update Bot
6bc4d562c8 Update submodules on '5.9.5' in qt5
Change-Id: Ia5cb367e95fbb26756c1fa00b20e5638e62d5b5b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-15 05:30:23 +00:00
Liang Qi
015b9cb53a Merge remote-tracking branch 'origin/5.9' into 5.9.5
Change-Id: If1ad190a0a4688d0f85dcd334396c7012937851b
2018-03-14 21:57:09 +01:00
Qt Submodule Update Bot
a63aa1647c Update submodules on '5.9' in qt5
Change-Id: I00a05444ff7e4b0eaaf8de653222e9cf3eff525a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-03-13 13:34:45 +00:00
Tony Sarajärvi
07a4522087 Move MSVC2017 x86 builds to 64bit host OS
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>
(cherry picked from commit b85b272c26)
Change-Id: I0bd874ac3c7f216f0fccd4141964c630cd8f6e10
2018-03-12 12:55:07 +00:00
Kari Oikarinen
ef2315af73 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.

(cherry picked from commit 140c6479b5)
Change-Id: I978e9842b3f0ec3a355cd1724934c99a531903ef
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2018-03-01 14:32:38 +00:00
Oswald Buddenhagen
2644bebe4b Adjust submodule branches
Change-Id: If02707c6644b429ebc019ea0309b9cd8e17e9ff7
2018-03-01 12:15:06 +01:00
Qt Submodule Update Bot
137ed3408d Update submodules on '5.9' in qt5
Change-Id: I803674e2f243ccc2c084519c4b8a6cc77174aef5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-25 06:40:58 +00:00
Qt Submodule Update Bot
ac53509b31 Update submodules on '5.9' in qt5
Change-Id: Ic1f670ffa7196580a22f0fb893d06230bed42c21
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-02-23 06:31:30 +00:00
103 changed files with 826 additions and 1281 deletions

View File

@@ -3,7 +3,7 @@ Template Target OS Target arch Compiler Features
qtci-windows-8.1-x86_64 x86 MSVC2013 DebugAndRelease Release ForceDebugInfo OpenGLDynamic DisableTests
qtci-windows-8.1-x86_64 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic DisableTests
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 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-7-x86-3 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests

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,37 @@ 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 [ "$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" || 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"
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
}
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

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

@@ -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

@@ -1,5 +1,11 @@
#!/usr/bin/env bash
# Will install pip utility for python
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
rm get-pip.py
function InstallPip {
python=$1
# Will install pip utility for python
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo "$python" get-pip.py
rm get-pip.py
}

View File

@@ -35,8 +35,12 @@
# This script installs python2
# shellcheck source=./InstallPKGFromURL.sh
source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
# shellcheck source=./../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.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"
@@ -45,8 +49,11 @@ DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip /Library/Frameworks/Python.framework/Versions/2.7/bin/python
/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

@@ -36,8 +36,12 @@
# This script installs python3
# shellcheck source=./InstallPKGFromURL.sh
source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
# shellcheck source=./../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg"
AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
@@ -46,9 +50,12 @@ DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv
SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
echo "python3 = 3.6.1" >> ~/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,22 @@
# 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
rm -f $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

@@ -143,3 +143,11 @@ Function Execute-Command
exit 1
}
}
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

@@ -63,4 +63,8 @@ Add-Path "C:\Python27;C:\Python27\Scripts"
C:\Python27\python.exe -m ensurepip
# Install python virtual env
#if ( isProxyEnabled ) {
# echo "Using proxy with pip"
# $pip_args = "--proxy=" + (getProxy)
#}
C:\Python27\Scripts\pip.exe install virtualenv

View File

@@ -67,4 +67,8 @@ del $package
[Environment]::SetEnvironmentVariable("PIP3_PATH", "$install_path\Scripts", [EnvironmentVariableTarget]::Machine)
# Install python virtual env
#if ( isProxyEnabled ) {
# echo "Using proxy with pip"
# $pip_args = "--proxy=" + (getProxy)
#}
cmd /c "$install_path\Scripts\pip3.exe install virtualenv"

View File

@@ -0,0 +1,64 @@
#############################################################################
##
## 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 '""')) {
echo "No proxy is defined."
}
else {
echo "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) {
echo "Testing download with proxy does not work: $ErrorMessage, $FailedItem. Not setting proxy."
}
else {
echo "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

@@ -107,6 +107,12 @@ DownloadSquishLicence $licensePackage $squishUrl $targetDir
if(($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 8.1 Enterprise"))
{
# 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"
@@ -152,6 +158,9 @@ else
$squishPackage = "msvc14"
$squishPackage64bit = "msvc14_64"
echo "Installing $squishPackage"
DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackage
if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
{
echo "Installing $squishPackage64bit"

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$
##
#############################################################################
echo "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

@@ -0,0 +1,5 @@
# Turning on developer mode.
#
# 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
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /V AllowDevelopmentWithoutDevLicense /T REG_DWORD /D 1 /F

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 [ "$http_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

@@ -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,14 @@ 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"
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 $OfficialUrl $CachedUrl $SHA1 ./$packageEpel
sudo rpm -Uvh $packageEpel
sudo rm -f $packageEpel
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
# install python3
sudo yum install -y python34-devel
# 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
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 devel and pip. python-pip requires the EPEL repository to be added
installPackages+=(python-devel python-pip)
# Python 3 with python-devel, pip and virtualenv
installPackages+=(rh-python36)
# WebEngine
installPackages+=(bison)
installPackages+=(flex)
@@ -84,5 +85,11 @@ installPackages+=(glibc.i686)
# Enable Qt Bluetooth
installPackages+=(bluez-libs-devel)
sudo yum -y update
sudo yum -y install "${installPackages[@]}"
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
# We shouldn't use yum to install virtualenv. The one found from package repo is not
# working, but we can use installed pip
sudo pip install --upgrade pip
sudo pip install virtualenv

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

@@ -37,69 +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
ExceptionGrub=105
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 grub timeout to 0"
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub || throw $ExceptionGrub
sudo update-grub || throw $ExceptionGrub
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 [ "$http_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;
;;
$ExceptionGrub)
echo "Failed to set grub timeout."
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,134 +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)
# 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

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/env bash
#############################################################################
##
@@ -33,32 +33,6 @@
##
#############################################################################
echo "Sourcing try_catch.sh"
set -ex
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
}
source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"

View File

@@ -7,9 +7,6 @@ source $BASEDIR/../common/shared/network_test_server_ip.txt
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
echo "Set grub timeout to 0"
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
sudo update-grub
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

View File

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

View File

@@ -37,33 +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
ExceptionDisableSleep=106
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
echo "Disable sleep"
sudo pmset sleep 0 displaysleep 0 || throw $ExceptionDisableSleep
# 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">
@@ -87,53 +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;
;;
$ExceptionDisableSleep)
echo "Failed to disable sleep."
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

@@ -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

@@ -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

View File

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

View File

@@ -37,33 +37,19 @@
set -ex
# 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
ExceptionDisableSleep=106
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
echo "Disable sleep"
sudo pmset sleep 0 displaysleep 0 || throw $ExceptionDisableSleep
# 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">
@@ -87,54 +73,18 @@ 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;
;;
$ExceptionDisableSleep)
echo "Failed to disable sleep."
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.sh
source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/XZ.pkg"

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

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

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\set-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\set-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\set-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"

2
qt3d

Submodule qt3d updated: c40c7ac6b5...2970ef3dac

2
qtbase

Submodule qtbase updated: 58541d1c68...35a36ad478

2
qtdoc

Submodule qtdoc updated: de869e95fa...f9fcff9e78

2
qtqa

Submodule qtqa updated: 0d050f36dc...46daf8aac2

Submodule qtscxml updated: 0d6105563d...e5bfed810c

2
qtsvg

Submodule qtsvg updated: a2156af9ed...24273f154a

Submodule qttools updated: 99235a6262...0c112f5980

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