Bug 36773

Summary: Unclear/inconsistent instructions in Handbook section 19.4.3
Product: Documentation Reporter: Gregory Neil Shapiro <gshapiro>
Component: Books & ArticlesAssignee: Giorgos Keramidas <keramida>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Gregory Neil Shapiro freebsd_committer freebsd_triage 2002-04-05 04:50:01 UTC
Here are excerpts and my commentary (indented) on section 19.4.3 of the
handbook:

19.4.3 Update /etc/group

   : The title of the section is "Update /etc/group".  However, the
   : section describes the need for certain usernames and groups to
   : exist for a make world to succeed.  The title of the section is
   : misleading as it only mentions the group file.

There have been occasions when the installation part of ``make world''
has expected certain usernames or groups to exist. When performing
an upgrade it is likely that these groups did not exist. This caused
problems when upgrading.
   
   : Not only ``make world'', but also ``make installworld''

   : The first sentence says "usernames or groups".  The second sentence
   : only mentions "groups".  Missing usernames cause just as many
   : problems as missing groups.

The most recent example of this is when the ``ppp'' group (later renamed
``network'') was added. Users had the installation process fail for them
when parts of the ppp subsystem were installed using a non-existent (for
them) group name.

   : The new most recent example is the ``smmsp'' username
   : and group, both of which are needed for mtree to create
   : /var/spool/clientmqueue/.

The solution is to examine /usr/src/etc/group and compare its list of
groups with your own. If there are any groups in the new file that are
not in your file then copy them over. Similarly, you should rename any
groups in /etc/group which have the same GID but a different name to
those in /usr/src/etc/group.

   : You should also document merging /usr/src/etc/master.passwd using
   : vipw (so the database files are regenerated properly after the
   : users manually merge the new accounts).

Fix: 

See commentary above.
Comment 1 Giorgos Keramidas freebsd_committer freebsd_triage 2002-05-11 10:17:47 UTC
On 2002-04-04 19:44, Gregory Neil Shapiro wrote:
>
> >Description:
>
> Here are excerpts and my commentary (indented) on section 19.4.3 of the
> handbook:

> 19.4.3 Update /etc/group
>
>    : The title of the section is "Update /etc/group".  However, the
>    : section describes the need for certain usernames and groups to
>    : exist for a make world to succeed.  The title of the section is
>    : misleading as it only mentions the group file.

How about?

	<title>Update the files of <filename>/etc</filename></title>

> There have been occasions when the installation part of ``make world''
> has expected certain usernames or groups to exist. When performing
> an upgrade it is likely that these groups did not exist. This caused
> problems when upgrading.
>    
>    : Not only ``make world'', but also ``make installworld''

That's what it says.  The ``installation part of "make world"'' is the
same as ``installworld''.  I have left this unchanged but if there is
someone that has an idea of a better wording I won't object to
changing it.

>    : The first sentence says "usernames or groups".  The second sentence
>    : only mentions "groups".  Missing usernames cause just as many
>    : problems as missing groups.

See below.

> The most recent example of this is when the ``ppp'' group (later renamed
> ``network'') was added. Users had the installation process fail for them
> when parts of the ppp subsystem were installed using a non-existent (for
> them) group name.
> 
>    : The new most recent example is the ``smmsp'' username
>    : and group, both of which are needed for mtree to create
>    : /var/spool/clientmqueue/.
> 
> The solution is to examine /usr/src/etc/group and compare its list of
> groups with your own. If there are any groups in the new file that are
> not in your file then copy them over. Similarly, you should rename any
> groups in /etc/group which have the same GID but a different name to
> those in /usr/src/etc/group.
> 
>    : You should also document merging /usr/src/etc/master.passwd using
>    : vipw (so the database files are regenerated properly after the
>    : users manually merge the new accounts).

How does this look?

%%%
Index: chapter.sgml
===================================================================
RCS file: /home/ncvs/doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v
retrieving revision 1.120
diff -u -r1.120 chapter.sgml
--- chapter.sgml	4 May 2002 14:22:34 -0000	1.120
+++ chapter.sgml	11 May 2002 09:16:22 -0000
@@ -683,7 +683,7 @@
     </sect2>
 
     <sect2>
-      <title>Update <filename>/etc/group</filename></title>
+      <title>Update the files of <filename>/etc</filename></title>
 
       <para>The <filename>/etc</filename> directory contains a large part
 	of your system's configuration information, as well as scripts
@@ -697,13 +697,13 @@
       <para>There have been occasions when the installation part of
         <quote>make world</quote> has expected certain usernames or groups
 	to exist.  When performing an upgrade it is likely that these
-	groups did not exist. This caused problems when upgrading.</para>
+	users or groups did not exist. This caused problems when upgrading.</para>
 
-      <para>The most recent example of this is when the <quote/ppp/ group
-	(later renamed <quote/network/) was added.  Users had the
-	installation process fail for them when parts of the
-	<filename>ppp</filename> subsystem were installed using a
-	non-existent (for them) group name.</para>
+      <para>The most recent example of this is when the
+	<username>smmsp</username> user was added.  Users had the
+	installation process fail for them when
+	<command>mtree</command> was trying to create
+	<filename>/var/spool/clientmqueue</filename>.</para>
 
       <para>The solution is to examine
 	<filename>/usr/src/etc/group</filename> and compare its list of
@@ -711,7 +711,14 @@
 	are not in your file then copy them over.  Similarly, you should
 	rename any groups in <filename>/etc/group</filename> which have
 	the same GID but a different name to those in
-	<filename>/usr/src/etc/group</filename>.</para>
+	<filename>/usr/src/etc/group</filename>.  You should also
+	merge any changes from
+	<filename>/usr/src/etc/master.passwd</filename> into your
+	existing <filename>/etc/master.passwd</filename> with
+	&man.vipw.8;.  Always use &man.vipw.8; to make the merge to
+	<filename>/etc/master.passwd</filename>, since &man.vipw.8;
+	makes sure that the proper database files are rebuilt after
+	the merge.</para>
 
       <tip>
 	<para>If you are feeling particularly paranoid, you can check your
%%%

Giorgos Keramidas                       FreeBSD Documentation Project
keramida@{freebsd.org,ceid.upatras.gr}  http://www.FreeBSD.org/docproj/
Comment 2 Giorgos Keramidas freebsd_committer freebsd_triage 2002-05-12 01:51:38 UTC
State Changed
From-To: open->closed

Changes from Martin's suggestions merged, and the rest committed as it 
appears in the audit trail.  Greg, thank you for spotting this :) 


Comment 3 Giorgos Keramidas freebsd_committer freebsd_triage 2002-05-12 01:51:38 UTC
Responsible Changed
From-To: freebsd-doc->keramida