Re: JRE file layout for 1.0.7?

2002-04-01 Thread Mark and Janice Juszczec


Jim

I'm all for it.  That way, I can have Sun's JDK coresident with Kaffe.
It may sound like anathema, but my bosses kinda prefer it that way ;-)

Mark



From: Jim Pick [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: JRE file layout for 1.0.7?
Date: Sat, 30 Mar 2002 09:14:28 -0800


Hi,

I want to minimize the number of changes for 1.0.7, in order to minimize 
the
amount of surprises and I don't want to introduce new instabilities.

But I would like to change the way the the files are installed when doing
make install.  Instead of installing it by default in /usr/local/bin,
/usr/local/lib, /usr/local/include, etc., I'd like to have the default
install put everything in /usr/local/kaffe, in a JRE-style layout.  That
way, people could just set JAVA_HOME to point there, and use it instead of 
a
regular JDK or JRE.  Plus I've always disliked how the kaffe install places
those java and javac wrappers in /usr/local/bin.  Also, I've been bit a
few times by kaffe versions I've been working on accidentally dynamically
loading the kaffe.org libs installed in /usr/local/lib instead of the libs 
I
intended.

Is anybody opposed to this?  It is breaking with tradition somewhat, and
it's for the upcoming release, so I figured it would be best to ask.  It'll
also impact the Debian and RPM packages.

Cheers,

  - Jim








_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.




RE: JRE file layout for 1.0.7?

2002-04-01 Thread Brent Fulgham


 Is anybody opposed to this?  It is breaking with tradition 
 somewhat, and it's for the upcoming release, so I figured
 it would be best to ask.  It'll also impact the Debian and
 RPM packages.
 

Go for it -- this will also allow side-by-side testing with other
JRE implementations by resetting the JAVA_HOME variable when
so desired.

-Brent



Re: JRE file layout for 1.0.7?

2002-04-01 Thread Jim Pick


Okay, I did it.

The changes to use a JDK/JRE style file layout are committed in CVS.

Here's what the layout looks like after doing make install.

Please test it and give me some feeback.

Cheers,

 - Jim

/usr/local/kaffe
|-- bin
|   |-- appletviewer
|   |-- install-jar
|   |-- jar
|   |-- java
|   |-- javac
|   |-- javadoc
|   |-- javakey
|   |-- javap
|   |-- jdb
|   |-- kaffe
|   |-- kaffeh
|   |-- kjc
|   |-- kopi
|   |-- native2ascii
|   |-- rmic
|   |-- rmiregistry
|   `-- serialver
|-- include
|   |-- jni.h
|   `-- kaffe
|   |-- Arrays.h
|   |-- errors.h
|   |-- java_lang_Object.h
|   |-- java_lang_String.h
|   |-- java_lang_Thread.h
|   |-- java_lang_ThreadGroup.h
|   |-- java_lang_Throwable.h
|   |-- jmalloc.h
|   |-- jni_cpp.h
|   |-- jsyscall.h
|   |-- jtypes.h
|   `-- native.h
|-- jre
|   |-- bin
|   |   |-- Kaffe
|   |   |-- java
|   |   |-- kaffe
|   |   `-- rmiregistry
|   `-- lib
|   |-- comm.jar
|   |-- i386
|   |   |-- libio-1.0.6.so
|   |   |-- libio.la
|   |   |-- libio.so - libio-1.0.6.so
|   |   |-- libkaffevm-1.0.6.so
|   |   |-- libkaffevm.la
|   |   |-- libkaffevm.so - libkaffevm-1.0.6.so
|   |   |-- libmanagement-1.0.6.so
|   |   |-- libmanagement.la
|   |   |-- libmanagement.so - libmanagement-1.0.6.so
|   |   |-- libmath-1.0.6.so
|   |   |-- libmath.la
|   |   |-- libmath.so - libmath-1.0.6.so
|   |   |-- libmicrosoft-1.0.6.so
|   |   |-- libmicrosoft.la
|   |   |-- libmicrosoft.so - libmicrosoft-1.0.6.so
|   |   |-- libnative-1.0.6.so
|   |   |-- libnative.la
|   |   |-- libnative.so - libnative-1.0.6.so
|   |   |-- libnet-1.0.6.so
|   |   |-- libnet.la
|   |   |-- libnet.so - libnet-1.0.6.so
|   |   |-- libsecurity-1.0.6.so
|   |   |-- libsecurity.la
|   |   |-- libsecurity.so - libsecurity-1.0.6.so
|   |   |-- libzip-1.0.6.so
|   |   |-- libzip.la
|   |   `-- libzip.so - libzip-1.0.6.so
|   |-- microsoft.jar
|   |-- pjava.jar
|   |-- rmi.jar
|   |-- rt.jar
|   |-- security
|   |   `-- java.security
|   `-- servlet.jar
|-- lib
|   |-- kjc.jar
|   `-- tools.jar
`-- man
`-- man1
`-- kaffe.1

11 directories, 71 files



Re: JRE file layout for 1.0.7?

2002-04-01 Thread Jim Pick


 Exactly, thank you. And like Sun's JRE, please put Kaffe arch dependent
 libraries in kaffe/Khost_cpu/. ;-)

