Commit Graph

77 Commits

Author SHA1 Message Date
Roland Rossgotterer
b2e1d373f2 Cleanup and resort the installed Qt5 libraries
Adding Qwt as a library added a couple of more Qt5 dependencies that were undetected so far. So I went through all our binaries and dependencies and tried to find all required sub dependencies. After that, the lists have been sorted for easier maintenance.
2019-02-22 20:35:50 +00:00
Roland Rossgotterer
3ece126eea Add Qwt to installer
Maniphest Tasks: T511
2019-02-22 20:35:48 +00:00
Roland Rossgotterer
ab9131fdec [MacOS] Create DBus machine-id via privileged applescript 2019-02-22 20:35:47 +00:00
Roland Rossgotterer
845c7ddf59 Add swift_crashpad_handler to Linux installer
Summary:
swift_crashpad_handler for Linux was part of externals but was never copied to out/
and also never copied into the installer.

Reviewers: #gatekeepers

Differential Revision: https://dev.swift-project.org/D96
2019-02-22 20:35:22 +00:00
Roland Rossgotterer
524a2829a1 Fix installbuilder variable syntax
Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Differential Revision: https://dev.swift-project.org/D78
2019-02-22 20:34:52 +00:00
Roland Rossgotterer
d639187f91 Convert static common simulator plugins to shared ones
Test Plan:
- Check that the new shared libraries are packaged in all platform installers.
- check that plugins are loaded properly on all platforms.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Maniphest Tasks: T471

Differential Revision: https://dev.swift-project.org/D79
2019-02-22 20:34:50 +00:00
Roland Rossgotterer
7a8ae85b5a Do not require root privileges when installing on MacOS
Requiring general root privileges raised some trust concerns by MacOS users. This reverts the latest changes to require root to install DBus machine-id into /etc. Now the user has to do that manually via sudo. A check will be added before running into an assert.
2018-12-11 17:42:54 +01:00
Roland Rossgotterer
e7966c3b0b Remove osx-intel from installbuilder platforms
osx-intel provides a fallback to the standard 32bit runtime for OS X < 10.6, but our minimum required version is 10.10.
2018-12-11 17:42:53 +01:00
Roland Rossgotterer
29f3d11da1 Fix MacOS installer to properly install DBus as root user 2018-11-29 20:54:25 +01:00
Roland Winklmeier
e6981d9c28 Package 7za into Mac OS installer 2018-11-29 20:54:25 +01:00
Roland Winklmeier
1104d4fb6e Cleanup created /usr/local/var/lib/dbus during Mac OS uninstallation 2018-11-16 02:49:52 +01:00
Roland Winklmeier
6d6d06030d Require installation by root user on Mac OS 2018-11-16 02:49:51 +01:00
Roland Winklmeier
2517b78c7a [Installer] Remove left over uninstall action 2018-09-17 18:29:05 +02:00
Roland Winklmeier
463beab408 [Installer] Limit LaunchAgents plist deletion to platform OSX 2018-09-17 18:29:04 +02:00
Roland Winklmeier
77a766afa9 [Installer] Kill dbus-daemon before uninstalling
ref T33
2018-09-17 18:29:03 +02:00
Roland Winklmeier
8a4b101393 [Installer] Check if swift application is running before (un-)installation
ref T33
2018-09-17 18:29:02 +02:00
Roland Winklmeier
8ed01b0259 [Installer] Split and fix the Visual Studio Redist installation
- It got splitted up into a x86 and x64 component.
- Each one is packaged only for the respective archictecture
- Always run the installer without registry checks and evaluate the return
code. Raise a warning only if its not 0 and not 1638 (newer version already
installed).

ref T344
2018-09-17 18:29:01 +02:00
Roland Winklmeier
14e778c243 [Installer] Make sure that org.swift-project is created
Make sure the folder org.swift-project is created before
lastinstallpath.txt is written to it.

ref T344
2018-09-17 18:29:00 +02:00
Roland Winklmeier
441d292b54 [Installer] Fix the Windows product display name and icon
The name was not set at all and was falling back to the fullname being swift.
Instead set it explicitly to fullname including version and architecture.
The productDisplayIcon is evaluated at installer runtime and needs to be
set to a installed icon path.
The installer icon itself was to big (> 100 kb) and got unnecessary sizes
removed.

