久しぶりに debian パッケージを作成したので作業メモを公開します
ソースコードの確認
ソースコードは以下の形式であるとします
- アーカイブ名は hogehoge-0.1.0.tar.xz
- ./configure して make して make install する形式
(つまり autotools で作成されたものです)
環境変数の確認
debianパッケージには,パッケージ作成者の情報(名前やメールアドレス)が埋め込まれています.これら情報は以下の環境変数でカスタマイズできます
- DEBEMAIL メールアドレス
- DEBFULLNAME 名前
dh_make の実行
debian のパッケージ用の各種設定ファイルを生成するために,以下の手順で dh_make を実行します
$ tar xvfJ hogehoge-0.1.0.tar.xz
dh_make を実行します
$ cd hogehoge-0.1.0 $ dh_make -f ../hogehoge-0.1.0.tar.xz
"-f"オプションでソースコードのファイル名を指定します
パッケージの種別を聞かれます
Type of package: (single, indep, library, python) [s/i/l/p]?
アプリケーションならsingle,ライブラリならlibraryを選べばOKです
Are the details correct? [Y/n/q]
確認メッセージが出力されるので,問題がなければ"y"を入力します
微調整
dh_make が成功すると,各種設定ファイルが debian/ ディレクトリ以下に生成されます.設定ファイルの詳細については debian の公式文章や man を見ましょう
最低限知っておくべきことは以下の2点だと思います.
ビルドの確認
パッケージをビルドしてみます
$ debian/rule clean $ debian/rule build
なお,ビルドで失敗する場合は
などで,修正を行います.
後者の方法を使うと,たとえば make tests でエラーが出る場合は, DEB_BUILD_OPTIONS=nocheck とすることで checkをskipできます
deb パッケージの作成
$ dpkg-buildpackage -us -uc -rfakeroot
成功すると一つ上のディレクトリに *.deb パッケージが生成されます
念の為に,出来上がったパッケージに含まれるファイルの一覧を確認しましょう
$ dpkg --contents hogehoge*.deb
aptでインストール出来るようにする.
先日書いた記事 自前のDebianリポジトリを作る方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -と組み合わせると,apt で自動インストールできるようになります.