JPackage Java for FC4
From FedoraNEWS.ORG
Written by Paul Howarth on 2005-06-28
- Updated 2005-10-06 for Sun Java 1.5.0 update 5
- Updated 2006-01-16 for Sun Java 1.5.0 update 6
- Updated 2006-02-09 for official JPackage update 6 release
- Updated 2006-02-09 for cleaner installation process
Here are step-by-step instructions for building Java packages from jpackage.org for FC4 based on the Java Package Recommendations in the Fedora Core 4 Release Notes (http://fedora.redhat.com/docs/release-notes/fc4/errata/):
6.1.8. Java Package Recommendations
Fedora Core 4 users are advised not to use the Java RPM provided by Sun. It contains Provides that conflict with names used in packages provided as part of Fedora Core 4. Because of this, Sun Java might disappear from an installed system during package upgrade operations. Fedora Core 4 users should use either the RPM from jpackage.org or manually install the Sun Java tarball into /opt. Sun Java 1.5+ is recommended for stability purposes.
| Table of contents |
Install fedora-rpmdevtools from Extras
[localhost ~]$ sudo yum install fedora-rpmdevtools Setting up Install Process Setting up repositories extras 100% |=========================| 1.1 kB 00:00 updates-released 100% |=========================| 951 B 00:00 base 100% |=========================| 951 B 00:00 Reading repository metadata in from local files Finished Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package fedora-rpmdevtools.noarch 0:1.4-1.fc4 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: fedora-rpmdevtools noarch 1.4-1.fc4 extras 59 k Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 59 k Is this ok [y/N]: y Downloading Packages: (1/1): fedora-rpmdevtools 100% |=========================| 59 kB 00:00 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: fedora-rpmdevtools ######################### [1/1] Installed: fedora-rpmdevtools.noarch 0:1.4-1.fc4 Complete! [localhost ~]$
Build rpmbuild tree
[localhost ~]$ fedora-buildrpmtree [localhost ~]$ ls Desktop download rpmbuild [localhost ~]
Install jpackage.repo from JPackage
[localhost ~]$ cd /etc/yum.repos.d/
[localhost yum.repos.d]$ sudo wget http://www.jpackage.org/jpackage.repo
--11:38:19-- http://www.jpackage.org/jpackage.repo
=> `jpackage.repo'
Resolving www.jpackage.org... 212.85.153.228
Connecting to www.jpackage.org[212.85.153.228]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 629 [text/plain]
100%[======================================================>] 629 --.--K/s
11:38:20 (1.30 MB/s) - `jpackage.repo' saved [629/629]
[localhost yum.repos.d]$
Download jdk-1_5_0_06-linux-i586.bin from Sun
1) Go to http://java.sun.com/j2se/1.5.0/download.jsp
2) Click on Download JDK 5.0 Update 6
3) Click on Accept License Agreement
4) Download jdk-1_5_0_06-linux-i586.bin by clicking on Linux self-extracting file
Copy jdk-1_5_0_06-linux-i586.bin to SOURCES
You might have a different download directory for your browser.
[localhost ~]$ cd download/ [localhost download]$ ls jdk-1_5_0_06-linux-i586.bin [localhost download]$ cp jdk-1_5_0_06-linux-i586.bin ~/rpmbuild/SOURCES/ [localhost download]$
Download java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm from JPackage
[localhost ~]$ cd download [localhost download]$ wget http://mirrors.dotsrc.org/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm --16:10:40-- http://mirrors.dotsrc.org/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm => `java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm' Resolving mirrors.dotsrc.org... 130.225.247.87 Connecting to mirrors.dotsrc.org|130.225.247.87|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 15,849 (15K) [application/x-redhat-package-manager] 100%[======================================================================>] 15,849 25.28K/s 16:10:41 (25.26 KB/s) - `java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm' saved [15849/15849] [localhost download]$
Build java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm
[localhost download]$ rpmbuild --rebuild java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm Installing java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.55646 + umask 022 + cd /home/phowarth/rpmbuild/BUILD + LANG=C + export LANG + unset DISPLAY + rm -rf /home/phowarth/rpmbuild/BUILD/jdk1.5.0_06 + export MORE=10000 + MORE=10000 + sh /home/phowarth/rpmbuild/SOURCES/jdk-1_5_0_06-linux-i586.bin ... omitted ... Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-src-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-demo-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm Wrote: /home/phowarth/rpmbuild/RPMS/i586/java-1.5.0-sun-jdbc-1.5.0.06-1jpp.i586.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.61162 + umask 022 + cd /home/phowarth/rpmbuild/BUILD + cd jdk1.5.0_06 + rm -rf /var/tmp/java-1.5.0-sun-1.5.0.06-1jpp-buildroot + exit 0 Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.41321 + umask 022 + cd /home/phowarth/rpmbuild/BUILD + rm -rf jdk1.5.0_06 + exit 0 [localhost download]$
Install java packages
[localhost ~]$ cd ~/rpmbuild/RPMS/i586/ [localhost i586]$ ls -1 java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-demo-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-jdbc-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm java-1.5.0-sun-src-1.5.0.06-1jpp.i586.rpm [localhost i586]$ (echo config gpgcheck 0; echo localinstall java-1.5.0-sun*.rpm; echo run) > yum-cmd [localhost i586]$ sudo yum shell yum-cmd Setting up Yum Shell Setting up Local Package Process Examining java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-alsa - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-demo-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-demo - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-devel - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-fonts - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-jdbc-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-jdbc - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-plugin - 1.5.0.06-1jpp.i586 Examining java-1.5.0-sun-src-1.5.0.06-1jpp.i586.rpm: java-1.5.0-sun-src - 1.5.0.06-1jpp.i586 Marking java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-demo-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-jdbc-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm to be installed Marking java-1.5.0-sun-src-1.5.0.06-1jpp.i586.rpm to be installed --> Populating transaction set with selected packages. Please wait. ---> Package java-1.5.0-sun-fonts.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-alsa.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-devel.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-demo.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-plugin.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-src.i586 0:1.5.0.06-1jpp set to be updated ---> Package java-1.5.0-sun-jdbc.i586 0:1.5.0.06-1jpp set to be updated --> Running transaction check Setting up repositories Reading repository metadata in from local files --> Processing Dependency: /usr/lib/libodbc.so for package: java-1.5.0-sun-jdbc Importing Additional filelist information for dependency resolution --> Processing Dependency: /usr/lib/libodbcinst.so for package: java-1.5.0-sun-jdbc Importing Additional filelist information for dependency resolution --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Package unixODBC.i386 0:2.2.11-3.FC4.1 set to be updated ---> Package unixODBC-devel.i386 0:2.2.11-3.FC4.1 set to be updated --> Running transaction check ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: java-1.5.0-sun i586 1.5.0.06-1jpp java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm 84 M java-1.5.0-sun-alsa i586 1.5.0.06-1jpp java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm 64 k java-1.5.0-sun-demo i586 1.5.0.06-1jpp java-1.5.0-sun-demo-1.5.0.06-1jpp.i586.rpm 14 M java-1.5.0-sun-devel i586 1.5.0.06-1jpp java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm 12 M java-1.5.0-sun-fonts i586 1.5.0.06-1jpp java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm 2.0 M java-1.5.0-sun-jdbc i586 1.5.0.06-1jpp java-1.5.0-sun-jdbc-1.5.0.06-1jpp.i586.rpm 66 k java-1.5.0-sun-plugin i586 1.5.0.06-1jpp java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm 1.9 M java-1.5.0-sun-src i586 1.5.0.06-1jpp java-1.5.0-sun-src-1.5.0.06-1jpp.i586.rpm 17 M Installing for dependencies: unixODBC i386 2.2.11-3.FC4.1 updates-released 859 k unixODBC-devel i386 2.2.11-3.FC4.1 updates-released 811 k Transaction Summary ============================================================================= Install 10 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 132 M Is this ok [y/N]: y Downloading Packages: Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: java-1.5.0-sun ####################### [ 1/10] Installing: unixODBC ####################### [ 2/10] Installing: unixODBC-devel ####################### [ 3/10] Installing: java-1.5.0-sun-fonts ####################### [ 4/10] Installing: java-1.5.0-sun-alsa ####################### [ 5/10] Installing: java-1.5.0-sun-devel ####################### [ 6/10] Installing: java-1.5.0-sun-demo ####################### [ 7/10] Installing: java-1.5.0-sun-plugin ####################### [ 8/10] Installing: java-1.5.0-sun-src ####################### [ 9/10] Installing: java-1.5.0-sun-jdbc ####################### [10/10] Installed: java-1.5.0-sun.i586 0:1.5.0.06-1jpp java-1.5.0-sun-alsa.i586 0:1.5.0.06-1jpp java-1.5.0-sun-demo.i586 0:1.5.0.06-1jpp java-1.5.0-sun-devel.i586 0:1.5.0.06-1jpp java-1.5.0-sun-fonts.i586 0:1.5.0.06-1jpp java-1.5.0-sun-jdbc.i586 0:1.5.0.06-1jpp java-1.5.0-sun-plugin.i586 0:1.5.0.06-1jpp java-1.5.0-sun-src.i586 0:1.5.0.06-1jpp Dependency Installed: unixODBC.i386 0:2.2.11-3.FC4.1 unixODBC-devel.i386 0:2.2.11-3.FC4.1 Finished Transaction Leaving Shell [localhost i586]$ rm yum-cmd [localhost i586]$
Check java version
[localhost i586]$ java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) [localhost i586]$
Firefox plugin
If you've installed java-1.5.0-sun-plugin and you want to use it with Firefox or any other mozilla-based browser, you'll need to set up the link manually as there is a small bug in the java-1.5.0-sun-plugin package that causes it not to set up the link properly.
[localhost i586]$ cd /usr/lib/mozilla/plugins [localhost plugins]$ sudo rm -f libjavaplugin_oji.so [localhost plugins]$ sudo ln -s ../../../lib/jvm/java/jre/plugin/i386/ns7/libjavaplugin_oji.so .
Removing any existing libjavaplugin_oji.so link should only be necessary if you've previously installed a different version of java.
Switching between java implementations
The JPackage java RPMs support switching between java implementations using the "alternatives" system.
[localhost ~]$ sudo /usr/sbin/alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/share/java/libgcj-java-placeholder.sh 2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java *+ 3 /usr/lib/jvm/jre-1.5.0-sun/bin/java Enter to keep the current selection[+], or type selection number: 2 [localhost ~]$ java -version java version "1.4.2" gij (GNU libgcj) version 4.0.0 20050519 (Red Hat 4.0.0-8) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [localhost ~]$ sudo /usr/sbin/alternatives --auto java [localhost ~]$ java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)
References:

