[PATCH 1/2] Add skript dep-tree.

Fabian Bläse fabian at blaese.de
Sa Dez 14 21:22:34 CET 2019


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 at blaese.de>

On 12.12.19 20:19, Robert Langhammer wrote:
> This script collects all fff-package dependencies.
> 
> Signed-off-by: Robert Langhammer <rlanghammer at 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
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20191214/c91cdbcb/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev