[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Packages.txt: 1.267 -> 1.290
Packages.txt: 1.267 -> 1.290 です。ツッコミをお願いします。
対応する原文の差分は
http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/Attic/Packages.txt.diff?r1=1.267&r2=1.290
です。
査読等の便のため、改行位置の調整はしていません。
(調整したうえでcommitします)
--- Packages.txt.orig Wed Jan 11 01:43:58 2006
+++ Packages.txt Wed Jan 11 02:40:45 2006
@@ -1,4 +1,4 @@
-# $NetBSD: Packages.txt,v 1.267 2002/10/24 04:52:15 jlam Exp $
+# $NetBSD: Packages.txt,v 1.290 2003/05/06 00:15:52 zuntum Exp $
# $Id: Packages.txt,v 1.27 2006/01/10 16:41:56 kano Exp $
###########################################################################
@@ -101,8 +101,7 @@
========
今のところ、この文書はプレインテキストで書かれているので、適用できる体裁は
-あまりありません。将来の版では、HTMLやDocBookのような表現力のすぐれた形式に
-移行するかもしれません。
+あまりありません。現在、DocBookへ移行しているところです。
コマンドの実行例を示す場合、そのコマンドをrootで実行しなければならない/する
ことができるか、「一般の」ユーザー権限で十分であるかを、シェルプロンプトで
@@ -387,7 +386,7 @@
PACKAGES?= ${_PKGSRCDIR}/packages/${MACHINE_ARCH}
WRKOBJDIR?= /usr/tmp/pkgsrc # build here instead of in pkgsrc
BSDSRCDIR= /usr/src
- BSDXSRCDIR= /usr/xsrc # for x11/xervers
+ BSDXSRCDIR= /usr/xsrc # for x11/xservers
OBJHOSTNAME?= yes # use work.`hostname`
FAILOVER_FETCH= yes # insist on the correct checksum
PKG_DEVELOPER?= yes
@@ -528,11 +527,11 @@
cp /netbsd /usr/sandbox
* /dev/*:
cd /usr/sandbox/dev ; sh MAKEDEV all
- * /etc/resolv.conf (security/snmpdおよびメール用):
+ * /etc/resolv.conf (security/smtpdおよびメール用):
cp /etc/resolv.conf /usr/sandbox/etc
* 動作する(!)ようなメールの設定 (hostname, sendmail.cf):
cp /etc/mail/sendmail.cf /usr/sandbox/etc/mail
- * /etc/localtime (security/snmpd用):
+ * /etc/localtime (security/smtpd用):
ln -sf /usr/share/zoneinfo/GMT /usr/sandbox/etc/localtime
* /usr/src (sysutils/aperture, net/ppp-mppe用のシステムソース):
ln -s ../disk1/cvs .
@@ -596,7 +595,7 @@
含むディレクトリーを作る必要があります。たとえば以下のようにします。
# mkdir /tmp/common
- # echo "This is a README" > /tmp/commmon/README
+ # echo "This is a README" > /tmp/common/README
# echo "Another file" > /tmp/common/COPYING
# mkdir /tmp/common/bin
# echo "#!/bin/sh" > /tmp/common/bin/myscript
@@ -882,11 +881,13 @@
昔の話:「<$ARCH>」シンボルは「uname -m」の出力によって置きかえられていま
した。しかし、もはやサポートされていませんし、削除されています。
- * ${OPSYS}、${OS_VERSION}:
+ * ${OPSYS}、${LOWER_OPSYS}、${OS_VERSION}:
いくつかのパッケージでは、OS名とバージョンをいくつかのパス名に埋め込みま
- す。このような場合、PLISTで二つの変数を使用してください。${OPSYS}は
- 「uname -s」の出力で置きかえられます。${OS_VERSION}には「uname -r」出力
- が設定されます。
+ す。このような場合、PLISTで以下の各変数を使用してください。
+
+ * ${OPSYS} - "uname -s"の出力
+ * ${LOWER_OPSYS} - 共通名の小文字表記(例: "solaris")
+ * ${OS_VERSION} - "uname -r"
* ${PKGLOCALEDIR}:
ロケールファイルをインストールするパッケージでは、ロケールファイルを
@@ -903,6 +904,21 @@
ます。このPLISTファイルに対する変更は、PLIST自身にたいしてでなく、それが
コピーされる時におこなわれます。
+ * プラットフォーム別に異なるPLIST:
+ パッケージのなかには、インストールするファイルの組合せを、
+ 対象のオペレーティングシステムによって変えるものがあります。
+ このような差異は、以下のファイルを使って自動的に処理することができます。
+
+ * PLIST.common
+ * PLIST.${OPSYS}
+ * PLIST.common_end
+
+ PLIST.${OPSYS}が存在する場合、PLISTのかわりにこのファイルが使われます。
+ こうすることで、
+ インストールするファイルの組合せを変えるようなパッケージをうまく処理することができます。
+ さらに変わった使途のために、
+ PLIST_SRCを手動で上書きすることも可能です。
+
* PLIST の半自動生成:
"make print-PLIST"コマンドを使って、パッケージの展開後に新しくできた全ファ
イルにマッチするPLISTを出力することができます。このターゲットに関するさ
@@ -931,6 +947,14 @@
5.4 Perl5 モジュール
====================
+perl5モジュールを提供するパッケージでは、
+Makefileにmakefileの断片lang/perl5/module.mkをインクルードしてください。
+このファイルには、
+perl5モジュール用の標準的なperlの構成をする
+do-configureターゲットのほか、
+その構成を調整するためのさまざまなフックが含まれています。
+詳細は、このファイル中のコメントをご覧ください。
+
Perl5 のモジュールがインストールされる場所は、構築プロセスで使われるperl の
バージョンに応じて変わります。これを扱うために、NetBSD パッケージシステムは、
インストールされた.packlistファイル(ほとんどの perl5 モジュールが生成します)
@@ -1108,20 +1132,37 @@
パッケージが、configureスクリプトやmakefileの雛型Makefile.inを再生成するた
めにGNU autoconfまたはautomakeを実行する必要がある場合、これらの実行は
-pre-configureターゲットでおこないます。autoconfのみを必要とするパッケージで
+pre-configureターゲットでおこないます。
+これらのツールの扱いを補助するためのmakefileの断片が二つ、
+pkgsrc/mk/autoconf.mkおよびpkgsrc/mk/automake.mkで用意されています。
+詳細は、このファイル中のコメントをご覧ください。
+
+autoconfのみを必要とするパッケージで
は以下のようになります:
+ AUTOCONF_REQD= 2.50 # if default version is not good enough
+ ...
+
pre-configure:
- cd ${WRKSRC}; ${LOCALBASE}/bin/autoconf
+ cd ${WRKSRC}; ${AUTOCONF}
+
+ ...
+ .include "../../mk/autoconf.mk"
また、automakeとautoconfを必要とするパッケージでは以下のようになります:
+ AUTOMAKE_REQD= 1.7.1 # if default version is not good enough
+ ...
+
pre-configure:
cd ${WRKSRC}; \
- ${LOCALBASE}/bin/aclocal; \
- ${LOCALBASE}/bin/autoheader; \
- ${LOCALBASE}/bin/automake -a --foreign -i; \
- ${LOCALBASE}/bin/autoconf
+ ${ACLOCAL}; \
+ ${AUTOHEADER}; \
+ ${AUTOMAKE} -a --foreign -i; \
+ ${AUTOCONF}
+
+ ...
+ .include "../mk/automake.mk"
生成されたファイルに対して、configureプロセスがさらに変更を加える時がありま
すが、この時には構築プロセスが一連のautomakeの手順を再実行しようとします。
@@ -1281,8 +1322,8 @@
イブフォーマットで保存されているので、展開する必要があります。もっとも一
般なフォーマットは.tar.gzです。もし、すべてのdistfileを伸張する必要がな
いのであれば、伸張するファイルをEXTRACT_ONLYに設定してください。もし
- distfileが.tar.gzフォーマットでなければ、EXTRACT_CMD、
- EXTRACT_BEFORE_ARGS、そしてEXTRACT_AFTER_ARGSを設定することにより、それ
+ distfileが.tar.gzフォーマットでなければ、EXTRACT_CMD
+ を設定することにより、それ
らを展開することができます。
* patch:
@@ -1764,8 +1805,6 @@
EXTRACT_SUFX= .msg.gz
EXTRACT_CMD= zcat
- EXTRACT_BEFORE_ARGS=
- EXTRACT_AFTER_ARGS= |sh
10.3 それ自身のサブディレクトリーを作り出さないパッケージ
@@ -1837,7 +1876,7 @@
NO_{SRC,BIN}_ON_{FTP,CDROM}も無視したい場合は、以下のようにしてすべてのもの
を取得することができます。
- % make fetch NO_IGNORE=yes
+ % make fetch NO_SKIP=yes
10.7 防火壁の内側からファイルを取得する方法
@@ -1878,6 +1917,16 @@
...
.endif
+/etc/mk.confでCFLAGSの値を設定したい場合は、
+以下のような形で使うようにしてください。
+
+ CFLAGS+= -your -flags
+
+'CFLAGS='のようにする(つまり、'+'を付けない)と、
+独自のフラグを追加する必要があるパッケージで問題を起こすことがあります。
+また、CPUにあわせた最適化に関心がある場合は、
+devel/cpuflagsパッケージを見ておくとよいでしょう。
+
10.10 pkgについて話しあうためのメーリングリストはありますか?
============================================================
@@ -1953,10 +2002,10 @@
(c) もし、パッケージを実行するために、いくつかの実行可能ファイルが必要なら、
DEPENDS定義を使ってください。pkgsrc/print/lyxパッケージを実行する時には、
-teTexパッケージ由来のlatex のバイナリーが実行可能でなければなりません。これ
+teTeXパッケージ由来のlatex のバイナリーが実行可能でなければなりません。これ
は、以下のように指定します。
- DEPENDS+= teTex-[0-9]*:../../print/teTeX
+ DEPENDS+= teTeX-[0-9]*:../../print/teTeX
上述した、ワイルドカード依存関係に関する注意は、ここにも当てはまります。
@@ -2124,6 +2173,8 @@
${BUILDLINK_DIR}内にリンクされます。
ncursesが本当に必要な場合は、パッケージのMakefileでUSE_NCURSESを定義してく
ださい。
+ USE_NCURSES= # redrawwin
+コメントには、どの関数が不足しているのかを書いておきます。
10.21 自動セキュリティーチェック
@@ -2208,7 +2259,7 @@
ルトのホームディレクトリーは/nonexistent、ログインシェルは/sbin/nologinです。
これらの変数を指定するほか、パッケージのMakefileで、bsd.pkg.mkをインクルー
-ドする前に"../../mk/bsd.pkg.install.mk"をインクルードする必要があります。こ
+ドする前にUSE_PKGINSTALLを"YES"に設定する必要があります。こ
れにより、pre-install時にユーザーとグループが作成されるようになり、
post-deinstall時にはこのユーザーとグループの削除を管理者に促すようになりま
す。パッケージのインストールの前に環境変数 PKG_CREATE_USERGROUPをonかoffに
@@ -2298,12 +2349,16 @@
www/ap-aolserver, www/openacsです。これらと一貫性のある使い方をしてください。
- 10.26 NetBSD以外(Linux, Solaris, Darwin, MacOS X)でpkgsrcを使う
- ===============================================================
+ 10.26 NetBSD以外(Darwin, FreeBSD, IRIX, Linux, OpenBSD, Solaris)でpkgsrcを使う
+ ==============================================================================
NetBSD以外のオペレーティングシステムでpkgsrcを使うためには、まず、必要なユー
ティリティー(BSD make, pkg_*, ...)の準備が必要です。この準備については
-http://www.zoularis.org/を参照してください。
+http://www.netbsd.org/Documentation/software/packages.html#bootstrap
+を参照してください。
+バイナリーブートストラップキットもこのURLから入手できます。
+pkgsrcがお使いのオペレーティングシステムにまだ対応していない場合は、
+ぜひ、あなたがブートストラップキットを移植して、提供してください。
10.27 設定ファイルの処理および配置
@@ -2357,7 +2412,7 @@
れにより、バイナリーパッケージが、自動生成されるINSTALL/DEINSTALLスクリプト
を使って、ファイルを正しいディレクトリーに配置することが可能になります。ま
た、この自動生成されるスクリプトを使うために、パッケージのMakefileで
-bsd.pkg.mkをインクルードする前に"../../mk/bsd.pkg.install.mk"をインクルード
+bsd.pkg.mkをインクルードする前に、USE_PKGINSTALLを"YES"に設定
しなければなりません。設定ファイルの自動コピーは、パッケージをインストール
する前に環境変数PKG_CONFIGを設定しておくことで、おこなうかどうかを切替える
ことができます。
@@ -2373,6 +2428,85 @@
ルされる時には、パッケージの利用者にメッセージを自動的に表示します。
+ 10.28 ログインシェルを提供するパッケージ
+ ========================================
+
+パッケージの目的がログインシェルの提供である場合は、PKG_SHELL変数を、
+このパッケージでインストールされるシェルの実行ファイルのフルパス名とすべきです。
+また、自動生成されるINSTALL/DEINSTALLスクリプトを使うために、
+パッケージのMakefileで、
+bsd.pkg.mkをインクルードする前に、USE_PKGINSTALLを"YES"に設定する必要もあります。
+
+以下はshells/zshでの例です。
+
+ USE_PKGINSTALL= YES
+ PKG_SHELL= ${PREFIX}/bin/zsh
+
+インストールされたシェルは、
+post-installの段階で、自動生成されたINSTALLスクリプトによって自動的に/etc/shellsファイルに登録されます。
+また、deinstallの段階で、DEINSTALLスクリプトによって/etc/shellsから削除されます。
+
+
+ 10.29 ロケールのカタログを提供するパッケージ
+ ============================================
+
+パッケージに、そのパッケージ用のロケールのカタログが附属する場合は、
+変数USE_PKGLOCALEDIRを定義すべきです。
+これにより、パッケージのMakefile雛型ファイルが必要に応じて修正され、
+適切なロケールディレクトリー(OSにより異なることがあります)を使うようになります。
+${PKGLOCALEDIR}に関して詳しくは、5.1節も参照してください。
+この機能はbuildlink2限定です。
+
+
+ 10.30 pkgsrcで'sudo'を使う
+ ==========================
+
+パッケージのインストールをroot以外のユーザーで実行し、
+root権限が必要なところではpkgsrcのsu(1)機能を使う場合、
+必要なパッケージをインストールするたびにrootのパスワードを打つのは面倒かもしれません。
+これを避けるために、パスワードを一定時間保持してくれるsudoパッケージを使うことができます。
+sudoを使うには、
+sudoを(バイナリーパッケージ、またはpkgsrc/security/sudoのいずれかから)インストールしてから、
+/etc/mk.confに以下の内容を書いておきます。
+
+ SU_CMD=/usr/pkg/bin/sudo /bin/sh -c
+
+
+ 10.31 構築することができない、あるいはすべきでないパッケージ
+ ============================================================
+
+環境によってはパッケージを構築しないよう指示するような理由がいくつかあります。
+パッケージが、ほとんどのプラットフォームで構築および実行できる場合は、
+NOT_FOR_PLATFORMとして例外を記述すべきです。
+逆に、パッケージが一部のプラットフォームでしか構築および実行できない場合は、
+ONLY_FOR_PLATFORMを設定します。
+パッケージをとばすべき場合(たとえば、そのパッケージが提供する機能が、すでにシステムで提供されている場合)は、
+PKG_SKIP_REASONにそのことを説明するメッセージを設定します。
+必要な条件が満たされていないせいでパッケージの構築が失敗するであろう場合は、
+PKG_FAIL_REASONにそのことを説明するメッセージを設定します。
+
+IGNOREは、構築失敗の理由を特定するために十分な情報を提供しないので、
+使わないでください。
+
+
+ 10.32 一旦インストールしたら削除すべきでないパッケージ
+ ======================================================
+
+パッケージを一旦インストールしたら、削除できないようにするため、
+そのパッケージのMakefileでPKG_PRESERVE定義を設定すべきです。
+こうすると、そのpkgsrcから作られたバイナリーパッケージに、
+その旨が記録されます。
+"preserved"付きのパッケージは、
+pkg_delete(1)を使っても、"-f"オプションを付けない限りは削除されません。
+
+ 10.33 perlスクリプトを含むパッケージ
+ ====================================
+
+逐次実行されるperlスクリプトがパッケージに含まれる場合は、
+インタープリターのパスが適切に設定されるようにするために、
+REPLACE_PERLを設定します。
+REPLACE_PERLの設定値は、調整の対象となるスクリプトをWRKSRCからの相対位置で列挙したものにします。
+
11 提出およびコミット
=====================
@@ -2392,15 +2526,11 @@
*パッケージ:
最初にパッケージが完全かどうか、コンパイル、実行できるかどうかを確認して
ください。このドキュメントのセクション9、その他が参考になるでしょう。次に、
- パッケージに必要なすべてのファイルのgzipされたtarファイルを作成してくださ
- い。これは、すべてのファイルをひとつのディレクトリーにおきたいためです。
- 次に、そのtarファイルを、パッケージのメンテナーがFTPかHTTP (WWW)を使用し
- て取得できる場所においてください。最後に、パッケージの名前とバージョンを
- 含む概要、簡単な説明(COMMENT変数の内容でもOKです)、そしてtarファイルのURL
- を書き、「pkg」カテゴリーでsend-pr (問題報告)をおこなってください。
-
- 問題報告が処理されたら、あなたに連絡がいきます。そうすれば、tarファイルを
- 削除してもかまいません。
+ パッケージに必要なすべてのファイルのtarアーカイブを作成し、gzipしてuuencodeしてください。
+ これは、すべてのファイルをひとつのディレクトリーにおきたいためです。
+ 最後に、パッケージの名前とバージョンを
+ 含む概要、簡単な説明(COMMENT変数やDESCRファイルの内容でもOKです)
+ を書き、作成したtarアーカイブを添附して、「pkg」カテゴリーでsend-pr(1) (問題報告)をおこなってください。
複数のパッケージを提出したい場合は、一つのパッケージにつき一つのPRにわけ
て送ってください。そうすることで、私たちが追跡しやすくなります。