Commit Graph

27 Commits

Author SHA1 Message Date
Eike Ziller
f415fc424b Scripts: Small download improvements
- better readable message
- first download to temporary (-part), then move to target
  (makes it more obvious which files have finished on disk)
- add option for skipping downloading existing files

Change-Id: Ie36b4b65b7e7a206a54cec8d643095970d85ff07
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-11-22 08:01:59 +00:00
Eike Ziller
e484dc5994 Scripts: Share a useful function
To be used in upcoming scripts

Change-Id: I56bb024f35b1feb156deae122235d09116d4eaa1
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-11-12 13:50:51 +00:00
Eike Ziller
9fea21c103 Build: Unify archive creation
Between building Qt Creator, extra plugins, and sdktool.
This adds avoiding arm-specific 7zip methods to the sdktool build, which
cannot be extracted with p7zip on Linux.

Change-Id: Ibc8a18967b6c4e7869a4a86680da9005f70d498b
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-11-11 14:47:33 +00:00
Eike Ziller
c327cb08f4 COIN: Add instructions for oldest supported Qt version
And fix installation of ICU, that was installed at the wrong location
(the toplevel Qt directory instead of lib/, which didn't matter on
systems where the right ICU version was preinstalled anyway)

Change-Id: I53dcd6126b7b46358dd9aa0622e58a8c614bff3f
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-11-07 13:10:53 +00:00
Eike Ziller
cf1f4b050f COIN: Make independent from internal scripts
The coin scripts may no longer access the repository with the internal
build scripts. Move (adapted versions of) the needed scripts into the
repository itself.

Change-Id: I0515b8d66bd917e32eaabf64a1c76cc852fbe5df
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-10-28 09:54:36 +00:00
Eike Ziller
f909a21af1 Scripts: Make codesigning available more directly
Codesigning is done implicitly when using e.g. build.py
but sometimes doing it explicitly is convenient.
Add a main() to common.py and add arguments for triggering
codesigning:

python3 common.py codesign -s identity app_bundle

Change-Id: I8b0f766cfae0ea9d8173f331792a14964993d705
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-22 07:59:02 +00:00
Kai Köhne
4e9c1d126c Replace GPL-3.0 with GPL-3.0-only
GPL-3.0 is deprecated by SPDX.

Change done by

 find . -type f -exec perl -pi -e 's/LicenseRef-Qt-Commercial OR GPL-3.0(?!-)/LicenseRef-Qt-Commercial OR GPL-3.0-only/g' {} \;

Change-Id: If316a498e3f27d2030b86d4e7743b3237ce09939
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-10 08:05:04 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Eike Ziller
2829412e15 macOS: Fix 'disclaim' in packages not passing on DYLD_... variables
Signed executables with hardened runtime need the entitlement
com.apple.security.cs.allow-dyld-environment-variables
to be able to pass on the DYLD_... variables to subprocesses.

Fixes: QTCREATORBUG-27175
Change-Id: Ibc203487be4d7111fc60b05749cae4e3ad750b3d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-03-11 08:43:59 +00:00
Eike Ziller
03bcdc9186 Fix RPATH of Qbs binaries when built with Qt 6
The build system for Qt Creator ensures that we have the right
relative RPATH to Qt for the packages.
We still check if we need to fix the RPATHs when deploying Qt, and
the Qbs build relies on that.

That part was broken for Qt 6 since it looked for libQt5* to decide
if the relative RPATH to Qt must be added. Remove the Qt version
number from the check.

Change-Id: Ib9d0408943d61364bfe9c8813a55bf60145b7972
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
2021-10-29 12:54:26 +00:00
Eike Ziller
b47d95449d deploy.py: Fix when running with Python 3.6
Which happens to be the default version on macOS 10.14.
Python 3.6 does not return a sensible default encoding if you don't
fiddle with your environment (like explicitly setting LANG). Fall back
to UTF-8.

Change-Id: I12534e4745e9c29b40a02c4946d8079d395cc650
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-11-24 16:13:56 +00:00
Eike Ziller
07128078b9 Integrate deployqtHelp_mac.sh into deployqt.py
For now this is a dummy integration by just calling the former from
the latter, which has the advantage that
- only one script needs to be used for all platforms
- passing just qmake instead of individual install paths is enough
  also on macOS

Change-Id: Ie05077ada950addd287b87d88045605d3bddb48f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-24 09:36:56 +00:00
Eike Ziller
88498101a0 Build scripts: Fix path format for cmake calls
Make sure to pass posix style paths to CMAKE_PREFIX_PATH,
CMAKE_MODULE_PATH and CMAKE_INSTALL_PREFIX. Otherwise this can lead to
funny "Unknown control sequence \U" kind of errors.

Follow-up of fceaff1a6f

