Commit Graph

80 Commits

Author SHA1 Message Date
Heikki Halmet
601a9d39b2 Provisioning: Install python modules needed by packaging
Needed by packaging scripts

Task-number: COIN-214
Change-Id: I3ac719800c3afd183996379f6c23fbe3f8bcf7cb
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2019-11-20 08:07:58 +02:00
Dimitrios Apostolou
c6a9b3cd68 Update previously committed patch to match the branch's platforms
Task-number: QTQAINFRA-3092
Change-Id: I598759f0624e478a07cfe3256cbeba2f2b8bfe02
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-10-15 12:41:00 +02:00
Dimitrios Apostolou
c4e14a59ec Move telegraf install to start of provisioning linux
Change-Id: Ia42b0c21f6e341a941e98d3abbda512cfb0fda92
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:43:00 +02:00
Dimitrios Apostolou
fbe3a8d84e Install telegraf on all provisioned VMs
Install binaries as early as possible in the provisioning process, and
start them, in order to monitor provisioning too.

To achieve this, some OS auto-detection logic is introduced in shell
script common.sourced.sh. The script can be sourced and used in all kind
of other generic scripts.

ioping is also installed from custom-compiled binaries in order to
monitor the disk latency of the VMs. Reason we don't use ioping from the
repositories, is that the units differ between ioping versions (new
ioping reports latencies in nanoseconds, old in microseconds).

Fixes: QTQAINFRA-3092
Change-Id: I9d9afb791955725d4bd0b32dae97dfc0bd4a76a3
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:31 +02:00
Tony Sarajärvi
049eb21a1d Replace RHEL 7.4 with 7.6 in the CI
Task-number: QTQAINFRA-2942
Change-Id: I4186a2961ce81eed7a7fd8994c4a10f35b8fad1c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-05-07 07:15:58 +00:00
Simo Fält
09f28e9e1d Provisioning: Install python36-devel to rhel 7.4
The rhel Python3 system package is missing development libs.

Fixes: PYSIDE-996
Change-Id: I3863c85ad04021dd0f0d4af4bae5917a6785a7e1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-25 12:58:28 +00:00
Heikki Halmet
65cf2cb957 Provisioning: Install Vulkan to Rhel 7.4
Enables Vulkan support at compile time

Task-number: QTBUG-72763
Change-Id: If97adb030d50a147c9714afe3ef360291904b58a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-04-25 09:29:05 +00:00
Tony Sarajärvi
b2afcc8405 Fix shellcheck complaints from provisioning scripts
Change-Id: I8d1ee4241d7e99269e8c717ceb2aecde3194c51a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-04-01 15:16:59 +00:00
Heikki Halmet
8ba5474da7 Provisioning: Install Google's Protocol Buffers
Protobuf is needed for Automotive Suite

Task-number: QTQAINFRA-2314
Change-Id: I12b4248f1de5aea88f573297a47b791b5b6296fb
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-01-29 12:10:57 +00:00
Juha Karjalainen
3332223130 Provisioning: breakpad for qt3dstudio
Breakpad https://chromium.googlesource.com/breakpad/breakpad/
sources are needed for qt3studio. Also Breakpad need sources for
https://chromium.googlesource.com/linux-syscall-support.

Task-number: QT3DS-2650
Change-Id: I13c7534e1c6e97a1e345dad3c2c82eeb6428313d
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-01-17 09:45:12 +00:00
Maurice Kalinowski
56c43a03cd Provisioning: Update Qt OpcUA backends
- Unified Automation SDK needs to be updated to 1.6x to reflect latest
API changes
- Open62541 is now inside 3rdparty of the Qt OpcUA module. Hence, no
need to provision it.

Change-Id: I96a3764053ca684fa71f9d49e998ebe0ce45a6ae
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
2019-01-09 09:57:35 +00:00
Juha Karjalainen
f4b482d844 Provision: install unixodbc-devel library
Adds odbc support for rhel7.

