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

Bug#212863: finjava: a tentative summary



Hello Ean,

Thursday, October 9, 2003, 10:26:10 PM, you wrote:
> They often use JAVA_HOME to find the executable, the base class
> libraries,

The base classes shouldn't matter apart from ant  bootclasspath,
which is already included in the ant-environment.

>  the compiler and jar.

Both are usebale from ant: jar is replaced by a internal
implementation based on zip classes and the compiler can be
specified via short names or classfiles.

>  Of course, that presents another set of
> issues with regard to alternatives. If JAVA_HOME points at
> /usr/lib/kaffe then how can javac = jikes and so forth.

Have a look at the 'ant-environment' in teh proposed policy.

> I'm not saying that JAVA_HOME kicks ass or is even sane, it is just a
> widely used convention.

Yes, and all usecases, which are interesting for debian are IMO done
in slighly different, but much more saner ways with the new policy.

>>From that perspective, shouldn't findjava just be /usr/bin/java?

No. /usr/bin/java is expected to be a JVM, not something,w hich
outputs a VM command. USer will use it for things like 'my first
java app' and so on.

>> Maybe it would be better to maintain the findjava-vm-binding as a
>> separate package, so that bugs in one don't force exclusion of the other 
>> from testing?
> Sensible enough.

If you would have a look at findjava and how it works, then it would
be clear, that this *is* *already* *done* via the java-config-files.

It is not as flexible as a
'execjava <_*lots*_ of options> mainClass' with different
implemntations, but I can't think of a situation, where so much
flexibility is needed. If you look at the java apps in debian, none
of them does any JVM specific tuning. findjava is flexible as well,
up to a point and I think that this point is *far* above any need
of a package.

All of you: please read the proposed policy and the scripts, which
are mentiond there and also the helper scripts. There is no need to
hit each otheres over the head with additional requirements, if much
of the work is are already done. :)

They are easily getabale by
deb http://www.katzien.de/debian/java ./
-> apt-get install new-java-policy

Proposed policy:
zless /usr/share/doc/new-java-policy/policy.txt.gz

Manpages:
java-config(1), java-config-file(5), findjava(1), findjavarc(5),
dh_java(1), update-java-config(1)

And try the scripts:
findjava [--server|--client|] kaffe sun-java-1.4 sablevm gij
java-config [--all | --contrib |--classpath] $PACKAGE
(where $PACKAGE is one of `ls /usr/share/java-config/`
dh_java with a debian-dir with package.java and package.jars (see
manpage)

For the ant-environment, see the java-config-files of kaffe and
sun-java-1.4 in /usr/share/java-config. I hope once this is common,
I can persuade Stephan to include such things in the Common Debian
Build System, so that they can be used like with the 'findjava'
script.

Jan




Reply to: