svn commit: r42918 - head/en_US.ISO8859-1/books/handbook/ports

Dru Lavigne dru at FreeBSD.org
Wed Oct 9 19:08:11 UTC 2013


Author: dru
Date: Wed Oct  9 19:08:10 2013
New Revision: 42918
URL: http://svnweb.freebsd.org/changeset/doc/42918

Log:
  This patch does the following:
  - adds missing introductory explanations and clarifies some
  sections
  - puts portmaster before portupgrade
  - adds instructions for both portmaster/portupgrade where needed
  - moves 5.6.3.1 into an Important box
  
  This will be followed by a subsequent white space fix.
  
  Approved by:	bcr (mentor)

Modified:
  head/en_US.ISO8859-1/books/handbook/ports/chapter.xml

Modified: head/en_US.ISO8859-1/books/handbook/ports/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/ports/chapter.xml	Wed Oct  9 17:23:32 2013	(r42917)
+++ head/en_US.ISO8859-1/books/handbook/ports/chapter.xml	Wed Oct  9 19:08:10 2013	(r42918)
@@ -1315,132 +1315,87 @@ The deinstallation will free 229 kB
 	<secondary>upgrading</secondary>
       </indexterm>
 
-      <para>First, list outdated ports that have a newer version
-	available in the Ports Collection with the &man.pkg.version.1;
-	command:</para>
-
-      <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
-
-      <sect3 id="ports-file-updating">
-	<title>Read <filename>/usr/ports/UPDATING</filename></title>
-
-	<para>Once you have updated your Ports Collection, before
-	  attempting a port upgrade, you should check
-	  <filename>/usr/ports/UPDATING</filename>.  This file
+      <para>Over time, newer versions of software become available
+	in the Ports Collection.  This section describes how to
+	determine which software can be upgraded and how to perform
+	the upgrade.</para>
+
+      <para>To determine if newer versions of installed ports are
+	available, ensure that the latest version of the ports tree
+	is installed, using the updating command described in either
+	Procedure 5.1 or Procedure 5.2.  Then, run this command to
+	get a listing of the ports which are older than the currently
+	available version:</para>
+
+      <screen>&prompt.root; <userinput>pkg_version -l "<"</userinput></screen>
+
+      <important>
+	<para>Before
+	  attempting an upgrade, read
+	  <filename>/usr/ports/UPDATING</filename> from the top of
+	  the file to the date closest to the last time ports were
+	  upgraded or the system was installed.  This file
 	  describes various issues and additional steps users may
 	  encounter and need to perform when updating a port,
 	  including such things as file format changes, changes in
-	  locations of configuration files, or other such
-	  incompatibilities with previous versions.</para>
-
-	<para>If <filename>UPDATING</filename> contradicts something
-	  you read here, <filename>UPDATING</filename> takes
-	  precedence.</para>
-      </sect3>
-
-      <sect3 id="portupgrade">
-	<title>Upgrading Ports Using Portupgrade</title>
-
-	<indexterm>
-	  <primary>portupgrade</primary>
-	</indexterm>
-
-	<para>The <application>portupgrade</application> utility is
-	  designed to easily upgrade installed ports.  It is available
-	  from the <filename
-	    role="package">ports-mgmt/portupgrade</filename> port.
-	  Install it like any other port, using
-	  <command>make <maketarget>install
-	    clean</maketarget></command>:</para>
-
-	<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-	<para>Scan the list of installed ports using
-	  <command>pkgdb -F</command> and fix all the inconsistencies
-	  it reports.  It is a good idea to do this regularly, before
-	  every upgrade.</para>
-
-	<para>Use <command>portupgrade -a</command> to upgrade all the
-	  outdated ports installed on the system.  Include
-	  <option>-i</option> to be asked for confirmation of every
-	  individual upgrade.</para>
-
-	<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
-
-	<para>To upgrade only a specified application instead of all
-	  available ports, use <command>portupgrade
-	    <replaceable>pkgname</replaceable></command>.  Include
-	  <option>-R</option> to first upgrade all the ports required
-	  by the given application.</para>
-
-	<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
-
-	<para>To use packages instead of ports, include the
-	  <option>-P</option> flag.  With this option,
-	  <application>portupgrade</application> searches the local
-	  directories listed in <envar>PKG_PATH</envar>, then fetches
-	  packages from a remote site if not found locally.  If
-	  packages can not be found locally or fetched remotely,
-	  <application>portupgrade</application> will use ports.  To
-	  avoid using ports, specify <option>-PP</option>.</para>
-
-	<screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
-
-	<para>To just fetch distfiles (or packages, if
-	  <option>-P</option> is specified) without building or
-	  installing anything, use <option>-F</option>.  For further
-	  information see &man.portupgrade.1;.</para>
-      </sect3>
+	  locations of configuration files, or any
+	  incompatibilities with previous versions.  Make note of
+	  any instructions which match any of the ports that need
+	  upgrading and follow these instructions when performing
+	  the upgrade.</para>
+      </important>
+
+	<para>To perform the actual upgrade, use either
+	  <application>Portmaster</application> or
+	  <application>Portupgrade</application>.</para>
 
       <sect3 id="portmaster">
 	<title>Upgrading Ports Using
