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

pkgsrc/doc/guide/files/pkginstall.xml: 1.11 -> 1.12



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

pkgsrc/doc/guide/files/pkginstall.xml: 1.11 -> 1.12

> revision 1.12
> date: 2006/09/10 19:29:52;  author: wiz;  state: Exp;  lines: +39 -23
> Describe INSTALL_FILE and DEINSTALL_FILE. Improve introduction.

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

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

--- pkginstall.xml.orig	2006-12-20 00:16:44.000000000 +0900
+++ pkginstall.xml	2006-12-20 00:16:44.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp $ -->
+<!-- $NetBSD: pkginstall.xml,v 1.12 2006/09/10 19:29:52 wiz Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp   -->
+<!-- NetBSD: pkginstall.xml,v 1.12 2006/09/10 19:29:52 wiz Exp   -->
 
 <chapter id="pkginstall"> <?dbhtml filename="pkginstall.html"?>
 <title>pkginstall の枠組</title>
@@ -62,12 +62,28 @@
 パッケージによってはそのような場所、たとえば
 <filename>${VARBASE}</filename> や
 <filename>${PKG_SYSCONFDIR}</filename>
-以下にファイルをインストールする必要があります。</para>
+以下にファイルをインストールする必要があります。
+これをおこなう唯一の方法は、インストール時にインストール用のスクリプトを使って
+インストール対象のファイルを作成することです。</para>
+
+<para>汎用のインストール用スクリプトは、
+任意のコードを含めることのできるシェルスクリプトです。
+実行するスクリプトを並べたリストを <varname>INSTALL_FILE</varname> 変数で与えます。
+この変数の値は標準では <filename>INSTALL</filename> です。
+パッケージの削除用としても、同様の変数があります (<varname>DEINSTALL_FILE</varname>:
+標準の値は <filename>DEINSTALL</filename>)。
+これらのスクリプトでは任意のコマンドを実行できるので、
+ファイルシステム中のどこであってもファイルの作成や管理をすることができます。</para>
+
+<para>以上のような汎用のインストール用スクリプトを使うことはおすすめしませんが、
+特殊な事例では必要となることがあります。これらを使うべきでない理由のひとつは、
+インストール用スクリプト内に不必要なコードや単純に誤ったコードが入っていないことについて、
+利用者がパッケージ作成者を信頼する必要があるということです。
+また、以前は、同じ機能のために同様のコードがたくさん使われており、
+それらに共通するエラーを修正する場合は、
+同様のコードをすべて探して変更する必要がありました。</para>
 
-<para>これをおこなう唯一の方法は、インストール時にインストール用のスクリプトを使って
-インストール対象のファイルを作成することです。このスクリプトでは任意のコマンドを実行できるので、
-ファイルシステム中のどこであってもファイルの作成や管理をすることができます。
-ここで pkginstall の出番となります。pkginstall は、
+<para>pkginstall の枠組では、これとは異なる標準化された方法を提供します。
 パッケージの <filename>Makefile</filename> で設定された変数にもとづき、
 インストール対象のファイルやディレクトリーを操作するための汎用のスクリプトを提供します。
 以下、本節では、この用途で使う変数を説明します。</para>
@@ -449,8 +465,7 @@
 となります。
 <varname>PKG_SHELL.<replaceable>user</replaceable></varname> は、
 ユーザーのシェルで、指定しなかった場合は
-<filename>/sbinno/login</filename> となります。
-</para>
+<filename>/sbinno/login</filename> となります。</para>
 
 <para>同様にして、<varname>PKG_GROUPS</varname> 変数にグループのエントリーを追加すると、
 グループを作ることができます。こちらの書式は以下のようになります。</para>
Index: pkginstall.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/pkginstall.xml,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- pkginstall.xml	23 Apr 2006 00:00:43 -0000	1.11
+++ pkginstall.xml	10 Sep 2006 19:29:52 -0000	1.12
@@ -1,4 +1,4 @@
-<!-- $NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp $ -->
+<!-- $NetBSD: pkginstall.xml,v 1.12 2006/09/10 19:29:52 wiz Exp $ -->
 
 <chapter id="pkginstall"> <?dbhtml filename="pkginstall.html"?>
 <title>The pkginstall framework</title>
@@ -59,16 +59,32 @@
 path names are not allowed).  Despite this restriction, some packages need
 to install files outside this location; e.g., under
 <filename>${VARBASE}</filename> or
-<filename>${PKG_SYSCONFDIR}</filename>.</para>
-
-<para>The only way to achieve this is to create such files during
-installation time by using the installation scripts.  These scripts can run
-arbitrary commands, so they have the potential to create and manage files
-anywhere in the file system.  Here is where pkginstall comes into play: it
-provides generic scripts to abstract the manipulation of such files and
-directories based on variables set in the package's
-<filename>Makefile</filename>.  The rest of this section describes these
-variables.</para>
+<filename>${PKG_SYSCONFDIR}</filename>.  The only way to achieve this
+is to create such files during installation time by using
+installation scripts.</para>
+
+<para>The generic installation scripts are shell scripts that can
+contain arbitrary code.  The list of scripts to execute is taken from
+the <varname>INSTALL_FILE</varname> variable, which defaults to
+<filename>INSTALL</filename>.  A similar variable exists for package
+removal (<varname>DEINSTALL_FILE</varname>, whose default is
+<filename>DEINSTALL</filename>).  These scripts can run arbitrary
+commands, so they have the potential to create and manage files
+anywhere in the file system.</para>
+
+<para>Using these general installation files is not recommended, but
+may be needed in some special cases.  One reason for avoiding them is
+that the user has to trust the packager that there is no unwanted or
+simply erroneous code included in the installation script. Also,
+previously there were many similar scripts for the same functionality,
+and fixing a common error involved finding and changing all of
+them.</para>
+
+<para>The pkginstall framework offers another, standardized way.  It
+provides generic scripts to abstract the manipulation of such files
+and directories based on variables set in the package's
+<filename>Makefile</filename>.  The rest of this section describes
+these variables.</para>
 
 <!-- ================================================================== -->
 
@@ -432,18 +448,18 @@
     user:group
 </programlisting>
 
-<para>Further specification of user details may be done by setting per-user
-variables.
-<varname>PKG_UID.<replaceable>user</replaceable></varname> is the numeric
-UID for the user.
-<varname>PKG_GECOS.<replaceable>user</replaceable></varname> is the user's
-description or comment.
-<varname>PKG_HOME.<replaceable>user</replaceable></varname> is the user's
-home directory, and defaults to <filename>/nonexistent</filename> if not
-specified.
-<varname>PKG_SHELL.<replaceable>user</replaceable></varname> is the user's
-shell, and defaults to <filename>/sbinno/login</filename> if not specified.
-</para>
+<para>Further specification of user details may be done by setting
+per-user variables.
+<varname>PKG_UID.<replaceable>user</replaceable></varname> is the
+numeric UID for the user.
+<varname>PKG_GECOS.<replaceable>user</replaceable></varname> is the
+user's description or comment.
+<varname>PKG_HOME.<replaceable>user</replaceable></varname> is the
+user's home directory, and defaults to
+<filename>/nonexistent</filename> if not specified.
+<varname>PKG_SHELL.<replaceable>user</replaceable></varname> is the
+user's shell, and defaults to <filename>/sbinno/login</filename> if
+not specified.</para>
 
 <para>Similarly, groups can be created by adding entries to the
 <varname>PKG_GROUPS</varname> variable, whose syntax is:</para>