apt-getでソースをダウンロードしてdebパッケージを作る

例えば、「マイコン上でLinuxを動かしたいけどディストリビューションが古くてパッケージが古い」
なんてことはときおり起こるのではないだろうか。
Pandaboard上でUbuntuを動かそうとした時、13.04のイメージをSDカードに流し込むと
ブートしないということがあった。
しぶしぶ入れたUbuntu12.04では最新のものが使えないので、ソースから入れていたが
定期的にOSをクラッシュさせてしまって入れなおすのも面倒だったのでパッケージにすることに。


前座はPandaboardの話をしていますが、再現のためにごく一般的なPCで作業しています。
今回はMySQLを例にパッケージを作成。


debパッケージのビルドに必要なパッケージをインストール。
apt-get install build-essential

対象のパッケージのビルドに必要なパッケージをインストール。
apt-get build-deb mysql-server

ソースコードをもってくる
apt-get source mysql-server

パッケージのディレクトリがあるので、移動。
cd mysql-*.*_……

ビルドする。
fakeroot debian/rules binary

完成。

途中であれがないよーとか言われたら適宜入れたりする。
debianディレクトリにあるrulesファイルにconfigureにつかう引数などが書かれている(はず)。
なにか弄りたくなったらこっちをいじれば良い。

ビルドに失敗したら
fakeroot debian/rules cleanを叩いて一度綺麗にするといいかも。
今回は特にやらなかったのだが、パッケージはちゃんと作成された。