[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:01217] Re: multi package ?



やなぎはらです。

#土曜日、チャンドラ(HITACHI製)を買いに日本橋へ行ったけど、
#現金じゃなきゃ売ってやんないと言われ、何も買わずに帰ってきた
#のでした。(だって、まだボーナス前で現金がそんなにないんだもん)

From: Kikutani Makoto <kikutani@xxxxxxxxxxxxxxx>
Message-ID: <199706141023.TAA19548@xxxxxxxxxxxxxxxxxxxxxxxx>

kikutani> きくたにです。
kikutani> 
kikutani> slrnとmuttは、ほとんどバイナリとmanページだけだから簡単でしたが、
kikutani> jedはS-Langのライブラリをアーキテクチャ独立に分けたいです。
kikutani> あと日本語ドキュメントもかなりな量なので分けます。
kikutani> 
kikutani> 英語版のjedの.debでもjedとjedslは別になってますね。
kikutani> こういう場合どうするのでしょう。
kikutani> control.multiとかrule.multi使うんですか?

そうです、これらを手本に修正していくのです。

まず、control ファイルですが、このファイルは、基本的に
2つの構造になっているんです。

SKKパッケージのやつを見本にすると、

---- Control ----
Source: skk
Section: utils
Priority: optional
Maintainer: Yoshiaki Yanagihara <yochi@xxxxxxxxxxx>
Standards-Version: 2.1.2.2

Package: skk
Architecture: any
Depends: mule | mule-canna | mule-wnn
Description: Simple Kana to Kanji conversion program
 SKK is a very fast and efficient Japanese input system
 written entirely in emacs lisp and runs under Nemacs
 (which is a Japanese version of GNU Emacs), under Mule
 (which is a Multi-lingual version of GNU Emacs) and under
 Demacs.

Package: skkserv
Architecture: any
Depends: ${shlibs:Depends}, skk (>=9.6-0)
Description: SKK Dictionary server
 skkserv is skk dictionary server.

Package: skk-dictools
Architecture: any
Depends: ${shlibs:Depends}, skk (>=9.6-0)
Description: SKK dictionary maintenance tools
 skkdic-* is skk dictionary maintenance tools.
--------

Standard-Version: までが、このソースを用いて作成される全ての
パッケージに共通するところです。

Packages: ... Description: までが、各パッケージ一つ一つに対する
パッケージの情報です。そして、基本パッケージにするものを
ひとつ目の Package: に記述します。

SKK の場合、skk というパッケージをメインにしています。

Control に関しては、こんな感じです。

#説明が足らんところがあると思うので、
#どんどん質問してください。

さて、つぎは、rulesファイルです。

が特にmultiパッケージだからと言って修正するところはないと思います。
debmake パッケージが古い場合(3.00以前のもの)、debstdをdebstdnに
しなければいけないことぐらいでしょう。
(debmakeを使用することを前提としています)


では、どうやって、マルチパッケージになるのでしょうか。

それは、<パッケージ名>.files ファイルを用意することによって
パッケージを分けることになるのです。

たとえば、XXX.files に

-----
/usr/bin/aho
/usr/bin/baka
/usr/lib/libaho.so.1
-----

とか書いておくと、ここに書いてあるファイルだけ、<パッケージ名>
というディレクトリ配下(普段のdebian/tmpの代わり)にファイルを
mv して、dpkg-gencontrol, dpkg --buildを実行してくれます。

ここで指定するファイルは、なにもファイルでなくても構いません。
ディレクトリを指定しておけば、そのディレクトリ配下を全部移動してくれま
す。

--- skkserv のばあい [skkserv.files] ---
usr/sbin
----------------------------------------

また、パッケージによったら、init.d とか、services ファイルが
必要な場合があることでしょう。
そんな場合も問題ありません。
基本パッケージだと init.d, services というファイルを用意しますが、
これも <パッケージ名>.init.d, <パッケージ名>.servicesとかの
名前にすればいいのです。

これで、いくらでもマルチパッケージにすることができると思います。



どうでしょう?
質問おまちしております。

# HOW TO に追加してもらえれば、幸いです。

+---------------------------------------------------------+
 Yoshiaki Yanagihara		E-mail: yochi@xxxxxxxxxxx           
					yosiaki@debian.org
 Debian JP Project
 [Japanese] http://www.debian.linux.or.jp/
 [English ] Sorry, now under construction.