[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