[Pkg-mono-devel] Nemerle

Paolo Molaro lupus@ximian.com
Thu, 5 Feb 2004 20:08:27 +0100


On 02/03/04 rzyjontko wrote:
> This sounds unreasonable to me.  My IL binaries are run by binfmt_misc
> kernel support.  So I thought it would be best to install the binary
> (Nemerle compiler is called ncc) in /usr/bin/ncc, and it works.
> 
> Please correct me if I'm wrong, but I thought that this is the
> preferred way.

It depends. If your app references only shared assemblies (which will be
in the GAC or in the default location - $prefix/lib, currently), then
doing that is fine. If you have private assemblies, it's better to
install the files in $prefix/share/appname/ and install a wrapper in the
bin dir (note that the wrapper won't need to set MONO_PATH, since the
loader looks in the directory where the binary was found).

> My linitan complains about a non-elf, and non-script binary in
> /usr/bin, but it was calibrated for version 3.5.10 of policy, and I
> haven't found this constraint in 3.6.

I guess lintian needs to be updated to not do that, at least for
CLI files. I'm not sure, though, if requiring binfmt_misc is
appropriate: I would personally alwasy install a wrapper in bin
and the assemblies in lib/appname/ or share/appname/.

> I have one more question.  What about AOT compilation?  It can speed
> up many applications (expecially small ones - which run short, but are
> loaded long).  Mono creates an .so file for each binary blessed with
> mono --aot.  Should every admin run it himself for each binary he
> installs on the system or maybe it could be done for him?

This could be done in the postinst, but I think it's best to do it in
two stesps: register an assembly for aot in the postinst if appropriate
(not all the assemblies should be aot compiled). Then the admin would
run a script (which could be called by the postinst too) which compiles
all the assemblies registered in one go (assemblies may need to be
re-aoted whne hw changes happen or when a base assembly is updated etc.).

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better