Handbook update for 'make world'

Simon L. Nielsen simon at FreeBSD.org
Thu Jul 22 08:23:05 UTC 2004


On 2004.07.21 12:56:42 -0400, Ken Smith wrote:
> 
> Thoughts?  I *think* the flamewar over this change is finished but it might
> be premature.  But most of this probably should be done regardless IHMO.

First, I think it's good to go over this, since the ambiguity of "make
world" has been discussed before.

> Most of this de-emphasises "make world" in favor of the broken-down
> "make buildworld; make buildkernel; etc" procedure we've been recommending
> for a while now.  There is one significant-ish procedural change, I moved
> the "mergemaster -p" step to be first because there are cases that the
> "make buildworld" step now checks to see if users/groups exist before it
> will even begin compiling stuff...

Are you sure of that?  I'm rather sure that you only need mergemaster -p
before installworld, e.g. since you might be doing cross builds where
you don't want to touch the host environment... UPDATING also has
mergepaster -p before installworld, not before buildworld.

> Index: chapter.sgml
> ===================================================================
> RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v
> retrieving revision 1.203
> diff -u -r1.203 chapter.sgml
> --- chapter.sgml	6 Jul 2004 15:09:54 -0000	1.203
> +++ chapter.sgml	21 Jul 2004 16:49:13 -0000
> @@ -61,7 +61,7 @@
>  	  <application>CTM</application>.</para>
>        </listitem>
>        <listitem><para>How to rebuild and reinstall the entire base
> -      system with <command>make world</command>.</para>
> +      system with <command>make buildworld (etc)</command>.</para>

I think it should be "<command>make buildworld</command> (etc).", since
(etc) really isn't a command... The same appies to other entries in the
patch.

Perhaps it would be better just to write "rebuilding
<quote>world</quote>" or something like that, where that can be used
instead?

>        </listitem>
>  
>      </itemizedlist>
> @@ -536,10 +536,10 @@
>    </sect1>
>  
>    <sect1 id="makeworld">
> -    <title>Using <command>make world</command></title>
> +    <title>Using <command>make buildworld (etc)</command></title>
>  
>      <indexterm>
> -      <primary><command>make world</command></primary>
> +      <primary><command>make buildworld (etc)</command></primary>
>      </indexterm>
>      <para>Once you have synchronized your local source tree against a
>        particular version of &os; (&os.stable;, &os.current;, and so on)
> @@ -556,7 +556,8 @@
>  	when you make mistakes, or when mistakes made by others in the
>  	source tree render your system unbootable.</para>
>  
> -      <para>Make sure you have taken a backup.  And have a fixit floppy to
> +      <para>Make sure you have taken a backup.  And have a fixit floppy or
> +	bootable CD at
>  	hand.  You will probably never have to use it, but it is better to be
>  	safe than sorry!</para>
>      </warning>
> @@ -593,7 +594,8 @@
>        <para>To update your system, you should use the following
>  	procedure:</para>
>  
> -      <screen>&prompt.root; <userinput>make buildworld</userinput>
> +      <screen>&prompt.root; <userinput>mergemaster -p</userinput>
> +&prompt.root; <userinput>make buildworld</userinput>
>  &prompt.root; <userinput>make buildkernel</userinput>
>  &prompt.root; <userinput>make installkernel</userinput>
>  &prompt.root; <userinput>reboot</userinput></screen>
> @@ -602,8 +604,7 @@
>  	<command>boot -s</command> from loader prompt for
>  	example).  Then run:</para>
>  
> -      <screen>&prompt.root; <userinput>mergemaster -p</userinput>
> -&prompt.root; <userinput>make installworld</userinput>
> +      <screen>&prompt.root; <userinput>make installworld</userinput>
>  &prompt.root; <userinput>mergemaster</userinput>
>  &prompt.root; <userinput>reboot</userinput></screen>
>  
> @@ -678,9 +679,11 @@
>  	<filename>/etc/group</filename>.</para>
>  
>        <para>There have been occasions when the installation part of
> -        <quote>make world</quote> has expected certain usernames or groups
> +        <quote>make installworld</quote> has expected certain usernames or groups
>  	to exist.  When performing an upgrade it is likely that these
> -	users or groups did not exist. This caused problems when upgrading.</para>
> +	users or groups did not exist. This caused problems when upgrading.
> +	In some cases <quote>make buildworld</quote> will check to see if
> +	these users or groups exist.</para>
>  
>        <para>A recent example of this is when the
>  	<username>smmsp</username> user was added.  Users had the
> @@ -785,7 +788,7 @@
>  	<filename>/usr/obj</filename>.  The directories shadow those under
>  	<filename>/usr/src</filename>.</para>
>  
> -      <para>You can speed up the <quote>make world</quote> process, and
> +      <para>You can speed up the <quote>make buildworld</quote> process, and
>  	possibly save yourself some dependency headaches by removing this
>  	directory as well.</para>
>  
> @@ -895,7 +898,10 @@
>  	  &os.stable; midway between 2.2.2 and 2.2.5) the
>  	  <maketarget>world</maketarget> target has been split in
>  	  two: <maketarget>buildworld</maketarget> and
> -	  <maketarget>installworld</maketarget>.</para>
> +	  <maketarget>installworld</maketarget>. Beginning with version
                                                ^ Should be double space.

> +	  5.3 of &os the <maketarget>world</maketarget> will be changed
> +	  so it will not work at all by default because it is actually
> +	  dangerous for most users.</para>
>  
>  	<para>As the names imply, <maketarget>buildworld</maketarget>
>  	  builds a complete new tree under <filename>/usr/obj</filename>,
[...]
> @@ -1740,7 +1746,7 @@
>  	<emphasis>build machine</emphasis>.  It is going to be the
>  	machine that the world and kernel are built on. Ideally, it
>  	should be a fast machine that has sufficient spare CPU to
> -	run <command>make world</command>.  You will also want to
> +	run <command>make buildworld (etc)</command>.  You will also want to

How about using "<command>make buildworld</command> and <command>make
buildkernel</command>" in this context - since that what matters for
speeding up build.

-- 
Simon L. Nielsen
FreeBSD Documentation Team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-doc/attachments/20040722/a90dbc1d/attachment.sig>


More information about the freebsd-doc mailing list