From owner-svn-doc-head@FreeBSD.ORG Tue Oct 8 21:32:38 2013 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 01F12C4D; Tue, 8 Oct 2013 21:32:38 +0000 (UTC) (envelope-from dru@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E101F23F1; Tue, 8 Oct 2013 21:32:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r98LWbo0080802; Tue, 8 Oct 2013 21:32:37 GMT (envelope-from dru@svn.freebsd.org) Received: (from dru@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r98LWbgb080801; Tue, 8 Oct 2013 21:32:37 GMT (envelope-from dru@svn.freebsd.org) Message-Id: <201310082132.r98LWbgb080801@svn.freebsd.org> From: Dru Lavigne Date: Tue, 8 Oct 2013 21:32:37 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r42904 - head/en_US.ISO8859-1/books/handbook/ports X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Oct 2013 21:32:38 -0000 Author: dru Date: Tue Oct 8 21:32:37 2013 New Revision: 42904 URL: http://svnweb.freebsd.org/changeset/doc/42904 Log: White space fix only. Translators can ignore. 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 19:48:28 2013 (r42903) +++ head/en_US.ISO8859-1/books/handbook/ports/chapter.xml Tue Oct 8 21:32:37 2013 (r42904) @@ -67,8 +67,8 @@ - Find and download the software, which might be distributed in - source code format or as a binary. + Find and download the software, which might be + distributed in source code format or as a binary. @@ -96,20 +96,22 @@ - If the software package was not - deliberately ported, or tested to work, on &os;, the source code may need editing - in order for it to install and run properly. At the time of - this writing, over &os.numports; third-party - applications have been ported to &os;. + If the software package was not deliberately ported, or + tested to work, on &os;, the source code may need editing in + order for it to install and run properly. At the time of this + writing, over &os.numports; third-party applications have been + ported to &os;. - &os; provides two technologies which automate these steps. + &os; provides two technologies which automate these + steps. A &os; package contains pre-compiled copies of all the commands for an application, as well as any configuration files - and documentation. A package can be manipulated with the traditional &os; - package management commands, such as &man.pkg.add.1;, or using - the newer pkgng commands, such as - pkg install. + and documentation. A package can be manipulated with the + traditional &os; package management commands, such as + &man.pkg.add.1;, or using the newer + pkgng commands, such as + pkg install. A &os; port is a collection of files designed to automate the process of compiling an application from source code. The @@ -121,9 +123,8 @@ can be manipulated with the &os; package management commands. - Both packages and ports understand - dependencies. If a package or port - is used to install an application and a + Both packages and ports understand dependencies. If a + package or port is used to install an application and a dependent library is not already installed, the library will automatically be installed first. @@ -143,8 +144,7 @@ Packages do not require compilation time. For large - applications, such as - Mozilla, + applications, such as Mozilla, KDE, or GNOME, this can be important on a slow system. @@ -185,8 +185,8 @@ The licensing conditions of some software forbid binary - distribution. Such software must be distributed as source code - which must be compiled by the end-user. + distribution. Such software must be distributed as source + code which must be compiled by the end-user. @@ -238,9 +238,9 @@ FreshPorts Dan Langille maintains FreshPorts.org which - provides a comprehensive search utility and also tracks - changes to the applications in the Ports Collection. + url="http://www.FreshPorts.org/">FreshPorts.org + which provides a comprehensive search utility and also + tracks changes to the applications in the Ports Collection. Registered users can create a customized watch list in order to receive an automated email when their watched ports are updated. @@ -249,17 +249,17 @@ Freecode - If you do not know the name of an application, - try using a site like Freecode.com to find an - application, then check back at the &os; site to see if - the application has been ported yet. + If you do not know the name of an application, try + using a site like Freecode.com to + find an application, then check back at the &os; site to + see if the application has been ported yet. If the Ports Collection is already installed, there are - several methods to query the local version of the ports tree. - To find out which category a port is in, type + several methods to query the local version of the ports + tree. To find out which category a port is in, type whereis file, where file is the program to be installed: @@ -273,21 +273,21 @@ lsof: /usr/ports/sysutils/lsof &prompt.root; echo /usr/ports/*/*lsof* /usr/ports/sysutils/lsof - Note that this will also return any matched files downloaded - into the Note that this will also return any matched files + downloaded into the /usr/ports/distfiles directory. Another way to find software is by using the Ports - Collection's built-in search mechanism. To use - the search feature, cd to - /usr/ports then run make - search + Collection's built-in search mechanism. To use the search + feature, cd to /usr/ports then run + make search name=program-name - where program-name is the name of - the software. For example, to search for + where program-name is the name + of the software. For example, to search for lsof: &prompt.root; cd /usr/ports @@ -328,9 +328,10 @@ Info: Lists information about open fil make quicksearch key=string, where string is some text to search - for. The text can be in comments, descriptions, or dependencies - in order to find ports which relate to a particular subject - when the name of the program is unknown. + for. The text can be in comments, descriptions, or + dependencies in order to find ports which relate to a + particular subject when the name of the program is + unknown. When using search or quicksearch, the search string @@ -360,16 +361,16 @@ Info: Lists information about open fil may wish to investigate the benefits of using PKGng to manage third-party software on &os;. This section describes the traditional method - for managing binary packages and only applies to those users who have not yet migrated to the + for managing binary packages and only applies to those users + who have not yet migrated to the pkgng format. - This method of package management uses a - package database directory, - /var/db/pkg, to track - installed software versions and the files installed with each - application. Several utilities interact with the database - directory and are used to manage binary packages. These - commands begin with pkg_. This section + This method of package management uses a package database + directory, /var/db/pkg, + to track installed software versions and the files installed + with each application. Several utilities interact with the + database directory and are used to manage binary packages. + These commands begin with pkg_. This section provides an overview of the commands which are used to install, delete, and gather information about binary packages. Each command provides many switches to customize its operation. @@ -387,17 +388,17 @@ Info: Lists information about open fil pkg_add - To install a binary package from - a local &os; media or a remote &os; package server, use &man.pkg.add.1;. - While a &os; media can provide a source of local packages - without requiring a network connection, it may not contain - the latest versions of binary packages as new versions are - always being rebuilt for the &os; package servers. To install - from a package server, always include (for remote) with - &man.pkg.add.1;. This automatically determines the correct - object format and release, and then fetches and installs the - package from a package server without any further user - intervention. + To install a binary package from a local &os; media or + a remote &os; package server, use &man.pkg.add.1;. While a + &os; media can provide a source of local packages without + requiring a network connection, it may not contain the latest + versions of binary packages as new versions are always being + rebuilt for the &os; package servers. To install from a + package server, always include (for + remote) with &man.pkg.add.1;. This automatically determines + the correct object format and release, and then fetches and + installs the package from a package server without any + further user intervention. pkg_add @@ -405,15 +406,17 @@ Info: Lists information about open fil &prompt.root; pkg_add -r lsof In this example, lsof is used without - specifying a version number as the version is not included when the remote - fetching feature is used. To specify an alternative &os; FTP mirror, specify the - mirror in the PACKAGESITE environment variable. + specifying a version number as the version is not included + when the remote fetching feature is used. To specify an + alternative &os; FTP mirror, specify the mirror in the + PACKAGESITE environment variable. &man.pkg.add.1; uses &man.fetch.3; to download files, which uses various environment variables, including - FTP_PASSIVE_MODE, FTP_PROXY, and - FTP_PASSWORD. 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 of FTP-related variables. + FTP_PASSIVE_MODE, FTP_PROXY, + and FTP_PASSWORD. 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 + of FTP-related variables. &man.pkg.add.1; will automatically download the latest @@ -431,14 +434,16 @@ Info: Lists information about open fil Package files are distributed in the - .tbz format. Packages are - available from + .tbz format. Packages are available + from or the /packages directory of the &os; - DVD distribution. The layout of the packages directory is similar to - that of the /usr/ports tree. Each - category has its own directory, and every package can be found - within the All directory. + DVD distribution. The layout of the packages directory is + similar to that of the /usr/ports tree. Each + category has its own directory, and every package can be + found within the All directory. @@ -461,9 +466,10 @@ colordiff-1.0.13 Tool to colorize dif docbook-1.4 Meta-port for the different versions of the DocBook DTD ... - To receive a summary of the versions of all - installed packages and a comparison of the installed package versions to the - current versions found in the locally installed ports tree, use &man.pkg.version.1;: + To receive a summary of the versions of all installed + packages and a comparison of the installed package versions + to the current versions found in the locally installed ports + tree, use &man.pkg.version.1;: pkg_version @@ -473,8 +479,8 @@ colordiff = docbook = ... - The symbols in the second column indicate the relative age - of the installed version and the version available in the + The symbols in the second column indicate the relative + age of the installed version and the version available in the local ports tree. @@ -506,6 +512,7 @@ docbook = that the local ports tree is probably out of date. + ? The installed package cannot be found in the @@ -554,8 +561,8 @@ docbook = name and number and that the above command would not work if xchat was given instead of xchat-2.8.8_1. Use - &man.pkg.version.1; to find the version of the - installed package, or use a wildcard: + &man.pkg.version.1; to find the version of the installed + package, or use a wildcard: &prompt.root; pkg_delete xchat\* @@ -568,38 +575,38 @@ docbook = Using <application>pkgng</application> for Binary Package Management - pkgng is the next generation replacement - for the traditional &os; package management tools, offering - many features that make dealing with binary packages faster and - easier. + pkgng is the next generation + replacement for the traditional &os; package management tools, + offering many features that make dealing with binary packages + faster and easier. pkgng is not a replacement for port management tools like ports-mgmt/portmaster or ports-mgmt/portupgrade. These - tools can be used to - install third-party software from both binary packages and the - Ports Collection, while pkgng installs - only binary packages. + tools can be used to install third-party software from both + binary packages and the Ports Collection, while + pkgng installs only binary + packages. Getting Started with <application>pkgng</application> - &os; 9.1 and later includes a bootstrap - utility which can be used to download and install - pkgng, along with its manual pages. + &os; 9.1 and later includes a bootstrap utility + which can be used to download and install + pkgng, along with its manual + pages. To bootstrap the system, run: &prompt.root; /usr/sbin/pkg For earlier &os; versions, - pkgng must instead be installed from the - Ports Collection or as a binary package. + pkgng must instead be installed + from the Ports Collection or as a binary package. - To install the port, - run: + To install the port, run: &prompt.root; cd /usr/ports/ports-mgmt/pkg &prompt.root; make @@ -609,9 +616,9 @@ docbook = &prompt.root; pkg_add -r pkg - Once pkgng is installed, the package database - must be converted from the traditional format to the - new format by running this command: + Once pkgng is installed, the + package database must be converted from the traditional format + to the new format by running this command: &prompt.root; pkg2ng @@ -628,16 +635,16 @@ docbook = The package database conversion may emit errors as the contents are converted to the new version. Generally, these - errors can be safely ignored. However, a list of third-party - software that was not successfully converted will be listed - after pkg2ng has finished and these applications must be - manually reinstalled. + errors can be safely ignored. However, a list of + third-party software that was not successfully converted + will be listed after pkg2ng has finished + and these applications must be manually reinstalled. - To ensure that the &os; Ports Collection registers new - software with pkgng, and not - the traditional packages format, &os; versions earlier - than 10.X require this line in + To ensure that the &os; Ports Collection registers + new software with pkgng, and not + the traditional packages format, &os; versions earlier than + 10.X require this line in /etc/make.conf: WITH_PKGNG= yes @@ -650,8 +657,7 @@ docbook = overrides the configuration file. Additional pkgng - configuration options are described in - pkg.conf(5). + configuration options are described in pkg.conf(5). Usage information for pkgng is available in pkg(8) or by running @@ -666,44 +672,45 @@ docbook = &prompt.root; man pkg-install - The rest of this section demonstrates common binary package management - tasks which can be performed using pkgng. Each - demonstrated command provides many switches to customize its - use. Refer to a command's help or man page for details and - more examples. + The rest of this section demonstrates common binary + package management tasks which can be performed using + pkgng. Each demonstrated command + provides many switches to customize its use. Refer to a + command's help or man page for details and more + examples. - Obtaining Information About Installed Packages + Obtaining Information About Installed Packages - Information about the packages installed on a system can - be viewed by running pkg info which, when run without any switches, will - list the package version for either all installed packages or the specified package. + Information about the packages installed on a system + can be viewed by running pkg info which, + when run without any switches, will list the package version + for either all installed packages or the specified + package. - For example, to see which version of - pkgng is installed, - run: + For example, to see which version of + pkgng is installed, run: - &prompt.root; pkg info pkg + &prompt.root; pkg info pkg pkg-1.1.4_1 - + - Installing and Removing Packages + Installing and Removing Packages - To install a binary package - use the following command, where - packagename is the name of the - package to install: + To install a binary package use the following command, + where packagename is the name of + the package to install: - &prompt.root; pkg install packagename + &prompt.root; pkg install packagename - This command uses repository data to determine which - version of the software to install and if it has any - uninstalled dependencies. For example, to install - curl: + This command uses repository data to determine which + version of the software to install and if it has any + uninstalled dependencies. For example, to install + curl: - &prompt.root; pkg install curl + &prompt.root; pkg install curl Updating repository catalogue /usr/local/tmp/All/curl-7.31.0_1.txz 100% of 1181 kB 1380 kBps 00m01s @@ -749,43 +756,45 @@ Proceed with deleting packages [y/N]: - Upgrading Installed Packages + Upgrading Installed Packages - Packages that are outdated can be found with - pkg version. If a local ports tree - does not exist, pkg-version(8) will use the remote - repository catalogue. Otherwise, the local ports tree will - be used to identify package versions. - - Installed packages can be upgraded to their latest versions - by typing pkg upgrade. This command - will compare the installed versions with those available - in the repository catalogue. When finished, it will list - the applications that have newer versions. Type - y to proceed with the upgrade or - n to cancel the upgrade. + Packages that are outdated can be found with + pkg version. If a local ports tree + does not exist, pkg-version(8) will use the remote + repository catalogue. Otherwise, the local ports tree will + be used to identify package versions. + + Installed packages can be upgraded to their latest + versions by typing pkg upgrade. This + command will compare the installed versions with those + available in the repository catalogue. When finished, it + will list the applications that have newer versions. Type + y to proceed with the upgrade or + n to cancel the upgrade. - Auditing Installed Packages + Auditing Installed Packages - Occasionally, software vulnerabilities may be discovered - in third-party applications. To address this, - pkgng includes a built-in auditing mechanism. - To determine if there are any known vulnerabilities for the software installed on the system, run: + Occasionally, software vulnerabilities may be discovered + in third-party applications. To address this, + pkgng includes a built-in auditing + mechanism. To determine if there are any known + vulnerabilities for the software installed on the system, + run: &prompt.root; pkg audit -F - Automatically Removing Leaf Dependencies + Automatically Removing Leaf Dependencies - Removing a package may leave behind - dependencies which are no longer required. Unneeded packages that - were installed as dependencies can be automatically detected - and removed using: + Removing a package may leave behind dependencies which + are no longer required. Unneeded packages that were installed + as dependencies can be automatically detected and removed + using: - &prompt.root; pkg autoremove + &prompt.root; pkg autoremove Packages to be autoremoved: ca_root_nss-3.13.5 @@ -796,252 +805,247 @@ Deinstalling ca_root_nss-3.15.1_1... don - Backing Up the Package - Database + Backing Up the Package Database - Unlike the traditional package management system, - pkgng includes its own package - database backup mechanism. To manually back up the contents of the package - database, run the following command, replacing - pkgng.db with a suitable file - name: - - &prompt.root; pkg backup -d pkgng.db - - Additionally, pkgng includes - a &man.periodic.8; script to automatically perform a daily back up of the - package database. This functionality is enabled if - daily_backup_pkgng_enable is set to - YES in &man.periodic.conf.5;. + Unlike the traditional package management system, + pkgng includes its own package + database backup mechanism. To manually back up the contents + of the package database, run the following command, replacing + pkgng.db with a suitable file + name: + + &prompt.root; pkg backup -d pkgng.db + + Additionally, pkgng includes + a &man.periodic.8; script to automatically perform a daily + back up of the package database. This functionality is + enabled if daily_backup_pkgng_enable is + set to YES in &man.periodic.conf.5;. - - To disable the - periodic script from backing up the package database, - set daily_backup_pkgdb_enable to - NO in &man.periodic.conf.5;. - + + To disable the periodic script from backing up the + package database, set daily_backup_pkgdb_ + enable to NO in + &man.periodic.conf.5;. + - To restore the contents of a previous package database - backup, run: + To restore the contents of a previous package database + backup, run: - &prompt.root; pkg backup -r /path/to/pkgng.db + &prompt.root; pkg backup -r /path/to/pkgng.db - Removing Stale - Packages + Removing Stale Packages - By default, pkgng stores - binary packages in a cache directory defined by - PKG_CACHEDIR in pkg.conf(5). When - upgrading packages with pkg upgrade, old - versions of the upgraded packages are not automatically - removed. + By default, pkgng stores + binary packages in a cache directory defined by + PKG_CACHEDIR in pkg.conf(5). When upgrading + packages with pkg upgrade, old versions + of the upgraded packages are not automatically removed. - To remove these outdated binary packages, run: + To remove these outdated binary packages, run: - &prompt.root; pkg clean + &prompt.root; pkg clean - Modifying Package - Metadata + Modifying Package Metadata + + Software within the &os; Ports Collection can + undergo major version number changes. To address this, + pkgng has a built-in command to + update package origins. This can be useful, for example, if + lang/php5 is renamed to + lang/php53 so that + lang/php5 can now + represent version 5.4. - Software within the &os; Ports - Collection can undergo major version number changes. To address this, - pkgng has a built-in command to - update package origins. This can be useful, for example, if lang/php5 is renamed to - lang/php53 so that lang/php5 can now represent - version 5.4. - - To change the package origin for the above - example, run: - - &prompt.root; pkg set -o lang/php5:lang/php53 - - As another example, to update lang/ruby18 to lang/ruby19, run: - - &prompt.root; pkg set -o lang/ruby18:lang/ruby19 - - As a final example, to change the origin of the - libglut shared libraries from graphics/libglut to graphics/freeglut, run: + To change the package origin for the above example, + run: - &prompt.root; pkg set -o graphics/libglut:graphics/freeglut + &prompt.root; pkg set -o lang/php5:lang/php53 - - When changing package origins, it is - important to reinstall packages that are dependent on the - package with the modified origin. To force a - reinstallation of dependent packages, run: + As another example, to update lang/ruby18 to lang/ruby19, run: - &prompt.root; pkg install -Rf graphics/freeglut - + &prompt.root; pkg set -o lang/ruby18:lang/ruby19 + + As a final example, to change the origin of the + libglut shared libraries from graphics/libglut to graphics/freeglut, run: + + &prompt.root; pkg set -o graphics/libglut:graphics/freeglut + + + When changing package origins, it is important to + reinstall packages that are dependent on the package with + the modified origin. To force a reinstallation of dependent + packages, run: + + &prompt.root; pkg install -Rf graphics/freeglut + Using the Ports Collection - The Ports Collection is a set of - Makefiles, patches, and description files - stored in /usr/ports. 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: - - - Portsnap Method - - Portsnap is a fast and - user-friendly tool for retrieving the Ports Collection and is the - recommended choice for most users. See - - for a detailed description of - Portsnap. - - - Download a compressed snapshot of the Ports Collection - into /var/db/portsnap. - - &prompt.root; portsnap fetch - - - - When running Portsnap - for the first time, extract the snapshot into - /usr/ports: - - &prompt.root; portsnap extract - - - - After the first use of - Portsnap has been completed as - shown above, - /usr/ports can be - updated as needed by running: + The Ports Collection is a set of + Makefiles, patches, and description files + stored in /usr/ports. + 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: - &prompt.root; portsnap fetch + + Portsnap Method + + Portsnap is a fast and + user-friendly tool for retrieving the Ports Collection and + is the recommended choice for most users. See for a detailed + description of Portsnap. + + + Download a compressed snapshot of the Ports Collection + into /var/db/portsnap. + + &prompt.root; portsnap fetch + + + + When running Portsnap for + the first time, extract the snapshot into /usr/ports: + + &prompt.root; portsnap extract + + + + After the first use of + Portsnap has been completed as + shown above, /usr/ports can be updated as + needed by running: + + &prompt.root; portsnap fetch &prompt.root; portsnap update - - + + - - Subversion Method + + Subversion Method - If more control over the ports tree is needed or if - local changes need to be maintained, - Subversion can be used to - obtain the Ports Collection. Refer to the - Subversion Primer for a detailed description of - Subversion. - - - Subversion must be - installed before it can be used to check out the ports - tree. If a copy of the ports tree is already present, - install Subversion like - this: + If more control over the ports tree is needed or if + local changes need to be maintained, + Subversion can be used to + obtain the Ports Collection. Refer to the + Subversion Primer for a detailed description of + Subversion. - &prompt.root; cd /usr/ports/devel/subversion + + Subversion must be + installed before it can be used to check out the ports + tree. If a copy of the ports tree is already present, + install Subversion like + this: + + &prompt.root; cd /usr/ports/devel/subversion &prompt.root; make install clean - If the ports tree is not available, - Subversion can be installed as - a package: - - &prompt.root; pkg_add -r subversion - - If pkgng is being used to - manage packages, Subversion can - be installed with it instead: - - &prompt.root; pkg install subversion - - - - Check out a copy of the ports tree. For better performance, - replace svn0.us-east.FreeBSD.org with a - Subversion - mirror close to your geographic location: - - &prompt.root; svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports - - - - As needed, update - /usr/ports after - the initial Subversion - checkout: - - &prompt.root; svn update /usr/ports - - - - 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: - - - - Makefile: contains statements that - specify how the application should be compiled and where - its components should be installed. - - - - distinfo: contains the names - and checksums of the files that must be downloaded to - build the port. - - - - files/: 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. - - - - pkg-descr: provides a - more detailed description of the program. - - - - pkg-plist: a list - of all the files that will be installed by the port. It - also tells the ports system which files to remove upon - deinstallation. - - - - Some ports include - pkg-message or other - files to handle special situations. For more details - on these files, and on ports in general, refer to the - &os; - Porter's Handbook. - - The port does not include the actual source code, also - known as a distfile. The extract portion - of building a port will automatically save the downloaded - source to /usr/ports/distfiles. + If the ports tree is not available, + Subversion can be installed as + a package: + + &prompt.root; pkg_add -r subversion + + If pkgng is being used to + manage packages, Subversion can + be installed with it instead: - + &prompt.root; pkg install subversion + + + + Check out a copy of the ports tree. For better + performance, replace + svn0.us-east.FreeBSD.org with a + Subversion + mirror close to your geographic location: + + &prompt.root; svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports + + + + As needed, update /usr/ports after the initial + Subversion checkout: + + &prompt.root; svn update /usr/ports + + + + 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: + + + + Makefile: contains statements that + specify how the application should be compiled and where + its components should be installed. + + + + distinfo: contains the names + and checksums of the files that must be downloaded to + build the port. + + + + files/: 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. + + + + pkg-descr: provides a more detailed + description of the program. + + + + pkg-plist: a list of all the + files that will be installed by the port. It also tells + the ports system which files to remove upon + deinstallation. + + + + Some ports include pkg-message or *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***