Task-number: QTBUG-72444
Change-Id: I49b1e91d9f87bdf98601627538aaa65b78440451
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-01-08 15:09:55 +00:00
Gatis Paeglis
22e5bda9a9 provisioning: RHEL-7.4 install xcb-util-* packages
We do install them on Ubuntu and openSUSE. Eventually we want to stop
using bundled xcb libraries. Currently all builds of Qt on Linux use
-qt-xcb switch (see coin/src/targetenvironments.py::LinuxTargetEnvironment),
which is the reason why things build fine, even when packages are not
present on the system.

Change-Id: I856ddb5a17768b347aec3e593d6b969109a5c3a3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-29 20:20:13 +00:00
Gatis Paeglis
d9a869707e provisioning: consistently install libxkbcommon* on linux distros
Ubuntu was the only distro that installed both of the required packages:

installPackages+=(libxkbcommon-dev)
installPackages+=(libxkbcommon-x11-dev)

RHEL 7.4 did not explicitly install any, but got libxkbcommon-dev
pulled in as gtk3 dependency. Extract from provisioning log:

--> Processing Dependency: pkgconfig(xkbcommon) >= 0.2.0 for package: gtk3-devel-3.22.30-3.el7.x86_64
---> Package libxkbcommon-devel.x86_64 0:0.7.1-1.el7 will be installed

openSUSE explicitly installed libxkbcommon-devel, but not libxkbcommon-x11-devel.

Qt official binaries are built on RHEL, where we do not have
libxkbcommon-x11-dev installed. This means that XCB plugin and
Compose input plugin would fallback to using bundled sources.
It was actually desired until now that XCB/Compose use the
bundled sources instead of linking with the library from the
system, but this was only a lucky side effect. If we had installed
libxkbcommon-x11-dev on RHEL, then Qt binaries would end up
linking with the libxkbcommon from the system, because of the
missing "-qt-xkbcommon" configre switch for release builds.
We won't bundle libxkbcommon anymore, hence we need to install
the missing dependencies, as done by this patch.

Change-Id: I5c7b8ac38c266ce81cb5a3189a9082bfd581ee31
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-11-29 20:19:57 +00:00
Heikki Halmet
abe69c34bb Provisioning: Install chrpath for Jenkins
Task-number: QTQAINFRA-2270
Change-Id: I5afd9c6682ff6acb040ee069f3d7a179260f71d3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-06 17:34:02 +00:00
Liang Qi
dada6497fb Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Iac3eb41931081588a08916ddce51dae977c6ef15
2018-09-12 21:50:27 +02:00
Dominik Holland
7fe274f6f6 Correctly use pip3 to setup a wheel cache for python3 packages on linux
Previously pip was used (instead of pip3) which caused that python2
packages were installed into the python3 wheel cache folder. Some of
the packages also worked for python3, but not all of them.

Task-number: AUTOSUITE-195
Change-Id: I393d036667b14e11dee65975ba6933e7174d0e9d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-05 05:53:59 +00:00
Tony Sarajärvi
413fcafc14 Change 'test suite' in license headers of prov scripts
Change-Id: I9687bcb15b26287ea6eeb2098079137d6e3fc288
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-04 08:28:58 +00:00
Heikki Halmet
c870b9b13f Provisioning: Disable mlocate from linux
No need to update the locate database

Task-number: QTQAINFRA-2099
Change-Id: Iae8bf26e4b04ff9c287e9e3f4cc6f492e74355e4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-03 19:38:37 +00:00
Liang Qi
d746bc3ea8 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh

Change-Id: If414fac20cc1cddd155a9f9c8048d0ad76ac54ef
2018-08-06 11:31:33 +02:00
Frederik Gladhorn
b6fd915b26 Remove packagekit (update notifications) from RHEL 7.4
PackageKit and gnome-software run in the background and at some point
will show popups to ask the user to update.

Change-Id: I99a3314c8788c7cc06e479718306a822bf255fbd
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-07-31 15:09:08 +00:00
Dominik Holland
f9f9e0944d Download and cache needed python wheels during provisioning
Instead of downloading the packages during the compile/configure
step setup a wheel cache folder during the provisioning phase

