ソースパッケージからバイナリパッケージを作成する

ソースパッケージからのバイナリパッケージ作成メモ。


0. 環境

OS version: 4.0 r3
architecture: AMD64
package: sl


1. 基本開発環境のインストール

# apt-get install build-essential fakeroot devscripts


2. ソースパッケージの取得

$ apt-get source sl

取得したソースアーカイブ(tar.gz)、パッチパッケージ固有の差分(diff.gz)、記述ファイル(.dsc)を基に、アーカイブが展開されます。


3. とりあえずビルド

$ cd sl-3.03
$ dpkg-buildpackage -us -uc -b -rfakeroot
dpkg-buildpackage: source package is sl
dpkg-buildpackage: source version is 3.03-14
dpkg-buildpackage: source changed by Kenshi Muto <kmuto@debian.org>
dpkg-buildpackage: host architecture amd64
dpkg-buildpackage: source version without epoch 3.03-14
dpkg-checkbuilddeps: Unmet build dependencies: debhelper libncurses5-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)

debhelperとlibncurses5-devが足りないと怒られました。
ビルド時のオプションは、以下の通り。

  • -us -> ソースに署名しない
  • -uc -> changelogに署名しない
  • -b -> バイナリのみ作成
  • -r -> root権限取得コマンド(fakerootは擬似的にroot権限を使えるコマンド)


4. 依存パッケージのインストール

# apt-get build-dep sl

build-depは指定パッケージに必要な依存パッケージをインストールします。


5. ビルド2回目

$ dpkg-buildpackage -us -uc -b -rfakeroot
dpkg-buildpackage: source package is sl
・
・
・
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)

ビルド成功。
上位ディレクトリに、.debファイルと.changesファイルが作成されます。


6. インストール/アンインストール
作成したパッケージをインストールし、動作を確認します。
動作確認できたら、正常にアンインストールできるか確認します。

# dpkg -i sl_3.03-14_amd64.deb
# sl
# dpkg -r sl