Re: [PROPOSAL] New Virtual Packages and way to handle Classpath
FWIW, I think having a package build relying on /usr/bin/javac is a very
bad idea. You want to be absolutely sure that a package builds out of
the box, and IMHO this means you should explicitly build-depend upon
*and* call a complier that you know will work. Note that just the
build-depends is not enough, since /usr/bin/javac is currently under the
management of alternatives, and so there's no guarantee that javac
actually calls the compiler that you build-depended on.
I think we should distinguish are two different kinds of builds:
1) by the Debian build daemon
2) by a user that downloaded the package source
For 1, I agree with your goal of determinism. For 2, it should be
flexible enough that the user can use whatever tool he has installed
that is "fit to the job" (something we are currently discussing). In
particular, it should be easy to test different java compilers and
runtimes (to test the free ones, and report bugs if appropriate).
I am under the impression that the Debian build process builds the
package in a minimal environment, that has only build-essential packages
and the build depends. Is that indeed the case? I'm not a DD (yet!
anybody took a look at my request for a sponsor for Nice?)
If it really works like that, I can build-depend on jikes |
java-compiler, and call /usr/bin/javac. In 1, since no java compiler is
build-essential, /usr/bin/javac will indeed be jikes. In 2, the user has
the desired flexibility. Idem for a JVM/runtime.