Blob Blame History Raw
#!/bin/sh
#
# Extract required packages from beakerlib Makefile
# and generate them into tmt files

TMPMETA=$(mktemp /tmp/beaker-meta-XXXXX.txt)
ALLPACKAGES=$(pwd)/allpackages.txt

find -name 'Makefile' | while read MAKEFILE; do
DIRNAME=$(dirname -- "$MAKEFILE")
FMF="$DIRNAME/main.fmf"
if [ -f "$FMF" ] && ! grep -q 'require:' "$FMF"; then
	rm -f "$TMPMETA"
	(cd $DIRNAME && make METADATA="$TMPMETA" "$TMPMETA")
	PACKAGES=$(grep Requires: "$TMPMETA" | cut -d: -f2- | xargs echo)
	echo 'require:' >> "$FMF"
	for PKG in $PACKAGES; do
		echo "    - $PKG" >> "$FMF"
		echo "$PKG" >> "$ALLPACKAGES"
	done
fi
done

sort -u < "$ALLPACKAGES" > "$TMPMETA"
mv "$TMPMETA" "$ALLPACKAGES"