Wrap paragraphs. Whitespace change only. Translators please ignore.
This commit is contained in:
		
							parent
							
								
									7d0800c30d
								
							
						
					
					
						commit
						5c30ad1cac
					
				
				
				Notes:
				
					svn2git
				
				2020-12-08 03:00:23 +00:00 
				
			
			svn path=/head/; revision=17022
					 1 changed files with 324 additions and 281 deletions
				
			
		|  | @ -91,27 +91,30 @@ | |||
|       third party applications have been made available in this | ||||
|       way.</para> | ||||
| 
 | ||||
|     <para>For any given application, the FreeBSD package for that application | ||||
|       is a single file which you must download.  The package contains | ||||
|       pre-compiled copies of all the commands for the application, as well as | ||||
|       any configuration files or documentation.  A downloaded package file can | ||||
|       be manipulated with FreeBSD package management commands, such as | ||||
|       &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;, and so on.</para> | ||||
|     <para>For any given application, the FreeBSD package for that | ||||
|       application is a single file which you must download.  The | ||||
|       package contains pre-compiled copies of all the commands for the | ||||
|       application, as well as any configuration files or | ||||
|       documentation.  A downloaded package file can be manipulated | ||||
|       with FreeBSD package management commands, such as | ||||
|       &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;, and so | ||||
|       on.</para> | ||||
| 
 | ||||
|     <para>Installing a new application can be carried out with a single | ||||
|       command.</para> | ||||
| 
 | ||||
|     <para>A FreeBSD port for an application is a collection of files designed | ||||
|       to automate the process of compiling an application from source | ||||
|       code.</para> | ||||
|     <para>A FreeBSD port for an application is a collection of files | ||||
|       designed to automate the process of compiling an application | ||||
|       from source code.</para> | ||||
| 
 | ||||
|     <para>Remember that there are a number of steps you would normally carry | ||||
|       out if you compiled a program yourself (downloading, unpacking, patching, compiling, | ||||
|       installing).  The files that make up a port contain all the necessary | ||||
|       information to allow the system to do this for you.  You run a handful | ||||
|       of simple commands and the source code for the application is | ||||
|       automatically downloaded, extracted, patched, compiled, and installed | ||||
|       for you.</para> | ||||
|     <para>Remember that there are a number of steps you would normally | ||||
|       carry out if you compiled a program yourself (downloading, | ||||
|       unpacking, patching, compiling, installing).  The files that | ||||
|       make up a port contain all the necessary information to allow | ||||
|       the system to do this for you.  You run a handful of simple | ||||
|       commands and the source code for the application is | ||||
|       automatically downloaded, extracted, patched, compiled, and | ||||
|       installed for you.</para> | ||||
| 
 | ||||
|     <para>In fact, the ports system can also be used to generate packages | ||||
|       which can later be manipulated with <command>pkg_add</command> | ||||
|  | @ -119,32 +122,35 @@ | |||
|       shortly.</para> | ||||
| 
 | ||||
|     <para>Both packages and ports understand | ||||
|       <emphasis>dependencies</emphasis>.  Suppose you want to install an | ||||
|       application that depends on a specific library being installed.  Both | ||||
|       the application and the library have been made available as FreeBSD | ||||
|       ports and packages.  If you use the <command>pkg_add</command> command | ||||
|       or the ports system to add the application, both will notice that the | ||||
|       library has not been installed, and automatically install the | ||||
|       library first.</para> | ||||
|       <emphasis>dependencies</emphasis>.  Suppose you want to install | ||||
|       an application that depends on a specific library being | ||||
|       installed.  Both the application and the library have been made | ||||
|       available as FreeBSD ports and packages.  If you use the | ||||
|       <command>pkg_add</command> command or the ports system to add | ||||
|       the application, both will notice that the library has not been | ||||
|       installed, and automatically install the library first.</para> | ||||
| 
 | ||||
|     <para>Given that the two technologies are quite similar, you might be | ||||
|       wondering why FreeBSD bothers with both.  Packages and ports both have | ||||
|       their own strengths, and which one you use will depend on your own | ||||
|       preference.</para> | ||||
|     <para>Given that the two technologies are quite similar, you might | ||||
|       be wondering why FreeBSD bothers with both.  Packages and ports | ||||
|       both have their own strengths, and which one you use will depend | ||||
|       on your own preference.</para> | ||||
| 
 | ||||
|     <itemizedlist> | ||||
|       <title>Package Benefits</title> | ||||
|        | ||||
|       <listitem> | ||||
| 	<para>A compressed package tarball is typically smaller than the | ||||
| 	  compressed tarball containing the source code for the application.</para> | ||||
| 	<para>A compressed package tarball is typically smaller than | ||||
| 	  the compressed tarball containing the source code for the | ||||
| 	  application.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Packages do not require any additional compilation.  For large | ||||
| 	  applications, such as <application>Mozilla</application>, | ||||
| 	  <application>KDE</application>, or <application>GNOME</application> | ||||
| 	  this can be important, particularly if you are on a slow system.</para> | ||||
| 	<para>Packages do not require any additional compilation.  For | ||||
| 	  large applications, such as | ||||
| 	  <application>Mozilla</application>, | ||||
| 	  <application>KDE</application>, or | ||||
| 	  <application>GNOME</application> this can be important, | ||||
| 	  particularly if you are on a slow system.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
|  | @ -165,21 +171,22 @@ | |||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Some applications have compile time options relating to what they | ||||
| 	  can and cannot do.  For example, <application>Apache</application> | ||||
| 	  can be configured with a wide variety of different built-in options. | ||||
| 	  By building from the port you do not have to accept the default | ||||
| 	  options, and can set them yourself.</para> | ||||
| 	<para>Some applications have compile time options relating to | ||||
| 	  what they can and cannot do.  For example, | ||||
| 	  <application>Apache</application> can be configured with a | ||||
| 	  wide variety of different built-in options.  By building | ||||
| 	  from the port you do not have to accept the default options, | ||||
| 	  and can set them yourself.</para> | ||||
| 
 | ||||
