diff options
author | Robert Griebl <robert.griebl@pelagicore.com> | 2019-08-01 17:02:46 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2019-08-02 16:59:34 +0200 |
commit | ed9dea417c1346183de52782459eb0b697778245 (patch) | |
tree | c56e5e23cd6c95f569028892f31c2184a3b4aa76 /src | |
parent | 09c5c6c8aa46691702cf5eb553a21a23baaf34aa (diff) | |
download | qtapplicationmanager-ed9dea417c1346183de52782459eb0b697778245.tar.gz |
(Re)implement package and application blocking
This was deliberately left out of the first patch that introduced the package
abstraction.
As a side effect, the classes from the installer-lib had to be moved to the
manager-lib, because the PackageManager is now a central part of the AM, that
has to have access to other classes in the manager-lib.
Change-Id: I94c1e62d3ffa769f3e053aab8730fea9133a7bc8
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/dbus-lib/dbus-lib.pro | 1 | ||||
-rw-r--r-- | src/installer-lib/installer-lib.pro | 39 | ||||
-rw-r--r-- | src/main-lib/applicationinstaller.h | 6 | ||||
-rw-r--r-- | src/main-lib/main-lib.pro | 1 | ||||
-rw-r--r-- | src/manager-lib/application.cpp | 34 | ||||
-rw-r--r-- | src/manager-lib/application.h | 8 | ||||
-rw-r--r-- | src/manager-lib/applicationmanager.cpp | 29 | ||||
-rw-r--r-- | src/manager-lib/applicationmanager.h | 3 | ||||
-rw-r--r-- | src/manager-lib/asynchronoustask.cpp (renamed from src/installer-lib/asynchronoustask.cpp) | 0 | ||||
-rw-r--r-- | src/manager-lib/asynchronoustask.h (renamed from src/installer-lib/asynchronoustask.h) | 0 | ||||
-rw-r--r-- | src/manager-lib/deinstallationtask.cpp (renamed from src/installer-lib/deinstallationtask.cpp) | 22 | ||||
-rw-r--r-- | src/manager-lib/deinstallationtask.h (renamed from src/installer-lib/deinstallationtask.h) | 8 | ||||
-rw-r--r-- | src/manager-lib/installationtask.cpp (renamed from src/installer-lib/installationtask.cpp) | 0 | ||||
-rw-r--r-- | src/manager-lib/installationtask.h (renamed from src/installer-lib/installationtask.h) | 4 | ||||
-rw-r--r-- | src/manager-lib/manager-lib.pro | 28 | ||||
-rw-r--r-- | src/manager-lib/package.cpp (renamed from src/installer-lib/package.cpp) | 44 | ||||
-rw-r--r-- | src/manager-lib/package.h (renamed from src/installer-lib/package.h) | 15 | ||||
-rw-r--r-- | src/manager-lib/packagemanager.cpp (renamed from src/installer-lib/packagemanager.cpp) | 23 | ||||
-rw-r--r-- | src/manager-lib/packagemanager.h (renamed from src/installer-lib/packagemanager.h) | 6 | ||||
-rw-r--r-- | src/manager-lib/packagemanager_p.h (renamed from src/installer-lib/packagemanager_p.h) | 4 | ||||
-rw-r--r-- | src/manager-lib/scopeutilities.cpp (renamed from src/installer-lib/scopeutilities.cpp) | 0 | ||||
-rw-r--r-- | src/manager-lib/scopeutilities.h (renamed from src/installer-lib/scopeutilities.h) | 0 | ||||
-rw-r--r-- | src/manager-lib/sudo.cpp (renamed from src/installer-lib/sudo.cpp) | 0 | ||||
-rw-r--r-- | src/manager-lib/sudo.h (renamed from src/installer-lib/sudo.h) | 0 | ||||
-rw-r--r-- | src/src.pro | 12 | ||||
-rw-r--r-- | src/tools/dumpqmltypes/dumpqmltypes.cpp | 2 | ||||
-rw-r--r-- | src/tools/dumpqmltypes/dumpqmltypes.pro | 1 |
27 files changed, 153 insertions, 137 deletions
diff --git a/src/dbus-lib/dbus-lib.pro b/src/dbus-lib/dbus-lib.pro index 8104bdd5..5635fdf0 100644 --- a/src/dbus-lib/dbus-lib.pro +++ b/src/dbus-lib/dbus-lib.pro @@ -32,7 +32,6 @@ ADAPTORS_XML = \ org.freedesktop.notifications.xml \ !disable-installer { - QT *= appman_installer-private HEADERS += packagemanagerdbuscontextadaptor.h SOURCES += packagemanagerdbuscontextadaptor.cpp ADAPTORS_XML += io.qt.packagemanager.xml diff --git a/src/installer-lib/installer-lib.pro b/src/installer-lib/installer-lib.pro deleted file mode 100644 index 0cf2695a..00000000 --- a/src/installer-lib/installer-lib.pro +++ /dev/null @@ -1,39 +0,0 @@ -TEMPLATE = lib -TARGET = QtAppManInstaller -MODULE = appman_installer - -load(am-config) - -QT = core network qml -QT_FOR_PRIVATE *= \ - appman_common-private \ - appman_crypto-private \ - appman_application-private \ - appman_package-private \ - -CONFIG *= static internal_module -CONFIG -= create_cmake - -include($$SOURCE_DIR/3rdparty/libarchive.pri) -include($$SOURCE_DIR/3rdparty/libz.pri) - -HEADERS += \ - asynchronoustask.h \ - deinstallationtask.h \ - installationtask.h \ - scopeutilities.h \ - package.h \ - packagemanager.h \ - packagemanager_p.h \ - sudo.h \ - -SOURCES += \ - asynchronoustask.cpp \ - installationtask.cpp \ - deinstallationtask.cpp \ - scopeutilities.cpp \ - packagemanager.cpp \ - package.cpp \ - sudo.cpp \ - -load(qt_module) diff --git a/src/main-lib/applicationinstaller.h b/src/main-lib/applicationinstaller.h index 70dcece8..e902fd21 100644 --- a/src/main-lib/applicationinstaller.h +++ b/src/main-lib/applicationinstaller.h @@ -51,9 +51,9 @@ #include <QtAppManCommon/error.h> #include <QtAppManCommon/logging.h> #include <QtAppManManager/applicationmanager.h> -#include <QtAppManInstaller/packagemanager.h> -#include <QtAppManInstaller/package.h> -#include <QtAppManInstaller/asynchronoustask.h> +#include <QtAppManManager/packagemanager.h> +#include <QtAppManManager/package.h> +#include <QtAppManManager/asynchronoustask.h> QT_FORWARD_DECLARE_CLASS(QQmlEngine) QT_FORWARD_DECLARE_CLASS(QJSEngine) diff --git a/src/main-lib/main-lib.pro b/src/main-lib/main-lib.pro index d2933c14..721a54ce 100644 --- a/src/main-lib/main-lib.pro +++ b/src/main-lib/main-lib.pro @@ -18,7 +18,6 @@ QT *= \ appman_monitor-private \ appman_shared_main-private \ appman_intent_server-private \ - appman_installer-private \ !headless:QT *= appman_window-private !disable-external-dbus-interfaces:qtHaveModule(dbus):QT *= dbus appman_dbus-private diff --git a/src/manager-lib/application.cpp b/src/manager-lib/application.cpp index 2e489e7f..722ad753 100644 --- a/src/manager-lib/application.cpp +++ b/src/manager-lib/application.cpp @@ -284,6 +284,20 @@ Application::Application(ApplicationInfo *info, Package *package) { Q_ASSERT(info); Q_ASSERT(package); + + // handle package blocking: all apps have to be stopped and the stop state has to be reported + // back to the package + connect(package, &Package::blockedChanged, this, [this](bool blocked) { + emit blockedChanged(blocked); + if (blocked && (runState() == Am::NotRunning)) + this->package()->applicationStoppedDueToBlock(id()); + else if (blocked) + stop(true); + }); + connect(this, &Application::runStateChanged, this, [this](Am::RunState runState) { + if (isBlocked() && (runState == Am::NotRunning)) + this->package()->applicationStoppedDueToBlock(id()); + }); } bool Application::start(const QString &documentUrl) @@ -373,6 +387,11 @@ QString Application::name(const QString &language) const return package()->names().value(language).toString(); } +bool Application::isBlocked() const +{ + return package()->isBlocked(); +} + QVariantMap Application::applicationProperties() const { return info()->applicationProperties(); @@ -412,21 +431,6 @@ qreal Application::progress() const return package()->progress(); } -bool Application::isBlocked() const -{ - return m_blocked.load() == 1; -} - -bool Application::block() -{ - return m_blocked.testAndSetOrdered(0, 1); -} - -bool Application::unblock() -{ - return m_blocked.testAndSetOrdered(1, 0); -} - void Application::setRunState(Am::RunState runState) { if (runState != m_runState) { diff --git a/src/manager-lib/application.h b/src/manager-lib/application.h index 9e3bcc16..0909ce00 100644 --- a/src/manager-lib/application.h +++ b/src/manager-lib/application.h @@ -92,6 +92,7 @@ class Application : public QObject Q_PROPERTY(QString codeDir READ codeDir NOTIFY bulkChange) Q_PROPERTY(State state READ state NOTIFY stateChanged) Q_PROPERTY(QT_PREPEND_NAMESPACE_AM(Am::RunState) runState READ runState NOTIFY runStateChanged) + Q_PROPERTY(bool blocked READ isBlocked NOTIFY blockedChanged) public: enum State { // kept for compatibility ... in reality moved to class Package @@ -122,6 +123,7 @@ public: QStringList supportedMimeTypes() const; QString name() const; Q_INVOKABLE QString name(const QString &language) const; + bool isBlocked() const; // Properties that mainly forward content from ApplicationInfo QString id() const; @@ -140,9 +142,6 @@ public: State state() const; qreal progress() const; Am::RunState runState() const { return m_runState; } - bool isBlocked() const; - bool block(); - bool unblock(); int lastExitCode() const { return m_lastExitCode; } Am::ExitStatus lastExitStatus() const { return m_lastExitStatus; } @@ -159,6 +158,7 @@ signals: void activated(); void stateChanged(State state); void runStateChanged(Am::RunState state); + void blockedChanged(bool blocked); private: void setLastExitCodeAndStatus(int exitCode, Am::ExitStatus exitStatus); @@ -166,8 +166,6 @@ private: QScopedPointer<ApplicationInfo> m_info; Package *m_package = nullptr; AbstractRuntime *m_runtime = nullptr; - QAtomicInt m_blocked; - QAtomicInt m_mounted; Am::RunState m_runState = Am::NotRunning; diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index eaa8e205..0bcc9585 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -1126,30 +1126,6 @@ QString ApplicationManager::identifyApplication(qint64 pid) const return app ? app->id() : QString(); } -bool ApplicationManager::blockApplication(const QString &id) -{ - Application *app = fromId(id); - if (!app) - return false; - if (!app->block()) - return false; - emitDataChanged(app, QVector<int> { IsBlocked }); - stopApplicationInternal(app, true); - emitDataChanged(app, QVector<int> { IsRunning }); - return true; -} - -bool ApplicationManager::unblockApplication(const QString &id) -{ - Application *app = fromId(id); - if (!app) - return false; - if (!app->unblock()) - return false; - emitDataChanged(app, QVector<int> { IsBlocked }); - return true; -} - void ApplicationManager::shutDown() { d->shuttingDown = true; @@ -1416,6 +1392,11 @@ void ApplicationManager::addApplication(Application *app) stopApplication(app->id(), forceKill); }; + connect(app, &Application::blockedChanged, + this, [this, app]() { + emitDataChanged(app, QVector<int> { IsBlocked }); + }); + d->apps << app; } diff --git a/src/manager-lib/applicationmanager.h b/src/manager-lib/applicationmanager.h index 3e98038c..f221a91b 100644 --- a/src/manager-lib/applicationmanager.h +++ b/src/manager-lib/applicationmanager.h @@ -184,9 +184,6 @@ private slots: void openUrlRelay(const QUrl &url); void addApplication(Application *app); - bool blockApplication(const QString &id); - bool unblockApplication(const QString &id); - private: void emitDataChanged(Application *app, const QVector<int> &roles = QVector<int>()); void emitActivated(Application *app); diff --git a/src/installer-lib/asynchronoustask.cpp b/src/manager-lib/asynchronoustask.cpp index 168dc72f..168dc72f 100644 --- a/src/installer-lib/asynchronoustask.cpp +++ b/src/manager-lib/asynchronoustask.cpp diff --git a/src/installer-lib/asynchronoustask.h b/src/manager-lib/asynchronoustask.h index 977140df..977140df 100644 --- a/src/installer-lib/asynchronoustask.h +++ b/src/manager-lib/asynchronoustask.h diff --git a/src/installer-lib/deinstallationtask.cpp b/src/manager-lib/deinstallationtask.cpp index 94551abe..09483022 100644 --- a/src/installer-lib/deinstallationtask.cpp +++ b/src/manager-lib/deinstallationtask.cpp @@ -44,14 +44,14 @@ #include "packagemanager.h" #include "packagemanager_p.h" #include "installationreport.h" -#include "packageinfo.h" +#include "package.h" #include "exception.h" #include "scopeutilities.h" #include "deinstallationtask.h" QT_BEGIN_NAMESPACE_AM -DeinstallationTask::DeinstallationTask(PackageInfo *package, const QString &installationPath, +DeinstallationTask::DeinstallationTask(Package *package, const QString &installationPath, const QString &documentPath, bool forceDeinstallation, bool keepDocuments, QObject *parent) : AsynchronousTask(parent) @@ -75,7 +75,8 @@ void DeinstallationTask::execute() { // these have been checked in PackageManager::removePackage() already Q_ASSERT(m_package); - Q_ASSERT(m_package->installationReport()); + Q_ASSERT(m_package->info()); + Q_ASSERT(m_package->info()->installationReport()); bool managerApproval = false; @@ -87,14 +88,13 @@ void DeinstallationTask::execute() Qt::BlockingQueuedConnection); if (!managerApproval) - throw Exception("ApplicationManager rejected the removal of package %1").arg(m_package->id()); - - // if the app was running before, we now need to wait until is has actually stopped -//TODO: this needs to be ported to the new PackageManager architecture -// while (!m_canceled && -// (ApplicationManager::instance()->applicationRunState(m_app->id()) != Am::NotRunning)) { -// QThread::msleep(30); -// } + throw Exception("PackageManager rejected the removal of package %1").arg(m_package->id()); + + // if any of the apps in the package were running before, we now need to wait until all of + // them have actually stopped + while (!m_canceled && !m_package->areAllApplicationsStoppedDueToBlock()) + QThread::msleep(30); + // there's a small race condition here, but not doing a planned cancellation isn't harmful m_canBeCanceled = false; if (m_canceled) diff --git a/src/installer-lib/deinstallationtask.h b/src/manager-lib/deinstallationtask.h index 895f75c3..9161d1ba 100644 --- a/src/installer-lib/deinstallationtask.h +++ b/src/manager-lib/deinstallationtask.h @@ -42,11 +42,11 @@ #pragma once -#include <QtAppManInstaller/asynchronoustask.h> +#include <QtAppManManager/asynchronoustask.h> QT_BEGIN_NAMESPACE_AM -class PackageInfo; +class Package; class InstallationLocation; class DeinstallationTask : public AsynchronousTask @@ -54,7 +54,7 @@ class DeinstallationTask : public AsynchronousTask Q_OBJECT public: - DeinstallationTask(PackageInfo *package, const QString &installationPath, const QString &documentPath, + DeinstallationTask(Package *package, const QString &installationPath, const QString &documentPath, bool forceDeinstallation, bool keepDocuments, QObject *parent = nullptr); bool cancel() override; @@ -63,7 +63,7 @@ protected: void execute() override; private: - PackageInfo *m_package; + Package *m_package; QString m_installationPath; QString m_documentPath; bool m_forceDeinstallation; diff --git a/src/installer-lib/installationtask.cpp b/src/manager-lib/installationtask.cpp index ad017286..ad017286 100644 --- a/src/installer-lib/installationtask.cpp +++ b/src/manager-lib/installationtask.cpp diff --git a/src/installer-lib/installationtask.h b/src/manager-lib/installationtask.h index 6fc43f16..5ab947fe 100644 --- a/src/installer-lib/installationtask.h +++ b/src/manager-lib/installationtask.h @@ -48,8 +48,8 @@ #include <QMutex> #include <QtAppManApplication/installationreport.h> -#include <QtAppManInstaller/asynchronoustask.h> -#include <QtAppManInstaller/scopeutilities.h> +#include <QtAppManManager/asynchronoustask.h> +#include <QtAppManManager/scopeutilities.h> QT_BEGIN_NAMESPACE_AM diff --git a/src/manager-lib/manager-lib.pro b/src/manager-lib/manager-lib.pro index 9ae1ee90..71fad983 100644 --- a/src/manager-lib/manager-lib.pro +++ b/src/manager-lib/manager-lib.pro @@ -13,7 +13,6 @@ QT_FOR_PRIVATE *= \ appman_plugininterfaces-private \ appman_intent_server-private \ appman_intent_client-private \ - appman_installer-private \ appman_monitor-private \ CONFIG *= static internal_module @@ -57,6 +56,9 @@ HEADERS += \ amnamespace.h \ intentaminterface.h \ processstatus.h \ + package.h \ + packagemanager.h \ + packagemanager_p.h \ !headless:HEADERS += \ qmlinprocessapplicationmanagerwindow.h \ @@ -82,6 +84,8 @@ SOURCES += \ debugwrapper.cpp \ intentaminterface.cpp \ processstatus.cpp \ + packagemanager.cpp \ + package.cpp \ !headless:SOURCES += \ qmlinprocessapplicationmanagerwindow.cpp \ @@ -95,4 +99,26 @@ qtHaveModule(qml):SOURCES += \ # compile the moc-data into the exporting binary (appman itself) HEADERS += ../plugin-interfaces/containerinterface.h + +!disable-installer { + + QT_FOR_PRIVATE *= \ + appman_package-private \ + appman_crypto-private \ + + HEADERS += \ + asynchronoustask.h \ + deinstallationtask.h \ + installationtask.h \ + scopeutilities.h \ + sudo.h \ + + SOURCES += \ + asynchronoustask.cpp \ + installationtask.cpp \ + deinstallationtask.cpp \ + scopeutilities.cpp \ + sudo.cpp \ +} + load(qt_module) diff --git a/src/installer-lib/package.cpp b/src/manager-lib/package.cpp index f9693daa..5f414488 100644 --- a/src/installer-lib/package.cpp +++ b/src/manager-lib/package.cpp @@ -44,6 +44,7 @@ #include "package.h" #include "packageinfo.h" +#include "applicationinfo.h" QT_BEGIN_NAMESPACE_AM @@ -190,4 +191,47 @@ bool Package::canBeRevertedToBuiltIn() const return m_info && m_updatedInfo; } +bool Package::isBlocked() const +{ + return m_blocked > 0; +} + +bool Package::block() +{ + bool blockedNow = (m_blocked.fetchAndAddOrdered(1) == 0); + if (blockedNow) { + emit blockedChanged(true); + m_blockedApps = info()->applications(); + } + return blockedNow; +} + +bool Package::unblock() +{ + bool unblockedNow = (m_blocked.fetchAndSubOrdered(1) == 1); + if (unblockedNow) { + m_blockedApps.clear(); + emit blockedChanged(false); + } + return unblockedNow; + +} + +void Package::applicationStoppedDueToBlock(const QString &appId) +{ + if (!isBlocked()) + return; + + auto it = std::find_if(m_blockedApps.cbegin(), m_blockedApps.cend(), [appId](const ApplicationInfo *appInfo) { + return appInfo->id() == appId; + }); + if (it != m_blockedApps.cend()) + m_blockedApps.removeOne(*it); +} + +bool Package::areAllApplicationsStoppedDueToBlock() const +{ + return isBlocked() && m_blockedApps.isEmpty(); +} + QT_END_NAMESPACE_AM diff --git a/src/installer-lib/package.h b/src/manager-lib/package.h index 2c134c44..7932f426 100644 --- a/src/installer-lib/package.h +++ b/src/manager-lib/package.h @@ -46,7 +46,7 @@ #include <QtAppManApplication/packageinfo.h> #include <QUrl> #include <QString> - +#include <QAtomicInt> #include <QObject> QT_BEGIN_NAMESPACE_AM @@ -66,6 +66,7 @@ class Package : public QObject Q_PROPERTY(QVariantMap descriptions READ descriptions NOTIFY bulkChange) Q_PROPERTY(QStringList categories READ categories NOTIFY bulkChange) Q_PROPERTY(State state READ state NOTIFY stateChanged) + Q_PROPERTY(bool blocked READ isBlocked NOTIFY blockedChanged) public: enum State { @@ -123,9 +124,19 @@ public: bool canBeRevertedToBuiltIn() const; + bool isBlocked() const; + bool block(); + bool unblock(); + + // function for Application to report it has stopped after getting a block request + void applicationStoppedDueToBlock(const QString &appId); + // query function for the installer to verify that it is safe to manipulate binaries + bool areAllApplicationsStoppedDueToBlock() const; + signals: void bulkChange(); void stateChanged(State state); + void blockedChanged(bool blocked); private: QScopedPointer<PackageInfo> m_info; @@ -133,6 +144,8 @@ private: State m_state = Installed; qreal m_progress = 0; + QAtomicInt m_blocked; + QVector<ApplicationInfo *> m_blockedApps; }; QT_END_NAMESPACE_AM diff --git a/src/installer-lib/packagemanager.cpp b/src/manager-lib/packagemanager.cpp index c84fe833..36cd5d07 100644 --- a/src/installer-lib/packagemanager.cpp +++ b/src/manager-lib/packagemanager.cpp @@ -236,7 +236,7 @@ QVariant PackageManager::data(const QModelIndex &index, int role) const case Icon: return package->icon(); case IsBlocked: - return false; //TODO package->isBlocked(); + return package->isBlocked(); case IsUpdating: return package->state() != Package::Installed; case UpdateProgress: @@ -656,7 +656,7 @@ QVariantMap PackageManager::installedPackageExtraMetaData(const QString &package } /*! - \qmlmethod var PackageManager::installedApplicationExtraSignedMetaData(string packageId) + \qmlmethod var PackageManager::installedPackageExtraSignedMetaData(string packageId) Returns a map of all signed extra metadata in the package header of the package identified by \a packageId. @@ -756,7 +756,7 @@ QString PackageManager::removePackage(const QString &packageId, bool keepDocumen if (Package *package = fromId(packageId)) { if (package->info()->installationReport()) { - return enqueueTask(new DeinstallationTask(package->info(), d->installationPath, + return enqueueTask(new DeinstallationTask(package, d->installationPath, d->documentPath, force, keepDocuments)); } } @@ -1035,8 +1035,8 @@ bool PackageManager::startingPackageInstallation(PackageInfo *info) // return false; if (package) { // update -// if (!blockApplication(app->id())) -// return false; + if (!package->block()) + return false; if (package->isBuiltIn()) { // overlay the existing base info @@ -1054,7 +1054,7 @@ bool PackageManager::startingPackageInstallation(PackageInfo *info) } else { // installation package = new Package(newInfo.take(), Package::BeingInstalled); - //app->block(); + Q_ASSERT(package->block()); beginInsertRows(QModelIndex(), d->packages.count(), d->packages.count()); @@ -1076,14 +1076,14 @@ bool PackageManager::startingPackageRemoval(const QString &id) if (!package) return false; - if (/*package->isBlocked()*/ false || (package->state() != Package::Installed)) + if (package->isBlocked() || (package->state() != Package::Installed)) return false; if (package->isBuiltIn() && !package->canBeRevertedToBuiltIn()) return false; -// if (!blockApplication(id)) -// return false; + if (!package->block()) // this will implicitly stop all apps in this package (asynchronously) + return false; package->setState(package->canBeRevertedToBuiltIn() ? Package::BeingDowngraded : Package::BeingRemoved); @@ -1120,7 +1120,7 @@ bool PackageManager::finishedPackageInstall(const QString &id) emitDataChanged(package); - // unblockApplication(id); + package->unblock(); emit package->bulkChange(); // not ideal, but icon and codeDir have changed break; } @@ -1175,13 +1175,12 @@ bool PackageManager::canceledPackageInstall(const QString &id) package->setProgress(0); emitDataChanged(package, QVector<int> { IsUpdating }); - // unblockApplication(id); + package->unblock(); break; } return true; } - bool removeRecursiveHelper(const QString &path) { if (PackageManager::instance()->isApplicationUserIdSeparationEnabled() && SudoClient::instance()) diff --git a/src/installer-lib/packagemanager.h b/src/manager-lib/packagemanager.h index 24cd0f63..9d4419de 100644 --- a/src/installer-lib/packagemanager.h +++ b/src/manager-lib/packagemanager.h @@ -46,9 +46,9 @@ #include <QAbstractListModel> #include <QtAppManCommon/global.h> #include <QtAppManApplication/packageinfo.h> -#include <QtAppManInstaller/asynchronoustask.h> -#include <QtAppManInstaller/installationtask.h> -#include <QtAppManInstaller/deinstallationtask.h> +#include <QtAppManManager/asynchronoustask.h> +#include <QtAppManManager/installationtask.h> +#include <QtAppManManager/deinstallationtask.h> QT_FORWARD_DECLARE_CLASS(QQmlEngine) diff --git a/src/installer-lib/packagemanager_p.h b/src/manager-lib/packagemanager_p.h index 89d5c287..8c916db2 100644 --- a/src/installer-lib/packagemanager_p.h +++ b/src/manager-lib/packagemanager_p.h @@ -48,9 +48,9 @@ #include <QScopedPointer> #include <QThread> -#include <QtAppManInstaller/packagemanager.h> +#include <QtAppManManager/packagemanager.h> #include <QtAppManApplication/packagedatabase.h> -#include <QtAppManInstaller/asynchronoustask.h> +#include <QtAppManManager/asynchronoustask.h> #include <QtAppManCommon/global.h> QT_BEGIN_NAMESPACE_AM diff --git a/src/installer-lib/scopeutilities.cpp b/src/manager-lib/scopeutilities.cpp index eff1d1bc..eff1d1bc 100644 --- a/src/installer-lib/scopeutilities.cpp +++ b/src/manager-lib/scopeutilities.cpp diff --git a/src/installer-lib/scopeutilities.h b/src/manager-lib/scopeutilities.h index f3d30424..f3d30424 100644 --- a/src/installer-lib/scopeutilities.h +++ b/src/manager-lib/scopeutilities.h diff --git a/src/installer-lib/sudo.cpp b/src/manager-lib/sudo.cpp index a9d661fe..a9d661fe 100644 --- a/src/installer-lib/sudo.cpp +++ b/src/manager-lib/sudo.cpp diff --git a/src/installer-lib/sudo.h b/src/manager-lib/sudo.h index 357261e6..357261e6 100644 --- a/src/installer-lib/sudo.h +++ b/src/manager-lib/sudo.h diff --git a/src/src.pro b/src/src.pro index 3bd37a3c..b5e66223 100644 --- a/src/src.pro +++ b/src/src.pro @@ -19,11 +19,9 @@ notification_lib.depends = common_lib package_lib.subdir = package-lib package_lib.depends = crypto_lib application_lib -installer_lib.subdir = installer-lib -installer_lib.depends = package_lib - manager_lib.subdir = manager-lib -manager_lib.depends = application_lib notification_lib intent_server_lib intent_client_lib installer_lib monitor_lib plugin_interfaces +manager_lib.depends = application_lib notification_lib intent_server_lib intent_client_lib monitor_lib plugin_interfaces +!disable-installer:manager_lib.depends += package_lib crypto_lib window_lib.subdir = window-lib window_lib.depends = manager_lib @@ -49,7 +47,6 @@ main_lib.depends = shared_main_lib manager_lib window_lib monitor_lib !disable-external-dbus-interfaces:qtHaveModule(dbus) { dbus_lib.subdir = dbus-lib dbus_lib.depends = manager_lib window_lib - !disable-installer:dbus_lib.depends += installer_lib main_lib.depends += dbus_lib } @@ -64,10 +61,10 @@ tools_testrunner.subdir = tools/testrunner tools_testrunner.depends = main_lib tools_dumpqmltypes.subdir = tools/dumpqmltypes -tools_dumpqmltypes.depends = manager_lib installer_lib window_lib shared_main_lib main_lib launcher_lib +tools_dumpqmltypes.depends = manager_lib window_lib shared_main_lib main_lib launcher_lib tools_packager.subdir = tools/packager -tools_packager.depends = package_lib +tools_packager.depends = package_lib application_lib crypto_lib tools_uploader.subdir = tools/uploader tools_uploader.depends = common_lib @@ -91,7 +88,6 @@ SUBDIRS = \ qtHaveModule(qml):SUBDIRS += \ notification_lib \ manager_lib \ - installer_lib \ window_lib \ monitor_lib \ shared_main_lib \ diff --git a/src/tools/dumpqmltypes/dumpqmltypes.cpp b/src/tools/dumpqmltypes/dumpqmltypes.cpp index d5ce1ab6..3690dc89 100644 --- a/src/tools/dumpqmltypes/dumpqmltypes.cpp +++ b/src/tools/dumpqmltypes/dumpqmltypes.cpp @@ -27,7 +27,7 @@ ** ****************************************************************************/ -#include <QtAppManInstaller/packagemanager.h> +#include <QtAppManManager/packagemanager.h> #include <QtAppManMain/applicationinstaller.h> #include <QtAppManManager/applicationmanager.h> #include <QtAppManManager/applicationmodel.h> diff --git a/src/tools/dumpqmltypes/dumpqmltypes.pro b/src/tools/dumpqmltypes/dumpqmltypes.pro index ff13f5a7..acde4c97 100644 --- a/src/tools/dumpqmltypes/dumpqmltypes.pro +++ b/src/tools/dumpqmltypes/dumpqmltypes.pro @@ -10,7 +10,6 @@ QT *= \ appman_common-private \ appman_application-private \ appman_manager-private \ - appman_installer-private \ appman_notification-private \ appman_window-private \ appman_launcher-private \ |