dreamedge.net

icedove2 (Thunderbird 2) をlennyからetchへbackportしてみる

2008-07-10T08:43:00+0000

いつの間にか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するとよいかもしれない.