X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=scripts%2Fmono-find-provides.in;h=5b2e20602d5aa6ba0ab18adfd64134432ece4fb2;hb=eff552d9bd39e25fae2e75e6febeb1d3ab0e18ba;hp=7f677202006328bbaf90c3e5f58c551225fd48a2;hpb=b585d00928892398dfbfc315ed78b8032fa14708;p=mono.git diff --git a/scripts/mono-find-provides.in b/scripts/mono-find-provides.in index 7f677202006..5b2e20602d5 100644 --- a/scripts/mono-find-provides.in +++ b/scripts/mono-find-provides.in @@ -8,26 +8,34 @@ # (C) 2005 Novell (http://www.novell.com) # +if [ -n "$DISABLE_MONO_RPM_AUTO_DEPS" ]; then exit 0; fi + IFS=$'\n' filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/')) monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$")) -a=`which "$0"` -d=`dirname "$a"` +# Only include files with /gac/ in path +# (Allows packages to contain private assemblies that don't conflict with other packages) +monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/")) +# Disabled... see ChangeLog # Set the prefix, unless it is overriden (used when building mono rpms) -: ${prefix=$d/..} +: ${prefix=@prefix@} -exec_prefix=$d/.. libdir=$prefix/@reloc_libdir@ -bindir=$d +bindir=$prefix/bin -[ -x $bindir/monodis ] || exit 0; -[ -f $libdir/libmono.so ] || exit 0; +# Bail out if monodis or libmono is missing +if [ ! -x $bindir/monodis ] || [ ! -f $libdir/libmono-2.0.so.1 ] ; then + echo "monodis missing or unusable, exiting..." 1>&2 + exit 1 +fi -# set LD_LIBRARY_PATH to ensure that libmono.so is found +# set LD_LIBRARY_PATH to ensure that libmono is found export LD_LIBRARY_PATH=$libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +# and set MONO_PATH to ensure that mscorlib.dll can be found +export MONO_PATH=$prefix/lib/mono/4.5 for i in "${monolist[@]}"; do ($bindir/monodis --assembly $i | awk ' @@ -35,6 +43,14 @@ for i in "${monolist[@]}"; do /^Version:/ { VERSION=$2 } /^Name:/ { LIBNAME=$2 } END { + if (LIBNAME ~ /^policy/) { + cnt = split(LIBNAME, toks, ".") + VERSION=toks[2] "." toks[3] ".0.0" + LIBNAME="" + for (i=4; i<= cnt; i++) + LIBNAME = (LIBNAME toks[i] ".") + LIBNAME=substr(LIBNAME, 1, length(LIBNAME)-1) + } if (VERSION && LIBNAME) print "mono(" LIBNAME ") = " VERSION }