| 	<para>In some cases, multiple packages will exist for the same | ||||
| 	  application to specify certain settings.  For example, | ||||
| 	  <application>Ghostscript</application> is available as a | ||||
| 	  <filename>ghostscript</filename> package and a | ||||
| 	  <filename>ghostscript-nox11</filename> package, depending on whether | ||||
| 	  or not you have installed an X11 server.  This sort of rough | ||||
| 	  tweaking is possible with packages, but rapidly becomes impossible | ||||
| 	  if an application has more than one or two different compile time | ||||
| 	  options.</para> | ||||
| 	  <filename>ghostscript-nox11</filename> package, depending on | ||||
| 	  whether or not you have installed an X11 server.  This sort | ||||
| 	  of rough tweaking is possible with packages, but rapidly | ||||
| 	  becomes impossible if an application has more than one or | ||||
| 	  two different compile time options.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
|  | @ -189,9 +196,9 @@ | |||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Some people do not trust binary distributions.  At least with | ||||
| 	  source code, you can (in theory) read through it and look for | ||||
| 	  potential problems yourself.</para> | ||||
| 	<para>Some people do not trust binary distributions.  At least | ||||
| 	  with source code, you can (in theory) read through it and | ||||
| 	  look for potential problems yourself.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
|  | @ -200,17 +207,18 @@ | |||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Some people like having code around, so they can read it if they | ||||
| 	  get bored, hack it, borrow from it (license permitting, of course), | ||||
| 	  and so on.</para> | ||||
| 	<para>Some people like having code around, so they can read it | ||||
| 	  if they get bored, hack it, borrow from it (license | ||||
| 	  permitting, of course), and so on.</para> | ||||
|       </listitem> | ||||
|     </itemizedlist> | ||||
| 
 | ||||
|     <para>To keep track of updated ports, subscribe to the | ||||
|       &a.ports; and the &a.ports-bugs;.</para> | ||||
| 
 | ||||
|     <para>The remainder of this chapter will explain how to use packages and | ||||
|       ports to install and manage third party software on FreeBSD.</para> | ||||
|     <para>The remainder of this chapter will explain how to use | ||||
|       packages and ports to install and manage third party software on | ||||
|       FreeBSD.</para> | ||||
|   </sect1> | ||||
| 
 | ||||
|   <sect1 id="ports-finding-applications"> | ||||
|  | @ -220,14 +228,14 @@ | |||
|       want, and what the application is called.</para> | ||||
| 
 | ||||
|     <para>FreeBSD's list of available applications is growing all the | ||||
|       time.  Fortunately, there are a number of ways to | ||||
|       find what you want:</para> | ||||
|       time.  Fortunately, there are a number of ways to find what you | ||||
|       want:</para> | ||||
| 
 | ||||
|     <itemizedlist> | ||||
|       <listitem> | ||||
| 	<para>The FreeBSD web site maintains an up-to-date searchable list of | ||||
| 	  all the available applications, at | ||||
| 	  <ulink url="../../../../ports/index.html">http://www.FreeBSD.org/ports/</ulink>. | ||||
| 	<para>The FreeBSD web site maintains an up-to-date searchable | ||||
| 	  list of all the available applications, at <ulink | ||||
| 	  url="../../../../ports/index.html">http://www.FreeBSD.org/ports/</ulink>. | ||||
| 	  The ports are divided into categories, and you may either | ||||
| 	  search for an application by name (if you know it), or see | ||||
| 	  all the applications available in a category.</para> | ||||
|  | @ -236,21 +244,21 @@ | |||
|       <indexterm><primary>FreshPorts</primary></indexterm> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Dan Langille maintains FreshPorts, at | ||||
| 	  <ulink url="http://www.FreshPorts.org/"></ulink>. | ||||
| 	  FreshPorts tracks changes to the applications in the ports tree as | ||||
| 	  they happen, allows you to <quote>watch</quote> one or more | ||||
| 	<para>Dan Langille maintains FreshPorts, at <ulink | ||||
| 	  url="http://www.FreshPorts.org/"></ulink>.  FreshPorts | ||||
| 	  tracks changes to the applications in the ports tree as they | ||||
| 	  happen, allows you to <quote>watch</quote> one or more | ||||
| 	  ports, and can send you email when they are updated.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <indexterm><primary>FreshMeat</primary></indexterm> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>If you do not know the name of the application you want, try | ||||
| 	  using a site like FreshMeat | ||||
| 	  (<ulink url="http://www.freshmeat.net/"></ulink>) | ||||
| 	  to find an application, then check back at the FreeBSD site to see | ||||
| 	  if the application has been ported yet.</para> | ||||
| 	<para>If you do not know the name of the application you want, | ||||
| 	  try using a site like FreshMeat (<ulink | ||||
| 	  url="http://www.freshmeat.net/"></ulink>) to find an | ||||
| 	  application, then check back at the FreeBSD site to see if | ||||
| 	  the application has been ported yet.</para> | ||||
|       </listitem> | ||||
|     </itemizedlist> | ||||
|   </sect1> | ||||
|  | @ -313,43 +321,45 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz | |||
| 
 | ||||
|       <para>If you do not have a source of local packages (such as a | ||||
|         FreeBSD CD-ROM set) then it will probably be easier to use the | ||||
|         <option>-r</option> option to &man.pkg.add.1;.  This will cause the utility to | ||||
|         automatically determine the correct object format and release | ||||
|         and then fetch and install the package from an FTP site. | ||||
|         <option>-r</option> option to &man.pkg.add.1;.  This will | ||||
|         cause the utility to automatically determine the correct | ||||
|         object format and release and then fetch and install the | ||||
|         package from an FTP site. | ||||
|       </para> | ||||
| 
 | ||||
|       <indexterm> | ||||
|         <primary><command>pkg_add</command></primary></indexterm> | ||||
|       <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen> | ||||
| 
 | ||||
