java-packageでOracle Java8をdebパッケージにする
あ、いつのまにかJava8がリリースされていたようです。そんなに話題になってないな…。
で、Debianにはjava-packageというOracle Javaをdebパッケージに変換してくれるツールがあるので、これを見てみると、パッケージの説明文では8対応となっているんだけど、コマンドのmake-jpkg --helpすると7までになってるわけです。まぁ多分更新し忘れだと思いますが、念のためちゃんと動くかどうかを確かめてみました。
- まずはOracleのサイトでtarballをダウンロードします。今回はJDK8で、「jdk-8-linux-x64.tar.gz」を選びました(多分今時これ以外選ぶことないと思うんですが)
- make-jpkgでダウンロードしたファイルを指定して変換するだけ。途中1回「y」を入力、あとはEnterキーを1回だけ。
henrich@hp:/tmp $ make-jpkg ~/ダウンロード/jdk-8-linux-x64.tar.gz Creating temporary directory: /tmp/make-jpkg.4ksVGl9hRI Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/javase.sh /usr/share/java-package/jdk-doc.sh /usr/share/java-package/jdk.sh /usr/share/java-package/jre.sh /usr/share/java-package/oracle-jdk-doc.sh /usr/share/java-package/oracle-jdk.sh /usr/share/java-package/oracle-jre.sh Detected Debian build architecture: amd64 Detected Debian GNU type: x86_64-linux-gnu Detected product: Java(TM) Development Kit (JDK) Standard Edition, Version 8 GA Oracle(TM) Is this correct [Y/n]: y Checking free diskspace: done. In the next step, the binary file will be extracted. Probably a license agreement will be displayed. Please read this agreement carefully. If you do not agree to the displayed license terms, the package will not be built. Press [Return] to continue: Testing extracted archive... okay. Create debian package: dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_compress dh_fixperms dh_installdeb dh_shlibdeps dpkg-shlibdeps: warning: can't extract name and version from library name 'libjli.so' dpkg-shlibdeps: warning: can't extract name and version from library name 'libjli.so' (同様のwarningが大量に出てくるので中略) dpkg-shlibdeps: warning: package could avoid a useless dependency if /tmp/make-jpkg.4ksVGl9hRI/install/usr/lib/jvm/jdk-8-oracle-x64/jre/lib/amd64/libprism_es2.so was not linked against libXxf86vm.so.1 (it uses none of the library's symbols) (同様のwarningが ry) dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: `/tmp/make-jpkg.4ksVGl9hRI/oracle-java8-jdk_8_amd64.deb' にパッケージ `oracle-java8-jdk' を構築しています。 copy oracle-java8-jdk_8_amd64.deb into directory /tmp/ The Debian package has been created in the current directory. You can install the package as root with: dpkg -i oracle-java8-jdk_8_amd64.deb Removing temporary directory: done
- 最後、dh_builddebでパッケージ生成するまでに2、3分ぐらいジーッと待つ羽目になりました。長い…。
注意点は…なにもありませんね。--helpオプションは直しておきます。