ref T344
2018-09-17 18:28:59 +02:00
Roland Winklmeier
0034d33b77 [Installer] Use architecture value to decide which binaries to package
In the previous logic, the installer would silently ignore missing binaries.
Instead it should error, if a binary is missing that should exist for
this installer architecture.

ref T344
2018-09-17 18:28:57 +02:00
Roland Winklmeier
766fda56c8 [Installer] Add project version to menu shortcuts
ref T344
2018-09-17 18:28:56 +02:00
Roland Winklmeier
e8235a0f53 Don't abort installation if vcredist returns non zero return code
In case, vcredist returns a non zero return code, don't automatically
abort the installation, but tell the user the error code, the consequences
and continue.

ref T344
2018-09-17 18:28:21 +02:00
Roland Winklmeier
06656c8c5c Remove the workaround to create MacOS disk images
BitRock meanwhile fixed the issue, so use that option again instead of
the manual process.
2018-09-08 15:36:23 +02:00
Roland Winklmeier
9de30b587b installbuilder style fixes 2018-09-08 15:36:23 +02:00
Roland Winklmeier
65a8fdf251 Remember the last installation path
ref T305
2018-09-08 15:36:23 +02:00
Roland Winklmeier
f31b43ffcf Comment option to launch browser from final installer page
ref T305
2018-09-08 15:36:19 +02:00
Roland Winklmeier
f6f198af13 Replace installer icons with transparent bird
ref T305
2018-09-08 15:36:19 +02:00
Roland Winklmeier
ebc1e9a33e Rename the menu shortcut names and comments
ref T305
2018-09-08 15:36:15 +02:00
Roland Winklmeier
741202a70f Add platform name to installer directory and menu shortcuts
ref T305
2018-09-08 15:34:07 +02:00
Roland Winklmeier
f3024d15cb Add 7z binaries to installer 2018-08-16 14:33:56 +02:00
Roland Winklmeier
9fccc6c70a Fix the MSVC 2017 redist version
MSVC 2017 was updated to v15.7 in Jenkins CI and with it also the redist
version numbers. However, the new version was never updated in the installer
and packaging project.
2018-08-09 01:39:23 +02:00
Roland Winklmeier
990035dd6a Update externals
* vatlib 0.9.8 (without opus codec)
2018-06-13 13:59:40 +02:00
Roland Winklmeier
b952c60f04 Adjust artifacts filenames to schema type-os-version.extension 2017-12-08 12:36:12 +01:00
Roland Winklmeier
f53ec46d20 Change the operating system name from OSX to MacOS everywhere
Summary:
- Changed the name in all build artifacts
- Everywhere in C++

Reviewers: #swift_pilot_client, kbasan

Reviewed By: #swift_pilot_client, kbasan

Subscribers: jenkins

Maniphest Tasks: T205

Differential Revision: https://dev.swift-project.org/D69
2017-12-06 22:50:19 +01:00
Roland Winklmeier
d8c156a762 Fix building a bitrock installer with MinGW binaries
Summary:
This simply fixes the errors, one will see if an installer is created after
a MinGW build. This does not change the fact that a MinGW installer is
not supported and not necessary. The installed software will not be able
to run due to missing dependencies. But the installer can be created and
executed for testing.

Reviewers: #swift_pilot_client, kbasan

Reviewed By: #swift_pilot_client, kbasan

Subscribers: jenkins

Differential Revision: https://dev.swift-project.org/D67
2017-12-01 08:09:58 +01:00
Roland Winklmeier
4001fad023 fixup! Upgrade to MSVC 2017 2017-11-17 16:06:32 +01:00
Roland Winklmeier
a23ccb5ac7 [MacOS] Comment out osascript for the time being
osascript tries to talk to Finder, which is not possible when running
the Mac OS slave over ssh.
2017-11-03 15:50:25 +01:00
Roland Winklmeier
be321a3fa5 Replace more installer dummy icons with swift icons
Summary:
There were still many TODO's in installbuilder project file. This change replaces them with path to swift icons.

Depends on D58

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Differential Revision: https://dev.swift-project.org/D59
2017-11-03 12:10:00 +01:00
Roland Winklmeier
8ee73d18e9 [MacOS] Create installer disk image manually to workaround broken hdiutil
Summary:
Apple broke the hdiutil on MacOS 10.13. If one passes multiple -srcfolder
arguments, it dead locks with 100 % CPU forever. Since there is no way to
tell Bitrock to use only one -srcfolder argument, we have to go the
advanced way and create the disk image file manually. This also allows
us to customize it more in the future.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Maniphest Tasks: T181

