# 表題 libdcl-ruby の deb パッケージ作成の手引 # # 履歴 2004/03/12 小高正嗣 # 2004/08/13 小高正嗣: sarge 版へ書き換え # 2005/03/10 小高正嗣: ruby-dcl-1.5.2 # 2007/06/16 佐々木洋平: etch 版. libdcl-ruby へ改名 ■ この文書について この文書は Ruby-dcl (地球流体電脳倶楽部ライブラリ DCL ruby インター フェース) debian パッケージ作成の手引である. ■ ソースダウンロード先 http://www.gfd-dennou.org/arch/ruby/products/ruby-dcl/ ■ 注意 ruby-dcl は dcl-c に含まれる cdclconfig コマンドの出力を利用してい る. dcl-c_*.deb パッケージのインストールディレクトリ, ライブラリの 置場などを変更した場合は, ruby-dcl も再度コンパイルしなおすこと. これをサボると ruby-dcl スクリプト実行時にカラーマップがない, など エラーを表示して実行できないことがある. ■ インストール先ディレクトリ /usr/lib/ruby 以下にインストールする. デフォルトでは /usr/local 以下 にインストールされてしまうので注意すること. ■ 環境変数の設定 パッケージ情報に引用される環境変数 EMAIL と DEBFULLNAE を設定する. $ export EMAIL=your_account(at)gfd-dennou.org $ export DEBFULLNAE="Youhei SASAKI" ■ 事前インストールパッケージ 事前に以下のパッケージが実行環境にインストールされているか確認する. cdbs debhelper ruby ruby-pkg-tools ruby1.8-dev fakeroot dcl-c libnarray-ruby libgtk2.0-dev libglib2.0-dev ■ deb パッケージ化: 初めての場合 1) ソースをダウンロードして展開後, ソースのディレクトリ名を <パッケージ名> - <バージョン名> に変更する. 名前に使える文字列は "a-z0-9","+","-" である. 大文字は 使えないことに注意. 今回の場合ソースツリー名が ruby-dcl-1.5.2 となっているので, それを libdcl-ruby-1.5.2 と改名して使用する. 2) パッケージ情報の作成 次にパッケージ情報の雛型を作成する. $ dh_make - これにより, ソースアーカイブトップディレクトリに debian ディレクトリ が作成される. 編集するファイルは以下の通り ・control パッケージ名などのパッケージ情報を記載する. ここでは依存関係を以 下のように記述する. Depends : ${shlibs:Depends}, ${misc:Depends}, ruby(>=1.8.0), libnarray-ruby(>=0.5.7), dcl-c(>=5.3.1) Build-Depends: cdbs, debhelper(>=5), ruby-pkg-tools, \ libnarray-ruby, dcl-c, libglib2.0-dev, libgtk2.0-dev Recommends: ruby-narray-miss (>=1.1.2) 依存パッケージのバージョン名パッケージ作成環境にあわせて適宜変更 する. ・copyright ライセンス規定を記述する. 詳細は実ファイルを参照. ソースのダウンロード元の記入を忘れずに. ・changelog パッケージの更新履歴を記述する. これも詳細は実ファイルを参照. ・docs パッケージに含めるドキュメントファイルを記述する. ここでは ソース直下の以下のファイルとディレクトリ名を記述する ChangeLog README README_old ToDo demo ・rules cdbs, ruby-pkg-tools を利用する. 詳細は実ファイル参照. 4) パッケージ化 ソース直下のディレクトリにて $ dpkg-buildpackage -rfakeroot を実行する. その結果, 一つ上のディレクトリに libdcl-ruby_1.5.2-X.diff.gz libdcl-ruby_1.5.2.orig.tar.gz libdcl-ruby_1.5.2-X.dsc libdcl-ruby_1.5.2-X_i386.changes libdcl-ruby_1.5.2-X_i386.deb が作成される. ■ deb パッケージ化: 再パッケージ化する場合 既に作成したパッケージに不具合があり, 再パッケージ化する場合, libdcl-ruby_1.5.2-X.diff.gz libdcl-ruby_1.5.2.orig.tar.gz libdcl-ruby_1.5.2-X.dsc をダウンロードして $ dpkg-source -x libdcl-ruby_1.5.2-X.dsc を実行する. これにより, debian ディレクトリを含むソースツリーが復元 できる. ソース直下に移動後, $ dch -i を行う. これによりエディタが changelog ファイルを時動的に読み込んで 起動する. 記載されるパッケージ番号も時動的に 1 つ繰り上がる. あとは新規パッケージと同様の手順でパッケージ化する. ■ deb パッケージ化: ソースが更新された場合. ソースが更新された場合(ここでは ruby-dcl-1.6.0.tar.gz がリリースさ れたとする), 古いソースディレクトリにて $ uupdate -u ruby-dcl-1.6.0.tar.gz を実行する. これにより, 時動的にソースが更新される. 1 つ上のディレ クトリに新しいソースツリーが展開されているのでそちらへ移動し, あと は新規パッケージと同様の手順でパッケージ化する.