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

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



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

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

> revision 1.11
> date: 2006/04/23 00:00:43;  author: jlam;  state: Exp;  lines: +26 -18
> Add two new capabilities to the pkginstall framework:
> 
> (1) Allow specifying the numeric UID and GID for users and groups in
>     /etc/mk.conf by setting PKG_UID.<user> and PKG_GID.<group> to
>     those values.  If these values are specified, then the +USERGROUP
>     script will verify that existing users and groups match the
>     requested UIDs and GIDs for the package, and otherwise create them
>     with these UIDs and GIDs.  For example:
> 
>         PKG_UID.courier=        10001
>         PKG_GID.mail=           6
> 
>     In this example, the courier-authlib binary package will be created
>     to use uid 10001 for the "courier" user and gid 6 for the "mail"
>     group.
> 
> (2) Allow a package to request that users and groups be created prior
>     to configuring or building a package by setting USERGROUP_PHASE
>     to "configure" or "build".  Because the reason for this is typically
>     to hardcode the UIDs and GIDs of requested users and groups directly
>     into the package's executables, these hardcoded values will be
>     automatically determined and put into the +USERGROUP script.  For
>     example:
> 
>         USERGROUP_PHASE=        configure
> 
>         PKG_GROUPS=     qmail nofiles
>         PKG_USERS+=     qmaill:nofiles
>         PKG_USERS+=     qmailq:qmail
> 
>     In this example, the users and groups are created before the
>     configure phase when building qmail, and the qmail binary package's
>     +INSTALL script will try to create (or verify) users and groups
>     with the same UIDs and GIDs that were used during the build.
> 
> As part of these changes, the format for PKG_USERS and PKG_GROUPS has
> changed -- the optional parts of the corresponding entries are no
> longer used and cannot be specified.  Instead, the following variables
> should be set:
> 
>         PKG_GID.<group> is the group's numeric GID.
>         PKG_UID.<user> is the user's numeric UID.
>         PKG_GECOS.<user> is the user's description.
>         PKG_HOME.<user> is the user's home directory.
>         PKG_SHELL.<user> is the user's login shell.
> 
> A separate commit will follow which will fix all packages that set
> PKG_USERS and PKG_GROUPS to use the new syntax and variables.

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

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

--- pkginstall.xml.orig	2006-11-10 23:10:17.000000000 +0900
+++ pkginstall.xml	2006-11-10 23:10:17.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: pkginstall.xml,v 1.10 2006/02/12 14:44:59 rillig Exp $ -->
+<!-- $NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: pkginstall.xml,v 1.10 2006/02/12 14:44:59 rillig Exp   -->
+<!-- NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp   -->
 
 <chapter id="pkginstall"> <?dbhtml filename="pkginstall.html"?>
 <title>pkginstall の枠組</title>
@@ -431,33 +431,43 @@
 
 <para><varname>PKG_USERS</varname> 変数にユーザーのエントリーを追加すると、
 ユーザーを作ることができます。各エントリーは、
-以下のような、<filename>/etc/passwd</filename> に似た書式となります。</para>
+以下のような書式となります。</para>
 
 <programlisting>
-    user:group[:[userid][:[descr][:[home][:shell]]]]
+    user:group
 </programlisting>
 
-<para>user と group だけが必須です。それ以外はなくても構いませんが、
-書く場合はコロンを適切な場所に置く必要があります。
-ホームディレクトリーを指定しなかった場合は
-<filename>/nonexistent</filename> となり、ログインシェルを指定しなかった場合は
-<filename>/sbin/nologin</filename> となります。
-なお、description にスペースが入っている場合は、
-以下のように、バックスラッシュでスペースをエスケープします。</para>
+<para>ユーザーごとに変数を設定して、
+ユーザーの属性をさらに詳しく指定することができます。
+<varname>PKG_UID.<replaceable>user</replaceable></varname> は、
+ユーザーの数字の UID です。
+<varname>PKG_GECOS.<replaceable>user</replaceable></varname> は、
+ユーザーの説明またはコメントです。
+<varname>PKG_HOME.<replaceable>user</replaceable></varname> は、
+ユーザーのホームディレクトリーで、指定しなかった場合は
+<filename>/nonexistent</filename>
+となります。
+<varname>PKG_SHELL.<replaceable>user</replaceable></varname> は、
+ユーザーのシェルで、指定しなかった場合は
+<filename>/sbinno/login</filename> となります。
+</para>
 
