tools/hotplug: add helper script to visualize systemd dependencies

A small helper to draw a graph with dot(1) and show it with display(1):
bash tools/hotplug/Linux/systemd/show_service_dependencies.sh \
	tools/hotplug/Linux/systemd/*.in

A red line means Requires= aka "enable it"
A blue line means After=
A green line means Before=

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
Olaf Hering authored and Ian Campbell committed 2014-10-27 10:14:13 +00:00
1 parent f96b89e560
commit 757df439ab
1 file changed
+31
@@ -0,0 +1,31 @@
#!/bin/bash
# dot(1) from graphviz, display(1) from ImageMagick
# Usage: bash $0 tools/hotplug/Linux/systemd/*.in
(
echo " digraph systemd {"
for file in "$@"
do
if test -f "$file"
then
unit=${file##*/}
unit=${unit%.in}
requires="`grep ^Requires= $file | cut -f 2- -d =`"
before="`grep ^Before= $file | cut -f 2- -d =`"
after="`grep ^After= $file | cut -f 2- -d =`"
echo "\"$unit\" [fillcolor=lightgray color=black fontcolor=black style=filled];"
for i in $requires
do
echo "\"$i\" -> \"$unit\" [color=red];"
done
for i in $after
do
echo "\"$i\" -> \"$unit\" [color=blue];"
done
for i in $before
do
echo "\"$unit\" -> \"$i\" [color=green];"
done
fi
done
echo "}"
) | dot -Tpng | display -
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.