[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgsrc/doc/guide/files/faq.xml: 1.12 -> 1.13
以下のページの更新をしました。ツッコミをお願いします。
pkgsrc/doc/guide/files/faq.xml: 1.12 -> 1.13
> revision 1.13
> date: 2005/06/03 12:27:48; author: jmmv; state: Exp; lines: +22 -91
> Add a new chapter describing the pkginstall framework.
> As a side effect, a question in the FAQ is simplified and several sections
> from the "fixes" chapter are removed.
月曜日までに異議がなければ、 commit します。
以下、訳と原文それぞれの新旧の差分です。
--- faq.xml.orig 2006-09-30 00:55:35.000000000 +0900
+++ faq.xml 2006-09-30 00:55:35.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: faq.xml,v 1.12 2005/06/01 15:49:44 jmmv Exp $ -->
+<!-- $NetBSD: faq.xml,v 1.13 2005/06/03 12:27:48 jmmv Exp $ -->
<!-- Based on english version: -->
-<!-- NetBSD: faq.xml,v 1.12 2005/06/01 15:49:44 jmmv Exp -->
+<!-- NetBSD: faq.xml,v 1.13 2005/06/03 12:27:48 jmmv Exp -->
<chapter id="faq"> <?dbhtml filename="faq.html"?>
<title>よくある質問</title>
@@ -456,100 +456,29 @@
<!-- ================================================================== -->
<sect1 id="faq.conf">
-<title>設定ファイルの処理および配置</title>
+<title>設定ファイルの置き場所を変更する方法は?</title>
-<para>大域変数<varname>PKG_SYSCONFBASE</varname>(とその他の変数)を、
-システム管理者が<filename>/etc/mk.conf</filename>で設定すると、
-設定ファイルのインストール場所を定義することができます。このため、
-各パッケージはこの機能に対応する必要があります。
-この変数で定義される設定ファイル用ディレクトリーには、
-本当に必要なファイルだけをインストールするようにし、
-<filename>$PREFIX/share</filename>に置いてもよいファイルはそちらにインストールするよう
-注意してください。</para>
-
-<para>まず、利用可能な変数をお見せします
-(<filename>bsd.pkg.mk</filename>に、さらに詳しい情報があります)。
-<varname>PKG_SYSCONFDIR</varname>が、
-パッケージの設定ファイルが置かれる場所になります(これはフルパスです。
-たとえば、<filename>/etc</filename>や<filename>/usr/pkg/etc</filename>になります)。
-この変数値は、さまざまな方法によってカスタマイズすることができます:</para>
+<para>システム管理者は、設定ファイルがインストールされる場所を選ぶことができます。
+標準の設定では、設定ファイルはすべて <filename>${PREFIX}/etc</filename>
+またはそのサブディレクトリー以下にインストールされます。
+設定ファイルのインストール先は、あなたの都合 (たとえば、
+NFS でエクスポートされた読み込み専用の <varname>PREFIX</varname>
+で、パッケージの設定をマシン毎にする必要がある場合)
+にあわせて調整することができます。</para>
+
+<para>標準の設定を変えるために、(<filename>/etc/mk.conf</filename>
+で) <varname>PKG_SYSCONFBASE</varname> 変数を、
+好みの設定用ディレクトリーを指すように変えることができます。
+一般的な設定例としては、<filename>/etc</filename> や
+<filename>/etc/pkg</filename> などがあります。</para>
+
+<para>さらに、<varname>PKG_SYSCONFDIR.${PKG_SYSCONFVAR}</varname>
+変数を設定することで、パッケージ毎に設定用ディレクトリーを変更することができます。
+<varname>PKG_SYSCONFVAR</varname> の値は、通常は変更対象のパッケージ名に合わせたもの、
+つまり、<varname>PKGBASE</varname> の値にします。</para>
-<orderedlist>
-
- <listitem>
- <para><varname>PKG_SYSCONFBASE</varname>は主たる設定ディレクトリーで、
- パッケージ用の設定ファイルすべてがこれ以下に置かれます。ユーザーは普通は
- <varname>PKG_SYSCONFBASE</varname>を<filename>/etc</filename>に設定するか、
- デフォルトの場所の <filename>$PREFIX/etc</filename>のままにするでしょう。</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFSUBDIR</varname> は
- <varname>PKG_SYSCONFBASE</varname> のサブディレクトリーで、
- 個々のパッケージ用の設定ファイルはこの下に置かれます。
- デフォルトでは<varname>${SYSCONFBASE}</varname>になります。</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFVAR</varname>は、
- 個々のパッケージの設定を上書きする値を識別するための、特別な接尾辞です
- (次の項目参照)。デフォルトでは<varname>${PKGBASE}</varname>になりますが、
- <varname>PKG_SYSCONFDIR</varname>を同じに揃えておくとよい一連の関連パッケージに対しては、
- 各パッケージのMakefileで、
- <varname>PKG_SYSCONFVAR</varname>を同じ値に設定することができます。</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFDIR.${PKG_SYSCONFVAR}</varname>は、
- 同じ<varname>PKG_SYSCONFVAR</varname>を持つパッケージの
- <varname>${PKG_SYSCONFDIR}</varname>を上書きします。</para>
-
- <para>たとえば、KDE関連の各パッケージでは、
- <varname>PKG_SYSCONFVAR</varname>を<quote>kde</quote>に設定すると
- よいでしょう。こうしておくと、管理者が<filename>/etc/mk.conf</filename>で
- <varname>PKG_SYSCONFDIR.kde</varname>を設定して、KDEの設定ファイルのインストール場所を
- 定義できるようになります。</para>
- </listitem>
-
-</orderedlist>
-
-<para>プログラムの設定ディレクトリーは、configureの段階で定義します。
-GNU autoconf を使うパッケージでは、通常は
-<quote>--sysconfdir</quote>のパラメーターを使って定義することができますが、
-この方法は問題を起こすことがわかっています。このパス名をパッケージ側で変更する場合は、
-ファイルをディレクトリーに直接インストールしないようにします。
-そうするかわりに、ファイルを<filename>share/examples/${PKGNAME}</filename>
-以下にインストールして、
-<filename>PLIST</filename>にそちらを登録できるようにする必要があります。</para>
-
-<para>必要な設定ファイルを適切な場所(<filename>share/examples</filename>
-ディレクトリー以下)に一旦置いてから、
-この設定ファイルを<varname>PKG_SYSCONFDIR</varname>にコピーするために、
-<varname>CONF_FILES</varname>変数を設定します。
-この変数の値は、ファイル名を二個組み合わせたものを並べたものです;
-組合せの一つ目で、examplesディレクトリー内のファイル(<filename>PLIST</filename>に登録されているもの)
-を指定し、二つ目で、それをコピーする先のファイルを指定します。
-これにより、バイナリーパッケージが、自動生成される
-<filename>INSTALL</filename>/<filename>DEINSTALL</filename>スクリプトを使って、
-ファイルを正しいディレクトリーに配置することが可能になります。
-また、この自動生成されるスクリプトを使うために、パッケージの<filename>Makefile</filename>で
-<varname>USE_PKGINSTALL=YES</varname> を設定しなければなりません。
-設定ファイルの自動コピーは、パッケージをインストールする前に環境変数
-<varname>PKG_CONFIG</varname>を設定しておくことで、
-おこなうかどうかを切替えることができます。</para>
-
-<para><filename>mail/mutt/Makefile</filename>
-での例を示します:</para>
-
-<programlisting>EGDIR= ${PREFIX}/share/doc/mutt/samples
-CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc</programlisting>
-
-<para>ご覧のとおり、このパッケージは設定ファイルを
-<varname>EGDIR</varname>にインストールし、この場所が
-<filename>PLIST</filename>に登録されます。その後、
-<varname>CONF_FILES</varname>変数に、はじめにインストールされたファイルと、
-そのコピー先ファイルを列挙します。ファイルがこの方法でインストールされる時には、
-パッケージの利用者にメッセージを自動的に表示します。</para>
+<para>なお、この設定を変更した後は、影響を受けるパッケージをすべて再構築し、
+再インストールする必要があります。</para>
</sect1>
Index: faq.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/faq.xml,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- faq.xml 1 Jun 2005 15:49:44 -0000 1.12
+++ faq.xml 3 Jun 2005 12:27:48 -0000 1.13
@@ -1,4 +1,4 @@
-<!-- $NetBSD: faq.xml,v 1.12 2005/06/01 15:49:44 jmmv Exp $ -->
+<!-- $NetBSD: faq.xml,v 1.13 2005/06/03 12:27:48 jmmv Exp $ -->
<chapter id="faq"> <?dbhtml filename="faq.html"?>
<title>Frequently Asked Questions</title>
@@ -458,98 +458,29 @@
<!-- ================================================================== -->
<sect1 id="faq.conf">
-<title>Configuration files handling and placement</title>
+<title>How do I change the location of configuration files?</title>
-<para>The global variable <varname>PKG_SYSCONFBASE</varname> (and some
-others) can be set by the system administrator in
-<filename>/etc/mk.conf</filename> to define the place where configuration
-files get installed. Therefore, packages must be adapted to support this
-feature. Keep in mind that you should only install files that are strictly
-necessary in the configuration directory, files that can go to
-<filename>$PREFIX/share</filename> should go there.</para>
-
-<para>We will take a look at available variables first
-(<filename>bsd.pkg.mk</filename> contains more information).
-<varname>PKG_SYSCONFDIR</varname> is where the configuration files for a
-package may be found (that is, the full path, e.g.
-<filename>/etc</filename> or <filename>/usr/pkg/etc</filename>). This value
-may be customized in various ways:</para>
+<para>As the system administrator, you can choose where configuration files
+are installed. The default settings make all these files go into
+<filename>${PREFIX}/etc</filename> or some of its subdirectories; this may
+be suboptimal depending on your expectations (e.g., a read-only,
+NFS-exported <varname>PREFIX</varname> with a need of per-machine
+configuration of the provided packages).</para>
+
+<para>In order to change the defaults, you can modify the
+<varname>PKG_SYSCONFBASE</varname> variable (in
+<filename>/etc/mk.conf</filename>) to point to your preferred configuration
+directory; some common examples include <filename>/etc</filename> or
+<filename>/etc/pkg</filename>.</para>
+
+<para>Furthermore, you can change this value on a per-package basis by
+setting the <varname>PKG_SYSCONFDIR.${PKG_SYSCONFVAR}</varname> variable.
+<varname>PKG_SYSCONFVAR</varname>'s value usually matches the name of the
+package you would like to modify, that is, the contents of
+<varname>PKGBASE</varname>.</para>
-<orderedlist>
-
- <listitem>
- <para><varname>PKG_SYSCONFBASE</varname> is the main config directory
- under which all package configuration files are to be found. Users will
- typically want to set it to <filename>/etc</filename>, or accept the
- default location of <filename>$PREFIX/etc</filename>.</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFSUBDIR</varname> is the subdirectory of
- <varname>PKG_SYSCONFBASE</varname> under which the configuration files
- for a particular package may be found. Defaults to
- <varname>${SYSCONFBASE}</varname>.</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFVAR</varname> is the special suffix used to
- distinguish any overriding values for a particular package (see next
- item). It defaults to <varname>${PKGBASE}</varname>, but for a
- collection of related packages that should all have the same
- <varname>PKG_SYSCONFDIR</varname> value, it can be set in each of the
- package Makefiles to a common value.</para>
- </listitem>
-
- <listitem>
- <para><varname>PKG_SYSCONFDIR.${PKG_SYSCONFVAR}</varname> overrides the
- value of <varname>${PKG_SYSCONFDIR}</varname> for packages with the
- same value for <varname>PKG_SYSCONFVAR</varname>.</para>
-
- <para>As an example, all the various KDE packages may want to set
- <varname>PKG_SYSCONFVAR</varname> to <quote>kde</quote> so admins can
- set <varname>PKG_SYSCONFDIR.kde</varname> in
- <filename>/etc/mk.conf</filename> to define where to install KDE config
- files.</para>
- </listitem>
-
-</orderedlist>
-
-<para>Programs' configuration directory should be defined during the
-configure stage. Packages that use GNU autoconf can usually do this by
-using the <quote>--sysconfdir</quote> parameter, but this brings some
-problems as we will see now. When you change this pathname in packages,
-you should not allow them to install files in that directory directly.
-Instead they need to install those files under
-<filename>share/examples/${PKGNAME}</filename> so
-<filename>PLIST</filename> can register them.</para>
-
-<para>Once you have the required configuration files in place (under the
-<filename>share/examples</filename> directory) the variable
-<varname>CONF_FILES</varname> should be set to copy them into
-<varname>PKG_SYSCONFDIR</varname>. The contents of this variable is formed
-by pairs of filenames; the first element of the pair specifies the file
-inside the examples directory (registered by <filename>PLIST</filename>)
-and the second element specifies the target file. This is done this way to
-allow binary packages to place files in the right directory using
-<filename>INSTALL</filename>/<filename>DEINSTALL</filename> scripts which
-are created automatically. The package <filename>Makefile</filename> must
-also set <varname>USE_PKGINSTALL=YES</varname> to use these automatically
-generated scripts. The automatic copying of config files can be toggled by
-setting the environment variable <varname>PKG_CONFIG</varname> prior to
-package installation.</para>
-
-<para>Here is an example, taken from
-<filename>mail/mutt/Makefile</filename>:</para>
-
-<programlisting>EGDIR= ${PREFIX}/share/doc/mutt/samples
-CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc</programlisting>
-
-<para>As you can see, this package installs configuration files inside
-<varname>EGDIR</varname>, which are registered by
-<filename>PLIST</filename>. After that, the variable
-<varname>CONF_FILES</varname> lists the installed file first and then the
-target file. Users will also get an automatic message when files are
-installed using this method.</para>
+<para>Note that, after changing these settings, you must rebuild and
+reinstall any affected packages.</para>
</sect1>