JDK15

参考情報:
http://www.el.itc.nagoya-u.ac.jp/~takai/wiki/index.php?NetBSD%BE%E5%A4%C7Java%B4%C4%B6%AD%A4%F2%B9%BD%C3%DB%A4%B9%A4%EB

ライセンスの関係で、pkg_addではインストールできないのでpkgsrcを使う。
pkgsrcをftp://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2007Q4/から持ってきて

tar zxvf pkgsrc-2007Q4.tar.gz -C /usr/

で/usr/pkgsrcに展開。
sunのサイトより

jdk-1_5_0_12-linux-i586.bin
jre-1_5_0_12-linux-i586.bin

をダウンロードして/usr/pkgsrc/distfilesに置いておく。

追記:ライセンスを承認したということで、/etc/mk.confに

ACCEPTABLE_LICENSES+=jdk13-license

と書いておく必要がある。

/usr/pkgsrc/lang/sun-jdk15で

# unsetenv PKG_PATH
# cd /usr/pkgsrc/lang/sun-jdk15
# make ALLOW_VULNERABLE_PACKAGES=YES
# make install ALLOW_VULNERABLE_PACKAGES=YES

でインストール。PKG_PATHをunsetenvするのは、標準でないpkgsrcだという警告を回避するため。
インストールされるpkgはこんな感じ:

suse_base-10.0nb5   Linux compatibility package
suse_compat-10.0nb3 Linux compatibility package with old shared libraries
suse_locale-10.0nb2 Linux compatibility package with locale files
suse_x11-10.0nb3    Linux compatibility package for X11
sun-jre15-5.0.12nb3 Sun's Java(tm) 2 Standard Edition, JRE 5.0 Update 12
sun-jdk15-5.0.12nb1 Sun's Java(tm) 2 Standard Edition, JDK 5.0 Update 12

環境変数を設定。

setenv JAVA_HOME /usr/pkg/java/sun-1.5/
set path = ($path $JAVA_HOME/bin)

そのまま起動すると

Can't detect initial thread stack location - find_vma failed

とか警告がでる。/procをmountしてないのが原因ということで/etc/fstabの

procfs          /proc   procfs  rw

を確認して(noautoを消去)、mount /proc。

> java -version
java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode, sharing)

domainUにインストールするには、

/usr/pkgsrc/emulators
suse100_base / suse100_compat / suse100_locale / suse100_x11
/usr/pkgsrc/lang
sun-jre15 / sun-jdk15

でそれぞれmake packageすると/usr/pkgsrc/packages/Allにパッケージができるので、それをscpしてpkg_addすることができる。(同じディレクトリに必要なパッケージのファイルがあればpkg_add sun-sdk15だけで全部インストールされる)