tools/dep-tree: fix broken tool

With commit 1946aaca87 the variantselection has changed.
This adapts dep-tree to the new situation.

Additional:
* The variant can now passed by as an option.
* A help text is added.

Signed-off-by: Robert Langhammer <rlanghammer@web.de>
Acked-by: Fabian Bläse <fabian@blaese.de>
This commit is contained in:
Robert Langhammer 2021-02-17 15:29:53 +01:00 committed by Fabian Bläse
parent 08626f9e96
commit c569a9a4b5
1 changed files with 18 additions and 6 deletions

View File

@ -1,10 +1,20 @@
#!/bin/bash
usage() {
cat <<- EOF
usage: tools/dep-tree [variant] [variant]
If no parameter is given the selected-variant is used.
Possible variants: node layer3
To display the tree pipe it to dot:
tools/dep-tree | dot -Tx11
EOF
}
builddir=./build
[ -f selected_bsp ] && . selected_bsp
# variant=$(cat selected_variant)
variant=$(cat selected_variant)
[ $# = 0 ] || variant="$@"
feeds=$builddir/feeds
feed=${1:-fff}
feed=fff
tmpfile=$(mktemp)
@ -12,7 +22,7 @@ write_deps() {
local deps
local dep
local pkg=$1
deps=$(awk -v RS="@@" "/Package: $pkg\\n/ { print }" "${feeds}/${feed}".index | grep ^Depends: | sed 's/Depends: //' | tr -d +)
deps=$(awk -v RS="@@" "/Package: $pkg\\n/ { print }" "${feeds}/${feed}".index | grep ^Depends: | sed 's/Depends: //' | tr -d +)
for dep in $deps; do
echo "\"$pkg\" -> \"$dep\"" >> "$tmpfile"
done
@ -20,9 +30,10 @@ write_deps() {
grep "Package:" "${feeds}/${feed}.index" | grep " $dep$" &> /dev/null && write_deps "$dep"
done
}
# find default packages
defaults=$(awk -v RS="@@" '/Default: y/ { print }' "${feeds}/${feed}.index" | grep Package: | cut -f2 -d" ")
for v in $variant; do
defaults="$defaults fff-variant-$v"
done
# start tree
for package in $defaults; do
write_deps "$package"
@ -32,6 +43,7 @@ done
echo "digraph G {"
sort "$tmpfile" | uniq | grep -v libc | grep -v libssp | grep -v libpthread | grep -v librt
echo "}"
[ -s $tmpfile ] || usage
rm "$tmpfile"