summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@pelagicore.com>2017-03-14 17:16:18 +0100
committerThomas Senyk <thomas.senyk@pelagicore.com>2017-03-14 16:26:35 +0000
commit23aec4017a7e10b2342c82f6f3ac1bcde4cdc038 (patch)
tree15495364da3a6a24f7e709d5449d8e058459ebba
parent46ccd08c81150c38962aeea6ff7facdf26d2a97f (diff)
downloadqtapplicationmanager-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.cpp9
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());
}