Commit Graph

19 Commits

Author SHA1 Message Date
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