-	  <application>portmaster</application></title>
+	  <application>Portmaster</application></title>
 
 	<indexterm>
 	  <primary>portmaster</primary>
 	</indexterm>
 
-	<para><filename
-	    role="package">ports-mgmt/portmaster</filename> is another
-	  utility for upgrading installed ports.
-	  <application>portmaster</application> was designed to
-	  use the tools found in the <quote>base</quote> system
+	<para>The <filename
+	    role="package">ports-mgmt/portmaster</filename>
+	  package or port is the recommended tool for upgrading installed ports
+	  as it is designed to
+	  use the tools installed with &os;
 	  without depending upon other ports.  It uses the information
 	  in <filename class="directory">/var/db/pkg/</filename> to
-	  determine which ports to upgrade.  To install the
-	  port:</para>
+	  determine which ports to upgrade.  To install this utility
+	  as a port:</para>
 
-	<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmaster</filename></userinput>
+	<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portmaster</userinput>
 &prompt.root; <userinput>make install clean</userinput></screen>
 
-	<para><application>Portmaster</application> groups ports into
-	  four categories:</para>
+	<para><application>Portmaster</application> defines
+	  four categories of ports:</para>
 
 	<itemizedlist>
 	  <listitem>
-	    <para>Root ports: no dependencies and is not depended on
-	      by other ports</para>
+	    <para>Root port: has no dependencies and is not a dependency of
+	      any other ports.</para>
 	  </listitem>
 
 	  <listitem>
-	    <para>Trunk ports: no dependencies, but other ports depend
-	      upon it</para>
+	    <para>Trunk port: has no dependencies, but other ports depend
+	      upon it.</para>
 	  </listitem>
 
 	  <listitem>
-	    <para>Branch ports: have dependencies and are depended
-	      upon by other ports</para>
+	    <para>Branch port: has dependencies and other ports depend
+	      upon it.</para>
 	  </listitem>
 
 	  <listitem>
-	    <para>Leaf ports: have dependencies but are not depended
-	      upon by other ports</para>
+	    <para>Leaf port: has dependencies but no other ports depend
+	      upon it.</para>
 	  </listitem>
 	</itemizedlist>
 
-	<para>To list all installed software and search for updates,
-	  use <option>-L</option>:</para>
+	<para>To list these categories and search for updates:</para>
 
 	<screen>&prompt.root; <userinput>portmaster -L</userinput>
 ===>>> Root ports (No dependencies, not depended on)
@@ -1464,39 +1419,98 @@ The deinstallation will free 229 kB
 ===>>> 137 total installed ports
         ===>>> 83 have new versions available</screen>
 
-	<para>All the installed ports can be upgraded using this
-	  command:</para>
+	<para>This command is used to upgrade all outdated ports:</para>
 
 	<screen>&prompt.root; <userinput>portmaster -a</userinput></screen>
 
 	<note>
-	  <para>By default, <application>portmaster</application> will
+	  <para>By default, <application>Portmaster</application> will
 	    make a backup package before deleting the existing port.
 	    If the installation of the new version is successful,
-	    <application>portmaster</application> will delete the
+	    <application>Portmaster</application> will delete the
 	    backup.  Using <option>-b</option> will instruct
-	    <application>portmaster</application> not to automatically
+	    <application>Portmaster</application> not to automatically
 	    delete the backup.  Adding <option>-i</option> will start
-	    <application>portmaster</application> in interactive mode,
+	    <application>Portmaster</application> in interactive mode,
 	    prompting for confirmation before upgrading each
