ignore ghc's builtin pseudo-libs

This commit is contained in:
Jens Petersen 2010-11-23 23:48:16 +10:00
parent 3ca7af736f
commit 2f1663e620
2 changed files with 16 additions and 9 deletions

View File

@ -12,13 +12,19 @@ MODE=$1
PKGBASEDIR=$2
PKGCONFDIR=$PKGBASEDIR/package.conf.d
case $MODE in
--provides) FIELD=id ;;
--requires) FIELD=depends ;;
*) echo "`basename $0`: Need --provides or --requires" ; exit 1
esac
files=$(cat)
#set -x
if [ -d "$PKGCONFDIR" ]; then
for i in $files; do
LIB_FILE=$(echo $i | grep /libHS | grep -v /libHSrts)
LIB_FILE=$(echo $i | grep /libHS | egrep -v "$PKGBASEDIR/libHS")
if [ -n "$LIB_FILE" ]; then
case $LIB_FILE in
*.so) META=ghc ;;
@ -26,15 +32,13 @@ if [ -d "$PKGCONFDIR" ]; then
*.a) META=ghc-devel SELF=ghc ;;
esac
if [ -n "$META" ]; then
case $MODE in
--provides) FIELD=id ;;
--requires) FIELD=depends ;;
*) echo "`basename $0`: Need --provides or --requires" ; exit 1
esac
PKGVER=$(echo $LIB_FILE | sed -e "s%$PKGBASEDIR/*\([^/]\+\)/libHS.*%\1%")
PKGVER=$(echo $LIB_FILE | sed -e "s%$PKGBASEDIR/\([^/]\+\)/libHS.*%\1%")
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER $FIELD | sed -e "s/^$FIELD: \+//")
for i in $HASHS; do
echo $i | sed -e "s/\(.*\)-\(.*\)/$META(\1) = \2/"
case $i in
*-*) echo $i | sed -e "s/\(.*\)-\(.*\)/$META(\1) = \2/" ;;
*) ;;
esac
done
if [ "$MODE" = "--requires" -a -n "$SELF" ]; then
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER id | sed -e "s/^id: \+//")

View File

@ -1,5 +1,5 @@
Name: ghc-rpm-macros
Version: 0.10.1
Version: 0.10.2
Release: 1%{?dist}
Summary: Macros for building packages for GHC
@ -53,6 +53,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Tue Nov 23 2010 Jens Petersen <petersen@redhat.com> - 0.10.2-1
- ignore ghc's builtin pseudo-libs
* Tue Nov 23 2010 Jens Petersen <petersen@redhat.com> - 0.10.1-1
- bring back the explicit n-v-r internal package requires for devel and prof packages