summaryrefslogtreecommitdiff
path: root/contrib/dependsgraph/dependsgraph.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dependsgraph/dependsgraph.sh')
-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