[SCM] pkg-kde.alioth.debian.org website branch, master, updated. c4aa068d24014d81b1d28325026ff42f43b510b1
Sandro Knauß
hefee at moszumanska.debian.org
Sat Dec 16 21:37:22 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/www.git;a=commitdiff;h=f7e3d93
The following commit has been merged in the master branch:
commit f7e3d93748a4171a6dded32a1912f636f243fff8
Author: Sandro Knauß <hefee at debian.org>
Date: Sat Dec 16 22:07:59 2017 +0100
Add pim-build-graph
---
files/pim-build-deps.dot | 104 +++++++++++++++++++++++++++++++++++++++++++++++
files/pim-build-graph.py | 99 ++++++++++++++++++++++++++++++++++++++++++++
genweb.sh | 3 ++
3 files changed, 206 insertions(+)
diff --git a/files/pim-build-deps.dot b/files/pim-build-deps.dot
new file mode 100644
index 0000000..27ec4b4
--- /dev/null
+++ b/files/pim-build-deps.dot
@@ -0,0 +1,104 @@
+digraph pim {
+ "ktnef" [fillcolor="lightblue", style="filled"] ;
+ "akonadi" [fillcolor="darkgreen", style="filled"] ;
+ "knotes" [fillcolor="lightblue", style="filled"] ;
+ "kontactinterface" [fillcolor="darkgreen", style="filled"] ;
+ "libkf5grantleetheme" [fillcolor="darkgreen", style="filled"] ;
+ "akonadiconsole" [fillcolor="lightblue", style="filled"] ;
+ "kmime" [fillcolor="darkgreen", style="filled"] ;
+ "blogilo" [fillcolor="lightblue", style="filled"] ;
+ "kdepim-runtime" [fillcolor="lightblue", style="filled"] ;
+ "grantlee-editor" [fillcolor="lightblue", style="filled"] ;
+ "kleopatra" [fillcolor="lightblue", style="filled"] ;
+ "kcontacts" [fillcolor="darkgreen", style="filled"] ;
+ "kholidays" [fillcolor="darkgreen", style="filled"] ;
+ "libkf5ksieve" [fillcolor="lightblue", style="filled"] ;
+ "kpimtextedit" [fillcolor="darkgreen", style="filled"] ;
+ "kcalcore" [fillcolor="darkgreen", style="filled"] ;
+ "kldap" [fillcolor="darkgreen", style="filled"] ;
+ "syndication" [fillcolor="darkgreen", style="filled"] ;
+ "libkf5mailcommon" [fillcolor="lightblue", style="filled"] ;
+ "akregator" [fillcolor="lightblue", style="filled"] ;
+ "kgpg" [fillcolor="lightblue", style="filled"] ;
+ "libkf5eventviews" [fillcolor="lightblue", style="filled"] ;
+ "kcalutils" -> "ktnef" ;
+ "kcontacts" -> "ktnef" ;
+ "libkf5libkdepim" -> "libkf5mailimporter" ;
+ "akonadi-mime" -> "libkf5mailimporter" ;
+ "kontactinterface" -> "knotes" ;
+ "kcalutils" -> "knotes" ;
+ "akonadi-notes" -> "knotes" ;
+ "libkf5pimcommon" -> "knotes" ;
+ "libkf5calendarsupport" -> "akonadiconsole" ;
+ "kf5-messagelib" -> "akonadiconsole" ;
+ "kcalcore" -> "kalarmcal" ;
+ "akonadi" -> "kalarmcal" ;
+ "kholidays" -> "kalarmcal" ;
+ "kidentitymanagement" -> "kalarmcal" ;
+ "kf5-kdepim-apps-libs" -> "kf5-messagelib" ;
+ "kmailtransport" -> "kf5-messagelib" ;
+ "libkf5gravatar" -> "kf5-messagelib" ;
+ "kmbox" -> "kf5-messagelib" ;
+ "kidentitymanagement" -> "kf5-messagelib" ;
+ "libkf5pimcommon" -> "libkf5gravatar" ;
+ "kcalutils" -> "libkolab" ;
+ "akonadi-notes" -> "libkolab" ;
+ "kcontacts" -> "libkolab" ;
+ "akonadi-mime" -> "akonadi-contacts" ;
+ "kcontacts" -> "akonadi-contacts" ;
+ "kblog" -> "blogilo" ;
+ "kf5-messagelib" -> "blogilo" ;
+ "akonadi-calendar" -> "kdepim-runtime" ;
+ "libkgapi" -> "kdepim-runtime" ;
+ "kalarmcal" -> "kdepim-runtime" ;
+ "libkf5pimcommon" -> "kdepim-runtime" ;
+ "libkolab" -> "kdepim-runtime" ;
+ "kmbox" -> "kdepim-runtime" ;
+ "akonadi" -> "akonadi-mime" ;
+ "kmime" -> "akonadi-mime" ;
+ "kimap" -> "libkf5pimcommon" ;
+ "libkf5libkdepim" -> "libkf5pimcommon" ;
+ "kpimtextedit" -> "libkf5pimcommon" ;
+ "akonadi" -> "akonadi-notes" ;
+ "kmime" -> "akonadi-notes" ;
+ "kf5-messagelib" -> "grantlee-editor" ;
+ "libkf5libkleo" -> "kleopatra" ;
+ "kmime" -> "kleopatra" ;
+ "libkf5grantleetheme" -> "kf5-kdepim-apps-libs" ;
+ "libkf5libkleo" -> "kf5-kdepim-apps-libs" ;
+ "libkf5pimcommon" -> "kf5-kdepim-apps-libs" ;
+ "akonadi-contacts" -> "akonadi-calendar" ;
+ "kmailtransport" -> "akonadi-calendar" ;
+ "kcalutils" -> "akonadi-calendar" ;
+ "kpimtextedit" -> "libkf5libkleo" ;
+ "kcalcore" -> "libkgapi" ;
+ "kcontacts" -> "libkgapi" ;
+ "akonadi-contacts" -> "libkf5libkdepim" ;
+ "akonadi-search" -> "libkf5libkdepim" ;
+ "kldap" -> "libkf5libkdepim" ;
+ "kf5-kdepim-apps-libs" -> "libkf5calendarsupport" ;
+ "akonadi-calendar" -> "libkf5calendarsupport" ;
+ "kholidays" -> "libkf5calendarsupport" ;
+ "kidentitymanagement" -> "libkf5ksieve" ;
+ "kmailtransport" -> "libkf5ksieve" ;
+ "libkf5pimcommon" -> "libkf5ksieve" ;
+ "kcalcore" -> "kblog" ;
+ "syndication" -> "kblog" ;
+ "akonadi-mime" -> "kmailtransport" ;
+ "kpimtextedit" -> "kidentitymanagement" ;
+ "kmime" -> "kmbox" ;
+ "kmime" -> "kimap" ;
+ "libkf5mailimporter" -> "libkf5mailcommon" ;
+ "kf5-messagelib" -> "libkf5mailcommon" ;
+ "kontactinterface" -> "akregator" ;
+ "syndication" -> "akregator" ;
+ "kf5-messagelib" -> "akregator" ;
+ "kcalcore" -> "kcalutils" ;
+ "kidentitymanagement" -> "kcalutils" ;
+ "akonadi-contacts" -> "kgpg" ;
+ "akonadi-mime" -> "akonadi-search" ;
+ "kcalcore" -> "akonadi-search" ;
+ "kcontacts" -> "akonadi-search" ;
+ "libkf5libkdepim" -> "libkf5eventviews" ;
+ "libkf5calendarsupport" -> "libkf5eventviews" ;
+}
diff --git a/files/pim-build-graph.py b/files/pim-build-graph.py
new file mode 100755
index 0000000..02579dc
--- /dev/null
+++ b/files/pim-build-graph.py
@@ -0,0 +1,99 @@
+#!/usr/bin/python
+
+# depgraph
+# Copyright (C) 2008 Stefano Zacchiroli <zack at debian.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+"""Graph the dependencies of all packages contained in a given Packages
+file.
+
+Only consider Depends fields. Versioned dependencies are considered as they
+were not versioned. The graph is retourned in output as a (non normalized)
+graphviz graph suitable to be processed by dot (for an unstable/main Packages
+file, generating the final graph will take a while ...)."""
+
+from __future__ import print_function
+
+import sys
+import copy
+from debian import deb822
+
+__fresh_id = 0
+
+def main():
+ def get_id():
+ global __fresh_id
+ __fresh_id += 1
+ return ("NODE_%d" % __fresh_id)
+
+ def emit_arc(node1, node2):
+ print(' "%s" -> "%s" ;' % (node1, node2))
+ def emit_node(node, dsc):
+ print(' "%s" [label="%s"] ;' % (node, dsc))
+ def emit_nodecolor(node, color):
+ print(' "%s" [fillcolor="%s", style="filled"] ;' % (node, color))
+
+ sources={pkg['package']:[] for pkg in deb822.Sources.iter_paragraphs(open('Sources'))}
+ p2s = {}
+
+ for pkg in deb822.Sources.iter_paragraphs(open('Packages')):
+ if 'Source' in pkg and pkg['Source'] in sources:
+ sources[pkg['Source']].append(pkg['Package'])
+ p2s[pkg['Package']] = pkg['Source']
+ elif pkg['Package'] in sources:
+ p2s[pkg['Package']] = pkg['Package']
+ #else:
+ # print("Package will not processed", pkg['Package'])
+
+
+ graph = {}
+
+ for pkg in deb822.Sources.iter_paragraphs(open('Sources')):
+ name = pkg['package']
+ rels = pkg.relations
+ sDeps = set()
+ for deps in rels['build-depends']:
+ if len(deps) == 1:
+ if deps[0]['name'] not in p2s:
+ continue
+ sDeps.add(p2s[deps[0]['name']])
+
+ graph[name] = sDeps
+
+ sgraph = {}
+ for pkg in graph:
+ deps = copy.copy(graph[pkg])
+ for dep in graph[pkg]:
+ deps -= graph[dep]
+ sgraph[pkg] = deps
+
+
+ print("digraph pim {")
+ for pkg in graph:
+ name = pkg
+ sDeps = graph[pkg]
+ if sDeps == set():
+ emit_nodecolor(name, 'darkgreen')
+ else:
+ for p in sgraph:
+ if p == pkg:
+ continue
+ if pkg in sgraph[p]:
+ break
+ else:
+ emit_nodecolor(name, 'lightblue')
+
+ for pkg in graph:
+ name = pkg
+ sDeps = graph[pkg]
+ for dep in sDeps:
+ emit_arc(dep, name)
+ print("}")
+
+if __name__ == '__main__':
+ main()
+
diff --git a/genweb.sh b/genweb.sh
index d788959..374ca0d 100755
--- a/genweb.sh
+++ b/genweb.sh
@@ -24,5 +24,8 @@ bash genrss.sh > $OUTPUT/rss.xml
# Generate Qt5 build dependencies graph. Needs dot.
dot -T png -o $OUTPUT/images/qt5_build_deps.png files/qt5-build-deps.dot
+# Generate Pim5 build dependencies graph. Needs dot.
+dot -T png -o $OUTPUT/images/pim-build-deps.png files/pim-build-deps.dot
+
# find $OUTPUT/ -name ".svn" -exec rm -rf {} \; || true
chmod -R g+w $OUTPUT/*
--
pkg-kde.alioth.debian.org website
More information about the pkg-kde-commits
mailing list