While Coin should also see exit codes != 0 as error, we should
stick to one way of handling script errors. As Power Shell cmdlets
signal an error by throwing an exception we should do the same
(and that approach also works in Coin).
Additionally extracting 7zip files was unified across scripts by
using the existing helper function instead of reinventing the wheel
again and again.
A similar helper function was introduced for starting an external
application (and handling its errors).
Also echo and other "cmd" commands were replaced by their PowerShell
equivalents to have a unified approach across our Windows provisioning
scripts.
Change-Id: I70129ce38692f1396c33c13b33a2918485fa5271
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
(cherry picked from commit cb6709ce5c)
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
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>
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>
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>
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)
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>
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>
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>
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)
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>
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)
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>
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>
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>
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)
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>
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>
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)
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>
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)
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>