# 表題 ruby-vtk の deb パッケージ作成の手引 # # 履歴 2005/03/21 小高正嗣 # 2005/05/31 小高正嗣: ruby-vtk-0.2.0 対応 ■ この文書について この文書は ruby-vtk debian パッケージ作成の手引である. ■ ソースダウンロード先 http://www.gfd-dennou.org/arch/ruby/products/ruby-vtk/ ■ 環境変数の設定 パッケージ情報に引用される環境変数 EMAIL と DEBFULLNAE を設定する. $ export EMAIL=odakker(at)gfd-dennou.org $ export DEBFULLNAE="Masatsugu Odaka" ■ 事前インストールパッケージ 事前に以下のパッケージが実行環境にインストールされているか確認する. dh-make dpkg-dev fakeroot devscripts libvtk4 libvtk4-dev (コンパイル時に必要) tcl8.4-dev (コンパイル時に必要) ruby vtk-tcl (実行時に必要) vtkdata (実行時に必要) ■ コンパイル前の作業 (2005/05/31) vtk のインクルードファイルは tcl8.4 のインクルードファイルをインク ルードしている. しかし置場所が異なるので tcl8.4 のインクルードファ イル置場を ruby extconf.rb 時にオプションで渡す必要がある. しかし, 現状 (ruby-vtk-0.2.0) ではオプションに渡すことができないので, # ln -s /usr/include/tcl8.4/*.h /usr/include/vtk/ とする. ■ deb パッケージ化: 初めての場合 1) ソースをダウンロードして展開後, ソースのディレクトリ名を <パッケージ名> - <バージョン名> に変更する. 名前に使える文字列は "a-z0-9","+","-" である. 大文字は 使えないことに注意. 今回の場合ソースツリー名が ruby-vtk-0.2.0 となっているので, そのまま利用する. 2) パッケージ情報の作成 次にパッケージ情報の雛型を作成する. $ cd ruby-vtk-0.2.0 $ dh_make -s これにより, ソースアーカイブトップディレクトリに debian ディレクトリ が作成される. 編集するファイルは以下の通り ・control パッケージ名などのパッケージ情報を記載する. セクションを指定. Section: interpreters 依存関係は以下のように記述する. Depends : ${shlibs:Depends}, vtk-tcl (>= 4.2.6-5), ruby (>=1.8.2-1), vtkdata(>=4.2-1) Build-Depends : libvtk4-dev (>=4.4.2-6), tcl8.4-dev (>=8.4.9-1) 依存パッケージのバージョン名はパッケージ作成環境にあわせて適宜変 更する. ・copyright ライセンス規定を記述する. 詳細は実ファイルを参照. ・changelog パッケージの更新履歴を記述する. これも詳細は実ファイルを参照. ・rules パッケージ化を行うための Makefile. 以下の部分を編集. - build-stamp: configure-stamp dh_testdir # Add here commands to compile the package. #/usr/bin/docbook-to-man debian/ruby-vtk.sgml > ruby-vtk.1 ruby extconf.rb --with-vtk-include=/usr/include/vtk --with-vtk-lib=/usr/lib $(MAKE) touch build-stamp - install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/ruby-vtk. $(MAKE) install DESTDIR=$(CURDIR)/debian/ruby-vtk sitedir=$(CURDIR)/debian/ruby-vtk/usr/lib/ruby 4) パッケージ化 ソース直下のディレクトリにて $ dpkg-buildpackage -rfakeroot を実行する. その結果, 一つ上のディレクトリに ruby-vtk_0.2.0-1.diff.gz ruby-vtk_0.2.0-1.dsc ruby-vtk_0.2.0-1_i386.changes ruby-vtk_0.2.0-1_i386.deb ruby-vtk_0.2.0.orig.tar.gz が作成される. ■ deb パッケージ化: 再パッケージ化する場合 既に作成したパッケージに不具合があり, 再パッケージ化する場合, ruby-vtk_0.2.0-X.diff.gz ruby-vtk_0.2.0-X.dsc ruby-vtk_0.2.0.orig.tar.gz をダウンロードして $ dpkg-source -x ruby-vtk_0.2.0-X.dsc を実行する. または apt を使って # apt-get source ruby-vtk とする. これにより, debian ディレクトリを含むソースツリーが復元 できる. ソース直下に移動後, $ dch -i を行う. これによりエディタが changelog ファイルを時動的に読み込んで 起動する. 記載されるパッケージ番号も時動的に 1 つ繰り上がる. あとは新規パッケージと同様の手順でパッケージ化する. ■ deb パッケージ化: ソースが更新された場合. ソースが更新された場合(ここでは ruby-vtk-0.2.1 がリリースされたとする), 古いソースディレクトリにて $ uupdate -u ruby-vtk-0.2.1.tar.gz を実行する. これにより, 時動的にソースが更新される. 1 つ上のディレ クトリに新しいソースツリーが展開されているのでそちらへ移動し, あと は新規パッケージと同様の手順でパッケージ化する.