diff options
author | Robert Griebl <robert.griebl@pelagicore.com> | 2017-03-14 17:16:18 +0100 |
---|---|---|
committer | Thomas Senyk <thomas.senyk@pelagicore.com> | 2017-03-14 16:26:35 +0000 |
commit | 23aec4017a7e10b2342c82f6f3ac1bcde4cdc038 (patch) | |
tree | 15495364da3a6a24f7e709d5449d8e058459ebba | |
parent | 46ccd08c81150c38962aeea6ff7facdf26d2a97f (diff) | |
download | qtapplicationmanager-23aec4017a7e10b2342c82f6f3ac1bcde4cdc038.tar.gz |
Add debug output in the installer cleanup routine
Change-Id: I4746d163ae625ab9a19f064e02ee0de006a7d445
Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com>
-rw-r--r-- | src/installer-lib/applicationinstaller.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/installer-lib/applicationinstaller.cpp b/src/installer-lib/applicationinstaller.cpp index 6c32d0cd..16192604 100644 --- a/src/installer-lib/applicationinstaller.cpp +++ b/src/installer-lib/applicationinstaller.cpp @@ -359,6 +359,8 @@ void ApplicationInstaller::cleanupBrokenInstallations() const Q_DECL_NOEXCEPT_EX QString device = mountPoints.value(path); if (!device.isEmpty()) { + qCDebug(LogInstaller) << "cleanup: trying to unmount stale application mount" << path; + if (!SudoClient::instance()->unmount(path)) { if (!SudoClient::instance()->unmount(path, true /*force*/)) throw Exception("failed to un-mount stale mount %1 on %2: %3") @@ -400,6 +402,9 @@ void ApplicationInstaller::cleanupBrokenInstallations() const Q_DECL_NOEXCEPT_EX bool valid = il.isValid(); + if (!valid) + qCDebug(LogInstaller) << "cleanup: uninstalling" << app->id() << "- installationLocation is invalid"; + if (valid && (!il.isRemovable() || il.isMounted())) { QStringList checkDirs; QStringList checkFiles; @@ -418,6 +423,7 @@ void ApplicationInstaller::cleanupBrokenInstallations() const Q_DECL_NOEXCEPT_EX QFileInfo fi(checkFile); if (!fi.exists() || !fi.isFile() || !fi.isReadable()) { valid = false; + qCDebug(LogInstaller) << "cleanup: uninstalling" << app->id() << "- file missing:" << checkFile; break; } } @@ -425,6 +431,7 @@ void ApplicationInstaller::cleanupBrokenInstallations() const Q_DECL_NOEXCEPT_EX QFileInfo fi(checkDir); if (!fi.exists() || !fi.isDir() || !fi.isReadable()) { valid = false; + qCDebug(LogInstaller) << "cleanup: uninstalling" << app->id() << "- directory missing:" << checkDir; break; } } @@ -470,6 +477,8 @@ void ApplicationInstaller::cleanupBrokenInstallations() const Q_DECL_NOEXCEPT_EX name.append(qL1C('/')); if ((!fi.isDir() && !fi.isFile()) || !validNames.contains(name)) { + qCDebug(LogInstaller) << "cleanup: removing unreferenced inode" << name; + if (!SudoClient::instance()->removeRecursive(fi.absoluteFilePath())) throw Exception(Error::IO, "could not remove broken installation leftover %1 : %2").arg(fi.absoluteFilePath()).arg(SudoClient::instance()->lastError()); } |