You know the problem, your favorite Fedora Mono package has hardcoded references to /usr/lib, even on x86_64 which fucks things up(tm). In fact the problem is so big that many bugs filed against Mono packages has to do with missed instances of this problem. To that effect, I challenged my friend Brian, who raved about how awfu.. awesome perl is to make me a little tool to create perfect patches for this problem. Put the attached SourceFucker.pl file in ~/rpmbuild/SOURCES, then chmod +x it and everytime you download an updated tarball run ./SourceFucker.pl foo.tar.bz2.
Out drops a perfect patch for you following the naming foo-libdir.patch to apply with the required top comment (which everyone seems to forget is obligatory). SourceFucker currently doesn't accept a path to the tarball but putting it in SOURCES also ensures that the patch ends up where we need it so hardly a big problem.
I hope this little quick hack will be able to be extended into becoming a part of our review guidelines to ensure that we hit every instance of /lib hardcoding. This will be valid I suspect even after we rewrite the guidelines to respect managed code, just with different alterations (likely we will need to put things in datadir instead or which ever we agree upon).
- David
Yes, I am aware of the irony of fixing Mono packages using perl..
mono@lists.stg.fedoraproject.org