# 表題 ruby-narray-miss の deb パッケージ作成の手引 # # 履歴 2004/03/15 小高正嗣 # 2004/08/12 小高正嗣: sarge 版へ書き換え # 2007/06/14 佐々木洋平: etch 版へ書き換え ■ この文書について この文書は ruby-narray-miss (narray-miss) debian パッケージ作 成の手引である. ■ ソースダウンロード先 http://www.gfd-dennou.org/arch/ruby/products/narray_miss/narray_miss-1.1.2.tar.gz ■ パッケージの作成 cdbs(common debian build system) および ruby-pkg-tools を使用する. インストール先等は上記スクリプト群が適宜設定してくれる(setup.rb が 賢い)ので気にしなくても良い. 実際にはインストールディレクトリとして /usr/lib/ruby/1.8/ が設定される. $ ruby -r rbconfig -e 'p Config::CONFIG["rubylibdir"]' で確認できる. ■ 環境変数の設定 パッケージ情報に引用される環境変数 EMAIL と DEBFULLNAE を設定する. $ export EMAIL=your_account(at)gfd-dennou.org $ export DEBFULLNAE="your_name" ■ 事前インストールパッケージ 事前に以下のパッケージが実行環境にインストールされているか確認する. dh-make dpkg-dev devscripts fakeroot cdbs ruby-pkg-tools ■ deb パッケージ化: 初めての場合 1) ソースをダウンロードして展開後, ソースのディレクトリ名を <パッケージ名> - <バージョン名> に変更する. 名前に使える文字列は "a-z0-9","+","-" である. 大文字は 使えないことに注意. 今回の場合ソースツリー名は narray_miss-1.1.0 な ので, libnarray-miss-ruby-1.1.2 に変更する. これは narray が libnarray-ruby として公式パッケージに 含まれるようになったからである. 2) パッケージ情報の作成 次にパッケージ情報の雛型を作成する. libnarray-miss-ruby-1.1.2 ディ レクトリ内で $ dh_make -b -l これにより, ソースアーカイブトップディレクトリに debian ディレクトリ が作成される. 編集するファイルは以下の通り ・control パッケージ名などのパッケージ情報を記載する. セクションを指定. Section: math 依存関係は以下のように記述する. Build-Depends: cdbs, debhelper (>=5), ruby-pkg-tools <- 追加 Depends: ${shlibs:Depends}, libnarray-ruby(>=0.5.7-p3) 依存パッケージのバージョン名パッケージ作成環境にあわせて適宜変更 する. ・copyright ライセンス規定を記述する. 詳細は実ファイルを参照. ・changelog パッケージの更新履歴を記述する. これも詳細は実ファイルを参照. ・rules パッケージ化を行うための Makefile. setup.rb を用いているのので, -------------------------------ここから------------------------------- #!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/ruby-pkg-tools/1/class/ruby-setup-rb.mk -------------------------------ここまで------------------------------- だけで良い. 3) パッケージ化 ソース直下のディレクトリにて $ debuild -rfakeroot を実行する. その結果, 一つ上のディレクトリに libnarray-miss-ruby_1.1.2-X.diff.gz libnarray-miss-ruby_1.1.2-X.dsc libnarray-miss-ruby_1.1.2-X_i386.changes libnarray-miss-ruby_1.1.2-X_i386.deb libnarray-miss-ruby_1.1.2.orig.tar.gz が作成される. ■ deb パッケージ化: 再パッケージ化する場合 既に作成したパッケージに不具合があり, 再パッケージ化する場合, libnarray-miss-ruby_1.1.2-X.diff.gz libnarray-miss-ruby_1.1.2-X.dsc libnarray-miss-ruby_1.1.2.orig.tar.gz をダウンロードして $ dpkg-source -x libnarray-miss-ruby_1.1.2-X.dsc を実行する. これにより, debian ディレクトリを含むソースツリーが復元 できる. ソース直下に移動後, $ dch -i を行う. これによりエディタが changelog ファイルを時動的に読み込んで 起動する. 記載されるパッケージ番号も時動的に 1 つ繰り上がる. あとは新規パッケージと同様の手順でパッケージ化する. ■ deb パッケージ化: ソースが更新された場合. ソースが更新された場合(ここでは narray_miss-1.1.1 がリリースされたとする), 古いソースディレクトリにて $ uupdate -u narray_miss-1.1.1.tar.gz を実行する. これにより, 時動的にソースが更新される. 1 つ上のディレ クトリに新しいソースツリーが展開されているのでそちらへ移動し, あと は新規パッケージと同様の手順でパッケージ化する.