[Fedora-packaging] Mono Packaging Issues

Toshio Kuratomi toshio at tiki-lounge.com
Tue Jun 13 17:40:35 UTC 2006


On Mon, 2006-06-12 at 22:41 -0700, Toshio Kuratomi wrote:
> On Mon, 2006-06-12 at 18:23 -0500, Tom 'spot' Callaway wrote:
> > 2. Putting DLLs in %{_datadir} vs %{_libdir}:
> > 
> > The FHS says that /usr/share (aka, %{_datadir}) is for "Architecture
> > Independent Data". These DLL files do not seem to qualify as
> > "Architecture Independent Data". I think that having them live in the:
> > %{_libdir}/mono/ hierarchy seems to be the most appropriate for them
> > at
> > this point in time. Obviously, this can be revisited if upstream
> > changes
> > the default location. The gacutil command should be putting these DLL
> > files in the right place.
> > 
> My understanding is .dlls and .exes are architecture independent.

Ugh.  Sorry guys, I think my understanding of the architecture
independence of .dlls and .exes is mistaken:

[1] Miguel posts to the Debian list about problems with their packaging
guidelines, including the tidbit that although the current Mono .dlls
are compiled to CIL and therefore arch independent, they do not have to
be this way::

http://lists.alioth.debian.org/pipermail/pkg-mono-devel/2005-February/000370.html

[2] The old, problematic guidelines Miguel is critiquing.  Among other
things, it contains the assumptions about arch-independence that Miguel
says are wrong::
  http://wiki.debian.org/?MonoConventions

[3] A new Debian roadmap for mono integration written up shortly after
one of the Debian developers talked with Miguel via IRC.  This is short
and succinct with several useful tidbits::
  http://wiki.debian.org/?MonoDebianPlan

[4] The Debian mono packaging guidelines draft.  This is longer and a
work in progress.  I haven't finished plowing through it but it sounds
like Debian has been examining this issue and has started to
canonicalize some of their knowledge so it should be good fodder::
  http://pkg-mono.alioth.debian.org/cli-policy/

Given this, my questions change to::
* Do the Core mono packages belong in %{_libdir} (ie, /usr/lib64 on
x86_64 and /usr/lib on 32bit systems) rather than /usr/lib?

  - If so, is this a requirement before we can place Extras packages
into the proper, %{_libdir}, directories?

* Do all mono packages belong under %{_libdir}/mono or should there be
more flexibility?  How much? (Allow %{_libdir}/[PKGNAME]?  Allow
%{_datadir}/PKGNAME because upstream should know if their package is
truly arch independent?)

  - If we allow more flexibility (for instance, allowing nant to install
to %{_datadir}) how do we check that the .dlls and .exes are truly
platform independent?

  - Related questions I have after reading [3]: Do .dlls and .exes
become platform dependent simply by linking to C-language glue
libraries?  Do we need to consider all mono packages as being platform
dependent because of AOT-compile?  I tried the mentioned "grep -i
dllimport" test here and failed to come up with any matches so I
obviously don't fully understand that page.

* Once again, putting everything under %{_libdir}/mono would be easiest
for doing reviews but it may require us to do a lot of patching to get
things into the right directories.

FWIW, Debian installs Nant into /usr/lib/mono/ so it appears they have
decided patching upstream's install locations is the proper procedure.

http://packages.debian.org/cgi-bin/search_contents.pl?searchmode=filelist&word=nant&version=unstable&arch=all

-Toshio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.fedoraproject.org/pipermail/packaging/attachments/20060613/7bd33ba7/attachment.bin 


More information about the packaging mailing list