packeges2@add:
この節 (Quick Start Packaging Guide) は Jason R. Fink による寄稿です。
この節では、 NetBSD パッケージシステムで割合小さいパッケージ の構築をすばやくはじめる方法を説明します。 NetBSD パッケージシステムの、込み入ったより詳しいことは、 pkgsrc tree の Packages.txt を見てください。
8.6.1. ツール
NetBSD に追加する小型パッケージの迅速な構築のための 3つの基本的なツールは:
url2pkg
a template package
pkglint
8.6.1.1. url2pkg
url2pkg ユーティリティーは pkgsrc ツリーからインストールできます。 このツールはパッケージ構築者を助けます自動的にできる部分をすばやくやってくれて、パッケージ構築の基本的な試験をしてくれます。
8.6.1.2. Template package
これは構築者に役に立つもので、 Packages.txt では、11節で、構築例 'A simple example of a package: bison' が示され、加えて、 pkgsrc ツリーの多くのパッケージは、ぜんぜん複雑でないことを示しています。
8.6.1.3. pkglint
pkglint ユーティリティーは pkgsrc ツリーからインストールできます。このツールはパッケージが間違っていないか基本的な検査をします。
8.6.2. 始めよう
工程を開始するのは実に簡単です。パッケージ構築者(たとえばあなた)が NetBSD システム上でソースから構築して、すでにテストされたパッケージを持っていることが重要です。さもなければ、 も、もし構築にこけたら、新しいパッケージの設定は問題的のあることかもしれません。通常、注記すべきで、あらゆる構築問題を解決するためのソースのパッチを書いて、パッケージに入れることができます。それは、手っ取り早く始めるためのガイドの範囲を超えてしまいます。 (詳しいことは Packages.txt をご覧ください)。
8.6.2.1. url2pkg の使用
次の段階は url2pkg の使用です。
次は url2pkg を使った、新パッケージに必要な初期ファイルの作成の各段階を示します:
1.
新しいパッケージのために、 適切な pkgsrc ディレクトリーの下にディレクトリーを作ります。まだ何も置かないで下さい。
2.
新しいディレクトリーの中に cd します。/P >
3.
入力し
$ url2pkg
4.
ここで url を入力するようにプロンプトが出るので、 url を入力して <リターン> を打ちます。
5.
vi セッションが始まり
註: これは、 NetBSD の標準の場所にある vi を使い、デフォルトでは nvi です。もし、普段、ほかの vi クローン、たとえば vim を使っていると、 .exrc エラーが出るでしょう。
vi セッションは 新しいパッケージの Makefile のためです。パッケージ名、パッケージのメンテナー e-mail 、パッケージの該当するカテゴリーを入力します。
6.
ファイルをセーブし、抜けます。
7.
url2pkg はパッケージを自動的に取得し、作業サブディレクトリーに置きます。
8.
次に、 url2pkg は md5 ファイルを生成します。
それで url2pkg session は終わります。 url2pkg は Makefile を除いては、いかなるファイルにも fill しないことに注意してください。空の PLIST ファイルが生成されます。
8.6.3. 残りを埋める
この時点で、 Makefile は作られていて、残りのファイルを作成する必要があります。テンプレートパッケージを使って、テンプレートパッケージの pkg サブディレクトリーから次のファイルをコピーします。
DESCR
ソフトウェアについての複数行での解説です。これにはクレジットもきちんと入れるべきです。
COMMENTS
ソフトウェアについての1行での解説です。パッケージ名の記述は必要無く - これは pkg_* ツールが呼び出されたときに自動的に付加してくれます。
PLIST
このファイルにはシステム上にインストールされる時のファイルの位置が書かれています。小さいパッケージ (例えば バイナリー1本とマニュアルページが 1,2 ページ) では、配布物の Makefile や インストールスクリプト 等を覗いてみてるとこれらのファイルをどこに置くのか簡単な例になるでしょう。
8.6.4. pkglint でチェックする
すべてのファイルの準備が整ったら、パッケージを pkglint ツールでチェックする時が来ました。 しばしば Makefile はセクションの移動、変更や追加が必要になりますが、しかしながら、最初のころは、手作業を行う前に単に pkglint を実行することが役に立って、何を変更するべきなのかを的確に知ることができ、下記は pkglint session の Packages.txt から持ってきたあるサンプル出力で:
$ pkglint
OK: checking pkg/COMMENT.
OK: checking pkg/DESCR.
OK: checking Makefile.
OK: checking files/md5.
OK: checking patches/patch-aa.
looks fine.
もしエラーになったら、 それは普通、実になんて言うこともない物で、私がパッケージ構築中に出たエラーのサンプルは:
extract suffix not required
Makefile 内では suffix を外す必要がなかったのでした。
8.6.5. 構築/インストールの実行試験
今、もし pkglint が通ったら、私は普通、取得、構築、インストール の完全な試験をします。これをきちんとするには、作業用サブディレクトリーと /usr/pkgsrc/distfiles にある配布ファイルを消す必要があります。これで、全体の完全なテストが確実にできます。
8.6.6. send-pr を使ってパッケージを提出する
最初に、このようにして (pkg/work サブディレクトリーを含む) パッケージツリー自体のアーカイブを作り:
$ tar -czf packagename.tgz package_dir
次に、このアーカイブを NetBSD パッケージのメンテナーがアクセスできるところにアップロードします。もし、アーカイブのアップロードができなければ、あなたのアーカイブを何か他の方法で、パッケージメンテナーに届けられないか、 NetBSD にコンタクトをとって見ましょう。
NetBSD パッケージメンテナーへの提出法は "pkg" カテゴリーの send-pr ユーティリティーを使い、概要として、パッケージ名とバージョン番号、パッケージの簡単な解説、 tar ファイルの URL を書いて提出します。
自分の NetBSD システムにある send-prユーティリティーを使うことができ、あるいは、何らかの原因でローカルで send-pr が使えなければ、 http://www.NetBSD.org/cgi-bin/sendpr.cgi?gndb