Subject: Re: HEADS UP: Package removal candidates
To: Thomas Klausner <wiz@NetBSD.org>
From: Jim Wise <jwise@draga.com>
List: tech-pkg
Date: 12/06/2005 14:21:07
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 6 Dec 2005, Thomas Klausner wrote:

>On Tue, Dec 06, 2005 at 12:40:40PM -0500, Jim Wise wrote:
>> Yes.  This variable, like CC, CFLAGS, and other variables, has been part 
>> of the contract which pkgsrc provides to java packages for _years_.  It 
>> is also part of the normal contract provided by a java development 
>> environment.
>
>Well, I think you'll have to face the fact that the contract has changed.
>
>Why?
>To support the various jvm implementations from pkgsrc, and get correct
>dependency handling. Nowadays you don't set JAVA_HOME, but you select the
>jvm you want to use via setting the PKG_JVM_DEFAULT variable.

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}

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.

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.

- -- 
				Jim Wise
				jwise@draga.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (NetBSD)

iD8DBQFDleSnhfG1+Pg8jmsRAu0bAKCm77KM5kQVUA0d1uziSc9ydPiMbwCgh4UP
VsyEQD/uI4+bCgx3HQfuznk=
=Vxd/
-----END PGP SIGNATURE-----