742ca58
#!/bin/sh
742ca58
# find rpm provides and requires for Haskell GHC libraries
742ca58
c81c656
[ $# -ne 2 ] && echo "Usage: `basename $0` [--provides|--requires] %{buildroot}%{ghclibdir}" && exit 1
742ca58
795c0c5
set +x
0cd6abb
742ca58
MODE=$1
7232a81
PKGBASEDIR=$2
7232a81
PKGCONFDIR=$PKGBASEDIR/package.conf.d
742ca58
2f1663e
case $MODE in
2f1663e
    --provides) FIELD=id ;;
2f1663e
    --requires) FIELD=depends ;;
2f1663e
    *) echo "`basename $0`: Need --provides or --requires" ; exit 1
2f1663e
esac
2f1663e
742ca58
files=$(cat)
742ca58
a1abcaa
for i in $files; do
0b6b019
    case $i in
7e15be0
        # exclude builtin_rts.conf
7e15be0
	$PKGCONFDIR/*-*.conf)
7e15be0
	    PKGVER=$(echo $i | sed -e "s%$PKGCONFDIR/\(.\+\)-.\+.conf%\1%")
7e15be0
	    OUT=$(/usr/lib/rpm/ghc-pkg-wrapper $PKGBASEDIR field $PKGVER $FIELD | sed -e "s/^depends: \+//" -e "s/rts//" -e "s/bin-package-db-[^ ]\+//")
7e15be0
	    for d in $OUT; do
7e15be0
		case $d in
7e15be0
		    *-*) echo "ghc-devel($d)" ;;
7e15be0
		    *) ;;
7e15be0
		esac
7e15be0
	    done
7e15be0
	    ;;
7e15be0
        *)
0b6b019
            ;;
0b6b019
    esac
a1abcaa
done