forked from freifunk-franken/firmware
Robert Langhammer
c569a9a4b5
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>
51 lines
1.1 KiB
Bash
Executable File
51 lines
1.1 KiB
Bash
Executable File
#!/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
|
|
variant=$(cat selected_variant)
|
|
[ $# = 0 ] || variant="$@"
|
|
feeds=$builddir/feeds
|
|
feed=fff
|
|
|
|
tmpfile=$(mktemp)
|
|
|
|
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 +)
|
|
for dep in $deps; do
|
|
echo "\"$pkg\" -> \"$dep\"" >> "$tmpfile"
|
|
done
|
|
for dep in $deps; do
|
|
grep "Package:" "${feeds}/${feed}.index" | grep " $dep$" &> /dev/null && write_deps "$dep"
|
|
done
|
|
}
|
|
|
|
for v in $variant; do
|
|
defaults="$defaults fff-variant-$v"
|
|
done
|
|
# start tree
|
|
for package in $defaults; do
|
|
write_deps "$package"
|
|
done
|
|
|
|
# write the gv file to stdout
|
|
echo "digraph G {"
|
|
sort "$tmpfile" | uniq | grep -v libc | grep -v libssp | grep -v libpthread | grep -v librt
|
|
echo "}"
|
|
[ -s $tmpfile ] || usage
|
|
rm "$tmpfile"
|
|
|
|
|
|
# vim: ts=4
|