|       <para>The example above would download the correct package and add  | ||||
| 	it without any further user intervention.  &man.pkg.add.1; uses  | ||||
| 	  &man.fetch.3; to download the files, which honors various  | ||||
| 	environment variables, including <envar>FTP_PASSIVE_MODE</envar>,  | ||||
| 	<envar>FTP_PROXY</envar>, and <envar>FTP_PASSWORD</envar>.  You  | ||||
| 	may need to set one or more of these if you are behind a firewall,  | ||||
| 	or need to use an FTP/HTTP proxy.  See &man.fetch.3; for the  | ||||
| 	complete list.  You can also note that in the example above | ||||
|       <para>The example above would download the correct package and | ||||
| 	add it without any further user intervention.  &man.pkg.add.1; | ||||
| 	uses &man.fetch.3; to download the files, which honors various | ||||
| 	environment variables, including | ||||
| 	<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, and | ||||
| 	<envar>FTP_PASSWORD</envar>.  You may need to set one or more | ||||
| 	of these if you are behind a firewall, or need to use an | ||||
| 	FTP/HTTP proxy.  See &man.fetch.3; for the complete list.  You | ||||
| 	can also note that in the example above | ||||
| 	<literal>lsof</literal> is used instead of | ||||
| 	<literal>lsof-4.56.4</literal>.  When the remote fetching | ||||
| 	feature is used, the version number of the package must be | ||||
| 	removed.  &man.pkg.add.1; will automatically fetch the latest | ||||
| 	version of the application.</para> | ||||
| 
 | ||||
|       <para>Package files are distributed in <filename>.tgz</filename> format.  You can | ||||
|           find them at <ulink | ||||
|       <para>Package files are distributed in <filename>.tgz</filename> | ||||
|           format.  You can find them at <ulink | ||||
|           url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>, | ||||
|           or on the FreeBSD CD-ROM distribution.  Every CD on the | ||||
|           FreeBSD 4-CD set (and the PowerPak, etc.) contains packages in | ||||
|           the <filename>/packages</filename> directory.  The layout of | ||||
|           the packages is similar to that of the | ||||
|           FreeBSD 4-CD set (and the PowerPak, etc.) contains packages | ||||
|           in the <filename>/packages</filename> directory.  The layout | ||||
|           of the packages is similar to that of the | ||||
|           <filename>/usr/ports</filename> tree.  Each category has its | ||||
|           own directory, and every package can be found within the | ||||
|           <filename>All</filename> directory. | ||||
|       </para> | ||||
| 
 | ||||
|       <para>The directory structure of the package system matches | ||||
|         the ports layout; they work with each other to form the entire | ||||
|       <para>The directory structure of the package system matches the | ||||
|         ports layout; they work with each other to form the entire | ||||
|         package/port system. | ||||
|       </para> | ||||
| 
 | ||||
|  | @ -386,8 +396,8 @@ docbook                     = | |||
| ...</screen> | ||||
| 
 | ||||
|       <para>The symbols in the second column indicate the relative age | ||||
|       of the installed version and the version available in the local | ||||
|       ports tree.</para> | ||||
|         of the installed version and the version available in the | ||||
|         local ports tree.</para> | ||||
| 
 | ||||
|       <informaltable frame="none"> | ||||
|         <tgroup cols="2"> | ||||
|  | @ -462,15 +472,16 @@ docbook                     = | |||
|       <title>Obtaining the Ports Collection</title> | ||||
| 
 | ||||
|       <para>Before you can install ports, you must first obtain the | ||||
| 	ports collection—which is essentially a set of <filename>Makefiles</filename>, | ||||
| 	patches, and description files placed in | ||||
| 	<filename>/usr/ports</filename>. | ||||
| 	ports collection—which is essentially a set of | ||||
| 	<filename>Makefiles</filename>, patches, and description files | ||||
| 	placed in <filename>/usr/ports</filename>. | ||||
|       </para> | ||||
| 
 | ||||
|       <para>When installing your FreeBSD system, | ||||
| 	<application>Sysinstall</application> asked if you would like to | ||||
| 	install the ports collection.  If you chose no, you can follow | ||||
| 	these instructions to obtain the ports collection:</para> | ||||
| 	<application>Sysinstall</application> asked if you would like | ||||
| 	to install the ports collection.  If you chose no, you can | ||||
| 	follow these instructions to obtain the ports | ||||
| 	collection:</para> | ||||
| 
 | ||||
|       <procedure> | ||||
| 	<title>Sysinstall Method</title> | ||||
|  | @ -541,7 +552,8 @@ docbook                     = | |||
| 	  mentioned sections.</para> | ||||
| 
 | ||||
| 	<step> | ||||
| 	  <para>Install the <filename role="package">net/cvsup</filename> port.  See <link | ||||
| 	  <para>Install the <filename | ||||
| 	      role="package">net/cvsup</filename> port.  See <link | ||||
| 	      linkend="cvsup-install">CVSup Installation</link> (<xref | ||||
| 	      linkend="cvsup-install">) for more details.</para> | ||||
| 	</step> | ||||
|  | @ -572,9 +584,9 @@ docbook                     = | |||
| 	</step> | ||||
| 
 | ||||
| 	<step> | ||||
| 	  <para>Running this command later will | ||||
| 	    download and apply all the recent changes to your ports | ||||
| 	    collection, except actually rebuilding the ports for your own system.</para> | ||||
| 	  <para>Running this command later will download and apply all | ||||
| 	    the recent changes to your ports collection, except | ||||
| 	    actually rebuilding the ports for your own system.</para> | ||||
| 	</step> | ||||
|       </procedure> | ||||
|     </sect2> | ||||
|  | @ -586,35 +598,38 @@ docbook                     = | |||
|         <primary>ports</primary> | ||||
|         <secondary>installing</secondary> | ||||
|       </indexterm> | ||||
|       <para>The first thing that should be explained | ||||
|         when it comes to the ports collection is what is actually meant | ||||
| 	by a <quote>skeleton</quote>.  In a nutshell, a port skeleton is a | ||||
| 	minimal set of files that tell your FreeBSD system how to | ||||
|         cleanly compile and install a program.  Each port skeleton includes:</para> | ||||
|       <para>The first thing that should be explained when it comes to | ||||
|         the ports collection is what is actually meant by a | ||||
|         <quote>skeleton</quote>.  In a nutshell, a port skeleton is a | ||||
|         minimal set of files that tell your FreeBSD system how to | ||||
|         cleanly compile and install a program.  Each port skeleton | ||||
|         includes:</para> | ||||
| 
 | ||||
