Date: Tue, 8 Oct 2013 19:48:28 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r42903 - head/en_US.ISO8859-1/books/handbook/ports Message-ID: <201310081948.r98JmS9b025117@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Tue Oct 8 19:48:28 2013 New Revision: 42903 URL: http://svnweb.freebsd.org/changeset/doc/42903 Log: This patch does the following to the first half of 5.6. Using the Ports Collection: - as per discussion with portmgr, removes csup warnings and how-tos - as per discussion on IRC, remove Method 3 as sysinstall is being phased out - adds some text and word-smithing to make unclear instructions a bit clearer - some tag cleanup - updated lsof listing - some text shuffling to improve flow 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 Tue Oct 8 17:39:20 2013 (r42902) +++ head/en_US.ISO8859-1/books/handbook/ports/chapter.xml Tue Oct 8 19:48:28 2013 (r42903) @@ -888,41 +888,22 @@ Deinstalling ca_root_nss-3.15.1_1... don <sect1 id="ports-using"> <title>Using the Ports Collection</title> - <para>This section provides basic instructions on using the Ports - Collection to install or remove software. The detailed - description of available <command>make</command> targets and - environment variables is available in &man.ports.7;.</para> - - <warning> - <para>As of mid 2012, the &os; Ports Project has migrated - revision control systems from CVS to Subversion. The - preferred method for obtaining and maintaining the ports tree - is <application>Portsnap</application>. Users requiring local - customization of ports (that is, maintaining additional local - patches) will probably prefer to use Subversion directly. The - <application>CVSup</application> service was phased out - as of February 28, 2013.</para> - </warning> - - <sect2 id="ports-tree"> - <title>Obtaining the Ports Collection</title> - <para>The Ports Collection is a set of <filename>Makefiles</filename>, patches, and description files - stored in <filename>/usr/ports</filename>. This set of files - is used to compile and install applications on &os;. The - instructions below show several methods of obtaining the Ports - Collection if it was not installed during initial &os; - setup.</para> + stored in <filename class="directory">/usr/ports</filename>. This set of files + is used to compile and install applications on &os;. Before + an application can be compiled using a port, the Ports + Collection must first be installed. If it was not installed during the installatio of &os;, + use one of the following methods to install it:</para> <procedure> <title>Portsnap Method</title> <para><application>Portsnap</application> is a fast and - user-friendly tool for retrieving the Ports Collection, the - preferred choice for most users. See - <link linkend="updating-upgrading-portsnap">Using - Portsnap</link> for a detailed description of + user-friendly tool for retrieving the Ports Collection and is the + recommended choice for most users. See + <xref linkend="updating-upgrading-portsnap"/> + for a detailed description of <application>Portsnap</application>.</para> <step> @@ -946,7 +927,7 @@ Deinstalling ca_root_nss-3.15.1_1... don <application>Portsnap</application> has been completed as shown above, <filename class="directory">/usr/ports</filename> can be - updated with:</para> + updated as needed by running:</para> <screen>&prompt.root; <userinput>portsnap fetch</userinput> &prompt.root; <userinput>portsnap update</userinput></screen> @@ -956,8 +937,8 @@ Deinstalling ca_root_nss-3.15.1_1... don <procedure> <title>Subversion Method</title> - <para>If more control over the ports tree is needed (for - example, for maintaining local changes), + <para>If more control over the ports tree is needed or if + local changes need to be maintained, <application>Subversion</application> can be used to obtain the Ports Collection. Refer to <ulink url="&url.articles.committers-guide;/subversion-primer.html">the @@ -988,22 +969,17 @@ Deinstalling ca_root_nss-3.15.1_1... don </step> <step> - <para>Check out a copy of the ports tree. Use a specific + <para>Check out a copy of the ports tree. For better performance, + replace <replaceable>svn0.us-east.FreeBSD.org</replaceable> with a <ulink url="&url.books.handbook;/svn-mirrors.html">Subversion - mirror</ulink> close to your geographic location instead - of <replaceable>svn0.us-east.FreeBSD.org</replaceable> in the - command below for better performance. Committers should - read the <ulink - url="&url.articles.committers-guide;/subversion-primer.html">Subversion - Primer</ulink> first to be sure the correct protocol is - chosen.</para> + mirror</ulink> close to your geographic location:</para> <screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen> </step> <step> - <para>To update + <para>As needed, update <filename class="directory">/usr/ports</filename> after the initial <application>Subversion</application> checkout:</para> @@ -1012,411 +988,259 @@ Deinstalling ca_root_nss-3.15.1_1... don </step> </procedure> - <procedure> - <title>Sysinstall Method</title> - - <para>This method involves using - <application>sysinstall</application> to install the Ports - Collection from the installation media. Note that the old - copy of Ports Collection from the date of the release will - be installed. If you have Internet access, you should - always use one of the methods mentioned above.</para> - - <step> - <para>As <username>root</username>, run - <command>sysinstall</command> as shown below:</para> - - <screen>&prompt.root; <userinput>sysinstall</userinput></screen> - </step> - - <step> - <para>Scroll down and select - <guimenuitem>Configure</guimenuitem>, press - <keycap>Enter</keycap>.</para> - </step> - - <step> - <para>Scroll down and select - <guimenuitem>Distributions</guimenuitem>, press - <keycap>Enter</keycap>.</para> - </step> - - <step> - <para>Scroll down to <guimenuitem>ports</guimenuitem>, press - <keycap>Space</keycap>.</para> - </step> - - <step> - <para>Scroll up to <guimenuitem>Exit</guimenuitem>, press - <keycap>Enter</keycap>.</para> - </step> - - <step> - <para>Select your desired installation media, such as CDROM, - FTP, and so on.</para> - </step> - - <step> - <para>Scroll up to <guimenuitem>Exit</guimenuitem> and press - <keycap>Enter</keycap>.</para> - </step> - - <step> - <para>Press <keycap>X</keycap> to exit - <application>sysinstall</application>.</para> - </step> - </procedure> - </sect2> - - <sect2 id="cvsup-migration"> - <title>Migrating from - <application>CVSup</application>/<application>csup</application> - to <application>portsnap</application></title> - - <warning> - <para>By February 28, 2013, the ports tree will no longer be - exported to <application>CVS</application> and therefore - <application>CVSup</application> and - <application>csup</application> will no longer provide - updates for the ports tree.</para> - </warning> - - <procedure> - <title>Migration to Portsnap</title> - - <para>The migration will require about 1 GB of disk space - on <filename class="directory">/usr</filename>, plus - <application>Portsnap</application> requires about - 150 MB disk space on <filename - class="directory">/var</filename>.</para> - - <step> - <para>Disable any automated ports updates you may use, such - as a &man.cron.8; job calling - <application>CVSup</application> or - <application>csup</application>.</para> - </step> - - <step> - <para>Move the existing ports tree to a temporary - location:</para> - - <screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen> - </step> - - <step> - <para>Fetch the new ports tree with - <application>Portsnap</application> and extract it to - <filename class="directory">/usr/ports</filename>:</para> - - <screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen> - </step> - - <step> - <para>Move distfiles and saved packages to the new ports - tree:</para> - - <screen>&prompt.root; <userinput>mv /usr/ports.old/distfiles /usr/ports</userinput> -&prompt.root; <userinput>mv /usr/ports.old/packages /usr/ports</userinput></screen> - </step> - - <step> - <para>Delete the old ports tree:</para> - - <screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen> - </step> - - <step> - <para>If <application>CVSup</application> was used before, - it can now be uninstalled:</para> - - <screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen> - - <para>Users of <application>pkgng</application> can use the - following command:</para> - - <screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen> - </step> - </procedure> - - <para>See <link linkend="updating-upgrading-portsnap">Using - Portsnap</link> for a detailed description of - <application>Portsnap</application> and how to update the - ports tree with <application>Portsnap</application>.</para> - </sect2> - - <sect2 id="ports-skeleton"> - <title>Installing Ports</title> - - <indexterm> - <primary>ports</primary> - <secondary>installing</secondary> - </indexterm> - - <para>A port skeleton is a set of files that tell &os; system - how to compile and install a program. Each port skeleton - includes:</para> + <para>The Ports Collection installs a series of directories + representing software categories with each category having + a subdirectory for each application. Each subdirectory, also + referred to as a ports skeleton, contains a set of files that tell &os; + how to compile and install that program. Each port skeleton + includes these files and directories:</para> <itemizedlist> <listitem> - <para><filename>Makefile</filename>: The - <filename>Makefile</filename> contains statements that + <para><filename>Makefile</filename>: contains statements that specify how the application should be compiled and where its components should be installed.</para> </listitem> <listitem> - <para><filename>distinfo</filename>: This file contains - information about the files that must be downloaded to - build the port, and their checksums (using - &man.sha256.1;), to verify that files have not been - corrupted during the download.</para> + <para><filename>distinfo</filename>: contains the names + and checksums of the files that must be downloaded to + build the port.</para> </listitem> <listitem> - <para><filename>files/</filename>: This directory contains + <para><filename>files/</filename>: this directory contains any patches needed for the program to compile and install on &os;. This directory may also contain other files used to build the port.</para> </listitem> <listitem> - <para><filename>pkg-descr</filename>: This file provides a + <para><filename>pkg-descr</filename>: provides a more detailed description of the program.</para> </listitem> <listitem> - <para><filename>pkg-plist</filename>: This is a list + <para><filename>pkg-plist</filename>: a list of all the files that will be installed by the port. It - also tells the ports system what files to remove upon + also tells the ports system which files to remove upon deinstallation.</para> </listitem> </itemizedlist> - <para>Some ports include other files, such as - <filename>pkg-message</filename>. The ports system uses these - files to handle special situations. If you want more details + <para>Some ports include + <filename>pkg-message</filename> or other + files to handle special situations. For more details on these files, and on ports in general, refer to the <ulink url="&url.books.porters-handbook;/index.html">&os; Porter's Handbook</ulink>.</para> <para>The port does not include the actual source code, also - known as a <quote>distfile</quote>. Source code is distributed - in whatever manner the software author desires. The two - methods for installing a &os; port are described below.</para> + known as a <filename>distfile</filename>. The extract portion + of building a port will automatically save the downloaded + source to <filename + class="directory">/usr/ports/distfiles</filename>.</para> - <note> - <para>You must be logged in as <username>root</username> to - install ports.</para> - </note> + <sect2 id="ports-skeleton"> + <title>Installing Ports</title> + + <indexterm> + <primary>ports</primary> + <secondary>installing</secondary> + </indexterm> + + <para>This section provides basic instructions on using the Ports + Collection to install or remove software. The detailed + description of available <command>make</command> targets and + environment variables is available in &man.ports.7;.</para> <warning> - <para>Before compiling any port, be sure to have an - up-to-date Ports Collection and check <ulink - url="http://vuxml.freebsd.org/"></ulink> for security - issues related to your port. If <filename + <para>Before compiling any port, be sure to update the + Ports Collection as described in the previous section. + Since the installation of any third-party software can + introduce security vulnerabilities, it is recommended to + first check <ulink + url="http://vuxml.freebsd.org/"></ulink> for known security + issues related to the port. Alternately, if <filename role="package">ports-mgmt/portaudit</filename> is installed, run <command>portaudit -F</command> before - installing a new port, to fetch the current vulnerabilities - database. A security audit and an update of the database - will be performed during the daily security system check. - For more information read the &man.portaudit.1; and - &man.periodic.8; manual pages.</para> + installing a new port. This command can be configured to + automatically perform a security audit and an update of the vulnerability database + during the daily security system check. + For more information, refer to the manual page for <application>portaudit</application> and + &man.periodic.8;.</para> </warning> <para>Using the Ports Collection assumes a working Internet - connection. Otherwise, manually obtain and place a copy of - the distfile into - <filename>/usr/ports/distfiles</filename>.</para> + connection. It also requires + superuser privilege.</para> - <para>To begin, change to the directory of the port to - be installed:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen> - - <para>To compile, or <quote>build</quote>, the port, type - <command>make</command> at the prompt. You should see - messages similar to the ones in this example:</para> - - <screen>&prompt.root; <userinput>make</userinput> ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. + <para>Some third-party DVD products such as the &os; + Toolkit from <ulink url="http://www.freebsdmall.com/">freebsdmall.com + </ulink> contain distfiles which can be used to install ports + without an Internet connection. + Mount the DVD on + <filename class="directory">/cdrom</filename>. If you use a different mount + point, set the <makevar>CD_MOUNTPTS</makevar> make variable. The + needed distfiles will be automatically used if they are + present on the disk. However, the licenses of a few ports do not allow their inclusion + on the DVD. This could be because a registration form + needs to be filled out before downloading or redistribution + is not allowed. In order to install a port not included + on the DVD, a connection to the + Internet will still be required.</para> + + <para>To compile and install the port, change to the directory of the port to + be installed, then type + <command>make install</command> at the prompt. Messages will + indicate the progress:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput> +&prompt.root; <userinput>make install</userinput> +>> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. -===> Extracting for lsof-4.57 +===> Extracting for lsof-4.88 ... [extraction output snipped] ... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 +>> Checksum OK for lsof_4.88D.freebsd.tar.gz. +===> Patching for lsof-4.88.d,8 +===> Applying FreeBSD patches for lsof-4.88.d,8 +===> Configuring for lsof-4.88.d,8 ... [configure output snipped] ... -===> Building for lsof-4.57 +===> Building for lsof-4.88.d,8 ... [compilation output snipped] ... -&prompt.root;</screen> - - <para>Once the compile is complete, you are returned to the - prompt. The next step is to install the port using - <command>make <maketarget>install</maketarget></command>:</para> - <screen>&prompt.root; <userinput>make install</userinput> -===> Installing for lsof-4.57 +===> Installing for lsof-4.88.d,8 ... [installation output snipped] ... ===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 +===> Compressing manual pages for lsof-4.88.d,8 +===> Registering installation for lsof-4.88.d,8 ===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. +/usr/local/sbin/lsof &prompt.root;</screen> - <para>Once you are returned to the prompt, you should be able - to run the installed application. Since + <para>Since <command>lsof</command> is a program that runs with increased - privileges, a security warning is shown. During the building - and installation of ports, take heed of any other warnings - that may appear.</para> + privileges, a security warning is displayed as it is installed. + Once the installation is complete, the prompt will be + returned.</para> - <para>It is a good idea to delete the working subdirectory, + <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. Users + of the <command>tcsh</command> shell should + type <command>rehash</command> so that a newly installed + command can be used without specifying its full path. Use + <command>hash -r</command> instead for the + <command>sh</command> shell. Refer to the documentation for + the shell for more information.</para> + + <para>During installation, a working subdirectory is created which contains all the temporary files used during - compilation. Doing so saves disk space and minimizes the + compilation. Removing this directory saves disk space and minimizes the chance of problems later when upgrading to the newer version - of the port.</para> + of the port:</para> <screen>&prompt.root; <userinput>make clean</userinput> -===> Cleaning for lsof-4.57 +===> Cleaning for lsof-88.d,8 &prompt.root;</screen> <note> - <para>You can save two extra steps by just running + <para>To save this extra step, instead use <command>make - <maketarget>install clean</maketarget></command> - instead of <command>make</command>, - <command>make <maketarget>install</maketarget></command> - and <command>make <maketarget>clean</maketarget></command> - as three separate steps.</para> + <maketarget>install clean</maketarget></command> when + compiling the port.</para> </note> + + <sect3> + <title>Customizing Ports Installation</title> - <note> - <para>Using only - <command>make <maketarget>install</maketarget></command> - means there will potentially be many - waiting periods between user interaction as the default - behaviour is to prompt the user for options. To avoid this - when there are many dependencies, first run <command>make + <para>Some ports provide build options which can be used to + enable or disable application components, + provide security options, or allow for other customizations. + Examples include + <filename role="package">www/firefox</filename>, + <filename role="package">security/gpgme</filename>, and + <filename role="package">mail/sylpheed-claws</filename>. + If the port has configurable options, it may pause + several times for + user interaction as the default + behavior is to prompt the user to select options from a menu. + To avoid this, + run <command>make <maketarget>config-recursive</maketarget></command> to do - the configuration in one batch. Then run <command>make + this configuration in one batch. Then, run <command>make <maketarget>install [clean]</maketarget></command> - afterwards.</para> - </note> + to compile and install the port.</para> <tip> <para>When using <maketarget>config-recursive</maketarget>, the list of ports to configure are gathered by the - <maketarget>all-depends-list</maketarget> &man.make.1; - target. It is often recommended to run <command>make + <maketarget>all-depends-list</maketarget> + target. It is recommended to run <command>make <maketarget>config-recursive</maketarget></command> until all dependent ports options have been defined, and - ports options &man.dialog.1; screens no longer - appear, to be certain all ports options have been - configured as intended.</para> + ports options screens no longer + appear, to be certain that all dependency options have been + configured.</para> </tip> - <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 <command>tcsh</command>, you might have to - type <command>rehash</command> so that a newly installed - command can be used without specifying its full path. Use - <command>hash -r</command> instead for the - <command>sh</command> shell. Refer to the documentation for - the shell for more information.</para> - </note> - - <para>Some third-party DVD products such as the &os; - Toolkit from the <ulink url="http://www.freebsdmall.com/">&os; - Mall</ulink> contain distfiles. They can be used with the - Ports Collection. Mount the DVD on - <filename>/cdrom</filename>. If you use a different mount - point, set <makevar>CD_MOUNTPTS</makevar> make variable. The - needed distfiles will be automatically used if they are - present on the disk.</para> - - <note> - <para>The licenses of a few ports do not allow their inclusion - on the DVD. This could be because a registration form - needs to be filled out before downloading or redistribution - is not allowed. If you wish to install a port not included - on the DVD, you will need to be connected to the - Internet.</para> - </note> + <para>There are several ways to revisit a port's build options menu + in order to add, remove, or change these options after a + port has been built. One method is to + <command>cd</command> into the directory containing the + port and type + <command>make <maketarget>config</maketarget></command>. + Another option is to use + <command>make <maketarget>showconfig</maketarget></command>. + Another option is to execute + <command>make <maketarget>rmconfig</maketarget></command> + which will remove all selected options and allow you to + start over. All of these options, and others, are explained + in great detail in &man.ports.7;.</para> <para>The ports system uses &man.fetch.1; to download the - files, which honors various environment variables, including + source files, which supports various environment variables. The <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 + <envar>FTP_PASSWORD</envar> variables may need to be set if the &os; system + is behind a firewall or FTP/HTTP proxy. See &man.fetch.3; for the complete - list.</para> + list of supported variables.</para> - <para>For users which cannot be connected all the time, the - <command>make <maketarget>fetch</maketarget></command> option - is provided. Run this command within - <filename>/usr/ports</filename> and the required files will - be downloaded. This command also works in the - lower level categories, such as - <filename>/usr/ports/net</filename>. Note that if a port - depends on libraries or other ports, this will + <para>For users who cannot be connected to the Internet all the time, + <command>make <maketarget>fetch</maketarget></command> can be run + within + <filename class="directory">/usr/ports</filename>, to fetch all distfiles, or within + a category, such as + <filename class="directory">/usr/ports/net</filename>, or within the + specific port skeleton. Note that if a port has any dependencies, + running this command in a category or ports skeleton will <emphasis>not</emphasis> fetch the distfiles of ports - from another category. Use + from another category. Instead, use <command>make <maketarget>fetch-recursive</maketarget></command> - to fetch + to also fetch the distfiles for all the dependencies of a port.</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. 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 default - <makevar>MASTER_SITES</makevar>. You can override the - <makevar>MASTER_SITES</makevar> option with the following - command:</para> + <para>In rare cases, such as when an organization has a local + distfiles repository, the + <makevar>MASTER_SITES</makevar> variable can be used to override the + download locations specified in the <filename>Makefile</filename>. + When using, specify the alternate location:</para> <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> &prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ -ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> - - <para>In this example, <makevar>MASTER_SITES</makevar> is - changed to <hostid - role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> - - <note> - <para>Some ports provide build options which can be used to - enable/disable parts of the application which are unneeded, - provide security options, or allow for other customizations. - Examples include - <filename role="package">www/firefox</filename>, - <filename role="package">security/gpgme</filename>, and - <filename role="package">mail/sylpheed-claws</filename>. A - menu will be displayed at the beginning of a port - compile when compile options are available.</para> - </note> - - <sect3> - <title>Overriding the Default Ports Directories</title> +<replaceable>ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/</replaceable> fetch</userinput></screen> <para>The <makevar>WRKDIRPREFIX</makevar> and <makevar>PREFIX</makevar> variables can override the default @@ -1425,44 +1249,24 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/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> + <filename class="directory">/usr/home/example/ports</filename> and install + everything under <filename class="directory">/usr/local</filename>.</para> <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen> - <para>will compile the port in <filename>/usr/ports</filename> + <para>will compile the port in <filename class="directory">/usr/ports</filename> and install it in - <filename>/usr/home/example/local</filename>.</para> - - <para>And</para> + <filename class="directory">/usr/home/example/local</filename>. And:</para> <screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen> <para>will combine the two.</para> - <para>Alternatively, these can be set as environmental + <para>These can also be set as environmental variables. Refer to the manual page for your shell for instructions on how to set an environmental variable.</para> - </sect3> - - <sect3> - <title>Reconfiguring Ports</title> - <para>Certain ports provide an ncurses-based menu containing - build options. There are several ways to revisit this menu - in order to add, remove, or change these options after a - port has been built. One method is to - <command>cd</command> into the directory containing the - port and type - <command>make <maketarget>config</maketarget></command>. - Another option is to use - <command>make <maketarget>showconfig</maketarget></command>. - Another option is to execute - <command>make <maketarget>rmconfig</maketarget></command> - which will remove all selected options and allow you to - start over. All of these options, and others, are explained - in great detail in the manual page for &man.ports.7;.</para> </sect3> </sect2> @@ -1474,10 +1278,34 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ <secondary>removing</secondary> </indexterm> - <para>Installed ports and packages are uninstalled using - the &man.pkg.delete.1; command:</para> - - <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen> + <para>Installed ports can be uninstalled using + &man.pkg.delete.1;. Alternately, if the &os; system has been + configured to use <application>pkg</application>, a port can be + uninstalled using <command>pkg delete</command>. Examples + for using these commands can be found in <xref + linkend="packages-using"/> and <xref + linkend="pkgng-intro"/></para> + + <para>Alternately, <command>make deinstall</command> can be + run in the port's directory:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput> +<userinput>make deinstall</userinput> +===> Deinstalling for sysutils/lsof +===> Deinstalling +Deinstallation has been requested for the following 1 packages: + + lsof-4.88.d,8 + +The deinstallation will free 229 kB +[1/1] Deleting lsof-4.88.d,8... done</screen> + + <para>It is recommended to read the messages as the port is + uninstalled. If the port has any applications that depend + upon it, this information will be displayed but the + uninstallation will proceed. In such cases, it may be better + to reinstall the application in order to prevent broken + dependencies.</para> </sect2> <sect2 id="ports-upgrading">
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310081948.r98JmS9b025117>