[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgsrc/doc/guide/files/components.xml: 1.28 -> 1.30
以下のページの更新をしました。ツッコミをお願いします。
pkgsrc/doc/guide/files/components.xml: 1.28 -> 1.30
> revision 1.30
> date: 2006/09/10 19:36:41; author: wiz; state: Exp; lines: +2 -2
> Remove accidental extra character.
> ----------------------------
> revision 1.29
> date: 2006/09/10 19:11:15; author: wiz; state: Exp; lines: +414 -363
> Document SVR4_PKGNAME; improve pkgdiff description; document
> PATCHDIR, default setting of MESSAGE_SUBST, and FILESDIR.
> Reindent.
火曜日までに異議がなければ、 commit します。
原文は
http://cvsweb.de.NetBSD.org/cgi-bin/cvsweb.cgi/pkgsrc/doc/guide/files/components.xml?rev=1.30&content-type=text/plain
で、訳文は
http://www.na.rim.or.jp/%7Ekano/tmp/pkgsrc/doc/guide/files/components.xml
に置いてあります。
以下、訳と原文それぞれの、
1.28 から空白類文字を調節したものと 1.30 との差分です。
--- components.xml.orig 2006-12-18 00:15:27.000000000 +0900
+++ components.xml 2006-12-18 00:22:11.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: components.xml,v 1.28 2006/09/03 00:20:49 wiz Exp $ -->
+<!-- $NetBSD: components.xml,v 1.30 2006/09/10 19:36:41 wiz Exp $ -->
<!-- Based on english version: -->
-<!-- NetBSD: components.xml,v 1.28 2006/09/03 00:20:49 wiz Exp -->
+<!-- NetBSD: components.xml,v 1.30 2006/09/10 19:36:41 wiz Exp -->
<chapter id="components"> <?dbhtml filename="components.html"?>
<title>パッケージコンポーネント - ファイル、ディレクトリー、およびコンテンツ</title>
@@ -31,14 +31,24 @@
基礎となる名前です。</para></listitem>
<listitem><para><varname>PKGNAME</varname> は、
- pkgsrc が使うパッケージ名です。これは、パッケージ名が <varname>DISTNAME</varname>
- と異なる場合のみ書く必要があります。
+ pkgsrc が使うパッケージ名です。これは、
+ <varname>DISTNAME</varname> (標準での値) が pkgsrc
+ におけるパッケージ名としてふさわしくない場合のみ書く必要があります。
通常、これはディレクトリー名とバージョン番号を合わせたものになります。
この値は正規表現 <varname>^[A-Za-z0-9][A-Za-z0-9-_.+]*$</varname>
にマッチする必要があります。すなわち、使える文字は、
アルファベット・数字・マイナス記号・下線・ピリオド・プラス記号だけであり、
また、最初の文字はアルファベットまたは数字である必要があります。</para></listitem>
+ <listitem><para><varname>SVR4_PKGNAME</varname> は、
+ <varname>PKGNAME</varname> が SVR4 のシステムにおいて一意なものにならない場合に、
+ パッケージファイルを作成する際に使う名前です。標準では
+ <varname>PKGNAME</varname> であり、これの短縮は
+ <filename role="pkg">pkgtools/gensolpkg</filename> を使っておこなうことができます。
+ <varname>SVR4_PKGNAME</varname> を使うのは、SVR4 のシステムで
+ <varname>PKGNAME</varname> から一意なパッケージ名が得られない場合だけです。
+ <varname>SVR4_PKGNAME</varname> の長さの上限は 5 文字です。</para></listitem>
+
<listitem><para><varname>CATEGORIES</varname> は、
当該パッケージにふさわしいカテゴリーのリストです。
pkgsrc の最上層にあるディレクトリーから自由に選ぶことができます。</para>
@@ -232,7 +242,10 @@
<command>cp -p filename filename.orig</command>のようにするか、あるいはさらに簡単に、同パッケージの
<command>pkgvi</command>を使って、元のファイルを<filename>filename.orig</filename>の名前でバックアップしておくだ
けです。この方法でパッケージをアップグレードした場合、<command>patchdiff</command>を使って、新
- しいパッチと既存のパッチを簡単に比較することができます。</para>
+ しいパッチと既存のパッチを簡単に比較することができます。
+ 使用したいパッチまたは更新したいパッチを、
+ <filename>work/.newpatches</filename> ディレクトリーから
+ <filename>patches/</filename> にコピーします。</para>
<para>パッケージを作り終えたとき、忘れずに<command>make
makepatchsum</command>コマンドでパッチファ
@@ -240,6 +253,21 @@
linkend="components.distinfo"/>を参照してくだ
さい。</para>
+ <para>(たとえば、マニュアルページのインストール先を
+ pkgsrc の流儀に合わせて変えるといったものではなく)
+ distfile の問題を正すパッチを追加した場合は、
+ そのパッチをバグ報告としてメンテナーに送ってください。
+ こうすることで、pkgsrc を使っていない利用者も幸せになれますし、
+ 通常は、将来のバージョンでパッチを削除することができるようになります。</para>
+
+ <para>pkgsrc の複数のパッケージが同じ distfile を使っているなどの理由で、
+ 複数のパッケージの間でパッチを共有したい場合は、
+ <varname>PATCHDIR</varname> をパッチファイルのある場所へのパスに設定します。
+ たとえば以下のようにします。</para>
+ <programlisting>
+ PATCHDIR= ${.CURDIR}/../xemacs/patches
+ </programlisting>
+
<para>作者その他のメンテナーが配布しているパッチファイルは、
<varname>PATCHFILES</varname>
に列挙することができます。</para>
@@ -443,7 +471,8 @@
イルが移動された後。このファイルは、
<filename>PLIST</filename>内の@execコマンドでは不可能な特
別な処理のために使うことができます。より詳細な情報は&man.pkg.add.1;と
- &man.pkg.create.1;を参照してください。</para>
+ &man.pkg.create.1;を参照してください。<xref
+ linkend="files-and-dirs-outside-prefix" />もあわせて参照してください。</para>
</listitem>
</varlistentry>
@@ -477,7 +506,19 @@
</programlisting>
<para>とすると、<filename>MESSAGE</filename>中の "${SOMEVAR}" は、
- <quote>somevalue</quote>に置換されます。</para>
+ <quote>somevalue</quote>に置換されます。標準では、置換は
+ <varname>PKGNAME</varname>,
+ <varname>PKGBASE</varname>, <varname>PREFIX</varname>,
+ <varname>LOCALBASE</varname>, <varname>X11PREFIX</varname>,
+ <varname>X11BASE</varname>,
+ <varname>PKG_SYSCONFDIR</varname>,
+ <varname>ROOT_GROUP</varname>,
+ <varname>ROOT_GROUP</varname> に対しておこなわれます。</para>
+
+ <para><varname>MESSAGE_SRC</varname> 変数を設定すると、
+ 置換の対象のファイルを変えたり追加したりすることができます。
+ この変数は、<filename>MESSAGE</filename> (このファイルが存在する場合)
+ です。</para>
</listitem>
</varlistentry>
@@ -562,8 +603,16 @@
<para>また、もしあなたがコンフィギュレーションまたは構築するより前に、パッケージ
中に何かファイルを置きたいならば、それらのファイルをfilesディレクトリーに置
くことができますし、<quote>pre-configure</quote>ターゲットで、
- <quote>${CP}</quote>コマンドによりコピーす
+ <command>${CP}</command>コマンドによりコピーす
ることができます。あるいは、<filename>/dev/null</filename>に対するそのファイルの単純なdiffをとり、
パッチメカニズムを使用して、そのファイルを生成することもできます。</para>
+
+ <para>files ディレクトリーにファイルを置く方法で、他のパッケージとファイルを共有したい場合は、
+ <varname>FILESDIR</varname> 変数を、他のパッケージの
+ <filename>files</filename> ディレクトリーを指すように設定します。
+ たとえば以下のようにします。</para>
+ <programlisting>
+ FILESDIR=${.CURDIR}/../xemacs/files
+ </programlisting>
</sect1>
</chapter>
--- components.xml.orig 2006-12-16 22:47:19.000000000 +0900
+++ components.xml 2006-12-16 19:43:53.000000000 +0900
@@ -1,4 +1,4 @@
-<!-- $NetBSD: components.xml,v 1.28 2006/09/03 00:20:49 wiz Exp $ -->
+<!-- $NetBSD: components.xml,v 1.30 2006/09/10 19:36:41 wiz Exp $ -->
<chapter id="components"> <?dbhtml filename="components.html"?>
<title>Package components - files, directories and contents</title>
@@ -20,8 +20,8 @@
sections that describe the package.</para>
<para>In the first section there are the following variables, which
- should appear exactly in the order given here. The ordering and
- grouping of variables is mostly historical and has no further
+ should appear exactly in the order given here. The order and
+ grouping of the variables is mostly historical and has no further
meaning.</para>
<itemizedlist>
@@ -31,13 +31,24 @@
<listitem><para><varname>PKGNAME</varname> is the name of the
package, as used by pkgsrc. You only need to provide it if
- it differs from <varname>DISTNAME</varname>. Usually it is the
+ <varname>DISTNAME</varname> (which is the default) is not a good
+ name for the package in pkgsrc. Usually it is the pkgsrc
directory name together with the version number. It must match the
regular expression
<varname>^[A-Za-z0-9][A-Za-z0-9-_.+]*$</varname>, that is, it
starts with a letter or digit, and contains only letters, digits,
dashes, underscores, dots and plus signs.</para></listitem>
+ <listitem><para><varname>SVR4_PKGNAME</varname> is the name of
+ the package file to create if the <varname>PKGNAME</varname>
+ isn't unique on a SVR4 system. The default is
+ <varname>PKGNAME</varname>, which may be shortened when you use
+ <filename role="pkg">pkgtools/gensolpkg</filename>. Only add
+ <varname>SVR4_PKGNAME</varname> if <varname>PKGNAME</varname>
+ does not produce an unique package name on a SVR4 system.
+ The length of <varname>SVR4_PKGNAME</varname> is limited to 5
+ characters.</para></listitem>
+
<listitem><para><varname>CATEGORIES</varname> is a list of categories
which the package fits in. You can choose any of the top-level
directories of pkgsrc for it.</para>
@@ -233,13 +244,30 @@
using <command>pkgvi</command> again from the same package. If
you upgrade a package this way, you can easily compare the new
set of patches with the previously existing one with
- <command>patchdiff</command>.</para>
+ <command>patchdiff</command>. Copy the patches you want to use
+ or update from the <filename>work/.newpatches</filename>
+ directory to <filename>patches/</filename>.</para>
<para>When you have finished a package, remember to generate
the checksums for the patch files by using the <command>make
makepatchsum</command> command, see <xref
linkend="components.distinfo"/>.</para>
+ <para>When adding a patch that corrects a problem in the
+ distfile (rather than e.g. enforcing pkgsrc's view of where
+ man pages should go), send the patch as a bug report to the
+ maintainer. This benefits non-pkgsrc users of the package,
+ and usually makes it possible to remove the patch in future
+ version.</para>
+
+ <para>If you want to share patches between multiple packages
+ in pkgsrc, e.g. because they use the same distfiles, set
+ <varname>PATCHDIR</varname> to the path where the patch files
+ can be found, e.g.:</para>
+ <programlisting>
+ PATCHDIR= ${.CURDIR}/../xemacs/patches
+ </programlisting>
+
<para>Patch files that are distributed by the author or other
maintainers can be listed in
<varname>PATCHFILES</varname>.</para>
@@ -443,7 +471,8 @@
are moved in place. This can be used to do any custom
procedures not possible with @exec commands in
<filename>PLIST</filename>. See &man.pkg.add.1; and
- &man.pkg.create.1; for more information.</para>
+ &man.pkg.create.1; for more information. See also <xref
+ linkend="files-and-dirs-outside-prefix" />.</para>
</listitem>
</varlistentry>
@@ -477,7 +506,19 @@
</programlisting>
<para>replaces "${SOMEVAR}" with <quote>somevalue</quote> in
- <filename>MESSAGE</filename>.</para>
+ <filename>MESSAGE</filename>. By default, substitution is
+ performed for <varname>PKGNAME</varname>,
+ <varname>PKGBASE</varname>, <varname>PREFIX</varname>,
+ <varname>LOCALBASE</varname>, <varname>X11PREFIX</varname>,
+ <varname>X11BASE</varname>,
+ <varname>PKG_SYSCONFDIR</varname>,
+ <varname>ROOT_GROUP</varname>, and
+ <varname>ROOT_GROUP</varname>.</para>
+
+ <para>You can display a different or additional files by
+ setting the <varname>MESSAGE_SRC</varname> variable. Its
+ default is <filename>MESSAGE</filename>, if the file
+ exists.</para>
</listitem>
</varlistentry>
@@ -563,10 +604,18 @@
<para>If you have any files that you wish to be placed in the package prior
to configuration or building, you could place these files here and use
- a <quote>${CP}</quote> command in the
+ a <command>${CP}</command> command in the
<quote>pre-configure</quote> target to achieve
this. Alternatively, you could simply diff the file against
<filename>/dev/null</filename> and use the patch mechanism to manage
the creation of this file.</para>
+
+ <para>If you want to share files in this way with other
+ packages, set the <varname>FILESDIR</varname> variable to point
+ to the other package's <filename>files</filename> directory,
+ e.g.:</para>
+ <programlisting>
+ FILESDIR=${.CURDIR}/../xemacs/files
+ </programlisting>
</sect1>
</chapter>