summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@digia.com>2013-10-11 17:48:08 +0200
committerMichal Klocek <michal.klocek@digia.com>2013-10-14 13:08:20 +0200
commit160fe9fefda4078538e4719762f76f37121de1d3 (patch)
tree5bc980ccbf49108dd43bf7ba1582e5f2f18f2177 /src/libs/installer
parent8531ff383ba8b9f43da0119f5e9761dd2d98a006 (diff)
Fix broken dependency resolver
* dependencies can have versions * remove version before sorting dependecy graph Change-Id: Iceefd7939fffcb5c5ad94d0e915de9e2d6eba172 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Diffstat (limited to 'src/libs/installer')
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 743e41490..a8978bb52 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -2397,9 +2397,11 @@ OperationList PackageManagerCorePrivate::sortOperationsBasedOnComponentDependenc
// create the complete component graph
Graph<QString> componentGraph;
+ const QRegExp dash(QLatin1String("-.*"));
foreach (const Component* componentNode, m_core->availableComponents()) {
componentGraph.addNode(componentNode->name());
- componentGraph.addEdges(componentNode->name(), componentNode->dependencies());
+ const QStringList dependencies = componentNode->dependencies().replaceInStrings(dash,QString());
+ componentGraph.addEdges(componentNode->name(), dependencies);
}
foreach (const QString &componentName, componentGraph.sort())