From patchwork Thu Dec 12 19:19:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [1/2] Add skript dep-tree. From: Robert Langhammer X-Patchwork-Id: 1243 Message-Id: <20191212191920.13820-1-rlanghammer@web.de> To: franken-dev@freifunk.net Date: Thu, 12 Dec 2019 20:19:19 +0100 This script collects all fff-package dependencies. Signed-off-by: Robert Langhammer Acked-by: Fabian Bläse --- tools/dep-tree | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 tools/dep-tree -- 2.20.1 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 +