[Pkg-mono-devel] Packaging Mono programs

Jose Carlos Garcia Sogo jsogo at debian.org
Sun Aug 14 11:16:27 UTC 2005


On Sun, Aug 14, 2005 at 12:35:00AM +0200, Mirco Bauer wrote:
> Hi,
> 
> On Sat, 2005-08-13 at 22:58 +0200, Jose Carlos Garcia Sogo wrote:
> >  Hi,
> > 
> >  I am current evolution-sharp and beagle maintainer. While packaging
> >  these some questions have arosen. I hope you can help.
> 
> I looked already at them, and I was going to make some suggestions, but
> I don't remember them right now :-P

 Please, do so as soon as you reconnect your brain :-)

> 
> > 
> >  1. Do I need yo include those *glue* libraries generated when
> >  compiling? In evolution-sharp it is not included in make install
> >  target, but there are some that are included in beagle, so I am not
> >  sure.
> 
> when the glue lib is not installed you will not need it. the glue libs
> are not a good approach (100% managed C# code is better) but are used
> sometimes to make a binding easier (easier for the C hacker I
> guess :-P), speed reasons or problems within managed context, there are
> limitations IMHO.
> If beagle has some own glue libs, it's their choice to use/write them...
> in general a glue lib is not needed at all.

 So basically, i have to follow what upstream makes. If they are
 installed, I will need them installed, if not I won't need them. Ok.

> > 
> >  2. Why if beagle needs libmono0 and sqlite no tool grab that and I have
> >  to put that by hand? I mean, neither dh_shlibdeps nor dh_clideps detect
> >  that beagle depend on this two programs and I have to add them to
> >  Depends line. Also, I am surprised that no program depends on libmono0,
> >  when it seems that it has to be installed for mono programs to work.
> 
> this sounds strange, but there are situations where the dependency
> cannot be tracked. one cause is also broken or not existing clilibs (can
> happen when dh_makeclilibs is and run could segv or do other unexpectedt
> hings, please verify the buildlog).

  I get some errors when running makeclilibs on beagle (that I don't get
  when it is run on evolution-sharp). The errors are like the following:

dh_makeclilibs: debian/beagle/usr/lib/beagle/BeagleDaemonLib.dll has no
valid signature, ignoring
Mono StrongName - version 1.1.8.0
StrongName utility for signing assemblies
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2005 Novell. BSD
licensed.

debian/beagle/usr/lib/beagle/BeagleDaemonLib.dll does not represent a
strongly named assembly.

 Anyway, as you can check, the package seems to have right dependencies.

> 
> libmono0 is not used by ANY CLI program and shouldn't its part of the
> runtime, applications depend on mono-jit which is the runtime.
> 

 What I meant with not tracked sqlite and libmono0 dependencies are bugs
#321811 and #322904. In /etc/mono/config I see some dllmap lines
pointing to libraries such as sqlite and libMonoPosixHelper.so wich I
can have instlled or not (as mono does not depend on tehem). Perhaps
mono should depend on them, not other packages?

> > 
> >  3. Which arches are supposed to work? This is not said in CLI policy
> >  and I think that using Architecture: any is not a good idea if we know
> >  that we're going to fail in a lot of arches.
> 
> This will get an own section in the policy soon, currently i386 ppc and
> amd64 are supported by debian's mono, upstream has also support for s390
> which we do see as stable enough (yet).
> But in all cases use "Architecture: any" what archs compile and what
> will be limited by the mono supported architectures, let the buildd
> system go figure out what build-deps can be fulfilled and what not...
> only in special situations like bindings for different archs the
> architecture should be limited.
> Arch any is only required when native binaries/library (.so) are in the
> package, CIL assemblies (*.exe and *.dll) are architecture independ and
> should be arch all.

 And what about when those glue libraries are ot in the package but
compiled? I mean, in evolution-sharp one of those glue libraries is
compiled, and I guess that after it is statically linked within the C#
code. In my understanding this will make the package architecture any.
But of course I can be wrong. It is the first time I start packaging
Mono stuff :-)

 Thank a lot
-- 
Jose Carlos Garcia Sogo
   jsogo at debian.org



More information about the Pkg-mono-devel mailing list