分12寒い冬にはパッケージビルド!?ようやく冬らしい季節なってきました。みなさんの部屋には,もちろん暖房器具があるでしょう。部屋の中にはきっと,たくさんのPCもあるのではないかと思います。筆者の部屋にも,数えるとうんざりするぐらいたくさんあります。PCは熱を出すくせに熱には弱く,排熱をしないと壊れてしまいます。PCがたくさんあるのなら,これで暖を取るのもアリではないでしょうか。いえ,最近のPCは以前よりも発熱量は減っています。連続して発熱させるためには,CPUを100%(マルチコアであれば,それ以上)で稼動させるパッケージのビルドが最適なのです。......と小咄はこのぐらいにして,今回はパッケージをビルドする方法を紹介します。パッケージのビルドとはパッケージのビルドというのは,ソースコードからバイナリパッケージを生成することだと思ってください。「⁠オープンソース・ソフトウェア」は誰でもビルドできるので,せっかく使っているのであれば,パッケージのビルドをやってみない手はありません。注意点もあるので,それは最後にまとめます。手法はそれこそたくさんあってとても全部は紹介しきれないため,ソースパッケージが存在する場合と,ソースから一発でパッケージが生成できる場合を紹介します。ここで紹介しているものはどれも簡単にできるものばかりなので,ここに当てはまらないパターンのほうが多いかもしれませんが,そのあたりは試行錯誤してみてください。ターゲットとするUbuntuのバージョンは10.10であり,操作はすべてコマンドラインで行います。準備パッケージをビルドするのに最低限必要なパッケージをインストールします。devscriptsあとは,適当なフォルダを作成し,そこでビルドを行うと簡単でしょう。いうまでもなく,Ubuntuもリリース以後は原則としてバージョンアップは行われません。そのため,ピンポイントで最新のパッケージを使いたい場合があると思います。簡単なのは,すでにソースパッケージがあり,これをビルドすることです。10.10のリリース後は,11.04に相当するものの開発が開始され,新しいパッケージはこちらに入ります。Debianの開発版(sid)からもらってくるのもありでしょう。どのような新しいパッケージが開発版に入ったかは,メーリングリストで簡単に調べることができます。11.04相当だとNatty-changes,Debianだとdebian-devel-changesです。SearchやDebianのパッケージ検索で探すのが簡単でしょう。Beta4が入っています。Ubuntuには,Debianにはない独自の修正が入っていて,これがないと正しく動作しない場合もあるため,Debianにあるパッケージを単純にUbuntuに持ってこられるわけではありませんが,Sylpheedに限るとその問題はなく,またBeta4というバージョンでexperimentalに入っているので不安定(※1)と思われがちですが,これもSylpheedに限るとそうでもありません(※2⁠)⁠。※1ここでの不安定は,使用中に落ちるとか,致命的なものを指します。※2こういう情報をどこから収集するのかというの話はありますが,これは各自で努力するしかなさそうです。Beta4のパッケージを取得することにします。http://ftp.jp.debian.org/debian/pool/main/s/sylpheed/sylpheed_3.1.0~beta4-1.dscこれだけです。dgetコマンドでdscファイルを指定すると,必要なソースパッケージを取得することができます。Sylpheed以外の場合,このURLから予測できるのではないかと思います。Rhythmboxは,pool/main/r/rhythmboxにあります。Ubuntuでもディレクトリの構成はほぼ同じですが,mainのほかにuniverseやmultiverseがあるのが注意点です。sylpheedはuniverseなので,pool/universe/s/sylpheedにあります。dgetのオプションの-uは,署名を検査できなくても展開するという意味です。次に,ビルドに必要なパッケージをインストールします。sylpheedこれはあくまで今リポジトリにあるSylpheedのビルドに必要なものであり,バージョンが新しくなると当然のことながら必要なものは増減します。足りない場合,たいていはとあるファイルがないということが多いので,前出のパッケージ検索でそのファイル名を検索すると出てくることが多いです。したがって,そのファイルが含まれているパッケージをインストールすると解決しますが,リポジトリにあるものよりも新しいバージョンが要求される場合は,あらかじめそのパッケージを用意する必要があります。ビルドに必要なものがあまりに多いと,諦めたほうがいいでしょう。筆者もそうしています。ひととおりインストールが終わったら,実際にビルドを開始します。-bdpkg-buildpackageコマンドを使用しますが,-bはバイナリのみ,-ucは署名をしないというオプションです。-rは説明が長くなるので省略しますが,ユーザ権限でビルドするのに必要なものだと思ってください。-j3などのオプションを付けるとビルドが速くなりますが,これもやはり省略します。このオプションを使用すると,ものによってはビルドに失敗することもあるので,使用する場合はよく理解してからにしたほうがいいでしょう。次のようなメッセージが出力されれば,無事に成功しています。