It extracts from Required: makefile and produces list of packages for each tests. In addition, it creates list of all packages required on all tests.
25 lines
677 B
Bash
Executable file
25 lines
677 B
Bash
Executable file
#!/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"
|