[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:01126] How to "build" (Re: missing package)
石田@北大です。
>>>>> "前原さん" == Keita Maehara <maehara@xxxxxxxxxxxxxxxxxxxxx> writes:
前原さん> 私もちゃんと理解しているわけではないので、この機会に添削
前原さん> してもらおうと思って;-)、必要最小限の手順を簡単にまとめ
前原さん> てみました(ここでは Single Binary を仮定しています)。
僕も便乗させてください。以下は、前原様の原文に少し手を加えています。
(copyrightは大丈夫でしょうか? > 前原様)
----------------------------------------------------------------------
1. オリジナルのソースを展開する。
そして、必要ならばパッケージ名を変える。
日本語packageなら、original.XXX -> original-ja.XXX。
% tar zxvf package-x.y.z.tar.gz
2. 展開したディレクトリに入って deb-make を実行し、パッケージのタイプ
を選択する。すると、debian というサブディレクトリが作成され、必要な
ファイルがその中に収められる。
% cd package-x.y.z
% export EMAIL=dpm@debian.or.jp
% deb-make
Email-Address : dpm@debian.or.jp
Date used : Sat, 7 Jun 1997 23:54:11 +0900
Maintainer : Debian Package Maintainer
Package Name : package
Version : x.y.z
Type of Package (S=Single Binary, M=Multi-Binary, L=Library, X=Abort? s/m/l/x s
package debianized. Please edit the files in the debian directory now
and check that the Makefile puts the binaries into $DESTDIR and not in /
・パッケージ名には制約があるため、deb-make に文句を言われる場合は、ソー
スを展開したディレクトリの名前を適切なものに変更する。("."に注意)
・パッケージ作成者のメールアドレスを EMAIL 環境変数に入れておくと制御
情報に反映される。
3. debian ディレクトリ内のファイルを編集する。
・拡張子 .ex のファイルはとりあえず削除してもよい。
・debian/{README.debian,changelog,copyright} の内容を適切に記述する。
debian/changelogにはdch(1)を使うと便利。同versionなら dch [text]、
version-upなら dch -n [text]。
・debian/dirs には、インストール時に必要なディレクトリの一覧を記述する。
・debian/control には、パッケージの制御情報を記述する。依存しているラ
イブラリに関しては、後で Depends の項目に自動的に生成されるが、それ
以外に依存しているパッケージがあれば記述しておく。また、Recommends,
Suggests, Conflicts, Replaces, Provides が必要なら追加しておく。
通常、Section,Architecture,Descriptionを変える。
・debian/rules は、debian/tmp をルートディレクトリとしてインストールを
行なう Makefile の雛形になっている。ターゲット binary-indep にはアー
キテクチャに依存しないものを、binary-arch にはアーキテクチャに依存す
るものに関する記述を行なう。
・./configure を使用するソフトウェアの場合は、debian/rules ファイルの
ターゲット build の中に ./configure を呼び出す箇所が現れるので、渡し
ておきたいオプションがあれば追加する。
4. ソースが展開されたディレクトリに戻り、root 権限で build コマンドを
実行する。
% su
Password:********
# build
----------------------------------------------------------------------
最後の4ですが、僕の場合は、いきなりrootでbuildは恐いので、とりあえず
make installまでは一般userでtestしてみます。方法としては、
o debian/rulesのcheckrootを消す。
o debian/rulesのscriptを読みながら、手動でinstallしてみる。
ぐらいでしょうか。install-scriptによってinstallの仕方が違うのでこうして
います。(僕はおっちょこちょいなので、こんな面倒なことをしてます)
失礼しました。
石田 崇 tahsi@xxxxxxxxxxxxxxx