Task-number: AUTOSUITE-195
Change-Id: I465f1be7cdd351e7680dcd8ae22d5e97ddf8cb2d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-07-31 14:36:41 +00:00
Heikki Halmet
ecb01d283c Provisioning: Fetch icu from ci-files01 instead of master.qt.io
Change-Id: Ia27e68cb94ab0744ce11cfa74c90e118c1f0e4b3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-06-29 13:37:36 +00:00
Heikki Halmet
4a7366f960 Provisioning: Refactor libclang installation
Libclang must use cached url (ci-files01-hki) to reduce the download time
Libclang release_60 versions were rebuild which requires sha1 changes

Task-number: QTQAINFRA-1966
Task-number: QTQAINFRA-2100
Change-Id: Iddf47a2a3a5bc38dbed684320120164bb40c028c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-06-29 05:49:22 +00:00
Liang Qi
b1f1bf5560 Merge remote-tracking branch 'origin/5.11.0' into 5.11
Change-Id: Ia252225aa1339ac448dd726b149e08739c02dfc5
2018-05-09 22:12:22 +02:00
Tony Sarajärvi
889cdbf4a8 Fix shellcheck complaints for RHEL 7.x in provisioning scripts
Change-Id: I489f4f25d603457c8f0444ed277a162a7fd4128f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-04-29 16:12:00 +00:00
Tony Sarajärvi
ce1479c1d3 Provisioning: list installed packages in distro
Change-Id: I71bbfbfba034066cffd4cb1a9d781d386b1b6b9a
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-29 13:20:51 +00:00
Jędrzej Nowacki
c5ddbdb86b Update clang version to 6.0
The version also contains statically compiled libraries so we can
ship qdoc without shipping libclang.

The change temporarly removes CI qdoc builds from RHEL6 and MinGW,
these two configurations are not used for packaging, just for CI
testing. We should restore MinGW later.

Task-number: QTBUG-66015
Task-number: QTBUG-67764
Change-Id: Ie37b4be6a639e81d9ef0815682c6d60981cbeaae
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Fredrik de Vibe <fredrik.devibe@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-04-28 11:59:06 +00:00
Simo Fält
6a06c4b4fe 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>
2018-04-16 03:32:20 +00:00
Heikki Halmet
f9e9dd1393 Provisioning: Use wayland libs provided by distro
Redhat repositories includes needed wayland
libraries. Let's use those instead providing
those through provisioning.


Task-number: QTQAINFRA-1925
Change-Id: I543a6b9fb8876f64d4b9c17ef909b9c61129e62e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-15 05:55:42 +00:00
Tony Sarajärvi
daeaec9b3c Remove updating of RHEL 7.4 system during each provisioning
Yum update doesn't only fetch the repository data. It also runs
a distro upgrade. So if something gets updated that isn't
compatible with us, it breaks. It also slows down the provisioning
a lot.

Change-Id: I27136bc572fbce5410b82ff9574cf85bf89e3100
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-04-06 19:41:19 +00:00
Tony Sarajärvi
794913dde7 Install Python 2.7.13 to RHEL with pip
System's default Python is 2.7.5 and doesn't come
with pip at all. To install its pip, it would require us to
enable the EPEL repository and install it from there.

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

Change-Id: I083a970697a962ddb301616695c2cf419f1229f8
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:42 +00:00
Tony Sarajärvi
f1eca9bbff Remove duplicate python-devel provisioning from RHEL 7.x
Change-Id: I445135d675fa6b5cb305f6aadf5b754ab248a1ff
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:33 +00:00
Frederik Gladhorn
9ae91ae3f8 Update Python 3.4 to 3.6 in RHEL 7.x
Also install Python 3 through system packages instead
of some weird scripts.

Change-Id: Ie22e126a422bd6efe9b3030d5044f4c196894ca8
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-22 06:05:26 +00:00
Tony Sarajärvi
f6d18ec9b3 Disable background update checks in RHEL 7.x
Change-Id: If17fd47850be8b3a59ded7e0a543c9160f92b84c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-20 12:38:13 +00:00
Tony Sarajärvi
863252be49 Download get-pip primarily from our local cache
We should first download from our local cache,
and if that doesn't work, fetch it online.

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

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

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


