[Mono-devel-list] Multiple GAC locations

Tom McLaughlin tmclaugh at sdf.lonestar.org
Mon Sep 6 21:54:56 EDT 2004

Hi, right now I'm working on packaging some of the remaining Mono
components for FreeBSD that are not currently available in our ports
tree and I think I have run into what may become a very problematic
issue for us and our packaging system.  The issue will be when a program
installs an assembly into the GAC but requires Gnome.  On FreeBSD /usr
is reserved for the base system, /usr/local is used for most ports (and
is where Mono currently installs to), and /usr/X11R6 is for XFree86/Xorg
and for Gnome plus those apps that require Gnome.

gtksourceview-sharp is the first port I am really having problems with.
Of course I may have missed this with some apps already.  It installs
mime-info files and therefore should be installed into /usr/X11R6 on
FreeBSD because of Gnome, but it installs an assembly into Mono's GAC
and therefore needs to be in /usr/local.  I need a away to install the
package so that it will interact properly with Gnome and with Mono.  I'm
worried that future Gnome/Mono apps will create greater headaches, such
as needing to install an assembly and a gconf schema.   

>From reading the gacutil manpage I see that the GAC is relative to
Mono's prefix.  Are there any plans or has there been any thought into
allowing for multiple GAC locations?  If there could be a way to create
an additional GAC under /usr/X11R6 this would be the end of my problems
I believe.

There are a few possible solutions I could do with the way Mono works
now but they have their own problems.  I could multi-home the package so
that some files install in /usr/X11R6 and the rest install
in /usr/local. This is not a preferable solution.  It's going to require
a fair amount of patching and bad magic on our side and I don't believe
this will be the end of it.  I am worried about creating run time errors
when doing this.  I could request that Mono be moved to /usr/X11R6 but
that means possibly putting unnecessary applications, such as ASP.NET
apps, in /usr/X11R6 which is a violation of the FreeBSD file system
hierarchy standards.  Symlink'ing may be yet another possibility but I
don't know what caveat's that may have.

I've tried googling and checking the archives of this list but I found
no mention of the possibility of multiple GAC locations.  Can this be
implemented in the future?  Also have any other packagers run into this
and how have they worked around it?  Thanks.


BSD# Project

More information about the Mono-devel-list mailing list