Commit Graph

30 Commits

Author SHA1 Message Date
Paul Wicking
3964060835 Update libclang for QDoc to 18.1.7
* Update the version variable used to identify the correct libclang
  package for download and cache sites.
* Add provisioning package locations for Ubuntu 24.04 ARM64.
* Update SHA1 for provisioning packages on all platforms.

Fixes: QTBUG-126412
Task-number: QTQAINFRA-6112
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit ee8e66fd2a)
2024-08-22 07:23:55 +02:00
Luca Di Sera
1b97371ea0 Update QDoc libclang to 17.0.6
The version variable that is used to define the packages to download was
updated to reflect the new version.

A new case was added for the new "Debian11" on "arm64" package which was
not a provisioned package on older version but is now provided.
As "Debian11" was not currenly loading "libclang.sh", a new script that
performs this process was added to
"coin/provisioning/qtci-linux-Debian-11.6-aarch64".

The newly sourced "libclang.sh" includes
"coin/provisiong/common/unix/common.sourced.sh", which sets up certain
common variables such as the used architecture and the platform id.
When "common.sourced.sh" sets "PROVISION_ARCH", that contains the
current platform architecture, it fails if the platform architecture is
not supported.

For "Debian11" on "arm64", the architecture, as reported by "uname -m"
is "aarch64", which is equivalent to "arm64".
"aarch64" was not handled by the script, so that a platform with that
architecture would result in a fail when sourcing "common.sourced.sh".

To avoid the failure, the case that sets "PROVISIONING_ARCH" to "arm64"
will not trigger when the reported architecture is "aarch64".

The specialized RedHat case was update to work specifically for version
9, to use the new specifically built package for Rhel9.2.

The default case, previously using an "ubuntu20.04" package, was
modified to use a "Rhel8.8" package.
A package for "Ubuntu20.04" is not currently provided anymore as the
platform was removed from CI and the new "22.04" package is not
compatible with all the platforms that would use it.

In particular, the new packages are built on a too new glibc, which will
then fail to link, due to undefined symbols in the produced Clang
libraries, when used on older-glibc platforms such as "OpenSuse15" and
"Rhel8.8".

The "Rhel8.8" package was specifically used as the platform for the
default package as it ships the older glibc, "2.28", of the supported
platforms, which should ensure that it works on the older-version platforms.

The "sha1" variables for cached downloads was updated to reflect the new
packages.

For provisioning on windows, the version variable and the sha1 variables
were updated to reflect the new version and the new packages, respectively.