Done.

   Is anybody opposed to this?

 Not at all. Also please make sure that the nativedir macro is
DESTDIR-aware.

I need to test that.  I'm not sure if it is or not.

Cheers,

 - Jim





Re: JRE file layout for 1.0.7?

2002-03-30 Thread Jim Pick


 Jim Pick writes:
  I want to minimize the number of changes for 1.0.7, in order to minimize
the
  amount of surprises and I don't want to introduce new instabilities.
 
  But I would like to change the way the the files are installed when
doing
  make install.  Instead of installing it by default in /usr/local/bin,
  /usr/local/lib, /usr/local/include, etc., I'd like to have the default
  install put everything in /usr/local/kaffe, in a JRE-style layout.  That
  way, people could just set JAVA_HOME to point there, and use it instead
of a
  regular JDK or JRE.  Plus I've always disliked how the kaffe install
places
  those java and javac wrappers in /usr/local/bin.  Also, I've been
bit a
  few times by kaffe versions I've been working on accidentally
dynamically
  loading the kaffe.org libs installed in /usr/local/lib instead of the
libs I
  intended.

 I don't know which is better or worse, but this is contrary to the
 way FreeBSD ports work. Everything goes into /usr/local/bin, etc.
 in a standard layout. Otherwise you'd have to add a zillion things
 to your PATH.

It's contrary to the FSSTND/FHS used by Linux distributions too.  They'd
expect the files to be installed in /usr/bin, /usr/lib, /usr/share, etc.

On the other hand, the JRE layout is the standard set by Sun.

Remember, what I'm proposing to change is just the default install location
for people compiling from the source tarball.  The distribution people can
always rearrange the files to suit a system-wide layout policy.  In the
FSSTND/FHS standard, the /usr/local heirarchy is set aside for the system
administrator to place locally installed packages compiled from source (eg.
kaffe).

 On the other hand, /usr/local/kaffe is a good way to keep things
 separate... Hmm..

Speaking as a guy who has to juggle dozens of Java versions, my preference
is to keep things separate.

 Can you explain in a little more detail how JAVA_HOME works? What
 happens when I type java on the command line and both kaffe and
 some other JRE are installed? Etc.

If you type java on your command line, you'll get whichever one is in your
path.  eg.  If I want to use kaffe, I just make sure /usr/local/kaffe/bin is
added to the front of my PATH variable.  If I want to use Sun's JRE, I might
set my path to /usr/local/jre1.2.2/bin.  Of course, someone could always
install it under /usr/local instead of /usr/local/kaffe if they wanted it
added to their system path.

A lot of scripts and programs look to see if $JAVA_HOME has been defined,
and if so, they try to use $JAVA_HOME/bin/java as their interpreter.

 I guess my only objection is that it would be nice if people shouldn't
 have to add /usr/local/kaffe/bin (or whatever) to their PATH in
 order to run kaffe after installing it...

My biggest objection with the current situation is that if somebody already
has a version of Java they use installed in one of their system directories,
and then they install kaffe, they might overwrite an existing installation,
or programs on their system might accidentally use kaffe instead of another
existing JVM installed under /usr/bin, for example.  Imagine a system
administrator trying to install kaffe to run a particular application on a
production server that already is running servlets with a system-supplied
JVM - if the system administrator wasn't careful, and didn't change the
defaults, then he or she is pretty much guaranteed to mess things up on
their system.  Granted, a system administrator should know better, but I'm a
big believer in the principle of least surprise.  :-)

Cheers,

 - Jim





Re: JRE file layout for 1.0.7?

2002-03-30 Thread Gwenole Beauchesne


Hi,

  But I would like to change the way the the files are installed when doing
  make install.  Instead of installing it by default in /usr/local/bin,
  /usr/local/lib, /usr/local/include, etc., I'd like to have the default
  install put everything in /usr/local/kaffe, in a JRE-style layout.

Exactly, thank you. And like Sun's JRE, please put Kaffe arch dependent 
libraries in kaffe/Khost_cpu/. ;-)

  Is anybody opposed to this?

Not at all. Also please make sure that the nativedir macro is DESTDIR-aware.

 It'll also impact the Debian and RPM packages.

I don't think so thanks to the overrideable DESTDIR macro and, currently, 
overrriding nativedir as well.

Bye,
Gwenole.