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