[ 地球流体電脳倶楽部 / dcmodel / SIGEN.htm ]

rdoc-f95 の deb パッケージ作成の手引


  1. この文書について
  2. 作成するパッケージ
  3. rdoc との依存関係
  4. ソースダウンロード先
  5. インストール先ディレクトリ
  6. 環境変数の設定
  7. 事前インストールパッケージ
  8. deb パッケージ化: 初めての場合
  9. deb パッケージ化: 再パッケージ化する場合
  10. 参考文献

この文書について

この文書は rdoc-f95 debian パッケージ作成の手引である.

なお, 既に一度 debian パッケージ化が行なわれているものに 関しては, 簡単に更新可能なスクリプトを用意している. rdoc-f95 パッケージ自動更新の手引き を参照せよ.

作成するパッケージ

作成するパッケージは 2 種類である.

rdoc-f95
オリジナルの rdoc パッケージと同様に依存性解消のためのダミーパッケージ である. 単に rdoc1.8-f95 に依存する, というだけで実体としては なにもシステムに影響を及ぼさない.
rdoc1.8-f95

オリジナルの rdoc1.8 パッケージと同様, こちらが本体である. 下記では このパッケージの作成方法を記す.

(基本的に rdoc-f95 も作成方法は同様で, 環境変数の設定 から始めればよい. deb パッケージ化: 初めての場合 では ソースコードを展開する必要は無いので, 適当な空ディレクトリを作成する).

rdoc との依存関係

この rdoc1.8-f95 は rdoc1.8 にパッチを当てたライブラリなので, 本来は rdoc1.8 と衝突且つ置換の関係にあるのが正しいのだが, 昨今は rdoc (ひい ては rdoc1.8) に依存するパッケージも増えており, rdoc1.8-f95 のインストー ルに伴って rdoc, rdoc1.8 パッケージが削除されるのは望ましくない. その ため, rdoc1.8-f95 は dpkg-divert を用い, rdoc1.8 でインストールされ, 且つ rdoc1.8-f95 と競合するファイルはファイル末尾に ".org" をつけて 退避させる.

このようにパッケージングすることにより, rdoc1.8 と rdoc1.8-f95 の どちらも独立に使用でき, また同時にインストールすることもできる. rdoc1.8 と rdoc1.8-f95 が同時にインストールされた場合, 機能としては rdoc1.8-f95 が優先される.

従って, rdoc, rdoc1.8 に対し, rdoc-f95, rdoc1.8-f95 からは 依存, 置換などの関係を指定しない.

(これはあくまで rdoc, rdoc1.8 との関係を書いたので, 他にも ruby1.8 に 依存するなど, 依存関係は存在する. 詳しくは作成済みの deb パッケージを 参照のこと). このようにすることで,

ソースダウンロード先

<URL:http://www.gfd-dennou.org/library/dcmodel/rdoc-f95/rdoc-f95.tgz>

インストール先ディレクトリ

インストール先のディレクトリは debian 上で他の Ruby ライブラリも 格納されている /usr/lib/ruby/(バージョン)/ とする. 実行ファイルは /usr/bin/ 以下に格納する.

環境変数の設定

パッケージ情報に引用される環境変数 DEBFULLNAME, DEBEMAIL, EMAIL, を設定する. (DEBEMAIL さえ設定しておけば EMAIL は 必要ないが念のため)

$ export DEBFULLNAME="Yasuhiro MORIKAWA"
$ export DEBEMAIL=morikawa(at)xxx-xxxxxx.xxx
$ export EMAIL=morikawa(at)xxx-xxxxxx.xxx

事前インストールパッケージ

事前に以下のパッケージが実行環境にインストールされているか確認する.

dh-make
dpkg-dev
fakeroot

deb パッケージ化: 初めての場合

  1. ソースをダウンロードして展開後, ソースのディレクトリ名を

    <パッケージ名> - <バージョン名>

    に変更する. 名前に使える文字列は "a-z0-9","+","-" である. 大文字は使えないことに注意. 今回の場合, 以下のようになる.

    rdoc1.8-f95-20050207
  2. パッケージ情報の作成

    次にパッケージ情報の雛型を作成する.

    $ dh_make -s

    これにより, ソースアーカイブトップディレクトリに debian ディレクトリ が作成される.

    編集するファイルは以下の通り

  3. パッケージ化

    ソース直下のディレクトリにて

    $ dpkg-buildpackage -uc -us -tc -rfakeroot

    を実行する. その結果, 一つ上のディレクトリに

    rdoc1.8-f95_20050207.dsc
    rdoc1.8-f95_20050207_i386.changes
    rdoc1.8-f95_20050207_all.deb
    rdoc1.8-f95_20050207.tar.gz

    が作成される.

deb パッケージ化: 再パッケージ化する場合

既に作成したパッケージに不具合があり, 再パッケージ化する場合,

をダウンロードして

$ dpkg-source -x rdoc1.8-f95_20050207-X.dsc

を実行する. または

$ apt-get source rdoc1.8-f95

とする. これにより, debian ディレクトリを含むソースツリーが復元 できる.

ソース直下に移動後, 環境変数の設定 を行なってから,

$ dch -i

を行う. これによりエディタが changelog ファイルを時動的に読み込んで 起動する. 記載されるパッケージ番号も時動的に 1 つ繰り上がる. バージョンを明示したい場合は

$ dch -v <version>

とする. ここで指定するバージョンは <ソースバージョン>-<debian パッケージバージョン> のようにする.

あとは新規パッケージと同様の手順でパッケージ化する.

参考文献

  1. Josip Rodin 著, 八田真行, 佐野武俊 訳, 2002: debian 新メンテナガイド ver 1.2, <URL:http://www.jp.debian.org/doc/manuals/maint-guide/index.ja.html>
  1. やまだ あきら 著, 鵜飼 文敏 監修, 2006: 入門 Debian パッケージ, 技術評論社, 400 pp.
    入門 Debian パッケージ

dcmodel Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2006/11/14, Since: 2006/08/14