debian/ サブディレクトリには他にもいくつかのファイルが あるはずです。それらのほとんどには「.ex」サフィックスが 付いており、そのファイルがサンプルであることを示しています。 もしこれらの機能のどれかを使いたいと思ったり、また使う必要が 生じたりした場合には、そのファイル自身と関連する文書 (ヒント: ポリシーマニュアル) を調べ、 「.ex」というサフィックスを取り除くように名前を変更し、 そのファイルの内容と rules ファイルとを必要に応じて編集して ください。 これらのファイルのうち、特によく利用されるものについては、 以下のセクションに説明があります。
パッケージに関して何か特別にユーザに知らせる必要がある情報や、 オリジナルのソフトウェアとあなたが Debian パッケージにした バージョンとの相違点は、ここに記述しておくべきです。 以下はデフォルトとして dh_make が生成するものです。
gentoo for Debian ---------------------- <possible notes regarding this package - if none, delete this file> Josip Rodin <jrodin@jagor.srce.hr>, Wed, 11 Nov 1998 21:02:14 +0100
今回は特に何も書き込む必要はありません - つまりこのファイルを 削除してもいいということです。
ソフトウェアに関して最もうんざりさせられることのひとつに、 大変な量の時間と労力を費してプログラムをカスタマイズした後で そのための設定変更が一回のアップグレードによってすべて上書き されてしまった場合が挙げられるでしょう。 Debian はこの問題を、設定ファイルを記録しておいて、パッケージを アップグレードする際に古い設定をそのまま使いたいかどうか質問する という方法で解決しました。 この機能を使うには、パッケージのプログラムが使う各設定ファイル (たいてい /etc にあります) のフルパス名を 1 行にひとつずつ、 この conffiles という名前のファイルに記載します。
gentoo には設定ファイルがひとつあり、それは /etc/gentoorc と いう名前です。これを「conffiles」ファイルに記載します。 もしプログラムに設定ファイルがまったく存在しない場合には、 この「conffiles」というファイルは実のところ不要です。
このファイルには、我々のパッケージが必要としているが、 通常のインストール手順 (make install) では作成されない ディレクトリを指定します。 デフォルトでは、こんな風になっています:
1 usr/bin 2 usr/sbin
一番最初のスラッシュが含まれない事に注意してください。 ここではこんな風に変えましょう:
1 usr/X11R6/bin 2 usr/X11R6/man/man1
とはいえ、これらのディレクトリは既に Makefile の中の処理によって 既に作成されているはずなので、このファイルは必要ではなく、 今回の場合には削除してしまうことができます。
*.ex で終るファイルは、どうやってパッケージにその種のサポートを 加えるかという例です。 これらの機能を使うには、ファイルを適宜編集して拡張子 .ex を 取り除きます。もし使いたくなければ、そのまま削除してください。
すべてのプログラムは man ページを持つべきです。
もし無かったら、このひな型を利用して、必要な情報を追加すれば
自分で作成しましょう。 man(7)
の man ページには、 man
ページの作成方法についての簡潔な説明があります。
このファイルの名前をプログラムの名前に変更し、
また拡張子をそれが属すべきマニュアル分類に従って付けることを
忘れないように。以下がマニュアル分類の要点をまとめたリストです。
セクション | 説明 | メモ 1 ユーザコマンド 実行可能なコマンドやスクリプト 2 システムコール カーネルの提供する機能 3 ライブラリコール システムライブラリに含まれる機能 4 特別ファイル たいていは /dev 内にあるもの 5 ファイルの書式 例えば /etc/passwd の書式 6 ゲーム またはその他のどうでもいいプログラム 7 マクロパッケージ man マクロのようなもの 8 システム管理 実行するのに root 権限が必要なものなど 9 カーネルルーチン 非標準的コールや内部仕様
そんなわけで gentoo のman ページは gentoo.1, あるいは gentoo.1x と呼ばれることになります。1x というのは、gentoo が X11 用のプログラムだからです。 元のソースには gentoo.1 という man ページが含まれていなかったので、 筆者がサンプルと、上流開発者が提供している文書からの情報をもとに 書きました。
X Window System のユーザはたいていプログラムを起動するための 設定可能なメニューの機能をもつウィンドウマネージャを使っています。 もしユーザが Debian の「menu」パッケージをインストールしていれば システムにあるすべてのプログラム用のメニューのセットが作成され、 menu に対応したウィンドウマネージャから利用できます。 Debian ポリシーでは必要とまではされていない機能ですが、 ユーザはきっと喜ぶでしょう。 このファイルを編集することで、gentoo をメニューに 追加することができます。 以下が dh_make によって生成されたデフォルトです:
?package(gentoo):needs=X11|text|vc|wm section=Apps/see-menu-manual\ title="gentoo" command="/usr/bin/gentoo"
最初のフィールドはプログラムがどういう種類のインターフェースを 必要とするのか指定します (例えばテキスト、X11 など)。 次はプログラムのエントリーが表示されるメニューやサブメニューの 指定です。現在のセクション一覧は /usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1 に 記載されています。 第 3 のフィールドはプログラムの名称です。 第 4 のフィールドはそのプログラムのアイコンの定義ですが、 もしアイコンがなかったら空白のままにしておきましょう。 第 5 のフィールドはメニューに実際に表示されるタイトルです。 第 6 のフィールドはプログラムを実行するコマンドです。
さて、今回はこんな風に menu エントリを変えましょう。
?package(gentoo):needs=X11 section=Apps/Misc \ title="Gentoo" command="/usr/X11R6/bin/gentoo"
より詳細な説明は menufile(5)
、 update-menus(1)
、
および /usr/share/doc/debian-policy/menu-policy.html/ を 参照してください。
このファイルを uscan(1)
および uupdate(1)
プログラム
(これらは devscripts パッケージにあります) と合わせて
使うことによって、オリジナルソースを入手したサイトの
更新をチェックすることができます。 今回は以下のようにしました。
# watch control file for uscan # Site Directory Pattern Version Script ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate
ヒント:このファイルを作成したら、インターネットに接続し、ソースを 展開したディレクトリの中から「uscan」を試しに実行してみるとよいでしょう。 それから、マニュアルページも読んでみてください。
もしあなたのパッケージが HTML やその他の形式の附属文書を (マニュアルページと
info 形式の文書以外に) 含んでいるのなら、
「doc-base」ファイルを使ってそれを登録し、 ユーザがそれらの附属文書を、例えば
dhelp(1)
や dwww(1)
などのコマンドによって
見つけられるようにするべきです。
以下に gentoo の doc-base ファイルの例を示します。
Document: gentoo Title: Gentoo Manual Author: Emil Brink Abstract: This manual describes what Gentoo is, and how it can be used. Section: Apps/Tools Format: HTML Index: /usr/share/doc/gentoo/html/index.html Files: /usr/share/doc/gentoo/html/*.html
このファイルの書式については install-docs(8)
および
/usr/doc/doc-base/doc-base.html/index.html にある doc-base の
マニュアルを参照してください。
これらのファイルはメンテナスクリプトと呼ばれるもので、 パッケージの制御パートに収録され、 あなたのパッケージがインストール、アップグレード、あるいは 削除されるときに dpkg によって実行されます。
今のところは、メンテナスクリプトを手でいじるのは、 できるだけ避けるようにするべきでしょう。 というのも、これらはどんどん複雑になっていってしまう傾向が あるからです。 詳しくはパッケージングマニュアルの第 6 節と dh_make によって用意されたこれらのサンプルファイルを 注意して読んでください。
これでパッケージを構築する準備が整いました。
jrodin@jagor.srce.hr
mhatta@debian.or.jp