diff options
Diffstat (limited to 'documentation/content/en/books/handbook/ports/_index.po')
-rw-r--r-- | documentation/content/en/books/handbook/ports/_index.po | 2503 |
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 "" |