summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Delay emitting applicationWasActivated signalv5.13.2_QtAS5.13Bernd Weimer2020-03-093-20/+18
| | | | | | | | | | The runtime could be in an indistinct state when the signal was emitted. Now it is possible to shutdown the runtime in the signal handler. Also fixed object lifetime in the in-process runtime. Fixes: AUTOSUITE-1431 Change-Id: I2782f4d91872c1037462bbce171fa432ed43fb6e Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Prevent QML backtrace when engine has been deletedBernd Weimer2020-02-271-1/+2
| | | | | Change-Id: I0926e68e411c4285d70144b2db4b6a848b39a784 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix Yocto/MingW buildRobert Griebl2020-02-181-1/+1
| | | | | | | | | | | MingW ships with lower-case header names instead of the camel-case names that MSVC is providing. This is not a problem when building on Windows, but including a camel-cased header fails when doing a MingW cross-build on a Linux machine with a case-sensitive filesystem. Fixes: AUTOSUITE-1484 Change-Id: Iebfc9b58956eb274c3cccee070b4ea4f69e105a3 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Make sure to kill any child processes when the main AM process crashes (II)Robert Griebl2020-02-101-0/+25
| | | | | | | This adds a Windows version to the already existing Unix mechanism. Change-Id: I7d92699875730322507d19a26cce794918caf267 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Enable the crashhandler also on macosDominik Holland2020-02-051-2/+9
| | | | | | | | | Right now we cannot create a backtrace, but at least we can use the crashhandler to kill all child processes and also print a QML backtrace and other useful information Change-Id: I865e4d33dce5f6e032f550cd680176e1b3b54e19 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Make sure to kill any child processes when the main AM process crashes.Robert Griebl2020-02-051-0/+6
| | | | | | | | | This will handle all the usual suspects, but it will not be able to handle SIGKILL. Please note: this is Unix-only for now. Change-Id: I1fcac4dd8ddf2ef12d988012b04c2cb74b6f5f35 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Fix crash in parallel YAML parsingRobert Griebl2020-01-315-16/+244
| | | | | | | | | | | QRegExp is not thread-safe, but we are using it in multiple threads when parsing config files on startup. Backported the 5.14 implementation and added docs on why it works now. Also backported and extended the 5.14 autotest. Change-Id: I09d93b9783c8af4dffe0b3b37efc0754d293c955 Fixes: AUTOSUITE-1410 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Handle SIGTERM gracefullyRobert Griebl2020-01-241-4/+6
| | | | | Change-Id: I5c08b3e266a57fe113d59ad0781a33250ab6f327 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Fix IPC extensions for quick-launched applicationsBernd Weimer2020-01-246-28/+67
| | | | | | | | | | | | IPC extensions did not work in an application, when it was started in a quick-launched runtime, because the extension interfaces were not registered. Besides, a crash is avoided, should an ApplicationInterfaceExtension type be used in quicklaunchQml code (although the interface will not work). Change-Id: Ie6a86d72fd41b401ce8754d0b6f4379749b56ea7 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Revert back to using a mutex for process readingsBernd Weimer2020-01-215-140/+129
| | | | | | | | | Get rid of wanring "load() is deprecated". Besides, one mutex should perform better than ten atomic ints. On my machine it's roughly twice as fast. Change-Id: I35254604b7739f44011b3799c5400a5d0140949a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Revise some error handlingBernd Weimer2020-01-172-2/+4
| | | | | | | Show critical message, if an application's QML cannot be loaded. Change-Id: Ie1a6f0632861cb17af91c5ead297f1b6512fd3c0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Update demangle bufferBernd Weimer2020-01-143-8/+13
| | | | | | | | | Function __cxa_demangle will reallocate the output buffer, if it is too short. To avoid a potential dangling buffer (pointer), it is always updated. Increased the initial buffer size, as well. Change-Id: I11f331e51fa28f940d4843740c0b0137d8d47dc4 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Change P2P dbus addressMostafa Emami2019-11-271-1/+2
| | | | | | | | | Privatization of /tmp through mount namespaces (tmpfs) and bind mount the P2P sockets per tools with static definition, like systemd, requires a statically known path deeper than simply /tmp Change-Id: I422a04753a84c27127ffd8d5e5c7ace5797d46c1 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix issues in ProcessStatusBernd Weimer2019-11-114-37/+100
| | | | | | | | | | - Moved smaps parsing to dedicated thread - Made memory reporting optional - Support CPU loads greater than 1.0 Task-number: AUTOSUITE-1310 Change-Id: Ic7e647a5270b1be2e3ec19c5122dd29156ea0a88 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Don't build appman-packager and appman-uploader when cross compilingDominik Holland2019-11-111-1/+1
| | | | | | | | | Both tools are native tools and are not supposed to be cross-compiled. To support the yocto SDK creation the tools can be forced to be build by using the 'tools-only' config option. Change-Id: I89e34b3bb18b59dde1a807949eb41d1ba535da7b Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix error string in sudo clientBernd Weimer2019-11-091-2/+5
| | | | | | | | The client error string was not updated when the server was called directly (short-circuite). Change-Id: Ie4ed81008f16eb89e3397a195f4864300abfa18b Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Bump module version to 5.13.2Dominik Holland2019-11-081-1/+1
| | | | | | Change-Id: Ibb9acd12252d7a5489b6ccf7919d1ba938eb62e8 Fixes: AUTOSUITE-1330 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* am-app: Return with a warning if the appman-packager is not availableDominik Holland2019-11-081-0/+4
| | | | | | | | | | Currently every project which uses the am-app feature fails with an error if the appman-packager exectuable is not available. Instead check for the executable before and return early with a warning. Change-Id: I6725d6d801baa3a60bbe381b3b42fe680dcbff3e Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* doc: Add C++ headers and source files to the list of example fileextensionsv5.13.1_QtASDominik Holland2019-10-081-1/+1
| | | | | | | | This fixes the file listing in the custom-appman example and also makes sure that the example is properly listed in the QtCreator example panel. Change-Id: I2dd5e72ac3c93a410aa6f9229b18504add8db821 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix quoting in system-ui docsRobert Griebl2019-10-081-1/+1
| | | | | Change-Id: Ifb641df2440db29c0970a636cab970754de6efdf Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Merge remote-tracking branch 'gerrit/5.12' into 5.13Robert Griebl2019-10-0820-47/+369
|\ | | | | | | Change-Id: Ice9f495adf5d9b464a2567a0346d68c528157639
| * Fix logging outputBernd Weimer2019-09-191-5/+4
| | | | | | | | | | | | | | | | | | | | The messagePattern given in the am-config.yaml is set as env variable QT_MESSAGE_PATTERN. However this might be too late for the System UI (the env variable is evaluated by Qt before it is set by appman), so the pattern will be set explicitly with qSetMessagePattern. Change-Id: Ie8c9858feb600cd2b03ed5d6f77874235e0a05df Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
| * Fix canceling installationsBernd Weimer2019-09-1219-42/+365
| | | | | | | | | | | | | | | | | | | | | | | | | | Canceling an update left the app in an inconsistent state. There is still a known issues: canceling the update of an already updated built-in app will revert back to the original app. This will be fixed in 5.14 Also downgrading a built-in app didn't work as expected (the app would be blocked, the icon etc. wouldn't be updated). Change-Id: I6c72e7f87e993a6839e97ceb6cea443f07e1fd77 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Fix issues in container documentationBernd Weimer2019-09-253-25/+28
| | | | | | | | | | Change-Id: I2c0fd0ec92cc06475b37ee157f95f2bff8a1c851 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* | Add a way to define the plugin paths in configuration filesDominik Holland2019-09-108-9/+84
| | | | | | | | | | | | | | | | | | | | | | | | This adds support to define pluginPaths for the system-ui, the qml and qml-in-process runtimes in am-config.yaml. In addition the apps can now also define their own pluginPaths in their info.yaml Fixes: AUTOSUITE-1219 Change-Id: I1e1ae4d8d7f53dbfb3b679910d7ec57c50f90004 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Dominik Holland2019-09-062-2/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Dominik Holland2019-09-042-2/+2
|/| | | |/ | | | | Change-Id: I7bacb588ea023b8110449b5313d517089f799d56
| * Revert "Add a option to configure the behavior of very long log messages ↵v5.12.4_QtASDominik Holland2019-09-0311-67/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | passed to DLT" This reverts commit 78beb6acca90fb2f2490e2b60d2103a25f1508fe. This change was breaking SC and can't be released with a patch release. The change will be put into the dev branch instead. Task-number: AUTOSUITE-1187 Change-Id: Iff07e290308c2464ab25c5ef17b1749ddfd85723 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Add a option to configure the behavior of very long log messages passed to DLTDominik Holland2019-08-3011-1/+67
| | | | | | | | | | | | | | | | This uses a new config option in QtGeniviExtras and makes it possible to set this in the am-config.yaml Change-Id: I7e13e9114dd0e281cdd8bf85e517bd5654f49c64 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Add more logging configuration optionsDominik Holland2019-08-3012-9/+83
| | | | | | | | | | | | | | | | | | | | | | | | * Introduce an option to configure the qtMessagePattern in the config.yaml * Add an option to configure whether the AM internal console logging function should be used. Cherry-picked from 5.13: 09f0e58 Change-Id: Ied5b08766072431384c0718529600b767d200bf7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com> Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
| * Fix missing namespace qualifier in signal argumentRobert Griebl2019-08-302-2/+2
| | | | | | | | | | Change-Id: I6a9e2004c4eedaf7c136679c7cbf44a7a94d57e5 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | [docs] Add the System UI topicKavindra Palaraja2019-08-292-15/+186
| | | | | | | | | | | | Task-number: AUTOSUITE-1111 Change-Id: Ia19034c07b59b33cce4576f3d8c57fba33838ac5 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | [doc] Add some documentation for the Software Container Plugin ExampleKavindra Palaraja2019-08-093-72/+107
| | | | | | | | | | | | | | | | * Minor fixes to the "Write Applications" topic that I've been looking at Change-Id: I372729f3e08340d3a78569cb15ee05f2cc4c2e6e Fixes: AUTOSUITE-867 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Merge "Merge remote-tracking branch 'gerrit/5.12' into 5.13"Robert Griebl2019-08-0810-1/+245
|\ \
| * | Merge remote-tracking branch 'gerrit/5.12' into 5.13Robert Griebl2019-08-0810-1/+245
|/| | | |/ | | | | Change-Id: Id223c3a0679698f4d90715d3e43a76fc68a52d18
| * Cleanup application lifecycle in single-process modeBernd Weimer2019-08-0810-1/+245
| | | | | | | | | | | | | | | | | | In singel-process mode the ApplicatonObject could still have an associated runtime object, although the runtime had been terminated. This sometimes caused a runtime object to be reused by mistake. Change-Id: Ib4184281a04b7da8f08a848177cf87bace1ce30a Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Bump version to 5.13.1Robert Griebl2019-08-081-1/+1
| | | | | | | | | | Change-Id: I21e3974701df3ad5c6a655f3ab97b79cff2202d4 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* | Ignore $WAYLAND_DISPLAY when starting on Wayland desktop environmentsRobert Griebl2019-08-081-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Normally the AM would honor the $WAYLAND_DISPLAY environment variable, but this is always set to "wayland-0" on Wayland desktop environments which messes up the AM. We now ignore the env. variable if the the platform is "wayland" and the value of the variable is "wayland-0". Change-Id: I831660879b877ecfa2b03e8b01b4fa501a90517f Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Liang Qi2019-08-083-3/+5
|\ \
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-083-3/+5
|/| | | |/ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake-features/am-config.prf src/main-lib/main.cpp src/manager-lib/applicationmanager.cpp src/monitor-lib/monitor-lib.pro Change-Id: I4aa0f2c901480d1f04f4260fe4ab1e005369432e
| * Bump version to 5.12.4Robert Griebl2019-08-011-1/+1
| | | | | | | | | | Change-Id: Ib1dfa2b4d80d5bbda9848be9870e4a02c14d7bab Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
| * Fix app start/stop in single-process modeBernd Weimer2019-08-012-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If an app has been started and immediately stopped again, the next time the app is started the assert would fail, that checks that the app's root object is null. The stop signal would be handled before the InProcessWindow could be created and hence the app's window surface would never be released. The assert is in QmlInProcessRuntime::start(). Cherry-picked from dev: cada823 Change-Id: I0711416a0fa4582bdaaa0a7f9b0c081eb6539c01 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Destroy QDBusServer instance when an application quitsRobert Griebl2019-08-011-1/+1
| | | | | | | | | | | | | | | | Cherry-picked from dev: 742f39b Change-Id: Id4e38169185e6a99a38294d7c5146efcf5db4716 Task-number: AUTOSUITE-951 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix applications reusing a runtime object that is about to be destructedRobert Griebl2019-08-011-1/+4
| | | | | | | | | | | | | | | | Cherry-picked from dev: d1ac8c9 Change-Id: I784772e66afe55434297b89669d2555318887dde Task-number: AUTOSUITE-925 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix broken Wayland socket name detectionRobert Griebl2019-08-011-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | The algorithm for finding a free 'qtam-wayland-%d' Wayland socket was modelled after the code in libwayland-server, but due to a mixup between the socket filename and the lock filename it was not working correctly. Cherry-picked from dev: 4d01c85 Change-Id: Iac204c31fd0e6c239e44acefb5d65afe414461a8 Task-number: AUTOSUITE-857 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix crashes when trying to start blocked appsRobert Griebl2019-08-011-4/+14
| | | | | | | | | | | | | | | | Cherry-picked from dev: 6be19e2 Task-number: AUTOSUITE-1079 Change-Id: I11fb811af92d782815659ce41c50008f9b336a71 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Wait for apps to stop before actually uninstalling themRobert Griebl2019-08-013-2/+23
| | | | | | | | | | | | | | | | Cherry-picked from dev: f6a895c Change-Id: Iaf4b3da0c622079ccb79886875134af58175bd43 Task-number: AUTOSUITE-1075 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Make sure the app-db is flushed after writingRobert Griebl2019-08-012-0/+4
| | | | | | | | | | | | | | | | | | | | | | Otherwise we might end up with a 0-byte app db, if the AM gets killed before the OS (notably Windows) has synced the data to disk. Cherry-picked from dev: 071799b Task-number: AUTOSUITE-1096 Change-Id: Ifacf4854ab3f2b454d098a7b503b3922f72f9742 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix possibly crashing qml/simple testsBernd Weimer2019-08-011-4/+4
| | | | | | | | | | | | | | Cherry-picked from dev: 6482d3d Change-Id: If5f52f8fcf6f06bb0a4b9820c48b2ae9123f1e90 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Only calculate the hardwareId onceDominik Holland2019-08-011-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no other configuration was chosen appman calculates its hardwareId using the available network interfaces. Instead of iterating and sorting them every time the hardwareId is now saved once calculated. This is also a workaround for QTBUG-76408 on macOS which reports a wrong intereface type on the second run and cause the appman to stop without hardwareId. Cherry-picked from dev: c82f080 Task-number: AUTOSUITE-1019 Change-Id: I521245987486b09fce5c410918d0a35be37b1e10 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>