Task-number: QTQAINFRA-1849
Change-Id: Ida4fb86d4bef166fc72e521e395d9753ec47a687
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-03-16 05:23:05 +00:00
Rainer Keller
9cb66c0114 Install RHEL EPEL only once
Installing twice will fail when preventing the +e injection bug
when fixing the try-catch issue.

Change-Id: I26a1b9fa235c44fe933f2f29016a80f57d47ed49
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-10 13:31:27 +00:00
Kari Oikarinen
140c6479b5 Install libusbx-devel for QDB on RHEL 7.4
On previous RHEL version the package was libusb1-devel. That package doesn't
seem to be there anymore, which presumably means why the package to install was
changed to libusb-devel. Unfortunately libusb-devel provides a compatibility
package for the old 0.1 API version and doesn't work with QDB. libusbx-devel
seems to be the new name for the 1.0 API version of libusb on RHEL.

Change-Id: I50a10bed0b73b536e5d591363f01d7cf6a3a69d7
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2018-02-27 13:47:58 +00:00
Johan Klokkhammer Helsing
08c88de5c8 Provisioning: Build and install Wayland 1.12.0 on RHEL 7.4
So QtWayland will be built and included in the installer.

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

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

Task-number: QTBUG-66341
Change-Id: I43bcc67f5fd112e0837d45da7df20bcb63bfd989
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-26 19:52:38 +00:00
Liang Qi
91739f5fe3 Merge remote-tracking branch 'origin/5.9' into 5.11
Conflicts:
	coin/provisioning/common/linux/open62541.sh
	coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
	coin/provisioning/qtci-macos-10.12-x86_64/40-qnx700.sh

Done-with: Maurice Kalinowski <maurice.kalinowski@qt.io>
Change-Id: Icd472b8f770a933bafead48093ecf7eb94156128
2018-02-20 22:33:59 +01:00
Heikki Halmet
404805141a Disable set -e when enabling devtoolset-4 environment variables
Change-Id: If427179da490f14963077cd733082258e354710f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-13 19:32:03 +00:00
Tony Sarajärvi
b4b62658ac Fix environment variable checking for proxy
Change-Id: Iec261d4ce4e84ba656edf9de52b4dc42d0249e51
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-07 06:30:44 +00:00
Frederik Gladhorn
a434f14bd9 Merge remote-tracking branch 'origin/5.10' into 5.11
Conflicts:
	coin/provisioning/common/linux/qnx_700.sh
	coin/provisioning/common/windows/libclang.ps1

Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: I7fe1337fb8a575083e8b649d1a051abc82e3b408
2018-01-29 14:06:05 +01:00
Frederik Gladhorn
485244b016 Merge remote-tracking branch 'origin/5.9' into 5.10.1
This was pushed directly, bypassing codereview.qt-project.org to get
provisioning back into a working state.

Change-Id: Ia5d2e6f7079162f571cd7c7994c0f2b3133b1163
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-29 13:34:28 +01:00
Heikki Halmet
00e31823d3 Provisioning: Attach subscription to system
Subscriptions need to be reattached when subscriptions have been
renewed by Red Hat.

Directly pushed to get provisioning into working shape.

Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Change-Id: I6e469d7fac3b848193f280702e1e807ce4ea096b
2018-01-29 13:31:17 +01:00
Heikki Halmet
462a2aae2b Provisioning: Add Squish provisioning for Release Test Automation
Squish is required by RTA for testing.

Task-number: QTQAINFRA-1523
Change-Id: I0c3653565f19cc9b798a0b63325c47b017cf5537
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2018-01-26 13:12:51 +00:00
Heikki Halmet
dc5f851e78 Provisioning: Add common shared folder
Common shared folder includes scripts of files which are common for all
operating system families. Changes under shared folder will trigger
provisioning for all platforms

Change-Id: I0789f87b76876d5f92673fe2f0e72d770e5f5ea4
Task-number: QTQAINFRA-1451
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-26 13:12:47 +00:00