nice tool for making .dot graphs with RPM dependecies on installed system:
#!/bin/bash
# deps:
# bash
# rpm
# sed
# cut
# uniq
# sort
installedrpms=$(rpm -qa --queryformat "%{NAME}\n")
function printdeps() {
local package deps dep providedby out
package=$1
out=""
deps=$(rpm -qR $package | cut -d " " -f 1)
for dep in $deps;
do
providedby=$(rpm -q --queryformat "%{NAME}\n" --whatprovides "$dep")
if [ $? -eq 0 ];
then
# packages should not depend on themselves
if [ "$package" != "$providedby" ];
then
out="$out\"$package\" -> \"$providedby\";\n"
fi
fi
done
echo $out
}
alloutput=""
for i in $installedrpms;
do
output=$(printdeps $i)
alloutput="$alloutput$output"
done
echo "digraph deptree {"
echo -e "$alloutput" | sort | uniq
echo "}"
Nenhum comentário:
Postar um comentário