Fedora9に Sun Java SE 1.6.0 update 7 をインストール

ノートを修理に出して、OSが初期化されたので、Fedora9を再インストールしました。


で、Javaを再インストールするときに、ハマったのでメモ。


普通、Redhat系でSunJavaをインストールするには、

http://wiki.alfresco.com/wiki/Installing_Alfresco_Community_2.9B_on_Centos_5.1#Install_JDK_1.6.06

のような手順でインストールします。

java-1.6.0-sun-compat-1.6.0  はここからダウンロード
ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/

が、現在の、JDKは 6.0 update 7 で、これに対応する java-1.6.0-sun-compat-1.6.0 がありません。
リンク先のインストール方法では、update6をダウンロードして回避してますが、
ここはあえてjava-1.6.0-sun-compat-1.6.0のソースRPMを拝借して、書き換えてみることに。
# だって、もう update7 いれちゃったし ;;

というわけで、改造メモ

ソースRPMをインストール

rpm -ivh java-1.6.0-sun-compat-1.6.0.06-1jpp.src.rpm

インストールしたソースは、つぎのディレクトリ以下に入るようで。

/usr/src/redhat/

SPECファイルを書き換え

$ cd /usr/src/redhat/SPECS/
$ sudo vi java-1.6.0-sun-compat.spec

次のように書き換えます。
4行目:

%define buildver        07

622行目:

 --slave %{_bindir}/javaws                 javaws                      %{_jvmdir}/%{jrelnk}/javaws

622行目の %{_datadir}/javaws を %{_bindir}/javaws に変更しないといけないのは、バグだと思うんですが。
RPMだとインストールはちゃんとできたと思うので、SRPMだけ直されてないのかな?

RPMをビルド

$ sudo rpmbuild -bb java-1.6.0-sun-compat.spec

/usr/src/redhat/RPMS/i586/java-1.6.0-sun-compat-1.6.0.07-1jpp.i586.rpm
ができます

RPMをインストール

$ cd /usr/src/redhat/RPMS/i586/java-1.6.0-sun-compat-1.6.0.07-1jpp.i586.rpm


あとは、通常どおり、

$ sudo /usr/sbin/alternatives --config java

を実行して、sun-javaに切り替えるだけです。

以上で、とりあえず java コマンドは置き換わりました。
なにも考えずに書き換えただけですので、ほんとに動くかは保証はありません・・・。
早く本家で更新がリリースされることを祈ります。