diff options
Diffstat (limited to 'documentation/content/en/books/handbook/ports/_index.adoc')
-rw-r--r-- | documentation/content/en/books/handbook/ports/_index.adoc | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/documentation/content/en/books/handbook/ports/_index.adoc b/documentation/content/en/books/handbook/ports/_index.adoc index fe7001ab82..a6e68a7137 100644 --- a/documentation/content/en/books/handbook/ports/_index.adoc +++ b/documentation/content/en/books/handbook/ports/_index.adoc @@ -57,7 +57,7 @@ In addition, FreeBSD provides two complementary technologies for installing thir for installing from source, and packages, for installing from pre-built binaries. Either method may be used to install software from local media or from the network. -After reading this chapter, you will know: +Read this chapter to learn: * The difference between binary packages and ports. * How to find third-party software that has been ported to FreeBSD. @@ -86,7 +86,7 @@ A FreeBSD package contains pre-compiled copies of all the commands for an applic A package can be manipulated with the man:pkg[8] commands, such as `pkg install`. While the two technologies are similar, packages and ports each have their own strengths. -Select the technology that meets your requirements for installing a particular application. +Select the technology that meets the needs for installing a particular application. .Package Benefits * A compressed package tarball is typically smaller than the compressed tarball containing the source code for the application. @@ -99,7 +99,7 @@ Select the technology that meets your requirements for installing a particular a + In some cases, multiple packages will exist for the same application with different settings. For example, NGINX(R) is available as a `nginx` package and a `nginx-lite` package, the former has many more options enabled, but this in turn requires many things to be installed as dependencies for it to work, thus increasing space consumption and attack surface. + -The transitive dependencies can grow quite large, for example the full `nginx` package will pull in several X libraries which can be quite surprising, so building from ports allow you to choose only the options you need without a "kitchen sink" approach. In some cases, multiple packages will exist for the same application to specify certain settings. +The transitive dependencies can grow quite large, for example the full `nginx` package will pull in several X libraries which can be quite surprising, so building from ports allows to choose only the options needed without a "kitchen sink" approach. In some cases, multiple packages will exist for the same application to specify certain settings. * 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. * Some people do not trust binary distributions or prefer to read through source code in order to look for potential problems. * Source code is needed in order to apply custom patches. @@ -165,7 +165,7 @@ The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N] .... -man:pkg[7] will intercept the command, and if you confirm that is your intention, download the man:pkg[8] tarball, install man:pkg[8] from it, bootstrap the local package database and then proceed to run the command you originally requested. +man:pkg[7] will intercept the command, and when confirmed, downloads the man:pkg[8] tarball, installs man:pkg[8] from it, bootstraps the local package database and then proceeds to run the command originally requested. More recent versions of man:pkg[7] understand `pkg -N` as a test to see if man:pkg[8] is installed without triggering the installation, and conversely, pkg bootstrap[-f] to install man:pkg[8] (or force it to be reinstalled) without performing any other actions. @@ -695,7 +695,7 @@ By default, the Ports Collection itself is stored as a subdirectory of `/usr/por Before installing and using the Ports Collection, please be aware that it is generally ill-advised to use the Ports Collection in conjunction with the binary packages provided via pkg to install software. pkg, by default, tracks quarterly branch-releases of the ports tree and not HEAD. Dependencies could be different for a port in HEAD compared to its counterpart in a quarterly branch release and this could result in conflicts between dependencies installed by pkg and those from the Ports Collection. -If the Ports Collection and pkg must be used in conjunction, then be sure that your Ports Collection and pkg are on the same branch release of the ports tree. +If the Ports Collection and pkg must be used in conjunction, then be sure that the Ports Collection and pkg are on the same branch release of the ports tree. ==== The Ports Collection contains directories for software categories. @@ -730,8 +730,8 @@ If more control over the ports tree is needed or if local changes need to be mai Git can be used to obtain the Ports Collection. Refer to extref:{committers-guide}[the Git Primer, git-primer] for a detailed description of Git. -We add --depth 1 to the git command line to clone the tree without obtaining the commit history, which saves time and is acceptable for most users. -If you have your own changes to the ports tree, or need the history for any reason, omit the --depth 1 argument below. +We add `--depth 1` to the git command line to clone the tree without obtaining the commit history, which saves time and is acceptable for most users. +When maintaining custom changes to the ports tree, or need the history for any reason, omit the `--depth 1` argument below. . Git 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 Git like this: + @@ -773,7 +773,8 @@ If the ports tree is not available, or pkg is being used to manage packages, Git + [source,shell] .... -# git -C /usr/ports switch 2023Q1 +# git -C /usr/ports fetch --depth 1 origin 2023Q2:2023Q2 +# git -C /usr/ports switch 2023Q2 .... **** @@ -875,7 +876,7 @@ and ports options screens no longer appear, to be certain that all dependency op 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 `cd` into the directory containing the port and type `make config`. Another option is to use `make showconfig`. -Another option is to execute `make rmconfig` which will remove all selected options and allow you to start over. +Another option is to execute `make rmconfig` which will remove all selected options and allows to start over. All of these options, and others, are explained in great detail in man:ports[7]. The ports system uses man:fetch[1] to download the source files, which supports various environment variables. @@ -921,7 +922,7 @@ will compile the port in `/usr/ports` and install it in `/usr/home/example/local will combine the two. 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. +Refer to the manual page for the shell for instructions on how to set an environmental variable. [[ports-removing]] === Removing Installed Ports @@ -983,7 +984,7 @@ Synth is a newer alternative. [NOTE] ==== The choice of which tool is best for a particular system is up to the system administrator. -It is recommended practice to back up your data before using any of these tools. +It is recommended practice to back up data before using any of these tools. ==== [[portmaster]] @@ -1361,5 +1362,5 @@ Instead, any fixes and support come from the general community who subscribe to ==== + If there is no response to the email, use Bugzilla to submit a bug report using the instructions in extref:{problem-reports}[Writing FreeBSD Problem Reports]. -. Fix it! The extref:{porters-handbook}[Porter's Handbook] includes detailed information on the ports infrastructure so that you can fix the occasional broken port or even submit your own! -. Install the package instead of the port using the instructions in crossref:ports[pkgng-intro, Using pkg for Binary Package Management]. + +. Fix it! The extref:{porters-handbook}[Porter's Handbook] includes detailed information on the ports infrastructure, enabling the fixing of occasional broken ports or the submission of new ones. Install the package instead of the port using the instructions in crossref:ports[pkgng-intro, Using pkg for Binary Package Management]. |