-<programlisting>
-    foo:foogrp::The\ Foomister
-</programlisting>
-
-<para>同様にして、<varname>PKG_GROUPS</varname>
-変数を使ってグループを作ることができます。こちらの書式は以下のようになります。</para>
+<para>同様にして、<varname>PKG_GROUPS</varname> 変数にグループのエントリーを追加すると、
+グループを作ることができます。こちらの書式は以下のようになります。</para>
 
 <programlisting>
-    group[:groupid]
+    group
 </programlisting>
 
-<para>ユーザーと同様に、グループ名 (group) だけが必須であり、
-数字のグループ ID はなくても構いません。</para>
+<para><varname>PKG_GID.<replaceable>group</replaceable></varname>
+を定義すると、グループの数字の GID を設定することができます。</para>
+
+<para>もっと前の段階でユーザーやグループを作る必要がある場合は、
+どの相の直後にユーザーやグループを作るかを表すために、
+<varname>USERGROUP_PHASE</varname> を
+<literal>configure</literal> または <literal>build</literal> に設定することができます。
+こうした場合は、作られるユーザーやグループの数字の UID や GID は、
+自動的に最終的なインストール用スクリプトにハードコードされます。</para>
 
 </sect1>
 
Index: pkginstall.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/pkginstall.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- pkginstall.xml	12 Feb 2006 14:44:59 -0000	1.10
+++ pkginstall.xml	23 Apr 2006 00:00:43 -0000	1.11
@@ -1,4 +1,4 @@
-<!-- $NetBSD: pkginstall.xml,v 1.10 2006/02/12 14:44:59 rillig Exp $ -->
+<!-- $NetBSD: pkginstall.xml,v 1.11 2006/04/23 00:00:43 jlam Exp $ -->
 
 <chapter id="pkginstall"> <?dbhtml filename="pkginstall.html"?>
 <title>The pkginstall framework</title>
@@ -426,33 +426,41 @@
 
 <para>Users can be created by adding entries to the
 <varname>PKG_USERS</varname> variable.  Each entry has the following
-syntax, which mimics <filename>/etc/passwd</filename>:</para>
+syntax:</para>
 
 <programlisting>
-    user:group[:[userid][:[descr][:[home][:shell]]]]
+    user:group
 </programlisting>
 
-<para>Only the user and group are required; everything else is optional,
-but the colons must be in the right places when specifying optional bits.
-By default, a new user will have home directory
-<filename>/nonexistent</filename>, and login shell
-<filename>/sbin/nologin</filename> unless they are specified as part of the
-user element.  Note that if the description contains spaces, then spaces
-should be backslash-escaped, as in:</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>
 
-<programlisting>
-    foo:foogrp::The\ Foomister
-</programlisting>
-
-<para>Similarly, groups can be created using the
+<para>Similarly, groups can be created by adding entries to the
 <varname>PKG_GROUPS</varname> variable, whose syntax is:</para>
 
 <programlisting>
-    group[:groupid]
+    group
 </programlisting>
 
-<para>As before, only the group name is required; the numeric identifier is
-optional.</para>
+<para>The numeric GID of the group may be set by defining 
+<varname>PKG_GID.<replaceable>group</replaceable></varname>.</para>
+
+<para>If a package needs to create the users and groups at an earlier
+stage, then it can set <varname>USERGROUP_PHASE</varname> to
+either <literal>configure</literal> or <literal>build</literal> to
+indicate the phase before which the users and groups are created.  In
+this case, the numeric UIDs and GIDs of the created users and groups
+are automatically hardcoded into the final installation scripts.</para>
 
 </sect1>