[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PROPOSAL] New Virtual Packages and way to handle Classpath



Hi Ben,

--- Ben Burton <bab@debian.org> wrote:
> 
> > I haven't used JNI much, so it would be nice if someone who packages a JNI
> > library could chip in here and provide some insight about what's necesary,
> and
> > how they use to find it.
> 
> For libreadline-java:
> 
> It builds explicitly against gcj and gcjh with the /usr/include/jni.h
> provided by libgcj4-dev.  This is done so the package build is
> guaranteed to work out of the box regardless of a user's alternatives,
> default $JAVA_HOME (which may be appropriate for their day-to-day work
> but not for building libreadline-java), etc.

Sounds quite reasonable to me. Pick a free VM environment that works for
building the package and use that to build it.

> Since it's a library, it doesn't have a startup script and so at runtime
> it uses whatever JVM is running its parent app.  However, it works with
> kaffe (or at least will work with kaffe once the patch for #167936 is
> properly applied), gij and blackdown without any additional command-line
> options (beyond putting libreadline-java.jar in the classpath).  This is
> in part assured by the policy requirements that all JVMs search
> /usr/lib/jni for JNI modules.

I've seen the bug report and the patch for kaffe. Thanks for doing that, I hope
Ean will apply the patch in the next release of kaffe 1.1.1 for debian, or for
1.1.2.

The only issue I se with JNI is how to handle libraries/programs using JNI 1.2
vs VMs implementing only JNI 1.1. I assume that it could be handled by
specifying the VMs an application will run on as explicit dependencies, and
preferably doing the same for libraries. Bug reports may be filed to get the
maintainers/upstream to consider implementing the missing features. 

That's how we got partial JNI 1.2 support in kaffe: Mark Wielaard needed it for
an application using java-gnome, which needs some functions from JNI 1.2, so he
wrote a patch and voila, java-gnome works on kaffe now.

As an aside, I see the role of debian java packagers as providing not just the
packages, but also a 'communication link' between the debian java users, their
package upstream, and the free VMs. So if your package doesn't work with a free
VM, get the upstreams in touch with each other, so that they can work out a way
to fix it. That's currently happening between freenet, gcj  and kaffe developer
communities, for example. I hope the result will be a very good java.nio
implementation.

I think the best thing about free software, is the opportunity to collaborate
freely with others to build something exciting. Debian Java packagers should be
encouraged to foster the collaboration between their packages and free VMs.

cheers,
dalibor topic

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com



Reply to: