Hi everyone,

I'm converting a set of technical workstations from RHEL4.7 (i686) to RHEL5.3 (x86_64). So far, the users are quite happy and all the legacy apps they had (some glibc-2.1 stuff) run just fine on the new system. I stumbled into an issue with a 32bit 'legacy' browser were there was a need for a SUN 32bit Java plugin (and associated JVM). I wanted to share what I did and ask for comments.

On x86_64, here's what's provided by the rhel-x86_64-server-supplementary-5 
channel:

# rpm -qa java-1.6.0-sun\*
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-jdbc-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-src-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-demo-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-plugin-1.6.0.13-1jpp.1.el5.i586
java-1.6.0-sun-devel-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-plugin-1.6.0.13-1jpp.1.el5.x86_64

Of course there is no 32bit java-1.6.0-sun for x86_64, making the java-1.6.0-sun-plugin-1.6.0.13-1jpp.1.el5.i586 unusable. Java reports this:
# java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode)

If you obtain the 32bit JVM from the 32bit rhel-i386-server-supplementary-5 channel, it will not install since the packaged man pages would conflict:
# rpm -ivh java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586.rpm
Preparing... ########################################### Preparing... ########################################### [100%]
        file /usr/share/man/man1/java-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/keytool-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/orbd-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/policytool-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/rmid-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/rmiregistry-java-1.6.0-sun.1.gz from install 
of java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/servertool-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586
        file /usr/share/man/man1/tnameserv-java-1.6.0-sun.1.gz from install of 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 conflicts with file from package 
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586


So here is what I did:
# rpm -ivh java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586.rpm --noscripts --excludedocs
Preparing...                ########################################### [100%]
   1:java-1.6.0-sun         ########################################### [100%]
#

I used '--excludedocs' to avoid the file conflicts quoted above and I used '--noscripts' to avoid messing my 'alternatives'.

So here's what I have now:
# rpm -qa java-1.6.0-sun\*
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.i586 <=====
java-1.6.0-sun-1.6.0.13-1jpp.1.el5.x86_64 <=====
java-1.6.0-sun-jdbc-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-src-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-demo-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-plugin-1.6.0.13-1jpp.1.el5.i586 <=====
java-1.6.0-sun-devel-1.6.0.13-1jpp.1.el5.x86_64
java-1.6.0-sun-plugin-1.6.0.13-1jpp.1.el5.x86_64 <=====
# java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode)

Both 32bit and 64bit java apps and browsers are happy, with 64bit still being the default. It introduces some additionnal overhead since java-1.6.0-sun.i586 isn't offered in rhel-x86_64-server-supplementary-5 but what wouldn't I do to keep my technical users happy? :)

Does anyone see anything wrong with that? Any idea if this will break something in the future?

If not, then maybe the java-1.6.0-sun.i586 package could be adapted and offered (and maintained) in rhel-x86_64-server-supplementary-5?

Thanks for reading, please share any comments...

--
,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,
Vincent S. Cojot, Computer Engineering. STEP project. _.,-*~'`^`'~*-,._.,-*~
Ecole Polytechnique de Montreal, Comite Micro-Informatique. _.,-*~'`^`'~*-,.
Linux Xview/OpenLook resources page _.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
http://step.polymtl.ca/~coyote  _.,-*~'`^`'~*-,._ [email protected]

They cannot scare me with their empty spaces
Between stars - on stars where no human race is
I have it in me so much nearer home
To scare myself with my own desert places.       - Robert Frost


_______________________________________________
rhelv5-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/rhelv5-list

Reply via email to