Inhaltsverzeichnis
Installation von Sun's JDK
Standardmässig ist unter CentOS nicht das Java Runtime Environment oder auch das Java Development Kit von Oracle/Sun nach der Installation des Betriebssystems vorhanden.
Falls eine Java-Entwicklung statt finden soll, oder auch ein Java-Servlet-Container wie z.B. Apache Tomcat betrieben werden soll, muss mindestens das Java Development Kit installiert werden.
Herunterladen
Bevor mit der Installation begonnen werden kann, sollte unter Download Link Oracle JDK eine aktuelle Version des Java Development Kit heruntergeladen werden. Wichtig ist, dass das RPM-Paket in der selbst extrahierenden Binary heruntergeladen wird. Der Dateiname der zu herunter ladenden Datei, sollte also rpm
im Namen haben und wie folgt aussehen:
jdk-6u6-linux-i586-rpm.bin
Zusätzlich zum Java Development Kit sollte unter Download Link jpackage oder unter Download Link jpackage eine aktuelle Version des JPackage Java compatibility package for Oracle/Sun's JDK heruntergeladen werden. Dies ist besonders bei der Installation eines Java-Servlet-Container wie z.B. Apache Tomcat notwendig.
Der genaue Link zum herunterladen lautet java-1.6.0-sun-compat-1.6.0.06-1jpp aus dem Bereich „Development/Interpreters“. Der Dateiname lautet:
java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
WICHTIG - Da aktuell die entsprechenden Links nur noch eingeschränkt bzw. schwierig im Internet zu finden sind, habe ich diese auch unter
hinterlegt!
Installation
Nach dem erfolgreichen herunterladen der Installationspakete, sind einige Schritte mit root
-Rechten durchzuführen. Dazu werden Sie bitte mit etwa folgendem Befehl root
:
$ su - Password:
Als root
, oder mit root
-Rechten ausgestattet, soll die heruntergeladene Datei, hier z.B. jre-6u6-linux-i586.bin
ausgeführt werden.
Um die selbstextrahierende Datei jdk-6u6-linux-i586-rpm.bin
ausführen zu können, muss das Recht zur Ausführung der Datei (execute = x) explizit der Datei mit folgendem Befehl hinzugefügt werden:
# chmod +x jdk-6u6-linux-i586-rpm.bin
Abschliessend wird die Datei ausgeführt, was mit folgender Befehlszeile erreicht werden kann:
# ./jdk-6u6-linux-i586-rpm.bin
Die Installation der RPM-Pakete ist nicht mehr notwendig, diese wurden bereits beim extrahieren der Datei jdk-6u6-linux-i586-rpm.bin
durchgeführt.
Die zusätzlich heruntergeladene Datei java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
kann über folgende Befehle installiert werden:
rpm -Uvh java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
oder
yum localinstall --nogpgcheck java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
Fehlerbehebung
HINWEIS - Falls bei der Installation des java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
nachfolgender Fehler auftreten sollte:
Preparing... ########################################### [100%] 1:java-1.6.0-sun-compat ########################################### [100%] link /usr/shared/javaws incorrect for slave javaws (/usr/bin/javaws javaws)
sind nachfolgende Schritte notwendig, um dieses Problem zu lösen !!!
Zuerst muss das Paket java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
wieder mit nachfolgendem Befehl entfernt werden:
# yum remove java-1.6.0-sun-compat Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package java-1.6.0-sun-compat.i586 0:1.6.0.19-1jpp set to be erased --> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================================================== Package Arch Version Repository Size ===================================================================================================================================================== Removing: java-1.6.0-sun-compat i586 1.6.0.19-1jpp installed 3.3 k Transaction Summary ===================================================================================================================================================== Install 0 Package(s) Update 0 Package(s) Remove 1 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : java-1.6.0-sun-compat 1/1 /usr/lib/jvm/jre-1.6.0-sun/bin/java has not been configured as an alternative for java Removed: java-1.6.0-sun-compat.i586 0:1.6.0.19-1jpp Complete!
Anschließend muss nachfolgende Änderung in der Konfigurationsdatei
/var/lib/alternatives/java
durchgeführt werden (nur relevanter Ausschnitt):
ALT:
... javaws /usr/shared/javaws ...
NEU:
... javaws /usr/bin/javaws ...
Anschließend muss die Installation des Pakets java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
erneut mit nachfolgendem Befehl angestoßen werden und sollte ohne Fehler durchgeführt werden:
rpm -Uvh java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
oder
yum localinstall --nogpgcheck java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
</code>
Update
Um ein Update/Upgrade auf eine höhere Java Version hier z.B.
jdk-6u21-linux-i586-rpm.bin java-1.6.0-sun-compat-1.6.0.21-1jpp.i586.rpm
durchzuführen, ist es erforderlich die „alten“ Versionen der beiden Pakete zuerst mit folgendem Befehl zu entfernen:
yum remove jdk
HINWEIS - Ab der CentOS Version 5.5 ist es bei einem installierten OpenOffice in der Version 3.3 möglich, das diese auf Java angewiesen ist !
HINWEIS - Folgende Anzeige könnte daher bei dem Befehl yum remove jdk
erfolgen:
... Dependencies Resolved =========================================================================================== Package Arch Version Repository Size =========================================================================================== Removing: jdk i586 2000:1.6.0_20-fcs installed 141 M Removing for dependencies: java-1.6.0-sun-compat i586 1.6.0.20-1jpp installed 3.3 k openoffice.org-base i386 1:3.1.1-19.5.el5_5.1 installed 5.9 M openoffice.org-calc i386 1:3.1.1-19.5.el5_5.1 installed 24 M openoffice.org-core i386 1:3.1.1-19.5.el5_5.1 installed 261 M openoffice.org-draw i386 1:3.1.1-19.5.el5_5.1 installed 3.0 M openoffice.org-emailmerge i386 1:3.1.1-19.5.el5_5.1 installed 38 k openoffice.org-graphicfilter i386 1:3.1.1-19.5.el5_5.1 installed 765 k openoffice.org-impress i386 1:3.1.1-19.5.el5_5.1 installed 3.9 M openoffice.org-langpack-de i386 1:3.1.1-19.5.el5_5.1 installed 57 M openoffice.org-math i386 1:3.1.1-19.5.el5_5.1 installed 4.0 M openoffice.org-pyuno i386 1:3.1.1-19.5.el5_5.1 installed 473 k openoffice.org-ure i386 1:3.1.1-19.5.el5_5.1 installed 8.2 M openoffice.org-writer i386 1:3.1.1-19.5.el5_5.1 installed 18 M openoffice.org-xsltfilter i386 1:3.1.1-19.5.el5_5.1 installed 1.9 M Transaction Summary =========================================================================================== Remove 15 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]:
WICHTIG - Mit oben stehendem Befehl werden alle abhängigen Pakete entfernt!
Dann muss noch auf die noch vorhandene vorinstallierte Java-Version des Betriebssystems, mit folgender Befehl zurückgewechselt werden:
# /usr/sbin/alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java Enter to keep the current selection[+], or type selection number:
Die Antwort auf die Frage Enter to keep the current selection[+], or type selection number:
lautet logischerweise 1
.
Zur Überprüfung, ob alles funktioniert hat, geben Sie bitte folgenden Befehl ein:
# /usr/sbin/alternatives --display java
Welcher folgende Ausgabe erzeugen sollte: ( Wichtig sind hier die ersten beiden Zeilen)
java - status is manual. link currently points to /usr/lib/jvm/jre-1.6.0-sun/bin/java /usr/lib/jvm/jre-1.4.2-gcj/bin/java - priority 1420 slave jcontrol: (null) slave keytool: /usr/lib/jvm/jre-1.4.2-gcj/bin/keytool slave orbd: (null) slave pack200: (null) slave policytool: (null) slave rmid: (null) slave rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry slave servertool: (null) slave tnameserv: (null) slave unpack200: (null) slave jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj slave jre: /usr/lib/jvm/jre-1.4.2-gcj slave javaws: (null) slave java.1: (null) slave javaws.1: (null) slave keytool.1: (null) slave orbd.1: (null) slave pack200.1: (null) slave policytool.1: (null) slave rmid.1: (null) slave rmiregistry.1: (null) slave servertool.1: (null) slave tnameserv.1: (null) slave unpack200.1: (null) Current `best' version is /usr/lib/jvm/jre-1.4.2-gcj/bin/java.
WICHTIG - Jetzt kann wie gehabt mit der Installation der neuen Version fortgefahren werden!
Wenn die „neue“ Java-Version installiert wurde, ist evtl. noch die Berichtigung der Konfigurationsdatei /etc/profile.d/java.sh
mit folgendem Inhalt erforderlich:
# Make JAVA_HOME and JRE_HOME be defined for everyone export JAVA_HOME=/usr/java/default export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Um die Änderungen sofort wirksam werden zu lassen, müssen folgende drei Befehle auf der Console ausgeführt werden:
# export JAVA_HOME=/usr/java/default
# export JRE_HOME=$JAVA_HOME/jre
# export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Zum Abschluß kann eine Überprüfung mit diesem Befehl erfolgen:
# java -version
Die Ausgabe gibt die Version des aktuell verwendeten Java Runtime Environment aus und sollte in etwa wie folgt aussehen:
java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
Konfiguration
Mozilla Firefox
Eine Überprüpfung des Browsers Mozilla Firefox auf die Fähigkeit zur Ausführung von Java-Code kann die Eingabe von about:plugins
in der Adresszeile des Mozilla Firefox zeigen, welche in etwa folgende Ausgabe erzeugen sollte:
HINWEIS - Ab Mozilla Firefox in der Version 3.6.x können nachfolgende Schritte notwendig sein, um das Java-Plugin einzubinden
1. Schritt - Löschen der aktuellen Java-Plugin Verknüpfung
Mit nachfolgendem Befehl sollte die nichtfunktionierende Verknüpfung gelöscht werden:
# unlink /usr/lib/mozilla/plugins/libjavaplugin_oji.so
2. Schritt - Erstellen der richtigen Java-Plugin Verknüpfung
Mit nachfolgendem Befehl wird eine funktionierende Verknüpfung angelegt - hier: Java Version 1.6.0_21
:
# ln -s /usr/lib/jvm/java-1.6.0-sun-1.6.0.21/jre/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so
Betriebssystem
Um die vorinstallierte Java-Version des Betriebssystems, durch die so eben installierte zu ersetzen, ist folgender Befehl nötig:
# /usr/sbin/alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java Enter to keep the current selection[+], or type selection number:
Die Antwort auf die Frage Enter to keep the current selection[+], or type selection number:
lautet 2
.
Zur Überprüfung, ob alles funktioniert hat, geben Sie bitte folgenden Befehl ein:
# /usr/sbin/alternatives --display java
Welcher folgende Ausgabe erzeugen sollte: ( Wichtig sind hier die ersten beiden Zeilen)
java - status is manual. link currently points to /usr/lib/jvm/jre-1.6.0-sun/bin/java /usr/lib/jvm/jre-1.4.2-gcj/bin/java - priority 1420 slave jcontrol: (null) slave keytool: /usr/lib/jvm/jre-1.4.2-gcj/bin/keytool slave orbd: (null) slave pack200: (null) slave policytool: (null) slave rmid: (null) slave rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry slave servertool: (null) slave tnameserv: (null) slave unpack200: (null) slave jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj slave jre: /usr/lib/jvm/jre-1.4.2-gcj slave javaws: (null) slave java.1: (null) slave javaws.1: (null) slave keytool.1: (null) slave orbd.1: (null) slave pack200.1: (null) slave policytool.1: (null) slave rmid.1: (null) slave rmiregistry.1: (null) slave servertool.1: (null) slave tnameserv.1: (null) slave unpack200.1: (null) /usr/lib/jvm/jre-1.6.0-sun/bin/java - priority 1603 slave jcontrol: /usr/lib/jvm/jre-1.6.0-sun/bin/jcontrol slave keytool: /usr/lib/jvm/jre-1.6.0-sun/bin/keytool slave orbd: /usr/lib/jvm/jre-1.6.0-sun/bin/orbd slave pack200: /usr/lib/jvm/jre-1.6.0-sun/bin/pack200 slave policytool: /usr/lib/jvm/jre-1.6.0-sun/bin/policytool slave rmid: /usr/lib/jvm/jre-1.6.0-sun/bin/rmid slave rmiregistry: /usr/lib/jvm/jre-1.6.0-sun/bin/rmiregistry slave servertool: /usr/lib/jvm/jre-1.6.0-sun/bin/servertool slave tnameserv: /usr/lib/jvm/jre-1.6.0-sun/bin/tnameserv slave unpack200: /usr/lib/jvm/jre-1.6.0-sun/bin/unpack200 slave jre_exports: /usr/lib/jvm-exports/jre-1.6.0-sun slave jre: /usr/lib/jvm/jre-1.6.0-sun slave javaws: /usr/lib/jvm/jre-1.6.0-sun/javaws slave java.1: /usr/share/man/man1/java-java-1.6.0-sun-compat.1 slave javaws.1: /usr/share/man/man1/javaws-java-1.6.0-sun-compat.1 slave keytool.1: /usr/share/man/man1/keytool-java-1.6.0-sun-compat.1 slave orbd.1: /usr/share/man/man1/orbd-java-1.6.0-sun-compat.1 slave pack200.1: /usr/share/man/man1/pack200-java-1.6.0-sun-compat.1 slave policytool.1: /usr/share/man/man1/policytool-java-1.6.0-sun-compat.1 slave rmid.1: /usr/share/man/man1/rmid-java-1.6.0-sun-compat.1 slave rmiregistry.1: /usr/share/man/man1/rmiregistry-java-1.6.0-sun-compat.1 slave servertool.1: /usr/share/man/man1/servertool-java-1.6.0-sun-compat.1 slave tnameserv.1: /usr/share/man/man1/tnameserv-java-1.6.0-sun-compat.1 slave unpack200.1: /usr/share/man/man1/unpack200-java-1.6.0-sun-compat.1 Current `best' version is /usr/lib/jvm/jre-1.6.0-sun/bin/java.
Eine weitere Überprüfung kann mit diesem Befehl erfolgen:
# java -version
Die Ausgabe gibt die Version des aktuell verwendeten Java Runtime Environment aus und sollte in etwa wie folgt aussehen:
java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
RPMBuild: java-1.6.0-sun-compat
Folgende Anleitung soll zeigen, wie unter CentOS das java-1.6.0-sun-compat
-RPM selbst erstellt werden kann.
RPMBuild Umgebung
Zuerst sollte als NICHT- root
-Benutzer eine RPMBuild-Umgebung vorbereitet werden, was in nachfolgenden Schritten durchgeführt werden soll.
Dazu ist es erforderlich die nachfolgenden RPM-Pakete mit nachfolgendem Befehl zu installieren:
# yum install rpm-build redhat-rpm-build
Das Ergebnis sollte wie folgt aussehen und kann mit nachfolgendem Befehl überprüft werden:
# rpm -qil rpm-build Name : rpm-build Relocations: (not relocatable) Version : 4.4.2.3 Vendor: CentOS Release : 18.el5 Build Date: Fri 04 Sep 2009 02:26:18 AM CEST Install Date: Tue 27 Oct 2009 10:36:07 PM CET Build Host: builder16.centos.org Group : Development/Tools Source RPM: rpm-4.4.2.3-18.el5.src.rpm Size : 1572996 License: GPLv2+ Signature : DSA/SHA1, Sun 20 Sep 2009 05:54:55 AM CEST, Key ID a8a447dce8562897 URL : http://www.rpm.org/ Summary : Scripts and executable programs used to build packages. Description : The rpm-build package contains the scripts and executable programs that are used to build packages using the RPM Package Manager. /usr/bin/rpmbuild /usr/lib/rpm/brp-compress /usr/lib/rpm/brp-java-gcjcompile /usr/lib/rpm/brp-python-bytecompile /usr/lib/rpm/brp-redhat /usr/lib/rpm/brp-sparc64-linux /usr/lib/rpm/brp-strip /usr/lib/rpm/brp-strip-comment-note /usr/lib/rpm/brp-strip-shared /usr/lib/rpm/brp-strip-static-archive /usr/lib/rpm/check-buildroot /usr/lib/rpm/check-files /usr/lib/rpm/check-prereqs /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-rpaths-worker /usr/lib/rpm/config.site /usr/lib/rpm/cross-build /usr/lib/rpm/debugedit /usr/lib/rpm/find-debuginfo.sh /usr/lib/rpm/find-lang.sh /usr/lib/rpm/find-prov.pl /usr/lib/rpm/find-provides /usr/lib/rpm/find-provides.perl /usr/lib/rpm/find-req.pl /usr/lib/rpm/find-requires /usr/lib/rpm/find-requires.perl /usr/lib/rpm/get_magic.pl /usr/lib/rpm/getpo.sh /usr/lib/rpm/http.req /usr/lib/rpm/javadeps /usr/lib/rpm/magic /usr/lib/rpm/magic.mgc /usr/lib/rpm/magic.mime /usr/lib/rpm/magic.mime.mgc /usr/lib/rpm/magic.prov /usr/lib/rpm/magic.req /usr/lib/rpm/mono-find-provides /usr/lib/rpm/mono-find-requires /usr/lib/rpm/osgideps.pl /usr/lib/rpm/perl.prov /usr/lib/rpm/perl.req /usr/lib/rpm/perldeps.pl /usr/lib/rpm/pythondeps.sh /usr/lib/rpm/rpmb /usr/lib/rpm/rpmdeps /usr/lib/rpm/rpmt /usr/lib/rpm/trpm /usr/lib/rpm/u_pkg.sh /usr/lib/rpm/vpkg-provides.sh /usr/lib/rpm/vpkg-provides2.sh /usr/share/man/man8/rpmbuild.8.gz /usr/share/man/man8/rpmdeps.8.gz /usr/src/redhat /usr/src/redhat/BUILD /usr/src/redhat/RPMS /usr/src/redhat/RPMS/athlon /usr/src/redhat/RPMS/geode /usr/src/redhat/RPMS/i386 /usr/src/redhat/RPMS/i486 /usr/src/redhat/RPMS/i586 /usr/src/redhat/RPMS/i686 /usr/src/redhat/RPMS/noarch /usr/src/redhat/SOURCES /usr/src/redhat/SPECS /usr/src/redhat/SRPMS
und
# rpm -qil redhat-rpm-config Name : redhat-rpm-config Relocations: (not relocatable) Version : 8.0.45 Vendor: CentOS Release : 32.el5.centos Build Date: Tue 29 Sep 2009 01:51:05 AM CEST Install Date: Tue 27 Oct 2009 10:31:21 PM CET Build Host: builder10.centos.org Group : Development/System Source RPM: redhat-rpm-config-8.0.45-32.el5.centos.src.rpm Size : 131007 License: GPL Signature : DSA/SHA1, Tue 29 Sep 2009 02:23:50 AM CEST, Key ID a8a447dce8562897 Summary : CentOS specific rpm configuration files. Description : CentOS specific rpm configuration files. /usr/lib/rpm/redhat /usr/lib/rpm/redhat/Makefile /usr/lib/rpm/redhat/brp-compress /usr/lib/rpm/redhat/brp-implant-ident-static /usr/lib/rpm/redhat/brp-java-repack-jars /usr/lib/rpm/redhat/brp-redhat /usr/lib/rpm/redhat/brp-sparc64-linux /usr/lib/rpm/redhat/brp-strip /usr/lib/rpm/redhat/brp-strip-comment-note /usr/lib/rpm/redhat/brp-strip-shared /usr/lib/rpm/redhat/brp-strip-static-archive /usr/lib/rpm/redhat/config.guess /usr/lib/rpm/redhat/config.sub /usr/lib/rpm/redhat/dist.sh /usr/lib/rpm/redhat/find-lang.sh /usr/lib/rpm/redhat/find-provides /usr/lib/rpm/redhat/find-provides.d /usr/lib/rpm/redhat/find-provides.d/firmware.prov /usr/lib/rpm/redhat/find-provides.d/modalias.prov /usr/lib/rpm/redhat/find-provides.ksyms /usr/lib/rpm/redhat/find-provides.libtool /usr/lib/rpm/redhat/find-provides.pkgconfig /usr/lib/rpm/redhat/find-requires /usr/lib/rpm/redhat/find-requires.ksyms /usr/lib/rpm/redhat/find-requires.libtool /usr/lib/rpm/redhat/find-requires.pkgconfig /usr/lib/rpm/redhat/kmodtool /usr/lib/rpm/redhat/macros /usr/lib/rpm/redhat/perl.prov /usr/lib/rpm/redhat/perl.req /usr/lib/rpm/redhat/rpmrc /usr/lib/rpm/redhat/rpmsort /usr/lib/rpm/redhat/symset-table
WICHTIG - Ab hier ist das Arbeiten als Benutzer erforderlich und NICHT mehr als root
!!!
Danach muss als Benutzer in dessen HOME-Verzeichnis nachfolgender Befehl zum erstellen der benötigten Infrastruktur ausgeführt werden:
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
Zusätzlich ist die Anlage einer versteckten Datei im HOME-Verzeichnis des Benutzer mit folgendem Namen
- ~/.rpmmacros
mit nachfolgendem Befehl
$ vim ~/.rpmmacros
und nachfolgendem Inhalt erforderlich:
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch} %_topdir /home/<Benutzername>/rpmbuild %_tmppath %{_topdir}/tmp
HINWEIS - Bitte ersetzen Sie die Angabe <Benutzername> durch Ihren persönlichen Benutzernamen !!!
RPMBuild benötigte Dateien
Nachfolgende Dateien, welche ebenfalls hieraus meinem Repository - http://www.repository.tachtler.net/java - heruntergeladen werden können, werden benötigt:
java-1.6.0-sun-compat-register-java-fonts.xsl
java-1.6.0-sun-compat-unregister-java-fonts.xsl
java-1.6.0-sun-compat.spec
und jeweils das aktuelle Java Development Kit, welches unter Download Link Sun's JDK heruntergeladen werden kann - hier das entsprechende - z.B. in der Version 1.6.0 Update 20, welches dann folgenden Namen hätte:
jdk-6u20-linux-i586-rpm.bin
Anschließend sollten jetzt folgende Dateien mit nachfolgenden Befehlen (ausgehen davon, da die benötigten Dateien sich im Verzeichnis /tmp
befinden) in die richtigen Verzeichnisse kopiert werden:
$ cp -a /tmp/java-1.6.0-sun-compat-register-java-fonts.xsl ~/rpmbuild/SOURCES $ cp -a /tmp/java-1.6.0-sun-compat-unregister-java-fonts.xsl ~/rpmbuild/SOURCES $ cp -a /tmp/java-1.6.0-sun-compat.spec ~/rpmbuild/SPECS
Evtl. kann es erforderlich ein, allen Dateien im Verzeichnis rpmbuild
im HOME-Verzeichnis des Benutzers die richtigen Besitzrechte zu geben, was mit nachfolgendem Befehl durchgeführt werden kann:
$ chwon -R <Benutzername>.<Benutzergruppe> ~/rpmbuild
RPMBuild durchführen
WICHTIG - Es ist erforderlich das das entsprechende Java Development Kit jetzt bereits installiert ist !!! - siehe Installation von Sun's JDK - Installation
Bevor mit dem eigentlichen Build-Prozess begonnen werden kann, muss die nachfolgende Datei:
~/rpmbuild/SPECS/ava-1.6.0-sun-compat.spec
entsprechend an das neue Java Development Kit angepasst werden!
HIWNEIS - Nachfolgend NUR ein Beispiel für mögliche Veränderungen
%define origin sun %define priority 1620 <-- z.B. Anpassung an 1.6.0_20 %define javaver 1.6.0 %define buildver 20 <-- z.B. Anpassung an 1.6.0_20 %define upstreamrel fcs ...
Zum eigentlichen Erstellen des RPM-Paketes sollte mit nachfolgendem Befehl in das Verzeichnis ~/rpmbuild
im HOME-Verzeichnis des Benutzers gewechselt werden:
$ cd ~/rpmbuild
Anschließend kann mit nachfolgendem Befehl das RPM-Paket NEU erstellt werden:
rpmbuild -ba ~/rpmbuild/SPECS/java-1.6.0-sun-compat.spec
Falls alles erfolgreich compiliert werden konnte, ist im nachfolgendem Verzeichnis das entsprechende RPM-Paket vorhanden:
~/rpmbuild/RPMS/i586/
hier z.B. das RPM-Paket
java-1.6.0-sun-compat-1.6.0.20-1jpp.i586.rpm
HINWEIS - Viel Spaß beim selbst erstellen des java-1.6.0-sun-compat
!!!