[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">