Change-Id: I1c8445f9c298a17115bca6b42f099a99e33d6de2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-11-10 09:50:23 +00:00
Cristian Adam
6c841dfbd0 GitHub Actions: Update to use Clang 11.0.0
Change-Id: I015a71a4f53ff3be8609a00bdef47c93161af882
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-26 12:47:46 +00:00
Eike Ziller
bc4c2f8a15 Use the packaging script for the github action
Unifies a bit of what is done. For example this adds documentation and creates a disk image for
macOS. It will also make adding perfparser/elfutils and 32bit wininterrupt and qtcreatorcdbext
easier.

Adds Qt translations.
Adds some useful options to build.py and make it work with python3
Disables detection of debug vs release build in deployqt.py on Windows
if dumpbin is not there (for MinGW).

Change-Id: I3cc33144cad653823321209c219d220eb75093ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-25 16:37:28 +00:00
Eike Ziller
fa59e02f89 Merge remote-tracking branch 'origin/4.11' into 4.12
Change-Id: I8cc80483cdb10309bf73aba5cfab52c1d90e1bbc
2020-02-26 08:14:47 +01:00
Eike Ziller
c34864ccab macOS: Disable library validation when signing
So we can load 3rdparty plugins even when the app is signed and notarized.
Also give Qt Creator "debugging" capabilities, allowing it to attach
to processes.

Change-Id: Ia6bb8ab279920b75a96777eafebbb4e7454fda46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-19 12:53:02 +00:00
Eike Ziller
8a18ccdef9 Add script for building Qt Creator for packaging
The result is a number of 7zips in the build directory
that can be packaged in an installer, or unzipped
on a different machine directly

Change-Id: Ic1a691678b2268c08e9159c1958dbecefc640fc3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-19 09:56:08 +00:00
Eike Ziller
cde9f31068 macOS: Fix signing issues with notarization
Notarization requires signing with hardened runtime, but this added
requirements to the additional plugins we copy into Qt Creator for the
commercial package.

This patch fixes an issue with an absolute RPATH still being left in
extra plugins, and avoids copying plugins into an already signed
application by not signing the 7zips, but only the contents in the open
source disk image (and the installers are signed by the installer jobs
anyhow).

Change-Id: I8c945a0ad9df610b20a8ee110320875f255c65b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-18 10:24:45 +00:00
Eike Ziller
c522ceb7dd macOS: Do really deep deep code signing for notarization
Notarization is more picky than the regular code signing.
All code outside of the "usual" binary directories must be signed
separately, in addition to being codesigned with the application
afterwards.
That includes Imports/qtquick2 and Resources/libexec.
We cannot just move these into e.g. MacOS/ or PlugIns/ either, because
these directories may _only_ contain code, no other resources.

Change-Id: Id05b2644e01b61e9c33d86617c6374225b50e7f3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-10 13:04:39 +00:00
Eike Ziller
ee579b5bf3 macOS: Use hardened runtime when signing
Follow up of c2398e3067

Change-Id: I003f03097633202585d36a136136d84d8f3c2140
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-07 07:44:18 +00:00
Eike Ziller
1fce7ff4f5 Fix code signature on macOS
We build packages with extra debug info, but sign the application before
removing the debug info for the release package.
We have to codesign (potentially again) between copying and packaging.

Task-number: QTCREATORBUG-20370
Change-Id: I5549ca5045eb995e5a61794473c2d0180b778711
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-05-14 08:48:30 +00:00
Eike Ziller
b88bfe7db3 Filter debug info out when creating macOS disk image
Move the script to Python for that, for code sharing

Change-Id: I1a0b1ed7fe3ed4413045d478c82621d75800520e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2018-01-23 12:21:49 +00:00
Orgad Shaneh
6d33f9d72a Support Python3 in deploy scripts
Change-Id: I3a25306ed6babdbae09dcb0f8bc2c5c337d36415
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-19 08:09:46 +00:00
Eike Ziller
ae3b4f1a06 Linux deployment: Only add RPATH to Qt if necessary
Don't try to add an RPATH to Qt if the library/executable
does not link to Qt. Chances are, that the reserved space
for the RPATH is too short in that case.

Change-Id: Ie8d50ede43d19236611fe56667995e58606062db
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-13 12:58:41 +00:00
Tobias Hunger
b1f757af23 Update License according to aggrement with Free Qt Foundation
* Make sure all scripts come with a license
* Update the license in the scripts
* Add scripts to help with license changes

Change-Id: I38a25aa1287ee8a75e0f0307d1b30320d781ad1f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:44:55 +00:00
Eike Ziller
d18b8507c1 Add script for packaging a directory.
Mostly 7zips the directory, all files must already be in place.
On Linux the script also fixes the Qt related RPATHs.

Changes the RPATH fixing to only change the Qt RPATH,
instead of overwriting the complete RPATH to something custom.

Change-Id: I1e07b7c0fcb4292197a4e743782a1392f6558747
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-23 09:15:01 +00:00