Pick-to: 6.7
Task-number: QTBUG-111580
Task-number: QTBUG-121548
Change-Id: Ie7c1a8d8fe9114912d53a87f70ebfa00341a9d8a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
(cherry picked from commit 9975595a5e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-13 23:35:00 +00:00
Michael Brüning
92969b10f5 Use SetEnvVar instead of appending .bash_profile with LLVM variables
It seems that the existence of .bash_profile on Debian systems prevents
the .profile file from being read on login, which means some additions
to PATH that are essential for e.g. the Web Engine build are not made.

Pick-to: 6.7 6.6 6.5
Change-Id: Ib271ef49e573fc0588ffbaa9bebbfda4469b60f9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-04-24 09:53:23 +01:00
Simo Fält
5c4e8c7a64 Provisioning: Install libclang on Debian 11 template
Pick-to: 6.7
Task-number: QTBUG-120912
Change-Id: I12e71c5c3058756e3e0eac420fb19a1f752b64b7
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-02-12 06:52:32 +00:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Kai Köhne
c230f55f20 Provisioning: Remove QDOC_USE_STATIC_LIBCLANG
Remove handling of QDOC_USE_STATIC_LIBCLANG environment
variable. The variable is not used by the Qt 6 build
system.

Change-Id: I8af68382caea2864543a3d6e6ed2922823a2e71d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-12 12:10:49 +00:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Heikki Halmet
64b24b0d85 Replace Ubuntu 20.04 with Ubuntu 22.04
Libclang version is built with Ubuntu 22.04 on it, others still
keep old one which is built with Ubuntu 20.04.

Pick-to: 6.5
Task-number: QTQAINFRA-4926
Change-Id: I47bb49c1efecab6863ae52d3acf7eb47bdc47c35
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2023-02-11 07:13:02 +00:00
Luca Di Sera
487c92a3d0 Update QDoc libclang to 15.0.0
The `libclang_version` variable is now updated to the current version, 15.0.0,
in both "coin/provisioning/common/unix/libclang.sh" and
"coin/provisioning/common/windows/libclang.ps1".

The naming of the artifacts for the provided library was slightly
changed from previous versions.

Before, the version number would contain two integers separated by a
dot.
The generated artifact would be named after this version number, with
the dot removed.

That is, for example, for version 12.0, a release artifact would be
called "libclang-release_120.*".

The updated two version uses a three segments version number and,
furthermore, the artifacts name do not collapse the separating dots such
that a release artifact would be called "libclang-release_15.0.0.*".

To support the new naming scheme, some processing was removed from both
provisioning scripts.

For Windows, the line removing all dots from the `libclang_version`
variable was removed.

For Unix, the removal of the dots in the `libclang_version`
variable when expanding the variable to generate the target urls to
retrieve the artifact was removed, using the bare value of the variable
itself.

For Unix provisioning, the artifacts for some of the platform, namely
"CentOS" and "Ubuntu 22.04", are not provided anymore.

"CentOS" was replaced by "Rhel8.4" on "gcc10.0", hence the target url
for the redhat platform was modified based on the new name.

The "Ubuntu 22.04" artifacts were not provided, such that the platform
was removed.

The sha1 of the target artifacts on both provisioning script was updated
for all platforms.

Task-number: QTBUG-107199
Pick-to: 6.4
Change-Id: I873680825b0953e897c610fb0b47f3cd90625646
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-11-17 20:20:33 +01:00
Heikki Halmet
73234745bb Add Ubuntu 22.04 to Nightly CI
Targets will be non-blocking and only in nightly run for now

Task-number: QTQAINFRA-4926
Change-Id: I7b229c1ccc34da4f1843dac3c25e19f7df819489
Reviewed-by: Toni Saario <toni.saario@qt.io>
2022-08-23 07:56:38 +03:00
Kai Köhne
becb423e80 Replace LGPL2.1 only header with LGPL3 one
This is in line with e.g. qtbase. Also remove outdated/unreferenced
license files.

Pick-to: 6.3
Change-Id: I5d3370ab453610f9c8165ff9e57db7ad4a785370
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-12-19 19:47:15 +00:00
Cristian Adam
c653958301 Update QDoc libclang to 12.0
Task-number: QTBUG-93203
Change-Id: I58b9af361b8e02b7210286ff3cfd6ca07ebb9610
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-04-30 14:37:00 +02:00
Heikki Halmet
aa5112af99 Add Red Hat 8.2 to CI
Red Hat 8.2 is the latest version with extended update
support. In the end Red Hat 8.2 will replace CentOS 8.3

Task-number: QTQAINFRA-4322
Change-Id: Iaa2ef452e7e6608349ba7438bbc5d25ddb35fa2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-04-20 08:38:20 +03:00
Cristian Adam
d3406fedd1 Update QDoc libclang to 11.0
Pick-to: 6.1
Change-Id: I1cc74a1efb702d32d99749ec681e37345579c5b7
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-02-05 18:49:51 +01:00
Heikki Halmet
b34fa5f9cf Remove RedHat 7.6 from CI
CentOS 8.1 is now in CI without Insignificant flags so
Rhel 7.6 can be removed.

Task-number: QTQAINFRA-2760
Change-Id: Id797a6ea5bf9c4d64929b4d6e183d0c7146309ca
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-11-16 07:38:21 +02:00
Heikki Halmet
f1e911e344 Provisioning: Replace SLES-15 with SLES-15 SP2
Task-number: QTQAINFRA-3921
Change-Id: I325a4b8f272dda80168aed1389e647bbd525b10f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-10-12 19:28:28 +03:00
Cristian Adam
ca02358af2 Provision RedHat libclang packages only for RedHat
While bulding on CentOS with Red Hat libclang packages we end up with
linker errors due to differences in C++ ABI used.

Ubuntu 18.04 package works fine with CentOS 8.1.

Task-number: QTBUG-86968
Change-Id: Idf0435a06046fb791b8ca1086e6465521ba6006a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-10-11 14:10:42 +02:00
Tony Sarajärvi
7a5069e979 Update QDoc libclang to 10.0
Change-Id: Ic4899f188c92502c6f6808dcc05922d4980cadfd
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-25 21:39:00 +02:00
Dimitrios Apostolou
2693e482b6 Extract archive directly to destination filesystem
Save some seconds or even minutes during provisioning, by avoiding copying
many files across filesystems, from /tmp to /usr/local. We now install
directly to /usr/local.

Change-Id: I3a8f545f1400995095193c4eb337f9dd8534ef72
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:43 +01:00
Tony Sarajärvi
7d0c343fc6 Cleanup of RHEL 6 codes from provisioning scripts
RHEL 6 has been removed in 5.12+ verifications, so no need
to maintain those changes.

Change-Id: Ie65120bf8ec7a7d0aaa71b7c28e95283263e62eb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-04 08:29:01 +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
a2b5c37d7a Merge remote-tracking branch 'origin/5.11.0' into 5.11
Change-Id: Ifa6c63ef62e339b90e571b13c73addaa17d7af4e
2018-05-18 11:55:23 +02:00
Simon Hausmann
d75411d6e5 Fix linking of qdoc against an external libclang (part 1)
This is the qt5 part of the fix for the task. For the special version of
libclang we hacked together that allows static linkage, set an
environment variable that the mighty qdoc build system can utilize to
activate the release packaging specific linkage.

Change-Id: Ie340955214585329fe8fd3bc790e3cd6c6be42f9
Task-number: QTBUG-68178
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-05-14 12:30:59 +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
9bf79e6bab Fix shellcheck complaints in provisioning scripts
Change-Id: I38306c6d2ff360dc12f8c33b289bbc4ae4935aca
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-04-29 13:20:29 +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
Rainer Keller
04d1ee1df4 Provisioning: Create symbolic for shasum tool on macOS for compatibility
On macOS the sha1 tool is named 'shasum' while on all other unix systems
it is called 'sha1sum'. In order to make all unix provisioning scripts
run on macOS without special case handling a symbolic link is created.

Change-Id: Ib1365cbb0dcb31e68a22959ce939fb450ec7e3f7
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-03-10 13:31:34 +00:00
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
Heikki Halmet
2a28ce864b Split Common folder based on operating system families
This change will split common folder to four different folders:
Linux, Unix, Windows and MacOS. Each of these folders includes scripts
which are common for their operating system familes

Task-number: QTQAINFRA-1451
Change-Id: Ic93b2183052335dee875d1452b21e38d268b6474
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-01-10 07:58:26 +00:00