[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgsrc/doc/guide/files/components.xml: 1.14 -> 1.16
以下のページの更新をしました。ツッコミをお願いします。
pkgsrc/doc/guide/files/components.xml: 1.14 -> 1.16
> revision 1.16
> date: 2005/10/07 18:30:17; author: rillig; state: Exp; lines: +61 -64
> Rewrote the sections explaining the distinfo file and the WRKSRC
> variable. They had been out-of-date and lacked complete sentences.
> ----------------------------
> revision 1.15
> date: 2005/10/07 15:49:01; author: rillig; state: Exp; lines: +7 -10
> WRKSRC is not a subdirectory of WRKDIR.
火曜日までに異議がなければ、 commit します。
以下、訳と原文それぞれの新旧の差分です。
--- components.xml.orig 2006-10-14 22:03:16.000000000 +0900
+++ components.xml 2006-10-14 22:03:16.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: components.xml,v 1.14 2005/10/07 15:45:24 rillig Exp $ -->
+<!-- $NetBSD: components.xml,v 1.16 2005/10/07 18:30:17 rillig Exp $ -->
<!-- Based on english version: -->
-<!-- NetBSD: components.xml,v 1.14 2005/10/07 15:45:24 rillig Exp -->
+<!-- NetBSD: components.xml,v 1.16 2005/10/07 18:30:17 rillig Exp -->
<chapter id="components"> <?dbhtml filename="components.html"?>
<title>パッケージコンポーネント - ファイル、ディレクトリー、およびコンテンツ</title>
@@ -30,7 +30,7 @@
基礎となる名前です。</para></listitem>
<listitem><para><varname>PKGNAME</varname> は、
- pkgsrc が使うパッケージ名です。これは、パッケージ名が DISTNAME
+ pkgsrc が使うパッケージ名です。これは、パッケージ名が <varname>DISTNAME</varname>
と異なる場合のみ書く必要があります。
通常、これはディレクトリー名とバージョン番号を合わせたものになります。
この値は正規表現 <varname>^[A-Za-z0-9][A-Za-z0-9-_.+]*$</varname>
@@ -166,13 +166,43 @@
<para>このほか、構築に影響のある変数としては、以下のものがあります。
<itemizedlist>
- <listitem><para><varname>WRKSRC</varname>:
- <filename>${WRKDIR}</filename> のサブディレクトリーで、
- 配布ファイルが実際に展開される場所です。標準では
- <filename>${WRKDIR}/${DISTNAME}</filename> になります。
- <varname>WRKSRC</varname> は、
- パッケージが通常の慣習に従わない場合に設定するものであって、
- サブディレクトリーとしてパッケージの名前を含めるようにします。</para>
+
+ <listitem>
+
+ <para><varname>WRKSRC</varname>: 当該パッケージに関連する配布ファイルが置かれるディレクトリーです。
+ 標準では <filename>${WRKDIR}/${DISTNAME}</filename> になり、
+ ほとんどのパッケージはこの標準状態のままで動作します。</para>
+
+ <para>パッケージが専用のサブディレクトリー
+ (たとえば、ほとんどのGNUソフトウェアはこれを作ります) を作らずに、
+ カレントディレクトリーに展開される場合、 <varname>WRKSRC=
+ ${WRKDIR}</varname> を設定します。</para>
+
+ <para>パッケージが <varname>DISTNAME</varname> と同名のサブディレクトリーは作らずに、
+ 別の名前のサブディレクトリーを作る場合は、
+ <varname>WRKSRC</varname> を設定して、
+ <filename>${WRKDIR}</filename> 内の適切な名前を指すようにします。
+ たとえば <varname>WRKSRC=
+ ${WRKDIR}/${DISTNAME}/unix</varname> のようにします。
+ さらに別の例としては <filename
+ role="pkg">lang/tcl</filename> と <filename
+ role="pkg">x11/tk</filename> を見てください。</para>
+
+ <para> pkgsrc が作成する作業用ディレクトリーの名前には、
+ <varname>WRKDIR_BASENAME</varname> 変数が使われます。
+ この値は、標準では <filename>work</filename> です。同じ
+ pkgsrc ツリーを複数の異なる種類のバイナリーパッケージの構築用に使いたい場合は、
+ 必要に応じて、この変数の値を変えることができます。
+ <varname>WRKDIR_BASENAME</varname> の設定をありがちな方法でおこなうために、
+ 二つの変数をそれぞれ使うことができます。
+ <filename>/etc/mk.conf</filename> で
+ <varname>OBJHOSTNAME</varname> が定義されると、
+ ホスト名の最初の部分がディレクトリー名に付け加えられます。
+ <varname>OBJMACHINE</varname> が定義されると、
+ <filename>work.i386</filename>
+ や <filename>work.sparc</filename>
+ のように、プラットフォーム名が付け加えられます。</para>
+
</listitem>
</itemizedlist>
</para>
@@ -201,35 +231,32 @@
<sect1 id="components.distinfo">
<title><filename>distinfo</filename></title>
- <para>最も重要で必須な、パッケージのコンパイルに必要なすべてのdistfileのメッセー
- ジダイジェストあるいはチェックサムです。作者が配布した元のファイルに対して、
- このメッセージダイジェストが一致することを確認しています。これをもとに、イ
- ンターネットから取得したdistfileが転送中にファイルが壊れたり、悪意によりセ
- キュリティーホールを入れられたファイルに変更されていたりしていないことを確
- 認します。これは<command>make makesum</command>により生成します。ダイジェストアル
- ゴリズムには md5 が使われていましたが、これはsha1に比べて弱いため、現在は
- sha1がデフォルトのアルゴリズムになっています。また、distfileの容量も生成さ
- れ、新しいdistinfoファイルに格納されます。<filename role="pkg">pkgtools/digest</filename>ユーティリ
- ティーは、distinfoファイル用のダイジェストをすべて計算してくれますし、さま
- ざまなアルゴリズムにも対応しています。現在、以下のアルゴリズムに対応してい
- ます:
- <emphasis>md5</emphasis>, <emphasis>rmd160</emphasis>,
- <emphasis>sha1</emphasis>, <emphasis>sha256</emphasis>,
- <emphasis>sha384</emphasis>, <emphasis>sha512</emphasis></para>
-
- <para>パッケージによっては、アーキテクチャー毎にdistfileの組が異なるものがありま
- す(たとえば <filename
- role="pkg">www/navigator</filename>)。この情報は単一のdistinfoファイルに
- 書かれるので、このようなパッケージの更新時には、distfileの情報が失われない
- ように注意を払ってください。</para>
-
- <para><filename>patches/</filename>ディレクトリー
- (<xref linkend="components.patches"/>参照)に入っている、公式なすべてのパッチ
- のメッセージダイジェスト/チェックサムも、この<filename>distinfo</filename>ファイルに格納されます。
- これは、パッチ中の&os; RCS Idを除いたすべての行のメッセージダイジェスト/
- チェックサムです。このファイルは<command>make makepatchsum</command> (急を要する場合は
- <command>make mps</command> でも可) コマンドにより生成するこ
- とができます。</para>
+ <para><filename>distinfo</filename> ファイルには、パッケージが必要とする各
+ distfile のメッセージダイジェストあるいはチェックサムが格納されます。
+ 作者が配布した元のファイルに対して、
+ このメッセージダイジェストが一致することを確認しています。これをもとに、イ
+ ンターネットから取得したdistfileが転送中にファイルが壊れたり、悪意によりセ
+ キュリティーホールを入れられたファイルに変更されていたりしていないことを確
+ 認します。
+ 最近、ダイジェストアルゴリズムの弱さについての噂があるため、
+ すべての distfile は、ファイルサイズに加えて、
+ SHA1 と RMD160 の両方のメッセージダイジェストを使って守られています。</para>
+
+ <para><filename>patches</filename>
+ ディレクトリーに入っているすべてのパッチ (<xref
+ linkend="components.patches"/>参照) のチェックサムも、
+ この <filename>distinfo</filename>ファイルに格納されます。</para>
+
+ <para><filename>distinfo</filename> ファイルを作り直すには、
+ <command>make makedistinfo</command> または <command>make mdi</command>
+ コマンドを使います。</para>
+
+ <para>パッケージのなかには、プラットフォームによってdistfileの組が異なるものがありま
+ す(たとえば <filename
+ role="pkg">www/navigator</filename>)。この情報は単一の<filename>distinfo</filename>ファイルに
+ 書かれるので、このようなパッケージの更新時には、distfileの情報が失われない
+ ように注意を払ってください。</para>
+
</sect1>
<sect1 id="components.patches">
@@ -388,31 +415,6 @@
標準では <filename>${.CURDIR}/work</filename>
(<varname>OBJMACHINE</varname> が設定されている場合は
<filename>${.CURDIR}/work.${MACHINE_ARCH}</filename>) です。</para>
-
- <para> パッケージが例えばGNUソフトウェアのようにサブディレクトリーを作るのではなく、
- カレントディレクトリーに展開される場合、適宜 <varname>WRKSRC</varname>
- を設定します。例はもう一度<filename role="pkg">editors/sam</filename>を見てください。
- 簡単にいうと以下の設定が必要です。</para>
-
- <programlisting>WRKSRC= ${WRKDIR}</programlisting>
-
- <para>パッケージが <varname>DISTNAME</varname> と同名のサブディレクトリーは作らずに、
- 別の名前のサブディレクトリーを作る場合は、
- <varname>WRKSRC</varname> を設定して
- <filename>${WRKDIR}</filename> 内の適切な名前を指すようにします。
- 例としては <filename
- role="pkg">lang/tcl</filename> と
- <filename role="pkg">x11/tk</filename> を見てください。また、さらに別の例を以下に示します。 </para>
-
- <programlisting>WRKSRC= ${WRKDIR}/${DISTNAME}/unix</programlisting>
-
- <para> pkgsrc が作成する作業用ディレクトリーの名前は、標準では
- <filename>work</filename> です。同じ
- pkgsrc ツリーを複数の異なるプラットフォームで共用する場合は、
- /etc/mk.conf で <varname>OBJMACHINE</varname> を設定して、
- 作業用ディレクトリー名にプラットフォームを付け足すことができます。
- こうすると、たとえば <filename>work.i386</filename> や
- <filename>work.sparc</filename> のようになります。 </para>
</sect1>
<sect1 id="files-dir">
Index: components.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/components.xml,v
retrieving revision 1.14
retrieving revision 1.16
diff -u -r1.14 -r1.16
--- components.xml 7 Oct 2005 15:45:24 -0000 1.14
+++ components.xml 7 Oct 2005 18:30:17 -0000 1.16
@@ -1,4 +1,4 @@
-<!-- $NetBSD: components.xml,v 1.14 2005/10/07 15:45:24 rillig Exp $ -->
+<!-- $NetBSD: components.xml,v 1.16 2005/10/07 18:30:17 rillig Exp $ -->
<chapter id="components"> <?dbhtml filename="components.html"?>
<title>Package components - files, directories and contents</title>
@@ -30,7 +30,7 @@
<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 DISTNAME. Usually it is the directory name together
+ differs from <varname>DISTNAME</varname>. Usually it is the 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,
@@ -169,14 +169,41 @@
<para>Other variables that affect the build:
<itemizedlist>
- <listitem><para><varname>WRKSRC</varname>:
- The subdirectory of <filename>${WRKDIR}</filename> to which
- the distribution actually unpacks. The default is
- <filename>${WRKDIR}/${DISTNAME}</filename>.
- The value of <varname>WRKSRC</varname> should be set
- explicitly if the package does not follow standard
- conventions and include the package's name as a
- subdirectory.</para>
+
+ <listitem>
+
+ <para><varname>WRKSRC</varname>: The directory where the
+ interesting distribution files of the package are found. The
+ default is <filename>${WRKDIR}/${DISTNAME}</filename>, which
+ works for most packages.</para>
+
+ <para>If a package doesn't create a subdirectory for itself
+ (most GNU software does, for instance), but extracts itself in
+ the current directory, you should set <varname>WRKSRC=
+ ${WRKDIR}</varname>.</para>
+
+ <para>If a package doesn't create a subdirectory with the name
+ of <varname>DISTNAME</varname> but some different name, set
+ <varname>WRKSRC</varname> to point to the proper name in
+ <filename>${WRKDIR}</filename>, for example <varname>WRKSRC=
+ ${WRKDIR}/${DISTNAME}/unix</varname>. See <filename
+ role="pkg">lang/tcl</filename> and <filename
+ role="pkg">x11/tk</filename> for other examples.</para>
+
+ <para>The name of the working directory created by pkgsrc is
+ taken from the <varname>WRKDIR_BASENAME</varname> variable. By
+ default, its value is <filename>work</filename>. If you want
+ to use the same pkgsrc tree for building different kinds of
+ binary packages, you can change the variable according to your
+ needs. Two other variables handle common cases of setting
+ <varname>WRKDIR_BASENAME</varname> individually. If
+ <varname>OBJHOSTNAME</varname> is defined in
+ <filename>/etc/mk.conf</filename>, the first component of the
+ host's name is attached to the directory name. If
+ <varname>OBJMACHINE</varname> is defined, the platform name is
+ attached, which might look like <filename>work.i386</filename>
+ or <filename>work.sparc</filename>.</para>
+
</listitem>
</itemizedlist>
</para>
@@ -205,37 +232,30 @@
<sect1 id="components.distinfo">
<title><filename>distinfo</filename></title>
- <para>Most important, the mandatory message digest, or checksum, of all the
- distfiles needed for the package to compile, confirming they match the
- original file distributed by the author. This ensures that the
- distfile retrieved from the Internet has not been corrupted during
- transfer or altered by a malign force to introduce a security hole.
- It is generated using the <command>make makesum</command> command.
- The digest algorithm used was, at one stage, md5, but that was felt
- lacking compared to sha1, and so sha1 is now the default algorithm.
- The distfile size is also generated and stored in new distinfo files.
- The <filename role="pkg">pkgtools/digest</filename> utility
- calculates all of the digests in the distinfo file, and it provides
- various different algorithms. At the current time, the algorithms
- provided are:
- <emphasis>md5</emphasis>, <emphasis>rmd160</emphasis>,
- <emphasis>sha1</emphasis>, <emphasis>sha256</emphasis>,
- <emphasis>sha384</emphasis> and <emphasis>sha512</emphasis>.</para>
-
- <para>Some packages have different sets of distfiles on a per architecture
- basis, for example <filename
- role="pkg">www/navigator</filename>). These are kept in the
- same distinfo file and care should be taken when upgrading such a
- package to ensure distfile information is not lost.</para>
-
- <para>The message digest/checksum for all the official patches found in the
- <filename>patches/</filename> directory (see
- <xref linkend="components.patches"/>) for the package is also stored in
- the <filename>distinfo</filename> file. This is a message
- digest/checksum of all lines in the patch file except the &os; RCS Id.
- This file is generated by invoking <command>make
- makepatchsum</command> (or <command>make mps</command> if you're
- in a hurry).</para>
+ <para>The <filename>distinfo</filename> file contains the message
+ digest, or checksum, of each distfile needed for the package. This
+ ensures that the distfiles retrieved from the Internet have not been
+ corrupted during transfer or altered by a malign force to introduce
+ a security hole. Due to recent rumor about weaknesses of digest
+ algorithms, all distfiles are protected using both SHA1 and RMD160
+ message digests, as well as the file size.</para>
+
+ <para>The <filename>distinfo</filename> file also contains the
+ checksums for all the patches found in the
+ <filename>patches</filename> directory (see <xref
+ linkend="components.patches"/>).</para>
+
+ <para>To regenerate the <filename>distinfo</filename> file, use the
+ <command>make makedistinfo</command> or <command>make mdi</command>
+ command.</para>
+
+ <para>Some packages have different sets of distfiles depending on
+ the platform, for example <filename
+ role="pkg">www/navigator</filename>). These are kept in the same
+ <filename>distinfo</filename> file and care should be taken when
+ upgrading such a package to ensure distfile information is not
+ lost.</para>
+
</sect1>
<sect1 id="components.patches">
@@ -369,7 +389,7 @@
<term><filename>MESSAGE</filename></term>
<listitem>
- <para>Display this file after installation of the package.
+ <para>This file is displayed after installation of the package.
Useful for things like legal notices on almost-free
software and hints for updating config files after
installing modules for apache, PHP etc.
@@ -398,32 +418,6 @@
The default is <filename>${.CURDIR}/work</filename>
or <filename>${.CURDIR}/work.${MACHINE_ARCH}</filename>
if <varname>OBJMACHINE</varname> is set.</para>
-
- <para> If a package doesn't create a subdirectory for itself (like
- GNU software does, for instance), but extracts itself in the
- current directory, you should set <varname>WRKSRC</varname>
- accordingly, e.g. <filename role="pkg">editors/sam</filename>
- again, but the quick answer is:</para>
-
- <programlisting>WRKSRC= ${WRKDIR}</programlisting>
-
- <para>If a package doesn't create a subdir with the name of
- <varname>DISTNAME</varname> but some different name, set
- <varname>WRKSRC</varname> to point to the proper name in
- <filename>${WRKDIR}</filename>. See <filename
- role="pkg">lang/tcl</filename> and
- <filename role="pkg">x11/tk</filename> for examples, and here is
- another one: </para>
-
- <programlisting>WRKSRC= ${WRKDIR}/${DISTNAME}/unix</programlisting>
-
- <para> The name of the working directory created by pkgsrc is
- <filename>work</filename> by default. If the same pkgsrc tree
- should be used on several different platforms, the variable
- <varname>OBJMACHINE</varname> can be set in /etc/mk.conf to
- attach the platform to the directory name,
- e.g. <filename>work.i386</filename> or
- <filename>work.sparc</filename>. </para>
</sect1>
<sect1 id="files-dir">