From 9faa4b5a59df47c8448f5db7ee8fa2f81b2aeaf7 Mon Sep 17 00:00:00 2001
From: ck <qt-info@nokia.com>
Date: Fri, 16 Apr 2010 12:52:00 +0200
Subject: [PATCH] Maemo: Only run dpkg if the package has been newly deployed.

Reviewed-by: kh1
---
 .../qt4projectmanager/qt-maemo/maemoruncontrol.cpp    | 11 ++++++++---
 .../qt4projectmanager/qt-maemo/maemoruncontrol.h      |  1 +
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index 5a80bdee0e4..a7e2856225d 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -127,6 +127,9 @@ void AbstractMaemoRunControl::startDeployment(bool forDebugging)
             m_deployables.append(Deployable(packageFileName(),
                 QFileInfo(executableOnHost()).canonicalPath(),
                 &MaemoRunConfiguration::wasDeployed));
+            m_needsInstall = true;
+        } else {
+            m_needsInstall = false;
         }
         if (forDebugging
             && m_runConfig->debuggingHelpersNeedDeployment(m_devConfig.host)) {
@@ -317,9 +320,11 @@ QString AbstractMaemoRunControl::remoteInstallCommand() const
 
 const QString AbstractMaemoRunControl::targetCmdLinePrefix() const
 {
-    return QString::fromLocal8Bit("%1 && %2 chmod u+x %3 && source /etc/profile && ")
-        .arg(remoteInstallCommand()).arg(remoteSudo())
-        .arg(executableFilePathOnTarget());
+    const QString &installPrefix = m_needsInstall
+        ? remoteInstallCommand() + QLatin1String(" && ")
+        : QString();
+    return QString::fromLocal8Bit("%1%2 chmod u+x %3 && source /etc/profile && ")
+        .arg(installPrefix).arg(remoteSudo()).arg(executableFilePathOnTarget());
 }
 
 QString AbstractMaemoRunControl::targetCmdLineSuffix() const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
index 050a191f306..c455f4da32c 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
@@ -125,6 +125,7 @@ private:
         updateFunc updateTimestamp;
     };
     QList<Deployable> m_deployables;
+    bool m_needsInstall;
 };
 
 class MaemoRunControl : public AbstractMaemoRunControl
-- 
GitLab