|       <itemizedlist> | ||||
| 	<listitem> | ||||
| 	  <para>A <filename>Makefile</filename>.  The | ||||
| 	    <filename>Makefile</filename> contains various statements that | ||||
| 	    specify how the application should be compiled and where it | ||||
| 	    should be installed on your system.</para> | ||||
| 	    <filename>Makefile</filename> contains various statements | ||||
| 	    that specify how the application should be compiled and | ||||
| 	    where it should be installed on your system.</para> | ||||
| 	</listitem> | ||||
| 
 | ||||
| 	<listitem> | ||||
| 	  <para>A <filename>distinfo</filename> file.  This file contains | ||||
| 	    information about the files that must be downloaded to build the | ||||
| 	    port and their checksums, to verify that files have not been | ||||
| 	    corrupted during the download using &man.md5.1;.</para> | ||||
| 	  <para>A <filename>distinfo</filename> file.  This file | ||||
| 	    contains information about the files that must be | ||||
| 	    downloaded to build the port and their checksums, to | ||||
| 	    verify that files have not been corrupted during the | ||||
| 	    download using &man.md5.1;.</para> | ||||
| 	</listitem> | ||||
| 	 | ||||
| 	<listitem> | ||||
| 	  <para>A <filename>files</filename> directory.  This directory | ||||
| 	    contains patches to make the program compile and install on | ||||
| 	    your FreeBSD system.  Patches are basically small files that | ||||
| 	    specify changes to particular files.  They are in plain text | ||||
| 	    format, and basically say <quote>Remove line 10</quote> or | ||||
| 	    <quote>Change line 26 to this ...</quote>.  Patches are also | ||||
| 	    known as <quote>diffs</quote> because they are generated by the | ||||
| 	  <para>A <filename>files</filename> directory.  This | ||||
| 	    directory contains patches to make the program compile and | ||||
| 	    install on your FreeBSD system.  Patches are basically | ||||
| 	    small files that specify changes to particular files. | ||||
| 	    They are in plain text format, and basically say | ||||
| 	    <quote>Remove line 10</quote> or <quote>Change line 26 to | ||||
| 	    this ...</quote>.  Patches are also known as | ||||
| 	    <quote>diffs</quote> because they are generated by the | ||||
| 	    &man.diff.1; program.</para> | ||||
| 
 | ||||
| 	  <para>This directory may also contain other files used to build | ||||
|  | @ -640,10 +655,10 @@ docbook                     = | |||
|         url="../porters-handbook/index.html">FreeBSD Porter's | ||||
|         Handbook</ulink>.</para> | ||||
| 
 | ||||
|       <para>Now that you have enough background information to know what | ||||
|         the ports collection is used for, you are ready to install your | ||||
| 	first port.  There are two ways this can be done, and each is | ||||
| 	explained below.</para> | ||||
|       <para>Now that you have enough background information to know | ||||
|         what the ports collection is used for, you are ready to | ||||
|         install your first port.  There are two ways this can be done, | ||||
|         and each is explained below.</para> | ||||
| 
 | ||||
|       <para>Before we get into that, however, you will need to choose a | ||||
|         port to install.  There are a few ways to do this, with the | ||||
|  | @ -654,27 +669,30 @@ docbook                     = | |||
| 	a description so you can read a bit about each port before | ||||
| 	deciding to install it.</para> | ||||
| 
 | ||||
|       <para>Another method is to use the &man.whereis.1; | ||||
|         command.  Simply type <command>whereis <replaceable>file</replaceable></command>, | ||||
| 	where <replaceable>file</replaceable> is the program you want to | ||||
| 	install.  If it is found on | ||||
|         your system, you will be told where it is, as follows:</para> | ||||
|       <para>Another method is to use the &man.whereis.1; command. | ||||
|         Simply type <command>whereis | ||||
|         <replaceable>file</replaceable></command>, where | ||||
|         <replaceable>file</replaceable> is the program you want to | ||||
|         install.  If it is found on your system, you will be told | ||||
|         where it is, as follows:</para> | ||||
| 
 | ||||
|       <screen>&prompt.root; <userinput>whereis lsof</userinput> | ||||
| lsof: /usr/ports/sysutils/lsof</screen> | ||||
| 
 | ||||
|       <para>This tells us that <command>lsof</command> (a system utility) | ||||
| 	can be found in the | ||||
|         <filename>/usr/ports/sysutils/lsof</filename> directory.</para> | ||||
|       <para>This tells us that <command>lsof</command> (a system | ||||
| 	utility) can be found in the | ||||
| 	<filename>/usr/ports/sysutils/lsof</filename> | ||||
| 	directory.</para> | ||||
| 
 | ||||
|       <para>Yet another way to find a particular port is by using the | ||||
|         ports collection's built-in search mechanism.  To use the search | ||||
|         feature, you will need to be in the | ||||
| 	<filename>/usr/ports</filename> directory.  Once in that | ||||
| 	directory, run <command>make search name=<replaceable>program-name</replaceable></command> | ||||
| 	where <replaceable>program-name</replaceable> is the name of the program you | ||||
| 	want to find.  For example, if you were looking for  | ||||
| 	<command>lsof</command>:</para> | ||||
|         ports collection's built-in search mechanism.  To use the | ||||
|         search feature, you will need to be in the | ||||
|         <filename>/usr/ports</filename> directory.  Once in that | ||||
|         directory, run <command>make search | ||||
|         name=<replaceable>program-name</replaceable></command> where | ||||
|         <replaceable>program-name</replaceable> is the name of the | ||||
|         program you want to find.  For example, if you were looking | ||||
|         for <command>lsof</command>:</para> | ||||
| 
 | ||||
