summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeon Woestenberg <leon@sidebranch.com>2009-03-29 03:26:07 +0200
committerLeon Woestenberg <leon@sidebranch.com>2009-03-29 13:42:04 +0200
commit69d1bc9c60d59862106c69f6caaa0059e049b32d (patch)
tree379659d2ef4e915e885297d547882d686b850a4b
parent12ae47696185565a627ffa6eeccc51e45a5b9ea3 (diff)
contrib/dependsgraph: Shell script showing simple depends graph.
-rwxr-xr-xcontrib/dependsgraph/dependsgraph.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/contrib/dependsgraph/dependsgraph.sh b/contrib/dependsgraph/dependsgraph.sh
new file mode 100755
index 0000000000..b5526f9d39
--- /dev/null
+++ b/contrib/dependsgraph/dependsgraph.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# This script attempts to repair the use of creating
+# dependency graphs of packages.
+#
+# This got unusuable, (and broken beyond repair?) with
+# enhancements to bitbake in its dependency tracking.
+#
+# This script is a hack. It works for me.
+#
+# Apply the patch from this bug report to bitbake
+# (if not yet upstream), tested against r1152 of
+# svn://svn.berlios.de/bitbake/branches/bitbake-1.8
+#
+# http://bugs.openembedded.net/show_bug.cgi?id=5002
+#
+
+IGNORE_DEPENDS=" \
+-native -dbg -dev -doc -info -locale -cross -initial -r[0-9]* \
+-intermediate -linux-gcc -linux-binutils -linux-libc-for-gcc linux-libc-headers \
+"
+
+IGNORE_DASHED="dashed]"
+
+if [ ! -f depends.dot ]; then
+ echo "Cannot find ./depends.dot"
+# exit
+fi
+
+which dot
+if [ ! $? -eq 0 ]; then
+ echo "Install graphviz on your host."
+ exit
+fi
+
+echo -n >/tmp/delete.sed
+for IGNORE in $IGNORE_DEPENDS $IGNORE_DASHED ;
+do
+ echo /$IGNORE/d >>/tmp/delete.sed
+done
+
+#cat /tmp/delete.sed
+
+# first, delete a lot of (noisy) nodes and edges.
+sed -f /tmp/delete.sed depends.dot >reduced.dot
+
+# create a PNG
+neato -v -Tpng -o depends.png reduced.dot
+
+# show it
+gthumb depends.png