いつの間にかlenny (testing)にicedove 2.0.0.14パッケージが来ていたので,etch (stable)にbackportしてみた.以下,やってみた手順.
1. ソースパッケージの入手
まずはDebianのicodoveパッケージページからソース一式(dsc, orig.tar.gz, diff.gz)をダウンロードする.その後,dpkg-sourceを使って解凍する
$ dpkg-source -x icedove_2.0.0.14-1.dsc
2. Build-Depends情報の改竄
解凍したパッケージは,もろもろのバージョン依存があるのでそのままではdebuildでコンパイルできない.バージョンアップ必要のあるBuild-Dependsなパッケージ関係を並べると,
icedove2 -> libnss3-dev(>= 3.11.5-3) -> libnspr4-dev (>= 4.7.0) -> debhelper (>= 5.0.62) -> man-db (>= 2.5.\1) -> debhelper (>= 5.0.59)
って感じで,debhelperとman-dbの関係がループしてしまってしょんぼりな状況に.
また,libnss3-devを入れるのに必要なlibnss3-1dが,etchのいろんなパッケージが使っているlibnss3-0dと競合するのも面倒.
(ちなみにBuild-Dependsでは書かれていないが,nss-3.12.0がsqlite3のバージョンに依存するってのもある)
なので,icedove2のdebian/controlを書き換えて,libnss3-devのバージョン依存を削除する.icedoveパッケージを解凍したicedove-2.0.0.14フォルダにあるdebian/controlファイルを開いて
Build-Depends: bzip2, autotools-dev, (中略) , libhunspell-dev, libnss3-dev, libnspr4-dev
という風に書き換えればOK.
3. パッケージをコンパイル
$ cd icedove-2.0.0.14/ $ debuild -uc -us
とするとコンパイルしてdebパッケージを作成してくれる.debuildコマンドがないって場合は,落ち着いてdevscriptsパッケージをインストールすること
4. パッケージのインストール
出来上がったパッケージをsudo dpkg -iしてインストールする.ちなみに4つ程パッケージが出来るが,通常はicedove2.0.0.14-1i386.deb, icedove-gnome-support2.0.0.14-1i386.debを入れれば十分だと思う.
$ sudo dpkg -i icedove_2.0.0.14-1_i386.deb $ sudo dpkg -i icedove-gnome-support_2.0.0.14-1_i386.deb
Build-Dependsを書き換えてのコンパイルなので若干不安は残るが,今の所問題なく動いている感じ.必要な人はicedove-l10n-ja別個backportするとよいかもしれない.