-	    port.</para>
+	    port.  Many other options are available.  Read through
+	    the manual page for portmaster(8) for details regarding
+	    their usage.</para>
 	</note>
 
-	<para>If you encounter errors during the upgrade process, use
-	  <option>-f</option> to upgrade/rebuild all ports:</para>
+	<para>If errors are encountered during the upgrade process, add
+	  <option>-f</option> to upgrade and rebuild all ports:</para>
 
 	<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
 
-	<para>You can also use <application>portmaster</application>
+	<para><application>Portmaster</application> can also be used
 	  to install new ports on the system, upgrading all
 	  dependencies before building and installing the new
-	  port:</para>
+	  port.  To use this function, specify the location of the
+	  port in the Ports Collection:</para>
 
 	<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>
+	</sect3>
 
-	<para>Refer to &man.portmaster.8; for more information.</para>
+	<sect3 id="portupgrade">
+	<title>Upgrading Ports Using Portupgrade</title>
+
+	<indexterm>
+	  <primary>portupgrade</primary>
+	</indexterm>
+
+	<para>Another utility that can be used to upgrade ports is
+	  <application>Portupgrade</application>, which is
+	  available
+	  as the <filename
+	    role="package">ports-mgmt/portupgrade</filename> package or port.
+	  This utility installs a suite of applications which can be
+	  used to manage ports.  However, it is dependent upon Ruby.
+	  To install the port:</para>
+
+	<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
+
+	<para>Before performing an upgrade using this utility, it is
+	  recommended to scan the list of installed ports using
+	  <command>pkgdb -F</command> and to fix all the inconsistencies
+	  it reports.</para>
+
+	<para>To upgrade all the
+	  outdated ports installed on the system, use <command>portupgrade -a</command>.  Alternately, include
+	  <option>-i</option> to be asked for confirmation of every
+	  individual upgrade:</para>
+
+	<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
+
+	<para>To upgrade only a specified application instead of all
+	  available ports, use <command>portupgrade
+	    <replaceable>pkgname</replaceable></command>.  It is very important to include
+	  <option>-R</option> to first upgrade all the ports required
+	  by the given application:</para>
+
+	<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
+
+	<para>If
+	  <option>-P</option> is included,
+	  <application>Portupgrade</application> searches for available packages in the local
+	  directories listed in <envar>PKG_PATH</envar>.  If none are available locally, it then fetches
+	  packages from a remote site.  If
+	  packages can not be found locally or fetched remotely,
+	  <application>Portupgrade</application> will use ports.  To
+	  avoid using ports entirely, specify <option>-PP</option>.
+	  This last set of options tells <application>Portupgrade</application>
+	  to abort if no packages are available:</para>
+
+	<screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
+
+	<para>To just fetch the port distfiles, or packages, if
+	  <option>-P</option> is specified, without building or
+	  installing anything, use <option>-F</option>.  For further
+	  information on all of the available switches, refer to the
+	  manual page for <command>portupgrade</command>.</para>
       </sect3>
-    </sect2>
+      </sect2>
 
     <sect2 id="ports-disk-space">
       <title>Ports and Disk Space</title>
@@ -1507,33 +1521,41 @@ The deinstallation will free 229 kB
       </indexterm>
 
       <para>Using the Ports Collection will use up disk space over
-	time.  After building and installing a port, <command>make
-	<maketarget>clean</maketarget></command> will clean up the
+	time.  After building and installing a port, running <command>make
+	<maketarget>clean</maketarget></command> within the ports skeleton will clean up the
 	temporary <filename class="directory">work</filename>
-	directory.  To sweep the whole Ports Collection:</para>
+	directory.  If <application>Portmaster</application> is used
+	to install a port, it will automatically remove this directory
+	unless <option>-K</option> is specified.  If
+	<application>Portupgrade</application> is installed, this command
+	will remove all <filename class="directory">work</filename>
+	directories found within the local copy of the Ports
+	Collection:</para>
 
       <screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
 
-      <para>A lot of out-dated source distribution files will collect
-	in <filename class="directory">distfiles</filename> over time.
-	The following command will delete all the distfiles that are
+      <para>In addition, a lot of out-dated source distribution files will collect
+	in <filename class="directory">/usr/ports/distfiles</filename> over time.
+	If <application>Portupgrade</application> is installed, this
+	command will delete all the distfiles that are
 	no longer referenced by any ports:</para>
 
       <screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
 
