collabora-online-server-nod.../graphviz-deps.sh

29 lines
690 B
Bash
Executable File

#!/bin/bash
{
printf 'digraph deps {\noverlap=scale;\n'
sed -r '
s/\([^()]*\)//g
s/(collaboraofficebasis5.3)-[a-z]{2,3}(-[a-z]+)*-(calc|res|writer)/\1-LANG-\3/g
s/(collaboraoffice5.3-dict|collaboraofficebasis5.3)-[a-z]{2,3}(-[a-z]+)*($|[^-a-z])/\1-LANG\3/g
' Packages \
| tr -d ' ' | tr '.+-' _ \
| gawk -F: '
function pr() {
if (p ~ /_dev$/ || p ~ /_dbgsym/) return
split(d, a, ",")
for (i in a) if (a[i] != "") printf("%s -> %s;\n", p, a[i])
p=""
d=""
}
/^Package/ { p=$2 }
/^Depends/ { d=$2 }
/^$/ { pr() }
END { pr() }
' | sort -u
echo '}'
} >deps.dot
dot -Tpdf deps.dot >dot.pdf
twopi -Tpdf deps.dot >twopi.pdf
circo -Tpdf deps.dot >circo.pdf