[Mono-dev] Red Hat/Fedora packaging

Vladimir Giszpenc vgiszpenc at dsci.com
Tue May 12 07:36:31 EDT 2009

The following was taken from


File Locations

Mono packages should install assemblies to %{_libdir} rather than
/usr/lib or %{_datadir}. In most cases the preference is for
%{_libdir}/PACKAGENAME. We use %{_libdir} because we do not consider
mono packages to be noarch.

The main reason for this is that mono can ahead-of-time compile its
assemblies into ELF shared objects. These AOTs have to exist in the same
directory as their DLL/EXE counterparts otherwise mono cannot use them.
Even if we, as packagers, choose not to create the AOT files when we
build the mono rpms, the system administrator can choose to create them
after install. Since there's no way to place the mono assemblies into an
arch independent directory and the AOTs into arch dependent directories,
the whole thing has to go into an arch dependent tree.


It really bothers me that Red Hat/Fedora considers CIL packages not to
be noarch.  I would like to propose using the config file to allow
relocating the aot-ed file to some arch dependent location.  The problem
they have is that the aot-ed code must be side-by-side with the pre
compiled assembly.


Could we use Foo.dll.config to have sections per architecture that tell
the runtime where to load the aot-ed file from?

I don't actually use aot-ed code.  I just want to get my package (exe)
to be noarch.   Using Red Hat is not my choice so please don't suggest
that I use another distribution.  Please help me get these packaging
guidelines changed. 






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090512/b2ce3e03/attachment.html 

More information about the Mono-devel-list mailing list