-      <para>To remove all distfiles not referenced by any port
+      <para>To use <application>Portupgrade</application> to remove all distfiles not referenced by any port
 	currently installed on the system:</para>
 
       <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>
 
-      <note>
-	<para>The <command>portsclean</command> utility is part of the
-	  <filename role="package">ports-mgmt/portupgrade</filename>
-	  suite.</para>
-      </note>
+      <para>If <application>Portmaster</application> is installed, use:</para>
+
+      <screen>&prompt.root; <userinput>portmaster --clean-distfiles</userinput></screen>
+
+      <para>By default, this command is interactive and will prompt
+	the user to confirm if a distfile should be deleted.</para>
 
-      <para><filename
-	  role="package">ports-mgmt/pkg_cutleaves</filename> automates
+      <para>In addition to these commands, the <filename
+	  role="package">ports-mgmt/pkg_cutleaves</filename> package or port automates
 	the task of removing installed ports that are no longer
 	needed.</para>
     </sect2>
@@ -1594,26 +1616,25 @@ The deinstallation will free 229 kB
   <sect1 id="ports-broken">
     <title>Dealing with Broken Ports</title>
 
-    <para>When coming across a port that does not build or
-      install:</para>
+    <para>When a port does not build or
+      install, try the following:</para>
 
     <orderedlist>
       <listitem>
-	<para>Find out if there is a fix pending for the port in
+	<para>Search to see if there is a fix pending for the port in
 	  the <ulink url="&url.base;/support.html#gnats">Problem
-	    Report database</ulink>.  If so, the proposed fix may
-	  work.</para>
+	    Report database</ulink>.  If so, implementing the proposed fix may
+	  fix the issue.</para>
       </listitem>
 
       <listitem>
 	<para>Ask the maintainer of the port for help.  Type
 	  <command>make <maketarget>maintainer</maketarget></command>
-	  or read the <filename>Makefile</filename> to find the
-	  maintainer's email address.  Remember to include the name
-	  and version of the port (send the
-	  <literal>$FreeBSD:</literal> line from the
-	  <filename>Makefile</filename>) and the output leading up to
-	  the error when you email the maintainer.</para>
+	  in the ports skeleton or read the port's <filename>Makefile</filename> to find the
+	  maintainer's email address.  Remember to include the
+	  <literal>$FreeBSD:</literal> line from the port's
+	  <filename>Makefile</filename> and the output leading up to
+	  the error in the email to the maintainer.</para>
 
 	<note>
 	  <para>Some ports are not maintained by an individual but
@@ -1622,33 +1643,34 @@ The deinstallation will free 229 kB
 	    list</ulink>.  Many, but not all, of these addresses look
 	    like <email
 	      role="nolink">freebsd-listname at FreeBSD.org</email>.
-	    Please take this into account when phrasing your
-	    questions.</para>
+	    Take this into account when sending an email.</para>
 
 	  <para>In particular, ports shown as maintained by
 	    <email role="nolink">ports at FreeBSD.org</email> are
-	    actually not maintained by anyone.  Fixes and support, if
-	    any, come from the general community who subscribe to that
+	    not maintained by a specific individual.  Instead, any fixes and support
+	    come from the general community who subscribe to that
 	    mailing list.  More volunteers are always needed!</para>
 	</note>
 
-	<para>If you do not get a response, use &man.send-pr.1; to
-	  submit a bug report (see <ulink
+	<para>If there is no response to the email, use &man.send-pr.1; to
+	  submit a bug report using the instructions in <ulink
 	    url="&url.articles.problem-reports;/article.html">Writing
-	    &os; Problem Reports</ulink>).</para>
+	    &os; Problem Reports</ulink>.</para>
       </listitem>
 
       <listitem>
 	<para>Fix it!  The <ulink
 	    url="&url.books.porters-handbook;/index.html">Porter's
 	    Handbook</ulink> includes detailed information on the
-	  <quote>Ports</quote> infrastructure so that you can fix the
+	  ports infrastructure so that you can fix the
 	  occasional broken port or even submit your own!</para>
       </listitem>
 
       <listitem>
-	<para>Use &man.pkg.add.1; to instead install the
-	  package.</para>
+	<para>Install the package instead of the port using the instructions in
+	  <xref
+	  linkend="packages-using"/> or <xref
+	  linkend="pkgng-intro"/>.</para>
       </listitem>
     </orderedlist>
   </sect1>


More information about the svn-doc-all mailing list