|       <screen>&prompt.root; <userinput>cd /usr/ports</userinput> | ||||
| &prompt.root; <userinput>make search name=lsof</userinput> | ||||
|  | @ -686,18 +704,19 @@ Index:  sysutils | |||
| B-deps:  | ||||
| R-deps: </screen> | ||||
| 
 | ||||
|       <para>The part of the output you want to pay particular attention | ||||
|         to is the <quote>Path:</quote> line, since that tells you where to | ||||
| 	find the port.  The other information provided is not needed in order | ||||
| 	to install the port, so it will not be covered | ||||
| 	here.</para> | ||||
|       <para>The part of the output you want to pay particular | ||||
|         attention to is the <quote>Path:</quote> line, since that | ||||
|         tells you where to find the port.  The other information | ||||
|         provided is not needed in order to install the port, so it | ||||
|         will not be covered here.</para> | ||||
| 
 | ||||
|       <para>For more in-depth searching you can also use | ||||
|        <command>make search key=<replaceable>string</replaceable></command> where  | ||||
|        <replaceable>string</replaceable> is some text to search for.  This searches  | ||||
|        port names, comments, descriptions and dependencies and can be used  | ||||
|        to find ports which relate to a particular subject if you don't  | ||||
|        know the name of the program you are looking for.</para> | ||||
|       <para>For more in-depth searching you can also use <command>make | ||||
|        search key=<replaceable>string</replaceable></command> where | ||||
|        <replaceable>string</replaceable> is some text to search for. | ||||
|        This searches port names, comments, descriptions and | ||||
|        dependencies and can be used to find ports which relate to a | ||||
|        particular subject if you don't know the name of the program | ||||
|        you are looking for.</para> | ||||
| 
 | ||||
|       <para>In both of these cases, the search string is case-insensitive. | ||||
|        Searching for <quote>LSOF</quote> will yield the same results as  | ||||
|  | @ -804,43 +823,46 @@ R-deps: </screen> | |||
| 	</note> | ||||
| 
 | ||||
