[SCM] qtcreator packaging branch, master, updated. debian/3.2.1+dfsg-4-2-gbfbe369

Adam Majer adamm at moszumanska.debian.org
Fri Oct 24 04:46:10 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtcreator.git;a=commitdiff;h=bfbe369

The following commit has been merged in the master branch:
commit bfbe36955bb6d660d5f629c81fc5c3843dc4aa94
Author: Adam Majer <adamm at zombino.com>
Date:   Thu Oct 23 23:45:57 2014 -0500

    Fix Qt version autodetection so autodetected Qt versions can be used in kits
---
 debian/changelog                           |  7 +++
 debian/patches/always_autotect_qt_versions | 92 ++++++++++++++++++++++++------
 2 files changed, 83 insertions(+), 16 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 3a4eaf3..ca345a5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+qtcreator (3.2.1+dfsg-6) UNRELEASED; urgency=medium
+
+  * Fix previous patch so autodetected Qt versions can be used and saved
+    in "kits"
+
+ -- Adam Majer <adamm at zombino.com>  Thu, 23 Oct 2014 23:44:13 -0500
+
 qtcreator (3.2.1+dfsg-5) unstable; urgency=medium
 
   * Modify Qt autodetection to always have up-to-date-list of installed Qt
diff --git a/debian/patches/always_autotect_qt_versions b/debian/patches/always_autotect_qt_versions
index 38094f3..94e6910 100644
--- a/debian/patches/always_autotect_qt_versions
+++ b/debian/patches/always_autotect_qt_versions
@@ -1,7 +1,16 @@
 Index: qtcreator/src/plugins/qtsupport/qtversionmanager.cpp
 ===================================================================
 --- qtcreator.orig/src/plugins/qtsupport/qtversionmanager.cpp	2014-10-22 21:36:36.474107687 -0500
-+++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp	2014-10-22 21:39:50.470102437 -0500
++++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp	2014-10-23 23:35:56.154526332 -0500
+@@ -139,7 +139,7 @@
+ static BaseQtVersion::QmakeBuildConfigs qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments,
+                                                                     BaseQtVersion::QmakeBuildConfigs defaultBuildConfig);
+ static bool restoreQtVersions();
+-static void findSystemQt();
++static void updateSystemQt();
+ static void saveQtVersions();
+ static void updateDocumentation();
+ 
 @@ -168,14 +168,11 @@
      disconnect(ProjectExplorer::ToolChainManager::instance(), SIGNAL(toolChainsLoaded()),
                 this, SLOT(triggerQtVersionRestore()));
@@ -17,26 +26,77 @@ Index: qtcreator/src/plugins/qtsupport/qtversionmanager.cpp
 -    }
 +
 +    // add system Qt
-+    findSystemQt();
++    updateSystemQt();
  
      emit m_instance->qtVersionsLoaded();
      emit m_instance->qtVersionsChanged(m_versions.keys(), QList<int>(), QList<int>());
-@@ -424,6 +421,9 @@
+@@ -435,27 +432,54 @@
+     m_writer->save(data, Core::ICore::mainWindow());
+ }
+ 
+-static void findSystemQt()
++static void addSystemVersion(FileName qmake_fn)
+ {
+-    QList<FileName> systemQMakes;
+-    FileName systemQMakePath = BuildableHelperLibrary::findSystemQt(Environment::systemEnvironment());
+-
+-    if (!systemQMakePath.isNull())
+-        systemQMakes << systemQMakePath;
++    BaseQtVersion *v = QtVersionFactory::createQtVersionFromQMakePath(qmake_fn, true);
++    m_versions.insert(v->uniqueId(), v);
++}
  
-     int count = 0;
-     foreach (BaseQtVersion *qtv, m_versions) {
-+        if (qtv->isAutodetected())
-+            continue;
++static void updateSystemQt()
++{
++    QString systemQMakePath = BuildableHelperLibrary::findSystemQt(Environment::systemEnvironment()).toString();
+     QStringList qmakePathsFromQtChooser = gatherQmakePathsFromQtChooser();
+-    qmakePathsFromQtChooser.removeAll(systemQMakePath.toString());
+-    foreach (const QString &qmakePath, qmakePathsFromQtChooser) {
+-        FileName qmake = FileName::fromString(qmakePath);
+-        systemQMakes << qmake;
++    if (!qmakePathsFromQtChooser.contains(systemQMakePath))
++        qmakePathsFromQtChooser << systemQMakePath;
++    qmakePathsFromQtChooser.sort();
 +
-         QVariantMap tmp = qtv->toMap();
-         if (tmp.isEmpty())
-             continue;
-@@ -451,7 +451,7 @@
++    QMap<QString,int> currentAutoVersions;
++    for (QMap<int, BaseQtVersion*>::const_iterator i = m_versions.begin(); i != m_versions.end(); ++i) {
++        if (i.value()->isAutodetected()) {
++            currentAutoVersions.insert(i.value()->qmakeCommand().toString(), i.key());
++        }
      }
  
-     foreach (const FileName &qmakePath, systemQMakes) {
+-    foreach (const FileName &qmakePath, systemQMakes) {
 -        BaseQtVersion *version = QtVersionFactory::createQtVersionFromQMakePath(qmakePath);
-+        BaseQtVersion *version = QtVersionFactory::createQtVersionFromQMakePath(qmakePath, true);
-         if (version) {
-              version->setDisplayName(BaseQtVersion::defaultDisplayName(version->qtVersionString(), qmakePath, true));
-              m_versions.insert(version->uniqueId(), version);
+-        if (version) {
+-             version->setDisplayName(BaseQtVersion::defaultDisplayName(version->qtVersionString(), qmakePath, true));
+-             m_versions.insert(version->uniqueId(), version);
++    QMap<QString,int>::const_iterator av = currentAutoVersions.begin();
++    QStringList::const_iterator dv = qmakePathsFromQtChooser.begin();
++    while (av != currentAutoVersions.end() && dv != qmakePathsFromQtChooser.end()) {
++        if (av.key() == *dv) {
++            ++av;
++            ++dv;
+         }
++        else if (av.key() < *dv) {
++            // currently saved automatic version has been removed
++            m_versions.remove(*av);
++            ++av;
++        }
++        else { // av.key() > *dv
++            // detected version is missing, add it
++            addSystemVersion(FileName::fromString(*dv));
++            ++dv;
++        }
++    }
++
++    while (av != currentAutoVersions.end()) {
++        m_versions.remove(*av);
++        ++av;
++    }
++
++    while (dv != qmakePathsFromQtChooser.end()) {
++        addSystemVersion(FileName::fromString(*dv));
++        ++dv;
+     }
+ }
+ 

-- 
qtcreator packaging



More information about the pkg-kde-commits mailing list