Walter Landry wrote:
> [...]
> All of the examples given above are good, but libgetenv-java is about
> as clear as you can get.  It only depends on java2-runtime and libc,
> and it serves as a replacement for java.lang.System.getenv.  It
> creates a hybrid implementation.
> 
> If you want to argue that it is the other packages fault, go ahead.
> That would make the java2-runtime virtual package much less useful, in
> which case there should be a java2-runtime-free virtual package.

Obviously making sun-java5 not provide java2-runtime (or whatever
provides Debian Java Policy settles upon) defeats the purpose
of packaging Sun Java.

I appreciate your trying to address an entire class of problems, but
in the case of libgetenv-java it appears that the jar is malformed.
We're it formed correctly it would be in it's own namespace.

The README.Debian says:

libgetenv-java for Debian
-------------------------

To use libgetenv-java in an application, make sure your classpath includes
/usr/share/java/libgetenv-java.jar and LD_LIBRARY_PATH includes /usr/lib/jni

 -- Mark Howard <[EMAIL PROTECTED]>, Fri, 27 Jun 2003 15:50:01 +0100

Inspection of the jar file in the aforementioned package
shows:

=== /usr/share/java/libgetenv-java.jar ===
     0 Tue Oct 25 05:09:28 CDT 2005 META-INF/
    48 Tue Oct 25 05:09:28 CDT 2005 META-INF/MANIFEST.MF
   376 Tue Oct 25 05:09:28 CDT 2005 uk/co/tigress/System.class

[EMAIL PROTECTED] 148% jar xf /usr/share/java/libgetenv-java.jar
[EMAIL PROTECTED] 151% cd uk/co/tigress/
/tmp/uk/co/tigress
[EMAIL PROTECTED] 155% javap System
Compiled from "System.java"
public class System extends java.lang.Object{
    public static native java.lang.String getenv(java.lang.String);
}
[EMAIL PROTECTED] 156%

So IN THIS CASE... it appears that the jar file is malformed
because I cannot even compile a Java program to use this alternative class
by using "import uk.co.tigress.System;" (see attached altenv.java).
This would appear to because the source file did not specify that
it was in the "package uk.co.tigress;".

[EMAIL PROTECTED] 212% javac -cp .:/usr/share/java/libgetenv-java.jar 
altenv.java
altenv.java:3: cannot access uk.co.tigress.System
bad class file: /usr/share/java/libgetenv-java.jar(uk/co/tigress/System.class)
class file contains wrong class: System
Please remove or make sure it appears in the correct subdirectory of the 
classpath.
import uk.co.tigress.System;
                     ^
1 error
[EMAIL PROTECTED] 213%


So I can't even get this package to work, let alone provide an
example of how it would be a problem with the DLJ.

Please advise,

--Tom


// altenv.java

import uk.co.tigress.System;

public class altenv {

  public static void main(String[] args) {
    if (args.length != 0) {
      System.out.println("usage: java sunenv");
    } else {
      try {
        String env1 = "HOME";
	String val1 = System.getenv(env1);
	System.out.println("env " + env1 + " = " + val1);
        String env2 = "PATH";
	String val2 = System.getenv(env2);
	System.out.println("env " + env2 + " = " + val2);
      } catch (Exception e) {
	System.out.println("unable to get environment variables");
	System.out.println("Exception: " + e); 
      }
    }
  }
}

Reply via email to