Subject: Re: HEADS UP: Package removal candidates
To: Jim Wise <jwise@draga.com>
From: Thomas Klausner <wiz@NetBSD.org>
List: tech-pkg
Date: 12/06/2005 20:38:42
On Tue, Dec 06, 2005 at 02:21:07PM -0500, Jim Wise wrote:
> This would be a perfectly reasonable contract change, were it what were
> implemented -- heck, it's the contract which _is_ documented in the
> sample mk.conf we provide (and have provided for years):
>
> #JAVA_HOME=
> # Location of jvm to be used by pkgsrc. Java-based packages will be installed
> # in ${LOCALBASE}/lib/java, so that they are available to all jvms.
> #
> # Possible: any directory
> # Default: home of JVM chosen by ${PKG_JVM}
I'll remove this shortly -- it hasn't been true for years now (java-vm.mk
was committed before 2003). Setting the JAVA_HOME variable is not enough
for pkgsrc to do proper dependency handling.
> With the advent of java-vm.mk, however, the documented contract has been
> broken: JAVA_HOME is _not_ being defaulted, as advertised, to the `home
> of JVM chosen by ${PKG_JVM}'. It is being left unset, and package
> authors who depend on the advertised contract are being told to hack
> around this breakage in each and every package Makefile which depends on
> pkgsrc's java support working as advertised.
Actually, it is set: I cited the part from java-vm.mk in my previous mail,
here it is again:
ALL_ENV+= JAVA_HOME=${PKG_JAVA_HOME}
Where else would you want it set?
Setting it as a Makefile variable won't help, since the Makefile
variables are not passed down to the builds en-bloc.
> Why this would be considered as breakage of the _packages_ involved,
> especially since the breakage does not occur for people with a java
> development environment correctly configured for use of java outside of
> pkgsrc, is beyond me.
If you take offense with the word 'broken', I apologize.
However, I still think that the packages need changing to follow pkgsrc
conventions.
Thomas