diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2023-10-12 16:51:23 +0300 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2023-10-12 16:51:23 +0300 |
commit | 83f63201ab140448dc522486f2ae037aac608b6a (patch) | |
tree | 99b422778759f781bf3ca806221f68a5b7a1b514 | |
parent | 649a09efe2a7967a00c52a345330e903bbf35b53 (diff) | |
parent | 22c59456804b22e205a5d5c14de7fb88305eaa1b (diff) |
Merge remote-tracking branch 'origin/tqtc/lts-6.2.7' into tqtc/lts-6.2-opensource
Change-Id: I265829261d4d59c1f40a6fe3c365e7f420690913
-rw-r--r-- | .cmake.conf | 2 | ||||
-rw-r--r-- | doc/controller.qdoc | 2 | ||||
-rw-r--r-- | doc/installer.qdoc | 7 | ||||
-rw-r--r-- | doc/online/style/qt5-sidebar.html | 1 | ||||
-rw-r--r-- | doc/packager.qdoc | 5 | ||||
-rw-r--r-- | src/manager-lib/applicationmanager.cpp | 14 | ||||
-rw-r--r-- | src/manager-lib/nativeruntime.cpp | 4 | ||||
-rw-r--r-- | src/manager-lib/packagemanager.cpp | 3 |
8 files changed, 22 insertions, 16 deletions
diff --git a/.cmake.conf b/.cmake.conf index b9c40d18..f6f7fed3 100644 --- a/.cmake.conf +++ b/.cmake.conf @@ -1 +1 @@ -set(QT_REPO_MODULE_VERSION "6.2.6") +set(QT_REPO_MODULE_VERSION "6.2.7") diff --git a/doc/controller.qdoc b/doc/controller.qdoc index 602e00df..a73d9e5a 100644 --- a/doc/controller.qdoc +++ b/doc/controller.qdoc @@ -30,7 +30,7 @@ /*! \page appman-controller.html \title Controller -\brief A command-line utility to trigger the installation of a specified package on a target device. +\brief A command-line utility to remote control the application manager on a target device. \ingroup qtappman-tools The \c{appman-controller} is a command-line utility that can be used by the developer, or diff --git a/doc/installer.qdoc b/doc/installer.qdoc index b56f05ea..592307c7 100644 --- a/doc/installer.qdoc +++ b/doc/installer.qdoc @@ -32,9 +32,8 @@ \page installer.html \ingroup qtappman \ingroup qtappman-highlights -\ingroup qtappman-tools -\title Package Installer -\brief Discusses the installer tool which dynamically installs, updates and removes packages. +\title Package Installation +\brief Discusses the package installation infrastructure. \keyword Installer \section1 Dynamically Installing, Updating, and Removing Packages @@ -104,7 +103,7 @@ For the device, you need to install one or both of these CA certificates, includ intermediary ones. But, this depends on the type of package you want the user to be able to install. Which CA certificates to load is specified via \l {ca certificates} {the config file}. -The application manager sources has a script, +The application manager sources have a script, \c tests/data/certificates/create-test-certificates.sh, that sets up such a PKI for the internal unit tests. This script is \b not for use in production, but only for use in developing with signed packages. diff --git a/doc/online/style/qt5-sidebar.html b/doc/online/style/qt5-sidebar.html index d228b696..a641e99b 100644 --- a/doc/online/style/qt5-sidebar.html +++ b/doc/online/style/qt5-sidebar.html @@ -25,7 +25,6 @@ </div> <ul> <li><a href="appman-controller.html">Controller</a></li> - <li><a href="installer.html">Package Installer</a></li> <li><a href="appman-packager.html">Packager</a></li> </ul> </div> diff --git a/doc/packager.qdoc b/doc/packager.qdoc index 3b551b12..8126afa7 100644 --- a/doc/packager.qdoc +++ b/doc/packager.qdoc @@ -31,7 +31,7 @@ \page appman-packager.html \title Packager -\brief A command-line utility to manage the installation of packages. +\brief A command-line utility to create and sign application packages. \ingroup qtappman-tools The \c{appman-packager} is a command-line utility that can be used by the developer to manage @@ -43,6 +43,9 @@ Currently, the application manager supports unsigned packages, packages that are developer only (development mode), and packages that are signed by a trusted app-store. The \c{appman-packager} can create all these variations with the following commands: +Please also see the \l{Package Installation} documentation for more in-depth information about +package installations. + \table \header \li Command diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index 30405f5f..2b71342d 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -681,6 +681,8 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS return false; case Am::NotRunning: + throw Exception("Application %1 is not running, but still has a Runtime object attached") + .arg(app->id()); break; } } @@ -802,12 +804,14 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS qCDebug(LogSystem) << " documentUrl:" << documentUrl; if (inProcess) { - bool ok = runtime->start(); - if (ok) + bool successfullyStarted = runtime->start(); + + if (successfullyStarted) emitActivated(app); else - runtime->deleteLater(); - return ok; + delete runtime; + + return successfullyStarted; } else { // We can only start the app when both the container and the windowmanager are ready. // Using a state-machine would be one option, but then we would need that state-machine @@ -819,7 +823,7 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS if (successfullyStarted) emitActivated(app); else - runtime->deleteLater(); // ~Runtime() will clean app->nonAliased()->m_runtime + delete runtime; // ~Runtime() will clean up app->m_runtime return successfullyStarted; }; diff --git a/src/manager-lib/nativeruntime.cpp b/src/manager-lib/nativeruntime.cpp index 31d842a2..e8b9d635 100644 --- a/src/manager-lib/nativeruntime.cpp +++ b/src/manager-lib/nativeruntime.cpp @@ -167,9 +167,7 @@ bool NativeRuntime::attachApplicationToQuickLauncher(Application *app) ret = startApplicationViaLauncher(); } - if (ret) - setState(Am::Running); - + setState(ret ? Am::Running : Am::NotRunning); return ret; } diff --git a/src/manager-lib/packagemanager.cpp b/src/manager-lib/packagemanager.cpp index 3a11d66a..d2542aea 100644 --- a/src/manager-lib/packagemanager.cpp +++ b/src/manager-lib/packagemanager.cpp @@ -68,6 +68,9 @@ part of the application manager. It provides both a DBus and QML APIs for all of its functionality. + Please also see the \l{Package Installation} documentation for more in-depth information about + package installations. + \note Unlike the deprecated ApplicationInstaller class, the PackageManager singleton and its corresponding DBus API are always available. Disabling the installer functionality via the application manager's \l{Configuration} will just lead to package (de-) installations |