DebianやUbuntuで公式パッケージのソースをダウンロード/ビルドする
2015-04-20
2015-04-20
こんにちは。今回のテーマは『DebianやUbuntuで公式パッケージソースをダウンロード/ビルドする』です。最近、Debianで公式パッケージのソースをビルドする機会がありまして、改めてAPTってよく出来てるなと思ったので記事にしました。個人的な備忘録的な記事ですので人様の役にはたたないかも知れませんが・・・ 【関連記事】 意外に簡単!Debパッケージを自作する方法 [adsense02] 【目次】 Debian系はソースのダウンロードもAPTで Debianの公式パッケージのソースをダウンロードする ダウンロードしたパッケージをビルドする ソースのダウンロードとビルドを同時に行うには
Debian系はソースのダウンロードもAPTで
Debian系の公式パッケージはバイナリで配布されているので、通常はAPTでインストールするだけでソースをダウンロードする必要はありません。しかし、プログラムの修正や学習のため等の理由でソースをダウンロードしたいということは結構あります。Debian系のディストロはソースのダウンロードやパッケージのビルドも割と簡単に行うよう工夫がされています。詳しくは公式ドキュメントをご覧ください。
Debianの公式パッケージのソースをダウンロードする
一般的なソースをダウンロードするコマンドは以下となります。
apt-get source <パッケージ名>
今回は例として~/temp/mousepadディレクトリにエディタソフトmousepadのソースをダウンロードしてみます。
$ mkdir -p ~/temp/mousepad/ $ cd ~/temp/mousepad $ apt-get source mousepad
これでソースがダウンロードされました。package-versionの形式でソースパッケージが展開されています。
ダウンロードしたパッケージをビルドする
準備
まず、ビルドに必要なパッケージを揃える必要があります。もし、build-essentialがインストールされていない場合は以下コマンドでインストールします。
$ sudo apt-get install build-essential
APTではソースパッケージをビルドするのに必要なソフトウェアをインストールする機能としてapt-get build-depコマンドがあります。今回はmousepadをビルドするのに必要な環境を整えてみます。
$ sudo apt-get build-dep mousepad
これでmousepadをビルドする環境が整いました。
ビルド
今回は前段でダウンロードしてきたmousepadのソースをビルドしてみます。ビルドは展開されたディレクトリに移動して行って下さい。
$ cd temp/mousepad/mousepad-0.3.0 $ dpkg-buildpackage -b -uc
ビルドが無事に完了すれば以下の様にdebパッケージが作成されています。このパッケージはdpkg -iやgdebiコマンドでインストール可能です。
ソースのダウンロードとビルドを同時に行うには
特にソースに修正する必要がない場合はソースのダウンロードと同時にビルドすることも可能です。ただし、前述のビルド準備は必要ですので注意して下さい。ビルド環境が整ったら以下のコマンドを実行するだけで自動的にソースがダウンロードされビルドされます。 例えばmousepadのソースを~/temp/mousepadにダウンロードして自動的にdebパッケージをビルドしたい場合は以下のようにします。
$ cd ~/temp/mousepad $ apt-get -b source mousepad
実行するとダウンロードとビルドが一度に自動で行われて、マニュアルでソースをビルドした場合と同じ結果となります。
最後に
バイナリパッケージはとても便利で普通に使う分にはソースファイルをダウンロードしてビルドする機会など少ないかも知れません。オープンソースソフトの醍醐味はソースが見れるという点にもあると思います。この記事が何かのお役に立てば幸いです。 [adsense]