ちょうど一ヶ月ほど前ですが、sun-java6パッケージにこんなニュースがありました。
Javaの脆弱性CVE-2011-3544に注意。確実にアップデートしましょう。
sun-java6を削除するべきというのはライセンスの変更を考えると至極まっとうなのですが、なかなかそうも行かないこともあります。
というわけで、最新版(6u30)に簡単にパッケージにする方法がないかなぁと思ってやってみたら意外と簡単にできたので、ここで紹介します。
なお、これは技術的な興味により行ったことであり、推奨するものではありません。ライセンスを読んでも自分用にパッケージを作ることを禁止するような条文は見当たりませんが(もちろん見落としている可能性もあります)、作成したパッケージを再配布するのは明確にライセンス違反です。ライセンスは遵守するようお願いいたします。
また、基礎的なDebianパッケージ作成の知識が必要ですが、思いっきり省いています。あらゆる質問にもお応えできませんので予めご了承ください。
本来はDLJの確認も削除しなければいけないのですが、そのようなこともしておりません。
以上のことをよくご理解いただいた上で、読みたい方だけ「続きを読む」をクリックしてください。
pukiwiki記法なのは偶然ではありません。*sun-java6パッケージを再パッケージングする方法
**パッケージのソースをダウンロードする
apt-get source sun-java6-jdk
**ビルドに必要なパッケージをインストールする
sudo apt-get build-dep sun-java6-jdk
**フォルダの名前を変更
-rulesを読むと、フォルダ名からバージョンを取得している
mv sun-java6-6.26 sun-java6-6.30
**JDKをダウンロード
-念のためjdk-6u30-linux-i586.binとjdk-6u30-linux-x64.binを両方
-古い方は削除する
-[[ダウンロード元:http://www.oracle.com/technetwork/java/javase/downloads/index.html]]
**debian/rulesの編集
bin_pattern = jdk-$(version)u$(releng_ver)-dlj-linux-%.bin
↓
bin_pattern = jdk-$(version)u$(releng_ver)-linux-%.bin
**debian/controlとdebian/control.inの編集
-Package: sun-java6-pluginの
#Xb-Npp-Applications:
#Xb-Npp-Name:
#Xb-Npp-MimeType:
のコメントアウトを削除する
**debian/JB-plugin.postinst.inの編集
-以下のコメントアウトを削除する
#priority=@priority@
#browser_dirs="@browser_dirs@"
#PLUGIN=libnpjp2.so
#PLUGINPTH=/@basediralias@/jre/lib/@archdir@/$PLUGIN
#
#for browser_dir in $browser_dirs; do
# if [ $browser_dir = xulrunner-addons ]; then
# browser=xulrunner-1.9
# else
# browser=$browser_dir
# fi
# update-alternatives --quiet --install \
# /usr/lib/$browser_dir/plugins/libjavaplugin.so \
# $browser-javaplugin.so \
# $PLUGINPTH \
# $priority
#done
**debian/JB-plugin.preinst.inを削除する
rm -rf debian/JB-plugin.preinst.in
**debian/changelogを編集する
-dch -iを実行して
sun-java6 (6.30-1lucid1) lucid; urgency=low
* New Upstream Release.
-- orcauser
などとする。
**パッケージの作成
dpkg-buildpackage -r -uc -b
**インストール
-これは一例
sudo dpkg -i sun-java6-bin_6.30-1lucid1_i386.deb sun-java6-jre_6.30-1lucid1_all.deb sun-java6-plugin_6.30-1lucid1_i386.deb
**確認
-Firefoxを起動し、about:pluginsに"Java(TM) Plug-in 1.6.0_30"があれば成功