aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/en/books/handbook/ports/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/en/books/handbook/ports/_index.po')
-rw-r--r--documentation/content/en/books/handbook/ports/_index.po2503
1 files changed, 2503 insertions, 0 deletions
diff --git a/documentation/content/en/books/handbook/ports/_index.po b/documentation/content/en/books/handbook/ports/_index.po
new file mode 100644
index 0000000000..5045dee568
--- /dev/null
+++ b/documentation/content/en/books/handbook/ports/_index.po
@@ -0,0 +1,2503 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2024-01-17 20:35-0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: YAML Front Matter: description
+#: documentation/content/en/books/handbook/ports/_index.adoc:1
+#, no-wrap
+msgid "FreeBSD provides two complementary technologies for installing third-party software: the FreeBSD Ports Collection, for installing from source, and packages, for installing from pre-built binaries"
+msgstr ""
+
+#. type: YAML Front Matter: part
+#: documentation/content/en/books/handbook/ports/_index.adoc:1
+#, no-wrap
+msgid "Part I. Getting Started"
+msgstr ""
+
+#. type: YAML Front Matter: title
+#: documentation/content/en/books/handbook/ports/_index.adoc:1
+#, no-wrap
+msgid "Chapter 4. Installing Applications: Packages and Ports"
+msgstr ""
+
+#. type: Title =
+#: documentation/content/en/books/handbook/ports/_index.adoc:14
+#, no-wrap
+msgid "Installing Applications: Packages and Ports"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:52
+#, no-wrap
+msgid "Synopsis"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:58
+msgid ""
+"FreeBSD is bundled with a rich collection of system tools as part of the "
+"base system. In addition, FreeBSD provides two complementary technologies "
+"for installing third-party software: the FreeBSD Ports Collection, 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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:60
+msgid "After reading this chapter, you will know:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:62
+msgid "The difference between binary packages and ports."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:63
+msgid "How to find third-party software that has been ported to FreeBSD."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:64
+msgid "How to manage binary packages using pkg."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:65
+msgid ""
+"How to build third-party software from source using the Ports Collection."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:66
+msgid ""
+"How to find the files installed with the application for post-installation "
+"configuration."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:67
+msgid "What to do if a software installation fails."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:69
+#, no-wrap
+msgid "Overview of Software Installation"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:73
+msgid ""
+"A FreeBSD _port_ is a collection of files designed to automate the process "
+"of compiling an application from source code. The files that comprise a "
+"port contain all the necessary information to automatically download, "
+"extract, patch, compile, and install the application."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:75
+msgid ""
+"If the software has not already been adapted and tested on FreeBSD, the "
+"source code might need editing in order for it to install and run properly."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:78
+msgid ""
+"However, over link:https://www.FreeBSD.org/ports/[{numports}] third-party "
+"applications have already been ported to FreeBSD. When feasible, these "
+"applications are made available for download as pre-compiled _packages_."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:80
+msgid ""
+"Packages can be manipulated with the FreeBSD package management commands."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:83
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:86
+msgid ""
+"A FreeBSD 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 man:pkg[8] commands, such as `pkg "
+"install`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:89
+msgid ""
+"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."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/handbook/ports/_index.adoc:90
+#, no-wrap
+msgid "Package Benefits"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:92
+msgid ""
+"A compressed package tarball is typically smaller than the compressed "
+"tarball containing the source code for the application."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:93
+msgid ""
+"Packages do not require compilation time. For large applications, such as "
+"Firefox, KDE Plasma, or GNOME, this can be important on a slow system."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:94
+msgid ""
+"Packages do not require any understanding of the process involved in "
+"compiling software on FreeBSD."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/handbook/ports/_index.adoc:95
+#, no-wrap
+msgid "Port Benefits"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:97
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:98
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:100
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:101
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:102
+msgid ""
+"Some people do not trust binary distributions or prefer to read through "
+"source code in order to look for potential problems."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:103
+msgid "Source code is needed in order to apply custom patches."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:105
+msgid ""
+"To keep track of updated ports, subscribe to the {freebsd-ports} and the "
+"{freebsd-ports-bugs}."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:109
+msgid ""
+"Before installing an application, check https://vuxml.freebsd.org/[] for "
+"related security issues."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:111
+msgid ""
+"To audit installed packages against known vulnerabilities, run `pkg audit -"
+"F`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:114
+msgid ""
+"The remainder of this chapter explains how to use packages and ports to "
+"install and manage third-party software on FreeBSD."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:116
+#, no-wrap
+msgid "Finding Software"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:120
+msgid ""
+"FreeBSD's list of available applications is growing all the time. There are "
+"a number of ways to find software to install:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:122
+msgid ""
+"The FreeBSD web site maintains an up-to-date searchable list of all the "
+"available applications, at link:https://www.FreeBSD.org/ports/[Ports "
+"Portal]. The ports can be searched by application name or by software "
+"category."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:123
+msgid ""
+"Dan Langille maintains https://www.freshports.org/[FreshPorts] 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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:124
+msgid ""
+"If finding a particular application becomes challenging, try searching a "
+"site like https://sourceforge.net/[SourceForge] or https://github.com/"
+"[GitHub] then check back at the link:https://www.FreeBSD.org/ports/[Ports "
+"Portal] to see if the application has been ported."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:125
+msgid ""
+"Search the binary package repository for an application using the man:pkg[8] "
+"command"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:127
+#, no-wrap
+msgid "Using pkg for Binary Package Management"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:130
+msgid ""
+"man:pkg[8] provides an interface for manipulating\tpackages: registering, "
+"adding, removing and upgrading packages."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:132
+msgid ""
+"For sites wishing to only use prebuilt binary packages from the FreeBSD "
+"mirrors, managing packages with man:pkg[8] can be sufficient."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:134
+msgid ""
+"However, for those sites building from source a separate <<ports-upgrading-"
+"tools, port management tool>> will be needed."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:137
+msgid ""
+"Since man:pkg[8] only works with binary packages, it is not a replacement "
+"for such tools. Those tools can be used to install software from both "
+"binary packages and the Ports Collection, while man:pkg[8] installs only "
+"binary packages."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:139
+#, no-wrap
+msgid "Getting Started with pkg"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:143
+msgid ""
+"All supported versions of FreeBSD now contain `/usr/sbin/pkg` a.k.a man:"
+"pkg[7]. This is a small placeholder that has just the minimum functionality "
+"required to install the real man:pkg[8]."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:147
+msgid ""
+"An Internet working connection is required for the bootstrap process to "
+"succeed."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:150
+msgid "Run man:pkg[8] command line:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:154
+#, no-wrap
+msgid "# pkg\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:157
+#: documentation/content/en/books/handbook/ports/_index.adoc:242
+#: documentation/content/en/books/handbook/ports/_index.adoc:274
+#: documentation/content/en/books/handbook/ports/_index.adoc:309
+#: documentation/content/en/books/handbook/ports/_index.adoc:336
+#: documentation/content/en/books/handbook/ports/_index.adoc:381
+#: documentation/content/en/books/handbook/ports/_index.adoc:436
+#: documentation/content/en/books/handbook/ports/_index.adoc:463
+#: documentation/content/en/books/handbook/ports/_index.adoc:493
+#: documentation/content/en/books/handbook/ports/_index.adoc:518
+#: documentation/content/en/books/handbook/ports/_index.adoc:536
+msgid "The output should be similar to the following:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:162
+#, no-wrap
+msgid ""
+"The package management tool is not yet installed on your system.\n"
+"Do you want to fetch and install it now? [y/N]\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:165
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:167
+msgid ""
+"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."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:170
+msgid ""
+"Usage information for pkg is available in the man:pkg[8] manual page or by "
+"running `pkg` without additional arguments. Additional pkg configuration "
+"options are described in man:pkg.conf[5]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:172
+msgid ""
+"Each pkg command argument is documented in a command-specific manual page."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:174
+msgid ""
+"To read the manual page for `pkg install`, for example, run this command:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:178
+#, no-wrap
+msgid "# pkg help install\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:183
+msgid ""
+"The rest of this section demonstrates common binary package management tasks "
+"which can be performed using man:pkg[8]. Each demonstrated command provides "
+"many switches to customize its use. Refer to a command's help or man page "
+"for details and more examples."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:185
+#, no-wrap
+msgid "Quarterly and Latest Ports Branches"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:194
+msgid ""
+"The `Quarterly` branch provides users with a more predictable and stable "
+"experience for port and package installation and upgrades. This is done "
+"essentially by only allowing non-feature updates. Quarterly branches aim to "
+"receive security fixes (that may be version updates, or backports of "
+"commits), bug fixes and ports compliance or framework changes. The "
+"Quarterly branch is cut from HEAD at the beginning of every (yearly) quarter "
+"in January, April, July, and October. Branches are named according to the "
+"year (YYYY) and quarter (Q1-4) they are created in. For example, the "
+"quarterly branch created in January 2023, is named 2023Q1. And the `Latest` "
+"branch provides the latest versions of the packages to the users."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:196
+msgid ""
+"To switch man:pkg[8] from Quarterly to Latest run the following commands:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:201
+#, no-wrap
+msgid ""
+"# mkdir -p /usr/local/etc/pkg/repos\n"
+"# echo 'FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/${ABI}/latest\" }' > /usr/local/etc/pkg/repos/FreeBSD.conf\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:204
+msgid ""
+"Then run this command to update the local package repositories catalogues "
+"for the Latest branch:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:208
+#, no-wrap
+msgid "# pkg update -f\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:211
+#, no-wrap
+msgid "Configure pkg"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:215
+msgid ""
+"man:pkg.conf[5] is the system-wide configuration file used by the man:pkg[8] "
+"tools. The default location of this file is `/usr/local/etc/pkg.conf`."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:220
+msgid ""
+"FreeBSD does not need to have a `pkg.conf` file. Many installations will "
+"work well with no `pkg.conf` at all or with an empty `pkg.conf` (other than "
+"comment lines)."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:223
+msgid "Lines in the file beginning with a \"#\" are\tcomments and are ignored."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:226
+msgid ""
+"The file is in UCL format. For more information on the syntax of man:"
+"libucl[3], please visit the link:https://github.com/vstakhov/libucl[official "
+"UCL website]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:228
+msgid ""
+"The following types of options are recognized - boolean, string and list "
+"options."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:230
+msgid ""
+"A boolean option is marked as enabled if one of the following values is "
+"specified in the configuration file - YES, TRUE and ON."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:232
+#, no-wrap
+msgid "Searching Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:235
+msgid "To search a package man:pkg-search[8] can be used:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:239
+#, no-wrap
+msgid "# pkg search nginx\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:259
+#, no-wrap
+msgid ""
+"modsecurity3-nginx-1.0.3 Instruction detection and prevention engine / nginx Wrapper\n"
+"nginx-1.22.1_2,3 Robust and small WWW server\n"
+"nginx-devel-1.23.2_4 Robust and small WWW server\n"
+"nginx-full-1.22.1_1,3 Robust and small WWW server (full package)\n"
+"nginx-lite-1.22.1,3 Robust and small WWW server (lite package)\n"
+"nginx-naxsi-1.22.1,3 Robust and small WWW server (plus NAXSI)\n"
+"nginx-prometheus-exporter-0.10.0_7 Prometheus exporter for NGINX and NGINX Plus stats\n"
+"nginx-ultimate-bad-bot-blocker-4.2020.03.2005_1 Nginx bad bot and other things blocker\n"
+"nginx-vts-exporter-0.10.7_7 Server that scraps NGINX vts stats and export them via HTTP\n"
+"p5-Nginx-ReadBody-0.07_1 Nginx embeded perl module to read and evaluate a request body\n"
+"p5-Nginx-Simple-0.07_1 Perl 5 module for easy to use interface for Nginx Perl Module\n"
+"p5-Test-Nginx-0.30 Testing modules for Nginx C module development\n"
+"py39-certbot-nginx-2.0.0 NGINX plugin for Certbot\n"
+"rubygem-passenger-nginx-6.0.15 Modules for running Ruby on Rails and Rack applications\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:262
+#, no-wrap
+msgid "Installing and Fetching Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:267
+msgid ""
+"To install a binary package man:pkg-install[8] can be used. 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:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:271
+#, no-wrap
+msgid "# pkg install curl\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:281
+#, no-wrap
+msgid ""
+"Updating FreeBSD repository catalogue...\n"
+"FreeBSD repository is up to date.\n"
+"All repositories are up to date.\n"
+"The following 9 package(s) will be affected (of 0 checked):\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:292
+#, no-wrap
+msgid ""
+"New packages to be INSTALLED:\n"
+" ca_root_nss: 3.83\n"
+" curl: 7.86.0\n"
+" gettext-runtime: 0.21\n"
+" indexinfo: 0.3.1\n"
+" libidn2: 2.3.3\n"
+" libnghttp2: 1.48.0\n"
+" libpsl: 0.21.1_4\n"
+" libssh2: 1.10.0.3\n"
+" libunistring: 1.0\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:294
+#, no-wrap
+msgid "Number of packages to be installed: 9\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:297
+#, no-wrap
+msgid ""
+"The process will require 11 MiB more space.\n"
+"3 MiB to be downloaded\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:299
+#, no-wrap
+msgid "Proceed with this action? [y/N]\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:302
+msgid ""
+"The new package and any additional packages that were installed as "
+"dependencies can be seen in the installed packages list:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:306
+#, no-wrap
+msgid "# pkg info\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:322
+#, no-wrap
+msgid ""
+"ca_root_nss-3.83 Root certificate bundle from the Mozilla Project\n"
+"curl-7.86.0 Command line tool and library for transferring data with URLs\n"
+"gettext-runtime-0.21.1 GNU gettext runtime libraries and programs\n"
+"indexinfo-0.3.1 Utility to regenerate the GNU info page index\n"
+"libidn2-2.3.3 Implementation of IDNA2008 internationalized domain names\n"
+"libnghttp2-1.48.0 HTTP/2.0 C Library\n"
+"libpsl-0.21.1_6 C library to handle the Public Suffix List\n"
+"libssh2-1.10.0.3 Library implementing the SSH2 protocol\n"
+"libunistring-1.0 Unicode string library\n"
+"pkg-1.18.4 Package manager\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:326
+msgid ""
+"To fetch a package and install it later or in another place use man:pkg-"
+"fetch[8]. For example, to download `nginx-lite`:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:330
+#, no-wrap
+msgid "# pkg fetch -d -o /usr/home/user/packages/ nginx-lite\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:333
+msgid "`-d`: used to fetch all the dependencies"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:334
+msgid "`-o`: used to specify the download directory"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:343
+#, no-wrap
+msgid ""
+"Updating FreeBSD repository catalogue...\n"
+"FreeBSD repository is up to date.\n"
+"All repositories are up to date.\n"
+"The following packages will be fetched:\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:347
+#, no-wrap
+msgid ""
+"New packages to be FETCHED:\n"
+" nginx-lite: 1.22.1,3 (342 KiB: 22.20% of the 2 MiB to download)\n"
+" pcre: 8.45_3 (1 MiB: 77.80% of the 2 MiB to download)\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:349
+#, no-wrap
+msgid "Number of packages to be fetched: 2\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:352
+#, no-wrap
+msgid ""
+"The process will require 2 MiB more space.\n"
+"2 MiB to be downloaded.\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:354
+#, no-wrap
+msgid "Proceed with fetching packages? [y/N]:\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:357
+msgid ""
+"To install the downloaded packages man:pkg-install[8] can be used as follows:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:361
+#, no-wrap
+msgid "# cd /usr/home/user/packages/\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:366
+#, no-wrap
+msgid "# pkg install nginx-lite-1.22.1,3.pkg\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:369
+#, no-wrap
+msgid "Obtaining Information About Installed Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:372
+msgid ""
+"Information about the packages installed on a system can be viewed by "
+"running man:pkg-info[8] which, when run without any switches, will list the "
+"package version for either all installed packages or the specified package."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:374
+msgid "For example, to see which version of pkg is installed, run:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:378
+#, no-wrap
+msgid "# pkg info pkg\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:407
+#, no-wrap
+msgid ""
+"pkg-1.19.0\n"
+"Name : pkg\n"
+"Version : 1.19.0\n"
+"Installed on : Sat Dec 17 11:05:28 2022 CET\n"
+"Origin : ports-mgmt/pkg\n"
+"Architecture : FreeBSD:13:amd64\n"
+"Prefix : /usr/local\n"
+"Categories : ports-mgmt\n"
+"Licenses : BSD2CLAUSE\n"
+"Maintainer : pkg@FreeBSD.org\n"
+"WWW : https://github.com/freebsd/pkg\n"
+"Comment : Package manager\n"
+"Options :\n"
+" DOCS : on\n"
+"Shared Libs provided:\n"
+" libpkg.so.4\n"
+"Annotations :\n"
+" FreeBSD_version: 1301000\n"
+" repo_type : binary\n"
+" repository : FreeBSD\n"
+"Flat size : 33.2MiB\n"
+"Description :\n"
+"Package management tool\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:409
+#, no-wrap
+msgid "WWW: https://github.com/freebsd/pkg\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:412
+#, no-wrap
+msgid "Upgrading Installed Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:415
+msgid ""
+"Installed packages can be upgraded to their latest versions using man:pkg-"
+"upgrade[8]:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:419
+#, no-wrap
+msgid "# pkg upgrade\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:422
+msgid ""
+"This command will compare the installed versions with those available in the "
+"repository catalogue and upgrade them from the repository."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:424
+#, no-wrap
+msgid "Auditing Installed Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:429
+msgid ""
+"Software vulnerabilities are regularly discovered in third-party "
+"applications. To address this, pkg includes a built-in auditing mechanism. "
+"To determine if there are any known vulnerabilities for the software "
+"installed on the system, use man:pkg-audit[8]:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:433
+#, no-wrap
+msgid "# pkg audit -F\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:448
+#, no-wrap
+msgid ""
+"Fetching vuln.xml.xz: 100% 976 KiB 499.5kB/s 00:02\n"
+"chromium-108.0.5359.98 is vulnerable:\n"
+" chromium -- multiple vulnerabilities\n"
+" CVE: CVE-2022-4440\n"
+" CVE: CVE-2022-4439\n"
+" CVE: CVE-2022-4438\n"
+" CVE: CVE-2022-4437\n"
+" CVE: CVE-2022-4436\n"
+" WWW: https://vuxml.FreeBSD.org/freebsd/83eb9374-7b97-11ed-be8f-3065ec8fd3ec.html\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:451
+#, no-wrap
+msgid "Removing Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:454
+msgid ""
+"Packages that are no longer needed can be removed with man:pkg-delete[8]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:456
+msgid "For example:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:460
+#, no-wrap
+msgid "# pkg delete curl\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:468
+#, no-wrap
+msgid ""
+"Checking integrity... done (0 conflicting)\n"
+"Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:471
+#, no-wrap
+msgid ""
+"Installed packages to be REMOVED:\n"
+" curl :7.86.0\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:473
+#: documentation/content/en/books/handbook/ports/_index.adoc:503
+#, no-wrap
+msgid "Number of packages to be removed: 1\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:475
+#, no-wrap
+msgid "The operation will free 4 MiB.\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:479
+#, no-wrap
+msgid ""
+"Proceed with deinstallation packages? [y/N]: y\n"
+"[1/1] Deinstalling curl-7.86.0...\n"
+"[1/1] Deleting files for curl-7.86.0: 100%\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:482
+#, no-wrap
+msgid "Automatically Removing Unused Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:486
+msgid ""
+"Removing a package may leave behind dependencies which are no longer "
+"required. Unneeded packages that were installed as dependencies (leaf "
+"packages) can be automatically detected and removed using man:pkg-"
+"autoremove[8]:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:490
+#, no-wrap
+msgid "# pkg autoremove\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:498
+#, no-wrap
+msgid ""
+"Checking integrity... done (0 conflicting)\n"
+"Deinstallation has been requested for the following 1 packages:\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:501
+#, no-wrap
+msgid ""
+"Installed packages to be REMOVED:\n"
+" ca_root_nss-3.83\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:505
+#, no-wrap
+msgid "The operation will free 723 KiB.\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:507
+#, no-wrap
+msgid "Proceed with deinstalling packages? [y/N]:\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:511
+msgid ""
+"Packages installed as dependencies are called _automatic_ packages. Non-"
+"automatic packages, i.e the packages that were explicitly installed not as a "
+"dependency to another package, can be listed using:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:515
+#, no-wrap
+msgid "# pkg prime-list\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:524
+#, no-wrap
+msgid ""
+"nginx\n"
+"openvpn\n"
+"sudo\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:529
+msgid ""
+"`pkg prime-list` is an alias command declared in `/usr/local/etc/pkg.conf`. "
+"There are many others that can be used to query the package database of the "
+"system. For instance, command `pkg prime-origins` can be used to get the "
+"origin port directory of the list mentioned above:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:533
+#, no-wrap
+msgid "# pkg prime-origins\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:542
+#, no-wrap
+msgid ""
+"www/nginx\n"
+"security/openvpn\n"
+"security/sudo\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:545
+msgid ""
+"This list can be used to rebuild all packages installed on a system using "
+"build tools such as package:ports-mgmt/poudriere[] or package:ports-mgmt/"
+"synth[]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:547
+msgid "Marking an installed package as automatic can be done using:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:551
+#, no-wrap
+msgid "# pkg set -A 1 devel/cmake\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:554
+msgid ""
+"Once a package is a leaf package and is marked as automatic, it gets "
+"selected by `pkg autoremove`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:556
+msgid "Marking an installed package as _not_ automatic can be done using:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:560
+#, no-wrap
+msgid "# pkg set -A 0 devel/cmake\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:563
+#, no-wrap
+msgid "Removing Stale Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:568
+msgid ""
+"By default, pkg stores binary packages in a cache directory defined by "
+"`PKG_CACHEDIR` in man:pkg.conf[5]. Only copies of the latest installed "
+"packages are kept. Older versions of pkg kept all previous packages. To "
+"remove these outdated binary packages, run:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:572
+#, no-wrap
+msgid "# pkg clean\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:575
+msgid "The entire cache may be cleared by running:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:579
+#, no-wrap
+msgid "# pkg clean -a\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:582
+#, no-wrap
+msgid "Locking and Unlocking Packages"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:588
+msgid ""
+"man:pkg-lock[8] is used to lock packages against reinstallation, "
+"modification or deletion. man:pkg-unlock[8] unlocks the named packages. "
+"Either variant only has an effect on currently installed packages. "
+"Consequently it is impossible to block installation of a new package by "
+"using this mechanism, unless such an installation implies updating a locked "
+"package."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:590
+msgid "For example, to lock `nginx-lite`:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:594
+#, no-wrap
+msgid "# pkg lock nginx-lite\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:597
+msgid "And to unlock `nginx-lite`:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:601
+#, no-wrap
+msgid "# pkg unlock nginx-lite\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:604
+#, no-wrap
+msgid "Modifying Package Metadata"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:609
+msgid ""
+"Software within the FreeBSD Ports Collection can undergo major version "
+"number changes. To address this, pkg has a built-in command to update "
+"package origins. This can be useful, for example, if package:lang/python3[] "
+"is renamed to package:lang/python311[] so that package:lang/python3[] can "
+"now represent version `3.11`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:611
+msgid "To change the package origin for the above example, run:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:615
+#, no-wrap
+msgid "# pkg set -o lang/python3:lang/python311\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:618
+msgid ""
+"As another example, to update package:lang/ruby31[] to package:lang/"
+"ruby32[], run:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:622
+#, no-wrap
+msgid "# pkg set -o lang/ruby31:lang/ruby32\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:628
+msgid ""
+"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:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:632
+#, no-wrap
+msgid "# pkg install -Rf lang/ruby32\n"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:636
+#, no-wrap
+msgid "Using the Ports Collection"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:640
+msgid ""
+"The Ports Collection is a set of `Makefiles`, patches, and description "
+"files. Each set of these files is used to compile and install an individual "
+"application on FreeBSD, and is called a _port_."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:642
+msgid ""
+"By default, the Ports Collection itself is stored as a subdirectory of `/usr/"
+"ports`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:649
+msgid ""
+"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."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:655
+msgid ""
+"The Ports Collection contains directories for software categories. Inside "
+"each category are subdirectories for individual applications. Each "
+"application subdirectory contains a set of files that tells FreeBSD how to "
+"compile and install that program, called a _ports skeleton_. Each port "
+"skeleton includes these files and directories:"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:657
+#, no-wrap
+msgid "*Makefile*: contains statements that specify how the application should be compiled and where its components should be installed.\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:658
+#, no-wrap
+msgid "*distinfo*: contains the names and checksums of the files that must be downloaded to build the port.\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:659
+#, no-wrap
+msgid "*files/*: this directory contains any patches needed for the program to compile and install on FreeBSD. This directory may also contain other files used to build the port.\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:660
+#, no-wrap
+msgid "*pkg-descr*: provides a more detailed description of the program.\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:661
+#, no-wrap
+msgid "*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.\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:664
+msgid ""
+"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 extref:{porters-handbook}[FreeBSD Porter's Handbook]."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:667
+msgid ""
+"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`."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:669
+#, no-wrap
+msgid "Installing the Ports Collection"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:673
+msgid ""
+"Before an application can be compiled using a port, the Ports Collection "
+"must first be installed. If it was not installed during the installation of "
+"FreeBSD, use one of the following methods to install it:"
+msgstr ""
+
+#. type: delimited block * 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:678
+#, no-wrap
+msgid "*Procedure: Git Method*\n"
+msgstr ""
+
+#. type: delimited block * 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:682
+msgid ""
+"If more control over the ports tree is needed or if local changes need to be "
+"maintained, or if running FreeBSD-CURRENT, 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."
+msgstr ""
+
+#. type: delimited block * 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:684
+msgid ""
+"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:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:689
+#, no-wrap
+msgid ""
+"# cd /usr/ports/devel/git\n"
+"# make install clean\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:692
+msgid ""
+"If the ports tree is not available, or pkg is being used to manage packages, "
+"Git can be installed as a package:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:696
+#, no-wrap
+msgid "# pkg install git\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:699
+msgid "Check out a copy of the HEAD branch of the ports tree:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:703
+#, no-wrap
+msgid "# git clone https://git.FreeBSD.org/ports.git /usr/ports\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:706
+msgid "Or, check out a copy of a quarterly branch:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:710
+#, no-wrap
+msgid "# git clone https://git.FreeBSD.org/ports.git -b 2023Q1 /usr/ports\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:713
+msgid "As needed, update `/usr/ports` after the initial Git checkout:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:717
+#, no-wrap
+msgid "# git -C /usr/ports pull\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:720
+msgid "As needed, switch `/usr/ports` to a different quarterly branch:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:724
+#, no-wrap
+msgid "# git -C /usr/ports switch 2023Q1\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:727
+#, no-wrap
+msgid "Installing Ports"
+msgstr ""
+
+#. type: delimited block * 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:731
+msgid ""
+"This section provides basic instructions on using the Ports Collection to "
+"install or remove software. The detailed description of available `make` "
+"targets and environment variables is available in man:ports[7]."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:739
+msgid ""
+"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 https://vuxml.freebsd.org/[] for known security issues related "
+"to the port. Alternatively, run `pkg audit -F` before 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 man:pkg-audit[8] and man:"
+"periodic[8]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:743
+msgid ""
+"Using the Ports Collection assumes a working Internet connection. It also "
+"requires superuser privilege."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:746
+msgid ""
+"To compile and install the port, change to the directory of the port to be "
+"installed, then type `make install` at the prompt. Messages will indicate "
+"the progress:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:768
+#, no-wrap
+msgid ""
+"# cd /usr/ports/sysutils/lsof\n"
+"# make install\n"
+">> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
+">> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.\n"
+"===> Extracting for lsof-4.88\n"
+"...\n"
+"[extraction output snipped]\n"
+"...\n"
+">> Checksum OK for lsof_4.88D.freebsd.tar.gz.\n"
+"===> Patching for lsof-4.88.d,8\n"
+"===> Applying FreeBSD patches for lsof-4.88.d,8\n"
+"===> Configuring for lsof-4.88.d,8\n"
+"...\n"
+"[configure output snipped]\n"
+"...\n"
+"===> Building for lsof-4.88.d,8\n"
+"...\n"
+"[compilation output snipped]\n"
+"...\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:781
+#, no-wrap
+msgid ""
+"===> Installing for lsof-4.88.d,8\n"
+"...\n"
+"[installation output snipped]\n"
+"...\n"
+"===> Generating temporary packing list\n"
+"===> Compressing manual pages for lsof-4.88.d,8\n"
+"===> Registering installation for lsof-4.88.d,8\n"
+"===> SECURITY NOTE:\n"
+" This port has installed the following binaries which execute with\n"
+" increased privileges.\n"
+"/usr/local/sbin/lsof\n"
+"#\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:785
+msgid ""
+"Since `lsof` is a program that runs with increased privileges, a security "
+"warning is displayed as it is installed. Once the installation is complete, "
+"the prompt will be returned."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:790
+msgid ""
+"Some shells keep a cache of the commands that are available in the "
+"directories listed in the `PATH` environment variable, to speed up lookup "
+"operations for the executable file of these commands. Users of the `tcsh` "
+"shell should type `rehash` so that a newly installed command can be used "
+"without specifying its full path. Use `hash -r` instead for the `sh` "
+"shell. Refer to the documentation for the shell for more information."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:793
+msgid ""
+"During installation, a working subdirectory is created which contains all "
+"the temporary files used during compilation. Removing this directory saves "
+"disk space and minimizes the chance of problems later when upgrading to the "
+"newer version of the port:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:799
+#, no-wrap
+msgid ""
+"# make clean\n"
+"===> Cleaning for lsof-88.d,8\n"
+"#\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:804
+msgid ""
+"To save this extra step, instead use `make install clean` when compiling the "
+"port."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/ports/_index.adoc:806
+#, no-wrap
+msgid "Customizing Ports Installation"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:814
+msgid ""
+"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 package:www/firefox[] and package:security/"
+"gpgme[]. If the port depends upon other ports which have 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 "
+"and do all of the configuration in one batch, run `make config-recursive` "
+"within the port skeleton. Then, run `make install [clean]` to compile and "
+"install the port."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:820
+msgid ""
+"When using `config-recursive`, the list of ports to configure are gathered "
+"by the `all-depends-list` target. It is recommended to run `make config-"
+"recursive` until all dependent ports options have been defined, and ports "
+"options screens no longer appear, to be certain that all dependency options "
+"have been configured."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:827
+msgid ""
+"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. All of these options, and others, are explained in great "
+"detail in man:ports[7]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:831
+msgid ""
+"The ports system uses man:fetch[1] to download the source files, which "
+"supports various environment variables. The `FTP_PASSIVE_MODE`, "
+"`FTP_PROXY`, and `FTP_PASSWORD` variables may need to be set if the FreeBSD "
+"system is behind a firewall or FTP/HTTP proxy. See man:fetch[3] for the "
+"complete list of supported variables."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:836
+msgid ""
+"For users who cannot be connected to the Internet all the time, `make fetch` "
+"can be run within `/usr/ports`, to fetch all distfiles, or within a "
+"category, such as `/usr/ports/net`, or within the specific port skeleton. "
+"Note that if a port has any dependencies, running this command in a category "
+"or ports skeleton will _not_ fetch the distfiles of ports from another "
+"category. Instead, use `make fetch-recursive` to also fetch the distfiles "
+"for all the dependencies of a port."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:839
+msgid ""
+"In rare cases, such as when an organization has a local distfiles "
+"repository, the `MASTER_SITES` variable can be used to override the download "
+"locations specified in the `Makefile`. When using, specify the alternate "
+"location:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:845
+#, no-wrap
+msgid ""
+"# cd /usr/ports/directory\n"
+"# make MASTER_SITE_OVERRIDE= \\\n"
+"ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/ fetch\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:848
+msgid ""
+"The `WRKDIRPREFIX` and `PREFIX` variables can override the default working "
+"and target directories. For example:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:852
+#, no-wrap
+msgid "# make WRKDIRPREFIX=/usr/home/example/ports install\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:855
+msgid ""
+"will compile the port in `/usr/home/example/ports` and install everything "
+"under `/usr/local`."
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:859
+#, no-wrap
+msgid "# make PREFIX=/usr/home/example/local install\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:862
+msgid ""
+"will compile the port in `/usr/ports` and install it in `/usr/home/example/"
+"local`. And:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:866
+#, no-wrap
+msgid "# make WRKDIRPREFIX=../ports PREFIX=../local install\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:869
+msgid "will combine the two."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:872
+msgid ""
+"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."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:874
+#, no-wrap
+msgid "Removing Installed Ports"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:878
+msgid ""
+"Installed ports can be uninstalled using `pkg delete`. Examples for using "
+"this command can be found in the man:pkg-delete[8] manual page."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:880
+msgid "Alternately, `make deinstall` can be run in the port\\'s directory:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:888
+#, no-wrap
+msgid ""
+"# cd /usr/ports/sysutils/lsof\n"
+"# make deinstall\n"
+"===> Deinstalling for sysutils/lsof\n"
+"===> Deinstalling\n"
+"Deinstallation has been requested for the following 1 packages:\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:890
+#, no-wrap
+msgid "\tlsof-4.88.d,8\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:893
+#, no-wrap
+msgid ""
+"The deinstallation will free 229 kB\n"
+"[1/1] Deleting lsof-4.88.d,8... done\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:898
+msgid ""
+"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."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:900
+#, no-wrap
+msgid "Upgrading Ports"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:904
+msgid ""
+"Over time, newer versions of software become available in the Ports "
+"Collection. This section describes how to determine which software can be "
+"upgraded and how to perform the upgrade."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:908
+msgid ""
+"To determine if newer versions of installed ports are available, ensure that "
+"the latest version of the ports tree is installed, using the updating "
+"command described in <<ports-using-git-method, \"Git Method\">>. The "
+"following command will list the installed ports which are out of date:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:912
+#, no-wrap
+msgid "# pkg version -l \"<\"\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:919
+msgid ""
+"Before attempting an upgrade, read `/usr/ports/UPDATING` from the top of the "
+"file to the date closest to the last time ports were upgraded or the system "
+"was installed. This file describes various issues and additional steps "
+"users may encounter and need to perform when updating a port, including such "
+"things as file format changes, changes in locations of configuration files, "
+"or any incompatibilities with previous versions. Make note of any "
+"instructions which match any of the ports that need upgrading and follow "
+"these instructions when performing the upgrade."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/ports/_index.adoc:922
+#, no-wrap
+msgid "Tools to Upgrade and Manage Ports"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:926
+msgid ""
+"The Ports Collection contains several utilities to perform the actual "
+"upgrade. Each has its strengths and weaknesses."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:929
+msgid ""
+"Historically, most installations used either Portmaster or Portupgrade. "
+"Synth is a newer alternative."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:934
+msgid ""
+"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."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/ports/_index.adoc:937
+#, no-wrap
+msgid "Upgrading Ports Using Portmaster"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:942
+msgid ""
+"package:ports-mgmt/portmaster[] is a very small utility for upgrading "
+"installed ports. It is designed to use the tools installed with the FreeBSD "
+"base system without depending on other ports or databases. To install this "
+"utility as a port:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:947
+#, no-wrap
+msgid ""
+"# cd /usr/ports/ports-mgmt/portmaster\n"
+"# make install clean\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:950
+msgid "Portmaster defines four categories of ports:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:952
+msgid ""
+"Root port: has no dependencies and is not a dependency of any other ports."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:953
+msgid "Trunk port: has no dependencies, but other ports depend upon it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:954
+msgid "Branch port: has dependencies and other ports depend upon it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:955
+msgid "Leaf port: has dependencies but no other ports depend upon it."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:957
+msgid "To list these categories and search for updates:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:978
+#, no-wrap
+msgid ""
+"# portmaster -L\n"
+"===>>> Root ports (No dependencies, not depended on)\n"
+"===>>> ispell-3.2.06_18\n"
+"===>>> screen-4.0.3\n"
+" ===>>> New version available: screen-4.0.3_1\n"
+"===>>> tcpflow-0.21_1\n"
+"===>>> 7 root ports\n"
+"...\n"
+"===>>> Branch ports (Have dependencies, are depended on)\n"
+"===>>> apache22-2.2.3\n"
+" ===>>> New version available: apache22-2.2.8\n"
+"...\n"
+"===>>> Leaf ports (Have dependencies, not depended on)\n"
+"===>>> automake-1.9.6_2\n"
+"===>>> bash-3.1.17\n"
+" ===>>> New version available: bash-3.2.33\n"
+"...\n"
+"===>>> 32 leaf ports\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:981
+#, no-wrap
+msgid ""
+"===>>> 137 total installed ports\n"
+" ===>>> 83 have new versions available\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:984
+msgid "This command is used to upgrade all outdated ports:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:988
+#, no-wrap
+msgid "# portmaster -a\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:998
+msgid ""
+"By default, Portmaster makes a backup package before deleting the existing "
+"port. If the installation of the new version is successful, Portmaster "
+"deletes the backup. Using `-b` instructs Portmaster not to automatically "
+"delete the backup. Adding `-i` starts Portmaster in interactive mode, "
+"prompting for confirmation before upgrading each port. Many other options "
+"are available. Read through the manual page for man:portmaster[8] for "
+"details regarding their usage."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1001
+msgid ""
+"If errors are encountered during the upgrade process, add `-f` to upgrade "
+"and rebuild all ports:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1005
+#, no-wrap
+msgid "# portmaster -af\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1009
+msgid ""
+"Portmaster can also be used to install new ports on the system, upgrading "
+"all dependencies before building and installing the new port. To use this "
+"function, specify the location of the port in the Ports Collection:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1013
+#, no-wrap
+msgid "# portmaster shells/bash\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1016
+msgid ""
+"More information about package:ports-mgmt/portmaster[] may be found in its "
+"`pkg-descr`."
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/ports/_index.adoc:1018
+#, no-wrap
+msgid "Upgrading Ports Using Portupgrade"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1023
+msgid ""
+"package:ports-mgmt/portupgrade[] is another utility that can be used to "
+"upgrade ports. It installs a suite of applications which can be used to "
+"manage ports. However, it is dependent upon Ruby. To install the port:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1028
+#, no-wrap
+msgid ""
+"# cd /usr/ports/ports-mgmt/portupgrade\n"
+"# make install clean\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1031
+msgid ""
+"Before performing an upgrade using this utility, it is recommended to scan "
+"the list of installed ports using `pkgdb -F` and to fix all the "
+"inconsistencies it reports."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1034
+msgid ""
+"To upgrade all the outdated ports installed on the system, use `portupgrade -"
+"a`. Alternately, include `-i` to be asked for confirmation of every "
+"individual upgrade:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1038
+#, no-wrap
+msgid "# portupgrade -ai\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1042
+msgid ""
+"To upgrade only a specified application instead of all available ports, use "
+"`portupgrade _pkgname_`. It is very important to include `-R` to first "
+"upgrade all the ports required by the given application:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1046
+#, no-wrap
+msgid "# portupgrade -R firefox\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1053
+msgid ""
+"If `-P` is included, Portupgrade searches for available packages in the "
+"local directories listed in `PKG_PATH`. If none are available locally, it "
+"then fetches packages from a remote site. If packages can not be found "
+"locally or fetched remotely, Portupgrade will use ports. To avoid using "
+"ports entirely, specify `-PP`. This last set of options tells Portupgrade "
+"to abort if no packages are available:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1057
+#, no-wrap
+msgid "# portupgrade -PP gnome3\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1061
+msgid ""
+"To just fetch the port distfiles, or packages, if `-P` is specified, without "
+"building or installing anything, use `-F`. For further information on all "
+"of the available switches, refer to the manual page for `portupgrade`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1063
+msgid ""
+"More information about package:ports-mgmt/portupgrade[] may be found in its "
+"`pkg-descr`."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:1065
+#, no-wrap
+msgid "Ports and Disk Space"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1071
+msgid ""
+"Using the Ports Collection will use up disk space over time. After building "
+"and installing a port, running `make clean` within the ports skeleton will "
+"clean up the temporary `work` directory. If Portmaster is used to install a "
+"port, it will automatically remove this directory unless `-K` is specified. "
+"If Portupgrade is installed, this command will remove all `work` directories "
+"found within the local copy of the Ports Collection:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1075
+#, no-wrap
+msgid "# portsclean -C\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1079
+msgid ""
+"In addition, outdated source distribution files accumulate in `/usr/ports/"
+"distfiles` over time. To use Portupgrade to delete all the distfiles that "
+"are no longer referenced by any ports:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1083
+#, no-wrap
+msgid "# portsclean -D\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1086
+msgid ""
+"Portupgrade can remove all distfiles not referenced by any port currently "
+"installed on the system:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1090
+#, no-wrap
+msgid "# portsclean -DD\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1093
+msgid "If Portmaster is installed, use:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1097
+#, no-wrap
+msgid "# portmaster --clean-distfiles\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1100
+msgid ""
+"By default, this command is interactive and prompts the user to confirm if a "
+"distfile should be deleted."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1102
+msgid ""
+"In addition to these commands, package:ports-mgmt/pkg_cutleaves[] automates "
+"the task of removing installed ports that are no longer needed."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:1104
+#, no-wrap
+msgid "Building Packages with poudriere"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1111
+msgid ""
+"poudriere is a `BSD`-licensed utility for creating and testing FreeBSD "
+"packages. It uses FreeBSD jails to set up isolated compilation "
+"environments. These jails can be used to build packages for versions of "
+"FreeBSD that are different from the system on which it is installed, and "
+"also to build packages for i386 if the host is an amd64 system. Once the "
+"packages are built, they are in a layout identical to the official mirrors. "
+"These packages are usable by man:pkg[8] and other package management tools."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1116
+msgid ""
+"poudriere is installed using the package:ports-mgmt/poudriere[] package or "
+"port. The installation includes a sample configuration file `/usr/local/etc/"
+"poudriere.conf.sample`. Copy this file to `/usr/local/etc/poudriere.conf`. "
+"Edit the copied file to suit the local configuration."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1122
+msgid ""
+"While `ZFS` is not required on the system running poudriere, it is "
+"beneficial. When `ZFS` is used, `ZPOOL` must be specified in `/usr/local/"
+"etc/poudriere.conf` and `FREEBSD_HOST` should be set to a nearby mirror. "
+"Defining `CCACHE_DIR` enables the use of package:devel/ccache[] to cache "
+"compilation and reduce build times for frequently-compiled code. It may be "
+"convenient to put poudriere datasets in an isolated tree mounted at `/"
+"poudriere`. Defaults for the other configuration values are adequate."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1126
+msgid ""
+"The number of processor cores detected is used to define how many builds "
+"will run in parallel. Supply enough virtual memory, either with `RAM` or "
+"swap space. If virtual memory runs out, the compilation jails will stop and "
+"be torn down, resulting in weird error messages."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:1128
+#, no-wrap
+msgid "Initialize Jails and Port Trees"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1134
+msgid ""
+"After configuration, initialize poudriere so that it installs a jail with "
+"the required FreeBSD tree and a ports tree. Specify a name for the jail "
+"using `-j` and the FreeBSD version with `-v`. On systems running FreeBSD/"
+"amd64, the architecture can be set with `-a` to either `i386` or `amd64`. "
+"The default is the architecture shown by `uname`."
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1181
+#, no-wrap
+msgid ""
+"# poudriere jail -c -j 13amd64 -v 13.1-RELEASE\n"
+"[00:00:00] Creating 13amd64 fs at /poudriere/jails/13amd64... done\n"
+"[00:00:00] Using pre-distributed MANIFEST for FreeBSD 13.1-RELEASE amd64\n"
+"[00:00:00] Fetching base for FreeBSD 13.1-RELEASE amd64\n"
+"/poudriere/jails/13amd64/fromftp/base.txz 125 MB 4110 kBps 31s\n"
+"[00:00:33] Extracting base... done\n"
+"[00:00:54] Fetching src for FreeBSD 13.1-RELEASE amd64\n"
+"/poudriere/jails/13amd64/fromftp/src.txz 154 MB 4178 kBps 38s\n"
+"[00:01:33] Extracting src... done\n"
+"[00:02:31] Fetching lib32 for FreeBSD 13.1-RELEASE amd64\n"
+"/poudriere/jails/13amd64/fromftp/lib32.txz 24 MB 3969 kBps 06s\n"
+"[00:02:38] Extracting lib32... done\n"
+"[00:02:42] Cleaning up... done\n"
+"[00:02:42] Recording filesystem state for clean... done\n"
+"[00:02:42] Upgrading using ftp\n"
+"/etc/resolv.conf -> /poudriere/jails/13amd64/etc/resolv.conf\n"
+"Looking up update.FreeBSD.org mirrors... 3 mirrors found.\n"
+"Fetching public key from update4.freebsd.org... done.\n"
+"Fetching metadata signature for 13.1-RELEASE from update4.freebsd.org... done.\n"
+"Fetching metadata index... done.\n"
+"Fetching 2 metadata files... done.\n"
+"Inspecting system... done.\n"
+"Preparing to download files... done.\n"
+"Fetching 124 patches.....10....20....30....40....50....60....70....80....90....100....110....120.. done.\n"
+"Applying patches... done.\n"
+"Fetching 6 files... done.\n"
+"The following files will be added as part of updating to\n"
+"13.1-RELEASE-p1:\n"
+"/usr/src/contrib/unbound/.github\n"
+"/usr/src/contrib/unbound/.github/FUNDING.yml\n"
+"/usr/src/contrib/unbound/contrib/drop2rpz\n"
+"/usr/src/contrib/unbound/contrib/unbound_portable.service.in\n"
+"/usr/src/contrib/unbound/services/rpz.c\n"
+"/usr/src/contrib/unbound/services/rpz.h\n"
+"/usr/src/lib/libc/tests/gen/spawnp_enoexec.sh\n"
+"The following files will be updated as part of updating to\n"
+"13.1-RELEASE-p1:\n"
+"[…]\n"
+"Installing updates...Scanning //usr/share/certs/blacklisted for certificates...\n"
+"Scanning //usr/share/certs/trusted for certificates...\n"
+" done.\n"
+"13.1-RELEASE-p1\n"
+"[00:04:06] Recording filesystem state for clean... done\n"
+"[00:04:07] Jail 13amd64 13.1-RELEASE-p1 amd64 is ready to be used\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1188
+#, no-wrap
+msgid ""
+"# poudriere ports -c -p local -m git+https\n"
+"[00:00:00] Creating local fs at /poudriere/ports/local... done\n"
+"[00:00:00] Checking out the ports tree... done\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1193
+msgid ""
+"On a single computer, poudriere can build ports with multiple "
+"configurations, in multiple jails, and from different port trees. Custom "
+"configurations for these combinations are called _sets_. See the "
+"CUSTOMIZATION section of man:poudriere[8] for details after package:ports-"
+"mgmt/poudriere[] or package:ports-mgmt/poudriere-devel[] is installed."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1197
+msgid ""
+"The basic configuration shown here puts a single jail-, port-, and set-"
+"specific `make.conf` in `/usr/local/etc/poudriere.d`. The filename in this "
+"example is created by combining the jail name, port name, and set name: "
+"`13amd64-local-workstation-make.conf`. The system `make.conf` and this new "
+"file are combined at build time to create the `make.conf` used by the build "
+"jail."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1199
+msgid ""
+"Packages to be built are entered in `13amd64-local-workstation-pkglist` "
+"(ports with extref:{porters-handbook}flavors[FLAVORS] can be defined with "
+"@FLAVOR):"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1207
+#, no-wrap
+msgid ""
+"editors/emacs\n"
+"devel/git\n"
+"devel/php-composer2@php82\n"
+"ports-mgmt/pkg\n"
+"...\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1210
+msgid "Options and dependencies for the specified ports are configured:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1214
+#, no-wrap
+msgid "# poudriere options -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1217
+msgid "Finally, packages are built and a package repository is created:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1221
+#, no-wrap
+msgid "# poudriere bulk -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1225
+msgid ""
+"While running, pressing kbd:[Ctrl+t] displays the current state of the "
+"build. poudriere also builds files in `/poudriere/logs/bulk/jailname` that "
+"can be used with a web server to display build information."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1227
+msgid ""
+"After completion, the new packages are now available for installation from "
+"the poudriere repository."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1229
+msgid ""
+"For more information on using poudriere, see man:poudriere[8] and the main "
+"web site, https://github.com/freebsd/poudriere/wiki[]."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/ports/_index.adoc:1230
+#, no-wrap
+msgid "Configuring pkg Clients to Use a poudriere Repository"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1235
+msgid ""
+"While it is possible to use both a custom repository along side of the "
+"official repository, sometimes it is useful to disable the official "
+"repository. This is done by creating a configuration file that overrides "
+"and disables the official configuration file. Create `/usr/local/etc/pkg/"
+"repos/FreeBSD.conf` that contains the following:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1241
+#, no-wrap
+msgid ""
+"FreeBSD: {\n"
+"\tenabled: no\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1245
+msgid ""
+"Usually it is easiest to serve a poudriere repository to the client machines "
+"via HTTP. Set up a webserver to serve up the package directory, for "
+"instance: `/usr/local/poudriere/data/packages/13amd64`, where `13amd64` is "
+"the name of the build."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1248
+msgid ""
+"If the URL to the package repository is: `http://pkg.example.com/13amd64`, "
+"then the repository configuration file in `/usr/local/etc/pkg/repos/custom."
+"conf` would look like:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1255
+#, no-wrap
+msgid ""
+"custom: {\n"
+"\turl: \"http://pkg.example.com/13amd64\",\n"
+"\tenabled: yes,\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1258
+msgid ""
+"If exposing the package repository to the internet is not desired, the "
+"`file://` protocol can be used to point to the repository directly:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1265
+#, no-wrap
+msgid ""
+"custom: {\n"
+"\turl: \"file:///usr/local/poudriere/data/packages/11amd64\",\n"
+"\tenabled: yes,\n"
+"}\n"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:1268
+#, no-wrap
+msgid "Post-Installation Considerations"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1272
+msgid ""
+"Regardless of whether the software was installed from a binary package or "
+"port, most third-party applications require some level of configuration "
+"after installation. The following commands and locations can be used to "
+"help determine what was installed with the application."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1274
+msgid ""
+"Most applications install at least one default configuration file in `/usr/"
+"local/etc`. In cases where an application has a large number of "
+"configuration files, a subdirectory will be created to hold them. Often, "
+"sample configuration files are installed which end with a suffix such as `."
+"sample`. The configuration files should be reviewed and possibly edited to "
+"meet the system's needs. To edit a sample file, first copy it without the `."
+"sample` extension."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1275
+msgid ""
+"Applications which provide documentation will install it into `/usr/local/"
+"share/doc` and many applications also install manual pages. This "
+"documentation should be consulted before continuing."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1276
+msgid ""
+"Some applications run services which must be added to `/etc/rc.conf` before "
+"starting the application. These applications usually install a startup "
+"script in `/usr/local/etc/rc.d`. See crossref:config[configtuning-starting-"
+"services,Starting Services] for more information."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1281
+msgid ""
+"By design, applications do not run their startup script upon installation, "
+"nor do they run their stop script upon deinstallation or upgrade. This "
+"decision is left to the individual system administrator."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1284
+msgid ""
+"Users of man:csh[1] should run `rehash` to rebuild the known binary list in "
+"the shells `PATH`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1285
+msgid ""
+"Use `pkg info` to determine which files, man pages, and binaries were "
+"installed with the application."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/ports/_index.adoc:1287
+#, no-wrap
+msgid "Dealing with Broken Ports"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1290
+msgid "When a port does not build or install, try the following:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1292
+msgid ""
+"Search to see if there is a fix pending for the port in the link:https://www."
+"FreeBSD.org/support/[Problem Report database]. If so, implementing the "
+"proposed fix may fix the issue."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1293
+msgid ""
+"Ask the maintainer of the port for help. Type `make maintainer` in the ports "
+"skeleton or read the port's `Makefile` to find the maintainer's email "
+"address. Remember to include the output leading up to the error in the email "
+"to the maintainer."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1299
+msgid ""
+"Some ports are not maintained by an individual but instead by a group "
+"maintainer represented by a extref:{mailing-list-faq}[mailing list]. Many, "
+"but not all, of these addresses look like mailto:freebsd-listname@FreeBSD."
+"org[freebsd-listname@FreeBSD.org]. Please take this into account when "
+"sending an email."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/ports/_index.adoc:1302
+msgid ""
+"In particular, ports maintained by mailto:ports@FreeBSD.org[ports@FreeBSD."
+"org] are not maintained by a specific individual. Instead, any fixes and "
+"support come from the general community who subscribe to that mailing list. "
+"More volunteers are always needed!"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1305
+msgid ""
+"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]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1306
+msgid ""
+"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!"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/ports/_index.adoc:1306
+msgid ""
+"Install the package instead of the port using the instructions in <<pkgng-"
+"intro>>."
+msgstr ""