[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pkgsrc/doc/guide/files/configuring.xml: 1.32 -> 1.33ほか



以下のページの更新をしました。ツッコミをお願いします。

pkgsrc/doc/guide/files/configuring.xml: 1.32 -> 1.33
pkgsrc/doc/guide/files/creating.xml: 1.7 -> 1.8
> Added DESTDIR examples and section 10.1.3. Python modules and programs

月曜日までに異議がなければ、 commit します。

更新後の訳の全文は
  http://www.na.rim.or.jp/%7Ekano/tmp/docs/pkgsrc/configuring.html#variables-affecting-installation
  http://www.na.rim.or.jp/%7Ekano/tmp/docs/pkgsrc/creating.html#creating.python-module
に置いてあります。

以下、訳と原文それぞれの新旧の差分です。


--- configuring.xml.orig	2009-03-08 03:43:53.000000000 +0900
+++ configuring.xml	2009-03-08 03:43:53.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: configuring.xml,v 1.32 2009/01/28 23:31:39 abs Exp $ -->
+<!-- $NetBSD: configuring.xml,v 1.33 2009/03/05 13:08:02 imil Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: configuring.xml,v 1.32 2009/01/28 23:31:39 abs Exp   -->
+<!-- NetBSD: configuring.xml,v 1.33 2009/03/05 13:08:02 imil Exp   -->
 
 <chapter id="configuring">
   <title>pkgsrc を設定する</title>
@@ -169,6 +169,45 @@
     <literal>package-install</literal> があらためてパスワードを尋ねてきます。</para>
     <para>基本的な DESTDIR 対応を使う場合、<userinput>make
     clean</userinput> は root で実行する必要があります。</para>
+
+    <para><filename>foo/bar</filename> パッケージに対して、
+    DESTDIR に完全に対応できているかどうか、以下のコマンドでテストすることができます。
+
+<programlisting>
+&uprompt; id
+uid=1000(myusername) gid=100(users) groups=100(users),0(wheel)
+&uprompt; mkdir $HOME/packages
+&uprompt; cd $PKGSRCDIR/foo/bar
+</programlisting>
+
+    <varname>DESTDIR</varname> に完全に対応しているか確認します。
+    root 権限は必要ないはずです。
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full install
+</programlisting>
+
+    root 権限なしでパッケージを作ってみます。
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full PACKAGES=$HOME/packages package
+</programlisting>
+
+    以下のコマンドでは、
+    &man.su.1; を使って root 権限を得られることが必要です。
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full PACKAGES=$HOME/packages package-install
+</programlisting>
+
+    あとは、通常のユーザーで以下のコマンドを実行します。
+
+<programlisting>
+&uprompt; make clean
+</programlisting>
+
+    </para>
+
   </sect1>
 
 <sect1 id="conf.compiler">
--- creating.xml.orig	2009-03-08 03:43:54.000000000 +0900
+++ creating.xml	2009-03-08 03:43:54.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: creating.xml,v 1.7 2007/06/01 11:07:24 rillig Exp $ -->
+<!-- $NetBSD: creating.xml,v 1.8 2009/03/05 13:08:02 imil Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: creating.xml,v 1.7 2007/06/01 11:07:24 rillig Exp   -->
+<!-- NetBSD: creating.xml,v 1.8 2009/03/05 13:08:02 imil Exp   -->
 
 <chapter id="creating">
 <title>新しいパッケージを一から作る</title>
@@ -130,6 +130,60 @@
 
 </sect2>
 
+<sect2 id="creating.python-module">
+<title>Python モジュールおよびプログラム</title>
+
+<para>Python のモジュールとプログラムは、
+あらかじめ用意された変数を使って、簡単にパッケージを作ることができます。</para>
+
+<para>ほとんどの Python パッケージは、<quote>distutils</quote> または
+easy-setup (<quote>eggs</quote>) のいずれかを使っています。
+ソフトウェアが <quote>distutils</quote> を使っている場合は、
+pkgsrc がこの枠組を使うようにするため、
+<varname>PYDISTUTILSPKG</varname> 変数を <quote>yes</quote> に設定します。
+<quote>distutils</quote> では、<filename>setup.py</filename> という名前のスクリプトを使いますが、
+<quote>distutils</quote> ドライバーが
+<filename>setup.py</filename> という名前でない場合は、
+<varname>PYSETUP</varname> 変数をスクリプト名に設定します。</para>
+
+<para>
+ソフトウェアが既定の Python バージョンに対応していない場合は、
+<varname>PYTHON_VERSIONS_ACCEPTED</varname> 変数を、
+そのソフトウェアが動作する Python バージョンに設定します。
+バージョンは新しいものから古いものの順に並べます。たとえば以下のようにします。
+<programlisting>
+PYTHON_VERSIONS_ACCEPTED=       25 24 23
+</programlisting></para>
+
+<para>
+パッケージにするソフトウェアが Python モジュールである場合は、
+<quote><filename>../../lang/python/extension.mk</filename></quote> をインクルードします。
+この場合は、パッケージのディレクトリー名を
+<quote>py-software</quote> という形式にし、
+<varname>PKGNAME</varname> を
+<quote>${PYPKGPREFIX}-${DISTNAME}</quote> に設定します。たとえば以下のようにします。
+<programlisting>
+DISTNAME=   foopymodule-1.2.10
+PKGNAME=    ${PYPKGPREFIX}-${DISTNAME}
+</programlisting></para>
+
+<para>パッケージにするソフトウェアがアプリケーションである場合は、
+<quote>extension.mk</quote> をインクルードする前に
+<quote><filename>../../lang/python/application.mk</filename></quote> もインクルードします。</para>
+
+<para>パッケージにするソフトウェア (アプリケーションでもモジュールでも) が
+egg に対応している場合、必要なことは、
+<quote><filename>../../lang/python/egg.mk</filename></quote> をインクルードすることだけです。</para>
+
+<para>Python インタープリターへのパスを適切に設定するために、
+<varname>REPLACE_PYTHON</varname> 変数を使います。この変数に、
+パスの修正が必要なファイルのリストを設定します。たとえば以下のようにします。
+<programlisting>
+REPLACE_PYTHON=   ${WRKSRC}/*.py
+</programlisting></para>
+
+</sect2>
+
 </sect1>
 
 <sect1 id="creating.examples">
Index: configuring.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/configuring.xml,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- configuring.xml	28 Jan 2009 23:31:39 -0000	1.32
+++ configuring.xml	5 Mar 2009 13:08:02 -0000	1.33
@@ -1,4 +1,4 @@
-<!-- $NetBSD: configuring.xml,v 1.32 2009/01/28 23:31:39 abs Exp $ -->
+<!-- $NetBSD: configuring.xml,v 1.33 2009/03/05 13:08:02 imil Exp $ -->
 
 <chapter id="configuring">
   <title>Configuring pkgsrc</title>
@@ -163,6 +163,45 @@
     <literal>package-install</literal> will ask again.</para>
     <para>With basic DESTDIR support, <userinput>make
     clean</userinput> needs to be run as root.</para>
+
+    <para>Considering the <filename>foo/bar</filename> package,
+    DESTDIR full support can be tested using the following commands
+
+<programlisting>
+&uprompt; id
+uid=1000(myusername) gid=100(users) groups=100(users),0(wheel)
+&uprompt; mkdir $HOME/packages
+&uprompt; cd $PKGSRCDIR/foo/bar
+</programlisting>
+
+    Verify <varname>DESTDIR</varname> full support, no root privileges
+    should be needed
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full install
+</programlisting>
+
+    Create a package without root privileges
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full PACKAGES=$HOME/packages package
+</programlisting>
+
+    For the following command, you must be able to gain root
+    privileges using &man.su.1;
+
+<programlisting>
+&uprompt; make USE_DESTDIR=full PACKAGES=$HOME/packages package-install
+</programlisting>
+
+    Then, as a simple user
+
+<programlisting>
+&uprompt; make clean
+</programlisting>
+
+    </para>
+
   </sect1>
 
 <sect1 id="conf.compiler">
Index: creating.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/creating.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- creating.xml	1 Jun 2007 11:07:24 -0000	1.7
+++ creating.xml	5 Mar 2009 13:08:02 -0000	1.8
@@ -1,4 +1,4 @@
-<!-- $NetBSD: creating.xml,v 1.7 2007/06/01 11:07:24 rillig Exp $ -->
+<!-- $NetBSD: creating.xml,v 1.8 2009/03/05 13:08:02 imil Exp $ -->
 
 <chapter id="creating">
 <title>Creating a new pkgsrc package from scratch</title>
@@ -127,6 +127,59 @@
 
 </sect2>
 
+<sect2 id="creating.python-module">
+<title>Python modules and programs</title>
+
+<para>Python modules and programs packages are easily created using a
+set of predefined variables.</para>
+
+<para>Most Python packages use either <quote>distutils</quote> or
+easy-setup (<quote>eggs</quote>).
+If the software uses <quote>distutils</quote>, set the
+<varname>PYDISTUTILSPKG</varname> variable to <quote>yes</quote> so
+pkgsrc will make use of this framework.
+<quote>distutils</quote> uses a script called <filename>setup.py</filename>,
+if the <quote>distutils</quote> driver is not called
+<filename>setup.py</filename>, set the <varname>PYSETUP</varname> variable
+to the name of the script.</para>
+
+<para>
+If the default Python versions are not supported by the software, set the
+<varname>PYTHON_VERSIONS_ACCEPTED</varname> variable to the Python versions
+the software is known to work with, from the most recent to the older
+one, e.g.
+<programlisting>
+PYTHON_VERSIONS_ACCEPTED=       25 24 23
+</programlisting></para>
+
+<para>
+If the packaged software is a Python module, include
+<quote><filename>../../lang/python/extension.mk</filename></quote>.
+In this case, the package directory should be called
+<quote>py-software</quote> and <varname>PKGNAME</varname> should be set to
+<quote>${PYPKGPREFIX}-${DISTNAME}</quote>, e.g.
+<programlisting>
+DISTNAME=   foopymodule-1.2.10
+PKGNAME=    ${PYPKGPREFIX}-${DISTNAME}
+</programlisting></para>
+
+<para>If it is an application, also include
+<quote><filename>../../lang/python/application.mk</filename></quote>
+before <quote>extension.mk</quote>.</para>
+
+<para>If the packaged software, either it is an application or a module, is
+egg-aware, you only need to include
+<quote><filename>../../lang/python/egg.mk</filename></quote>.</para>
+
+<para>In order to correctly set the path to the Python interpreter, use the
+<varname>REPLACE_PYTHON</varname> variable and set it to the list of files
+that must be corrected. For example :
+<programlisting>
+REPLACE_PYTHON=   ${WRKSRC}/*.py
+</programlisting></para>
+
+</sect2>
+
 </sect1>
 
 <sect1 id="creating.examples">