以下は, ひらくの工房 にて公開される Ruby 用 MathML ライブラリを Debian パッケージ化する ための手引きである.
<URL:sarge> ディレクトリ以下にアーカイブされている debian パッケージ群は <URL:http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou/> にて公開されるよう設定されている.
以下の記述を /etc/apt/sources.list に加えることで, apt による 取得が可能である.
deb http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou stable/
または
deb ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou stable/
ひらくの工房 より, mathml-X.X.tar.gz をダウンロードする.
適当な作業ディレクトリで展開する.
$ tar xvfz mathml-X.X.tar.gz
Debian パッケージ名はその他の Ruby ライブラリ群に合わせ, libmathml-ruby とする.
なお, 2006-07-24 現在, Ruby 最新版は 1.8 なので, パッケージ名も libmathml-ruby1.8 とする. ラッパー用に libmathml-ruby も作成する.
更新の際は libmathml-ruby1.8 の更新 を参照のこと.
ダウンロード, 展開 で展開したディレクトリ名を, パッケージ名に変更する. Debian パッケージを作成する際には <パッケージ名>-<バージョン> という風なディレクトリ名にする.
$ mv mathml-X.X libmathml-ruby1.8-X.X
次にそのディレクトリ内に移動し, debian ディレクトリを作成する.
$ cd libmathml-ruby1.8-X.X $ mkdir debian
そして, 以下のファイル群を作成する. 簡単な解説を添えるが, 具体的な中身は直接パッケージ内を覗いてもらいたい. Debian パッケージ を展開する方法は libmathml-ruby1.8 の更新 を参照のこと.
libmathml-ruby1.8-X.X のディレクトリ内 (debian ディレクトリが置いてある ディレクトリ) にて以下のコマンドを実行し, パッケージを作成する.
$ dpkg-buildpackage -uc -us -tc -rfakeroot
dpkg-buildpackage: full upload; Debian-native package (full source is included) というメッセージが出力されればパッケージの作成は完了である.
作成されたパッケージその他 (_all.deb, .dsc, .tar.gz, _i386.changes) は <URL:sarge> ディレクトリに移動しておく.
更新の際は libmathml-ruby の更新 を参照のこと.
libmathml-ruby はラッパーパッケージなので, 中身に 実体を含まない. なので, 空ディレクトリを作成後, その中に debian ディレクトリその他を作成し, Debian パッケージを作成する.
$ mkdir libmathml-ruby-X.X
次にそのディレクトリ内に移動し, debian ディレクトリを作成する.
$ cd libmathml-ruby-X.X $ mkdir debian
そして, 以下のファイル群を作成する. 基本的には libmathml-ruby1.8 の作成 (初回用) で 作成したものをコピーする.
libmathml-ruby-X.X のディレクトリ内 (debian ディレクトリが置いてある ディレクトリ) にて以下のコマンドを実行し, パッケージを作成する.
$ dpkg-buildpackage -uc -us -tc -rfakeroot
dpkg-buildpackage: full upload; Debian-native package (full source is included) というメッセージが出力されればパッケージの作成は完了である.
作成されたパッケージその他 (_all.deb, .dsc, .tar.gz, _i386.changes) は <URL:sarge> ディレクトリに移動しておく.
ダウンロード, 展開 を行なう.
ダウンロード, 展開 で展開したディレクトリ名を, パッケージ名に変更する. (今回は, 新しいバージョンを X.X2, 古いバージョンを X.X1 と記している).
$ mv mathml-X.X libmathml-ruby1.8-X.X2
既に作成された一つ前の debian パッケージの各ファイル群 (_all.deb, .dsc, .tar.gz, _i386.changes) を作業ディレクトリに コピーする.
$ cp ../sarge/libmathml-ruby1.8_X.X1* .
パッケージを展開し, その中の debian ディレクトリを新しいディレクトリ にコピーする.
$ dpkg-source -x libmathml-ruby1.8_X.X1.dsc $ cp -r libmathml-ruby1.8-X.X1/debian libmathml-ruby1.8-X.X2/
以下のコマンドで changelog を更新する. DEBFULLNAME および DEBEMAIL には, debian パッケージを更新する人の名前と E-mail アドレスを指定すること.
$ cd libmathml-ruby1.8-X.X2/ $ DEBFULLNAME="Yasuhiro MORIKAWA" DEBEMAIL="morixxxx@xxxx.xxxx" dch -v X.X2 "New upstream release"
最後に, 再び以下のコマンドでパッケージを作成する.
$ dpkg-buildpackage -uc -us -tc -rfakeroot
dpkg-buildpackage: full upload; Debian-native package (full source is included) というメッセージが出力されればパッケージの作成は完了である.
作成されたパッケージその他 (_all.deb, .dsc, .tar.gz, _i386.changes) は <URL:sarge> ディレクトリに移動しておく.
作業そのものは libmathml-ruby1.8 の更新 とほとんど同じである. 上記で "libmathml-ruby1.8" であった部分を "libmathml-ruby" に 置き換えて作業してもらえれば OK である.