git: 59221146cd - main - Handbook - Ports: Reword section about multiple package version

From: Sergio Carlavilla Delgado <carlavilla_at_FreeBSD.org>
Date: Sun, 29 Dec 2024 09:48:15 UTC
The branch main has been updated by carlavilla:

URL: https://cgit.FreeBSD.org/doc/commit/?id=59221146cd77f2afdf64c401c4fe475644e53e31

commit 59221146cd77f2afdf64c401c4fe475644e53e31
Author:     Daniel O'Connor <darius@dons.net.au>
AuthorDate: 2024-12-29 09:45:52 +0000
Commit:     Sergio Carlavilla Delgado <carlavilla@FreeBSD.org>
CommitDate: 2024-12-29 09:45:52 +0000

    Handbook - Ports: Reword section about multiple package version
    
    Reviewed by:    carlavilla@, ziaee@
    Pull Request:   https://github.com/freebsd/freebsd-doc/pull/422
---
 documentation/content/en/books/handbook/ports/_index.adoc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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.