| 	<note> | ||||
| 	  <para>Some shells keep a cache of the commands that are available in | ||||
| 	    the directories listed in the <envar>PATH</envar> environment | ||||
| 	    variable, to speed up lookup operations for the executable file of | ||||
| 	    these commands.  If you are using one of these shells, you might | ||||
| 	    have to use the <command>rehash</command> command after installing | ||||
| 	    a port, before the newly installed commands can be used.  This is | ||||
| 	    true for both shells that are part of the base-system (such as | ||||
| 	    <command>tcsh</command>) and shells that are available as ports | ||||
| 	    (for instance, | ||||
| 	  <para>Some shells keep a cache of the commands that are | ||||
| 	    available in the directories listed in the | ||||
| 	    <envar>PATH</envar> environment variable, to speed up | ||||
| 	    lookup operations for the executable file of these | ||||
| 	    commands.  If you are using one of these shells, you might | ||||
| 	    have to use the <command>rehash</command> command after | ||||
| 	    installing a port, before the newly installed commands can | ||||
| 	    be used.  This is true for both shells that are part of | ||||
| 	    the base-system (such as <command>tcsh</command>) and | ||||
| 	    shells that are available as ports (for instance, | ||||
| 	    <filename role="package">shells/zsh</filename>).</para> | ||||
| 	</note> | ||||
| 
 | ||||
|         <note> | ||||
|           <para>Please be aware that the licenses of a few ports do not | ||||
|             allow for inclusion on the CD-ROM.  This could be because a | ||||
|             registration form needs | ||||
| 	    to be filled out before downloading or redistribution is not | ||||
| 	    allowed, or for another reason.  If you wish to install a port not | ||||
| 	    included on the CD-ROM, you will need to be online in order to | ||||
| 	    do so (see the <link linkend="ports-inet">next | ||||
| 	    section</link>).</para> | ||||
|           <para>Please be aware that the licenses of a few ports do | ||||
|             not allow for inclusion on the CD-ROM.  This could be | ||||
|             because a registration form needs to be filled out before | ||||
|             downloading or redistribution is not allowed, or for | ||||
|             another reason.  If you wish to install a port not | ||||
|             included on the CD-ROM, you will need to be online in | ||||
|             order to do so (see the <link linkend="ports-inet">next | ||||
|             section</link>).</para> | ||||
| 	</note> | ||||
|       </sect3> | ||||
| 
 | ||||
|       <sect3 id="ports-inet"> | ||||
|       <title>Installing Ports from the Internet</title> | ||||
| 
 | ||||
|         <para>As with the last section, this section makes an assumption | ||||
|           that you have a working Internet connection.  If you do not, | ||||
| 	  you will need to perform the <link linkend="ports-cd">CD-ROM | ||||
| 	  installation</link>, or put a copy of the distfile into <filename>/usr/ports/distfiles</filename> manually.</para> | ||||
|         <para>As with the last section, this section makes an | ||||
|           assumption that you have a working Internet connection.  If | ||||
|           you do not, you will need to perform the <link | ||||
|           linkend="ports-cd">CD-ROM installation</link>, or put a copy | ||||
|           of the distfile into | ||||
|           <filename>/usr/ports/distfiles</filename> manually.</para> | ||||
| 
 | ||||
|         <para>Installing a port from the Internet is done exactly the same | ||||
| 	  way as it would be if you were installing from a CD-ROM.  The | ||||
| 	  only difference between the two is that the distfile | ||||
| 	  is downloaded from the Internet instead of read from the | ||||
| 	  CD-ROM.</para> | ||||
|         <para>Installing a port from the Internet is done exactly the | ||||
| 	  same way as it would be if you were installing from a | ||||
| 	  CD-ROM.  The only difference between the two is that the | ||||
| 	  distfile is downloaded from the Internet instead of read | ||||
| 	  from the CD-ROM.</para> | ||||
| 
 | ||||
|         <para>The steps involved are identical:</para> | ||||
| 
 | ||||
|  | @ -879,86 +901,100 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
|         <para>As you can see, the only difference is the line that tells | ||||
| 	  you where the system is fetching the port distfile from.</para> | ||||
| 
 | ||||
| 	<para>The ports system uses &man.fetch.1; to download the files,  | ||||
| 	  which honors various environment variables, including  | ||||
| 	  <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>,  | ||||
| 	  and <envar>FTP_PASSWORD</envar>.  You may need to set one or more  | ||||
| 	  of these if you are behind a firewall, or need to use an FTP/HTTP | ||||
| 	  proxy.  See &man.fetch.3; for the complete list.</para> | ||||
| 	<para>The ports system uses &man.fetch.1; to download the | ||||
| 	  files, which honors various environment variables, including | ||||
| 	  <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, | ||||
| 	  and <envar>FTP_PASSWORD</envar>.  You may need to set one or | ||||
| 	  more of these if you are behind a firewall, or need to use | ||||
| 	  an FTP/HTTP proxy.  See &man.fetch.3; for the complete | ||||
| 	  list.</para> | ||||
| 
 | ||||
| 	<para>For users which cannot be connected all the time, a the | ||||
| 	  <command>make <makevar>fetch</makevar></command> option is provided. | ||||
| 	  Just run this command at the top level directory | ||||
| 	  (<filename>/usr/ports</filename>) and the required files will be | ||||
| 	  downloaded for you.  This command will also work in the lower level | ||||
| 	  categories, for example: <filename>/usr/ports/net</filename>.</para> | ||||
| 	  <command>make <makevar>fetch</makevar></command> option is | ||||
| 	  provided.  Just run this command at the top level directory | ||||
| 	  (<filename>/usr/ports</filename>) and the required files | ||||
| 	  will be downloaded for you.  This command will also work in | ||||
| 	  the lower level categories, for example: | ||||
| 	  <filename>/usr/ports/net</filename>.</para> | ||||
| 
 | ||||
| 	<note><para>You can build all the ports in a category or as a whole by | ||||
| 	  running <command>make</command> in the top level directory, just like the | ||||
| 	  aforementioned <command>make <makevar>fetch</makevar></command> method. | ||||
| 	  This is dangerous, however, as some ports cannot co-exist.  In other | ||||
| 	  cases, some ports can install two different files with the same | ||||
| 	  filename.</para></note> | ||||
| 	<note><para>You can build all the ports in a category or as a | ||||
| 	  whole by running <command>make</command> in the top level | ||||
| 	  directory, just like the aforementioned <command>make | ||||
| 	  <makevar>fetch</makevar></command> method.  This is | ||||
| 	  dangerous, however, as some ports cannot co-exist.  In other | ||||
| 	  cases, some ports can install two different files with the | ||||
| 	  same filename.</para></note> | ||||
| 
 | ||||
| 	<para>In some rare cases, users may need to acquire the tarballs | ||||
| 	  from a site other than the <makevar>MASTER_SITES</makevar> (the location | ||||
| 	  where files are downloaded from).  You can override the | ||||
| 	  <makevar>MASTER_SITES</makevar> option with the following command:</para> | ||||
| 	<para>In some rare cases, users may need to acquire the | ||||
| 	  tarballs from a site other than the | ||||
| 	  <makevar>MASTER_SITES</makevar> (the location where files | ||||
| 	  are downloaded from).  You can override the | ||||
| 	  <makevar>MASTER_SITES</makevar> option with the following | ||||
| 	  command:</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput></screen> | ||||
| 	<screen>&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ | ||||
| 	ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> | ||||
| 
 | ||||
| 	<para>In this example we change the <makevar>MASTER_SITES</makevar> option to | ||||
| 	  <hostid role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> | ||||
| 	<para>In this example we change the | ||||
| 	  <makevar>MASTER_SITES</makevar> option to <hostid | ||||
| 	  role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> | ||||
| 
 | ||||
| 	<note><para>Some ports require you to provide build options which can enable/disable | ||||
| 	  parts of the application which are unneeded, certain security options, | ||||
| 	  and other customizations.  A few which come to mind are | ||||
| 	  <filename role="package">net/mozilla</filename>, | ||||
| 	  <filename role="package">security/gpgme</filename>, and | ||||
| 	  <filename role="package">mail/sylpheed-claws</filename>.  A message will be | ||||
| 	  displayed when options such as these are available.</para></note> | ||||
| 	<note><para>Some ports require you to provide build options | ||||
| 	  which can enable/disable parts of the application which are | ||||
| 	  unneeded, certain security options, and other | ||||
| 	  customizations.  A few which come to mind are <filename | ||||
| 	  role="package">net/mozilla</filename>, <filename | ||||
| 	  role="package">security/gpgme</filename>, and <filename | ||||
| 	  role="package">mail/sylpheed-claws</filename>.  A message | ||||
| 	  will be displayed when options such as these are | ||||
| 	  available.</para></note> | ||||
|       </sect3> | ||||
| 
 | ||||
|       <sect3> | ||||
|         <title>Overriding the Default Ports Directories</title> | ||||
| 
 | ||||
| 	<para>Sometimes it is useful (or mandatory) to use a different distfiles | ||||
| 	  and ports directory.  The <makevar>PORTSDIR</makevar> and | ||||
| 	  <makevar>PREFIX</makevar> variables can override the default | ||||
| 	  directories.  For example:</para> | ||||
| 	<para>Sometimes it is useful (or mandatory) to use a different | ||||
| 	  distfiles and ports directory.  The | ||||
| 	  <makevar>PORTSDIR</makevar> and <makevar>PREFIX</makevar> | ||||
| 	  variables can override the default directories.  For | ||||
| 	  example:</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen> | ||||
| 
 | ||||
| 	<para>will compile the port in <filename>/usr/home/example/ports</filename> and | ||||
| 	    install everything under <filename>/usr/local</filename>.</para> | ||||
| 	<para>will compile the port in | ||||
| 	    <filename>/usr/home/example/ports</filename> and install | ||||
| 	    everything under <filename>/usr/local</filename>.</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen> | ||||
| 
 | ||||
| 	<para>will compile it in <filename>/usr/ports</filename> and install it in | ||||
| 	<para>will compile it in <filename>/usr/ports</filename> and | ||||
| 	  install it in | ||||
| 	  <filename>/usr/home/example/local</filename>.</para> | ||||
| 
 | ||||
| 	<para>And of course,</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen> | ||||
| 
 | ||||
| 	<para>will combine the two (it is too long to completely write on | ||||
| 	  this page, but it should give you the general idea).</para> | ||||
| 	<para>will combine the two (it is too long to completely write | ||||
| 	  on this page, but it should give you the general | ||||
| 	  idea).</para> | ||||
| 
 | ||||
| 	<para>Alternatively, these variables can also be set | ||||
| 	  as part of your environment.  Read the manual page for your shell for | ||||
| 	  instructions on doing so.</para> | ||||
| 	<para>Alternatively, these variables can also be set as part | ||||
| 	  of your environment.  Read the manual page for your shell | ||||
| 	  for instructions on doing so.</para> | ||||
|       </sect3> | ||||
| 
 | ||||
|       <sect3> | ||||
| 	<title>Dealing with <command>imake</command></title> | ||||
| 
 | ||||
| 	<para>Some ports that use <command>imake</command> (a part of the X Windows | ||||
| 	  System) do not work well with <makevar>PREFIX</makevar>, and will insist on | ||||
| 	  installing under <filename>/usr/X11R6</filename>.  Similarly, some Perl ports | ||||
| 	  ignore <makevar>PREFIX</makevar> and install in the Perl tree.  Making these | ||||
| 	  ports respect <makevar>PREFIX</makevar> is a difficult or impossible | ||||
| 	<para>Some ports that use <command>imake</command> (a part of | ||||
| 	  the X Windows System) do not work well with | ||||
| 	  <makevar>PREFIX</makevar>, and will insist on installing | ||||
| 	  under <filename>/usr/X11R6</filename>.  Similarly, some Perl | ||||
| 	  ports ignore <makevar>PREFIX</makevar> and install in the | ||||
| 	  Perl tree.  Making these ports respect | ||||
| 	  <makevar>PREFIX</makevar> is a difficult or impossible | ||||
| 	  job.</para> | ||||
| 
 | ||||
|       </sect3> | ||||
|  | @ -1008,12 +1044,13 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
|         <primary>ports</primary> | ||||
|         <secondary>disk-space</secondary> | ||||
|       </indexterm> | ||||
|       <para>Using the ports collection can defiantly eat up your disk space. | ||||
| 	For this reason you should always remember to clean up the work | ||||
| 	directories using the <command>make <makevar>clean</makevar></command> | ||||
| 	option.  This will remove the <filename>work</filename> directory after | ||||
| 	a port has been built, and installed.  You can also remove the tar files | ||||
| 	from the <filename>distfiles</filename> directory, and remove the | ||||
|       <para>Using the ports collection can defiantly eat up your disk | ||||
| 	space.  For this reason you should always remember to clean up | ||||
| 	the work directories using the <command>make | ||||
| 	<makevar>clean</makevar></command> option.  This will remove | ||||
| 	the <filename>work</filename> directory after a port has been | ||||
| 	built, and installed.  You can also remove the tar files from | ||||
| 	the <filename>distfiles</filename> directory, and remove the | ||||
| 	installed ports when their use has delimited.</para> | ||||
| 
 | ||||
|       <para>Some users choose to limit the port categories by placing an entry | ||||
|  | @ -1029,41 +1066,45 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
| 	<primary>ports</primary> | ||||
| 	<secondary>upgrading</secondary> | ||||
|       </indexterm> | ||||
|       <para>Keeping your ports up to date can be a tedious job.  For instance, | ||||
| 	to upgrade a port you would go to the ports directory, build the port, | ||||
| 	deinstall the old port, install the new port, and then cleaning up | ||||
| 	after the build.  Imagine doing that for five ports, tedious right? | ||||
| 	This was a large problem for system administrators to deal with, | ||||
| 	and now we have utilities which do this for us.  For instance the | ||||
| 	<filename role="port">sysutils/portupgrade</filename> utility will | ||||
| 	do everything for you!  Just install it like you would any other | ||||
| 	port, using the <command>make <makevar>install clean</makevar></command> | ||||
| 	command.</para> | ||||
|       <para>Keeping your ports up to date can be a tedious job.  For | ||||
| 	instance, to upgrade a port you would go to the ports | ||||
| 	directory, build the port, deinstall the old port, install the | ||||
| 	new port, and then cleaning up after the build.  Imagine doing | ||||
| 	that for five ports, tedious right?  This was a large problem | ||||
| 	for system administrators to deal with, and now we have | ||||
| 	utilities which do this for us.  For instance the <filename | ||||
| 	role="port">sysutils/portupgrade</filename> utility will do | ||||
| 	everything for you!  Just install it like you would any other | ||||
| 	port, using the <command>make <makevar>install | ||||
| 	clean</makevar></command> command.</para> | ||||
| 
 | ||||
|       <para>Now create a database with the <command>pkgdb -F</command> command. | ||||
| 	This will read the list of installed ports and create a database file | ||||
| 	in the <filename>/var/db/pkg</filename> directory.  Now when you run | ||||
| 	<command>portupgrade -a</command>, it will read this and the ports | ||||
| 	<filename>INDEX</filename> file.  Finally, <command>portupgrade</command> | ||||
| 	will begin to download, build, backup, install, and clean the ports | ||||
| 	which have been updated.  Other utilities exist which will do this, | ||||
| 	check out the <filename>ports/sysutils</filename> directory and see | ||||
| 	what you come up with.</para> | ||||
|       <para>Now create a database with the <command>pkgdb -F</command> | ||||
| 	command.  This will read the list of installed ports and | ||||
| 	create a database file in the <filename>/var/db/pkg</filename> | ||||
| 	directory.  Now when you run <command>portupgrade | ||||
| 	-a</command>, it will read this and the ports | ||||
| 	<filename>INDEX</filename> file.  Finally, | ||||
| 	<command>portupgrade</command> will begin to download, build, | ||||
| 	backup, install, and clean the ports which have been updated. | ||||
| 	Other utilities exist which will do this, check out the | ||||
| 	<filename>ports/sysutils</filename> directory and see what you | ||||
| 	come up with.</para> | ||||
|     </sect2> | ||||
|   </sect1> | ||||
| 
 | ||||
|   <sect1 id="ports-nextsteps"> | ||||
|     <title>Post-installation activities</title> | ||||
| 
 | ||||
|     <para>After installing a new application you will normally want to read | ||||
|       any documentation it may have included, edit any configuration files | ||||
|       that are required, ensure that the application starts at boot time (if | ||||
|       it is a daemon), and so on.</para> | ||||
|     <para>After installing a new application you will normally want to | ||||
|       read any documentation it may have included, edit any | ||||
|       configuration files that are required, ensure that the | ||||
|       application starts at boot time (if it is a daemon), and so | ||||
|       on.</para> | ||||
| 
 | ||||
|     <para>The exact steps you need to take to configure each application will | ||||
|       obviously be different.  However, if you have just installed a new | ||||
|       application and are wondering <quote>What now?</quote> these tips might | ||||
|       help:</para> | ||||
|     <para>The exact steps you need to take to configure each | ||||
|       application will obviously be different.  However, if you have | ||||
|       just installed a new application and are wondering <quote>What | ||||
|       now?</quote> these tips might help:</para> | ||||
| 
 | ||||
|     <itemizedlist> | ||||
|       <listitem> | ||||
|  | @ -1073,35 +1114,36 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen> | ||||
| 
 | ||||
| 	<para>will show all the files installed by the package.  Pay special | ||||
| 	  attention to files in <filename>man/</filename> directories, which | ||||
| 	  will be manual pages, <filename>etc/</filename> directories, which | ||||
| 	  will be configuration files, and <filename>doc/</filename>, which will be | ||||
| 	  more comprehensive documentation.</para> | ||||
| 	<para>will show all the files installed by the package.  Pay | ||||
| 	  special attention to files in <filename>man/</filename> | ||||
| 	  directories, which will be manual pages, | ||||
| 	  <filename>etc/</filename> directories, which will be | ||||
| 	  configuration files, and <filename>doc/</filename>, which | ||||
| 	  will be more comprehensive documentation.</para> | ||||
| 
 | ||||
| 	<para>If you are not sure which version of the application was just | ||||
| 	  installed, a command like this</para> | ||||
| 	<para>If you are not sure which version of the application was | ||||
| 	  just installed, a command like this</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen> | ||||
| 
 | ||||
| 	<para>will find all the installed packages that have | ||||
| 	  <replaceable>foopackage</replaceable> in the package name.  Replace | ||||
| 	  <replaceable>foopackage</replaceable> in your command line as | ||||
| 	  necessary.</para> | ||||
| 	  <replaceable>foopackage</replaceable> in the package name. | ||||
| 	  Replace <replaceable>foopackage</replaceable> in your | ||||
| 	  command line as necessary.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>Once you have identified where the application's manual pages | ||||
| 	  have been installed, review them using &man.man.1;.  Similarly,  | ||||
| 	  look over the sample configuration files, and any additional  | ||||
| 	  documentation that may have been provided.</para> | ||||
| 	<para>Once you have identified where the application's manual | ||||
| 	  pages have been installed, review them using &man.man.1;. | ||||
| 	  Similarly, look over the sample configuration files, and any | ||||
| 	  additional documentation that may have been provided.</para> | ||||
|       </listitem> | ||||
| 
 | ||||
|       <listitem> | ||||
| 	<para>If the application has a web site, check it for additional | ||||
| 	  documentation, frequently asked questions, and so forth.  If | ||||
| 	  you are not sure of the web site address it may be listed in the | ||||
| 	  output from</para> | ||||
| 	<para>If the application has a web site, check it for | ||||
| 	  additional documentation, frequently asked questions, and so | ||||
| 	  forth.  If you are not sure of the web site address it may | ||||
| 	  be listed in the output from</para> | ||||
| 
 | ||||
| 	<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen> | ||||
| 	 | ||||
|  | @ -1114,8 +1156,8 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
|   <sect1 id="ports-broken"> | ||||
|     <title>Dealing with Broken Ports</title> | ||||
| 
 | ||||
|       <para>If you come across a port that does not work for you, there are | ||||
|         a few things you can do, including:</para> | ||||
|       <para>If you come across a port that does not work for you, | ||||
|         there are a few things you can do, including:</para> | ||||
| 
 | ||||
|       <orderedlist> | ||||
|         <listitem> | ||||
|  | @ -1128,15 +1170,16 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
| 
 | ||||
| 	<listitem> | ||||
| 	  <para>Gripe—<emphasis>by email only</emphasis>!  Send | ||||
| 	    email to the maintainer of the port first.  Type <command>make | ||||
| 	    maintainer</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.  If you do not get a | ||||
| 	    response from the maintainer, you can use | ||||
| 	    &man.send-pr.1; to submit a bug report.</para> | ||||
| 	    email to the maintainer of the port first.  Type | ||||
| 	    <command>make maintainer</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.  If you do not get a response from the | ||||
| 	    maintainer, you can use &man.send-pr.1; to submit a bug | ||||
| 	    report.</para> | ||||
| 	</listitem> | ||||
| 
 | ||||
| 	<listitem> | ||||
|  | @ -1147,8 +1190,8 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% | |||
| 	    directory</ulink>, but be sure to check your local mirror | ||||
| 	    <emphasis>first</emphasis>!  These are more likely to work | ||||
| 	    than trying to compile from source and are a lot faster as | ||||
| 	    well.  Use the &man.pkg.add.1; program to install the package | ||||
| 	    on your system.</para> | ||||
| 	    well.  Use the &man.pkg.add.1; program to install the | ||||
| 	    package on your system.</para> | ||||
| 	</listitem> | ||||
|       </orderedlist> | ||||
|   </sect1> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue