From owner-freebsd-java Mon Nov 19 5:17:48 2001 Delivered-To: freebsd-java@freebsd.org Received: from zaphod.euronet.nl (zaphod.euronet.nl [194.134.128.241]) by hub.freebsd.org (Postfix) with ESMTP id EE4E137B418; Mon, 19 Nov 2001 05:17:37 -0800 (PST) Received: (from ernst@localhost) by zaphod.euronet.nl (8.11.6/8.11.6) id fAJDHRi12634; Mon, 19 Nov 2001 14:17:27 +0100 (CET) (envelope-from ernst) Message-Id: <200111191317.fAJDHRi12634@zaphod.euronet.nl> Content-Type: text/plain; charset="iso-8859-1" From: Ernst de Haan To: John Merryweather Cooper Subject: Re: A Modest Proposal for Java(tm) dependency selection among ports Date: Mon, 19 Nov 2001 14:17:27 +0100 X-Mailer: KMail [version 1.3] Cc: freebsd-java@freebsd.org, freebsd-ports@freebsd.org References: <20011115130202.E33074@johncoop.MSHOME> <200111161042.fAGAg8V55897@zaphod.euronet.nl> <20011116084005.A40560@johncoop.MSHOME> In-Reply-To: <20011116084005.A40560@johncoop.MSHOME> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org John and all, I'm setting up a web page which contains the complete proposal (work in progress!) see: * http://www.metaverse.nl/~ernst/freebsd-java-proposal-20011116.html > My thought here is that a "black box" application, where the user could > care less if it's Java(tm) under the hood, is a very good candidate for > a JRE, but the nature of development tools is that they need a JDK > (debugging sucks without a debugger, etc.) Agreed, development tools need the JDK, but we are not going to set up a system for just Java-based development tools, but a generic system for all Java applications, *including* development tools. The focus should be on a clean generic system for Java-based programs. Suggestion: First phase will just be applications, and it should cover the most common needs. It should separate all current Java-based applications from the actual JDK used. Second (or later) phase will then look at requirements for libraries and at more specific needs, like a Linux JDK instead of a FreeBSD JDK. IMHO support for this feature should be delayed so we can discuss it a bit more first, and it's not necessary to cover 90% of the applications. > In my experience (yours may be different), the dividing line for most > apps is whether they work better (or at all) with a Java or Java2 > JRE/JDK. I've yet to find an app/tool that whines too much about the > many variations of Java2 (1.2.x and up), but many are unhappy with > first generation Java (1.1.8 and before)--and vice versa. Hence, > following IBM's breakdown--call one set JAVA11 and the other set > JAVA2. Getting more fine-grained than necessary leads back to the > current situation--where I effectively have ALL the JDK's installed. > In reality, two should cover most of the known world. People who > simply must have every JDK can still install them. :) Well, this is just a matter of time. I already know tools that are explicitly demanding Java 1.3, at least on FreeBSD. An example is BugSeeker from Karmira(java/bugseeker and java/bugseeker-demo). Again, I would like to set this system up to be generic, I don't want to introduce quirks. *If* we are going to want to distinguish between 1.2, 1.3, 1.4, 1.5, 2.0 etc in the future, then we should set the system up so that it will be able to deal with it when this is reality. > My thought here is that a single JDK versus JRE switch can be used to > influence the version selection mechanism--and avoid proliferating > switches unnecessarily. Yeah, sounds good to me. I modified my proposal for this. > > > WANT_LINUX_JAVA=[yes|no] > > > same as above except Linux version Java's > > > are used and USE_JAVA11 will abort build. > > > > I suggest not introducing this flag in the first phase. We can discuss > > it's > > usefullness later. > > I can definitely understand why! But, practically, a user who wants > Java(tm) only/mostly for her favorite Linux application--Star Office is > an example--wants a JRE/JDK that works (I can almost get Star Office to > do Java with a Linux JDK--no dice (probably because there's no emulator > support) for a native JDK). Of course, the solution is native versions > of BOTH the JDK/JRE and the application. At the glacial rate this is > happening with Sun, some of us may need to chain themselves to the > front doors of their main office and chant "Free BSD" until the > powers-that-be allow native binaries . . . (rant off--sorry) Are there any examples of programs in the tree that explicitly demand a Linux JDK because they cannot work with a FreeBSD JDK? I don't think so, and I hope not, either. I still doubt the importance of this feature for now. > > > JAVA_VER reports Java(tm) detected or built by > > > USE_JAVA* > > > > Hmm, what *exactly* would you like this variable to return as its > > value? > > CLASSPATH and/or environment variable construction for an install-user > script on the Makefiles. For example, a whole host of environment > variables need to be correctly set for my NetRexx port to function. If > they're not set correctly, the port acts like it is broken. But unless > I get really tyrannical (YOU user SHALL have the following ports > installed and NO OTHERS . . .) it's not practical to construct such a > script. NetRexx will run with ANY of the JDK's. But which one to > setup? That is the problem. If I know: 1) whether or not it is linux > based on the WANT_LINUX_JAVA flag; and 2) what JAVA_VER it is (1.1.8, > 1.2.2, etc.), I can construct the necessary environment variables. In > fact, for Java2 (if I know Java2 is the target), I can install my JAR > file in the EXT portion of the JDK tree and eliminate setting/changing > the CLASSPATH (same also with JGNAT). But I don't know, so I can't. Yeah, I was keeping this in mind. See my proposal. -- Ernst zNerd@freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message