Blob Blame History Raw
#!/bin/sh

dependencies=$1
modules=$2
result=$3

cat $modules | tr ' ' '\n' > $result
echo > $result~

while ! diff -q $result~ $result > /dev/null ; do
	cp $result $result~
	while read MOD ; do
		moddeps="$(grep ^$MOD: $dependencies | sed -e 's/.*://' ||:)"
		for DEP in $moddeps ; do
			if ! grep -q ^$DEP\$ $result ; then
				echo $DEP >> $result
				echo $MOD: $DEP
			fi
		done
	done < $result
done