Differential Revision: https://dev.swift-project.org/D58
2017-11-03 12:05:16 +01:00
Roland Winklmeier
8c62cf80a2 Make sure that all linux externals are packaged into installer
Summary:
Those libraries are in externals since a while, but were not yet packaged
into the Linux installer.

ref T46

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Maniphest Tasks: T46

Differential Revision: https://dev.swift-project.org/D55
2017-10-23 12:02:51 +02:00
Roland Winklmeier
ab1a200e78 Remove the DBus LaunchAgent when uninstalling
ref T174
2017-10-18 22:58:20 +02:00
Roland Winklmeier
e2f7ea87a3 [MacOS] Write dbus session launchd script during installation
DBus session needs to be started from a central place. On Mac OS, the
recommended solution is launchd service since all dbus clients will query
launchd for the session address first. All other solutions would be hacky.
With this script, launchd will start dbus-daemon on demand and provide
the enviromental variable DBUS_LAUNCHD_SESSION_BUS_SOCKET.
We put this into the user launch agents folder to make it a user session.

ref T170
2017-10-13 17:01:08 +02:00
Roland Winklmeier
79dcbd98a2 Remove the required installation by a privileged user
This was required by a wrong owner ship configuration on Mac OS slave.

ref T170
2017-10-13 17:01:07 +02:00
Roland Winklmeier
0b40450f7b Remove xswiftbus from installer
Summary:
xswiftbus is now a downloadable standalone X-Plane fat plugin and should
no longer be packaged into the installer.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Maniphest Tasks: T123

Differential Revision: https://dev.swift-project.org/D49
2017-09-24 19:53:32 +01:00
Roland Winklmeier
d505f7b9a4 Disable installing of Bitrock auto updater
Summary:
Disabling happens in two steps. The binary was created as dependent target
of 'make create_installer'. This step is now skipped.
The second step is to remove it from the installbuilder project
configuration.
Disabling only so far to easily get it back if needed.

ref T124

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Maniphest Tasks: T124

Differential Revision: https://dev.swift-project.org/D46
2017-09-24 19:52:34 +01:00
Mathew Sutcliffe
50b8fbe8fe [bug][Windows][Installer][DBus] Install session.conf in the correct location where dbus-daemon will look for it.
Summary:
On Windows, libdbus will spawn dbus-daemon when swift tries to connect to the session bus.

The daemon looks for session.conf in the share directory.
This patch ensures session.conf is installed in that directory.

Fixes T79.

Reviewers: rwinklmeier

Reviewed By: rwinklmeier

Subscribers: jenkins

Tags: #swift_pilot_client

Maniphest Tasks: T79

Differential Revision: https://dev.swift-project.org/D22
2017-05-14 17:21:37 +01:00
Roland Winklmeier
64b52f7026 [Installer] Run swift in background after installation
Summary:
After installation, swiftlauncher is executed in wizard mode. However, installer
kept running in the background until the launcher was closed. Instead,
run swift in background which allows the installer to quit.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Differential Revision: https://dev.swift-project.org/D19
2017-05-05 23:08:42 +01:00
Roland Winklmeier
f952775665 Use dbus-uuidgen to create dbus machine id after installation
Summary:
The file machine-id was missing on target machines and needs
to be created during installation.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Subscribers: jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D17
2017-05-05 23:08:37 +01:00
Mathew Sutcliffe
4a4dea8d4d Rename xbus to xswiftbus
Summary:
I wanted to rename xbus because its relation to //swift// is not immediately clear from the name.

xswiftbus seems reasonable.

Reviewers: #swift_pilot_client, kbasan

Reviewed By: kbasan

Subscribers: kbasan, jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D14
2017-05-05 23:07:11 +01:00
Roland Winklmeier
a3bc5c2936 Add <swiftInstall>/bin to library lookup paths
Summary:
This change adds <swiftInstall>/bin to the library lookup paths.
Without, QFactoryLoader is not able to find the Qt plugins
on Mac OS since on this platform the hard coded path defaults to
'foo.app/Contents/MacOS' for app bundles.
This change also adds the installation of QtPrintSupport framework which
is a dependency from cocoa platform plugin.

ref T48

Reviewers: kbasan, msutcliffe

Reviewed By: kbasan

Subscribers: jenkins

Maniphest Tasks: T48

Differential Revision: https://dev.swift-project.org/D15
2017-05-05 22:40:43 +01:00