Message ID | 20191212191920.13820-1-rlanghammer@web.de |
---|---|
State | Accepted |
Headers | show |
diff --git a/tools/dep-tree b/tools/dep-tree new file mode 100755 index 0000000..f99d9a6 --- /dev/null +++ b/tools/dep-tree @@ -0,0 +1,39 @@ +#!/bin/bash + +builddir=./build +[ -f selected_bsp ] && . selected_bsp +# variant=$(cat selected_variant) +feeds=$builddir/feeds +feed=${1:-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 +} +# find default packages +defaults=$(awk -v RS="@@" '/Default: y/ { print }' "${feeds}/${feed}.index" | grep Package: | cut -f2 -d" ") + +# 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 "}" +rm "$tmpfile" + + +# vim: ts=4 +
Puh, dieses Makefile Parsen sieht ja gruselig aus.. Im Zweifel kann das aber denke ich dennoch in den tools Ordner. Acked-by: Fabian Bläse <fabian@blaese.de> On 12.12.19 20:19, Robert Langhammer wrote: > This script collects all fff-package dependencies. > > Signed-off-by: Robert Langhammer <rlanghammer@web.de> > --- > tools/dep-tree | 39 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > create mode 100755 tools/dep-tree > > diff --git a/tools/dep-tree b/tools/dep-tree > new file mode 100755 > index 0000000..f99d9a6 > --- /dev/null > +++ b/tools/dep-tree > @@ -0,0 +1,39 @@ > +#!/bin/bash > + > +builddir=./build > +[ -f selected_bsp ] && . selected_bsp > +# variant=$(cat selected_variant) > +feeds=$builddir/feeds > +feed=${1:-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 > +} > +# find default packages > +defaults=$(awk -v RS="@@" '/Default: y/ { print }' "${feeds}/${feed}.index" | grep Package: | cut -f2 -d" ") > + > +# 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 "}" > +rm "$tmpfile" > + > + > +# vim: ts=4 > + > -- > 2.20.1 >
applied
This script collects all fff-package dependencies. Signed-off-by: Robert Langhammer <rlanghammer@web.de> --- tools/dep-tree | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 tools/dep-tree -- 2.20.1