diff options
author | Daniel O'Connor <darius@dons.net.au> | 2024-12-29 09:45:52 +0000 |
---|---|---|
committer | Sergio Carlavilla Delgado <carlavilla@FreeBSD.org> | 2024-12-29 09:45:52 +0000 |
commit | 59221146cd77f2afdf64c401c4fe475644e53e31 (patch) | |
tree | f9cdde80eedc48865f561ff167b8a2d0f8ec25c9 | |
parent | 507a7c41c372b2c54fb758fc6bc3809556b96fb4 (diff) |
Handbook - Ports: Reword section about multiple package version
Reviewed by: carlavilla@, ziaee@
Pull Request: https://github.com/freebsd/freebsd-doc/pull/422
-rw-r--r-- | documentation/content/en/books/handbook/ports/_index.adoc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/documentation/content/en/books/handbook/ports/_index.adoc b/documentation/content/en/books/handbook/ports/_index.adoc index 8797672f9b..70c0b132a5 100644 --- a/documentation/content/en/books/handbook/ports/_index.adoc +++ b/documentation/content/en/books/handbook/ports/_index.adoc @@ -96,7 +96,9 @@ Select the technology that meets your requirements for installing a particular a * Packages are normally compiled with conservative options because they have to run on the maximum number of systems. By compiling from the port, one can change the compilation options. * Some applications have compile-time options relating to which features are installed. For example, NGINX(R) can be configured with a wide variety of different built-in options. + -In some cases, multiple packages will exist for the same application to specify certain settings. For example, NGINX(R) is available as a `nginx` package and a `nginx-lite` package, depending on whether or not Xorg is installed. Creating multiple packages rapidly becomes impossible if an application has more than one or two different compile-time options. +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 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. |