Page MenuHomeFreeBSD

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/documentation/content/en/articles/committers-guide/_index.po b/documentation/content/en/articles/committers-guide/_index.po
index 747ba14563..eeaf15cb0f 100644
--- a/documentation/content/en/articles/committers-guide/_index.po
+++ b/documentation/content/en/articles/committers-guide/_index.po
@@ -1,8416 +1,8464 @@
# 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: 2023-07-15 16:42-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/committers-guide/_index.adoc:1
#, no-wrap
msgid "Introductory information for FreeBSD committers"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/committers-guide/_index.adoc:1
#: documentation/content/en/articles/committers-guide/_index.adoc:12
#, no-wrap
msgid "Committer's Guide"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:45
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:48
msgid ""
"This document provides information for the FreeBSD committer community. All "
"new committers should read this document before they start, and existing "
"committers are strongly encouraged to review it from time to time."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:53
msgid ""
"Almost all FreeBSD developers have commit rights to one or more "
"repositories. However, a few developers do not, and some of the information "
"here applies to them as well. (For instance, some people only have rights "
"to work with the Problem Report database.) Please see <<non-committers>> "
"for more information."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:55
msgid ""
"This document may also be of interest to members of the FreeBSD community "
"who want to learn more about how the project works."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:57
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/committers-guide/_index.adoc:61
#, no-wrap
msgid "Administrative Details"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:68
#, no-wrap
msgid "_Login Methods_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:70
#, no-wrap
msgid "man:ssh[1], protocol 2 only"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:71
#, no-wrap
msgid "_Main Shell Host_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:73
#, no-wrap
msgid "`freefall.FreeBSD.org`"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:74
#, no-wrap
msgid "_Reference Machines_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:76
#, no-wrap
msgid "`ref*.FreeBSD.org`, `universe*.freeBSD.org` (see also link:https://www.FreeBSD.org/internal/machines/[FreeBSD Project Hosts])"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:77
#, no-wrap
msgid "_SMTP Host_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:79
#, no-wrap
msgid "`smtp.FreeBSD.org:587` (see also <<smtp-setup>>)."
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:80
#, no-wrap
msgid "`_src/_` Git Repository"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:82
#, no-wrap
msgid "`ssh://git@gitrepo.FreeBSD.org/src.git`"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:83
#, no-wrap
msgid "`_doc/_` Git Repository"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:85
#, no-wrap
msgid "`ssh://git@gitrepo.FreeBSD.org/doc.git`"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:86
#, no-wrap
msgid "`_ports/_` Git Repository"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:88
#, no-wrap
msgid "`ssh://git@gitrepo.FreeBSD.org/ports.git`"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:89
#, no-wrap
msgid "_Internal Mailing Lists_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:91
#, no-wrap
msgid "developers (technically called all-developers), doc-developers, doc-committers, ports-developers, ports-committers, src-developers, src-committers. (Each project repository has its own -developers and -committers mailing lists. Archives for these lists can be found in the files [.filename]#/local/mail/repository-name-developers-archive# and [.filename]#/local/mail/repository-name-committers-archive# on `freefall.FreeBSD.org`.)"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:92
#, no-wrap
msgid "_Core Team monthly reports_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:94
#, no-wrap
msgid "[.filename]#/home/core/public/reports# on the `FreeBSD.org` cluster."
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:95
#, no-wrap
msgid "_Ports Management Team monthly reports_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:97
#, no-wrap
msgid "[.filename]#/home/portmgr/public/monthly-reports# on the `FreeBSD.org` cluster."
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:98
#, no-wrap
msgid "_Noteworthy `src/` Git Branches:_"
msgstr ""
#. type: Table
#: documentation/content/en/articles/committers-guide/_index.adoc:99
#, no-wrap
msgid "`stable/n` (`n`-STABLE), `main` (-CURRENT)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:102
msgid ""
"man:ssh[1] is required to connect to the project hosts. For more "
"information, see <<ssh.guide>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:104
msgid "Useful links:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:106
msgid "link:https://www.FreeBSD.org/internal/[FreeBSD Project Internal Pages]"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:107
msgid "link:https://www.FreeBSD.org/internal/machines/[FreeBSD Project Hosts]"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:108
msgid ""
"link:https://www.FreeBSD.org/administration/[FreeBSD Project Administrative "
"Groups]"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/committers-guide/_index.adoc:110
#, no-wrap
msgid "OpenPGP Keys for FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:115
msgid ""
"Cryptographic keys conforming to the OpenPGP (__Pretty Good Privacy__) "
"standard are used by the FreeBSD project to authenticate committers. "
"Messages carrying important information like public SSH keys can be signed "
"with the OpenPGP key to prove that they are really from the committer. See "
"https://nostarch.com/releases/pgp_release.pdf[PGP & GPG: Email for the "
"Practical Paranoid by Michael Lucas] and http://en.wikipedia.org/wiki/"
"Pretty_Good_Privacy[] for more information."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/committers-guide/_index.adoc:117
#, no-wrap
msgid "Creating a Key"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:121
msgid ""
"Existing keys can be used, but should be checked with [."
"filename]#documentation/tools/checkkey.sh# first. In this case, make sure "
"the key has a FreeBSD user ID."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/committers-guide/_index.adoc:123
msgid ""
"For those who do not yet have an OpenPGP key, or need a new key to meet "
"FreeBSD security requirements, here we show how to generate one."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/committers-guide/_index.adoc:128
msgid ""
"Install [.filename]#security/gnupg#. Enter these lines in [.filename]#~/."
-"gnupg/gpg.conf# to set minimum acceptable defaults:"
+"gnupg/gpg.conf# to set minimum acceptable defaults for signing and new key "
+"preferences (see the link:https://www.gnupg.org/documentation/manuals/gnupg/"
+"GPG-Options.html[GnuPG options documentation] for more details):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:139
+#: documentation/content/en/articles/committers-guide/_index.adoc:135
#, no-wrap
msgid ""
-"fixed-list-mode\n"
-"keyid-format 0xlong\n"
+"# Sorted list of preferred algorithms for signing (strongest to weakest).\n"
"personal-digest-preferences SHA512 SHA384 SHA256 SHA224\n"
-"default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB ZIP Uncompressed\n"
-"verify-options show-uid-validity\n"
-"list-options show-uid-validity\n"
-"sig-notation issuer-fpr@notations.openpgp.fifthhorseman.net=%g\n"
-"cert-digest-algo SHA512\n"
+"# Default preferences for new keys\n"
+"default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 CAMELLIA256 AES192 CAMELLIA192 AES CAMELLIA128 CAST5 BZIP2 ZLIB ZIP Uncompressed\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:141
+#: documentation/content/en/articles/committers-guide/_index.adoc:137
msgid "Generate a key:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:148
+#: documentation/content/en/articles/committers-guide/_index.adoc:144
#, no-wrap
msgid ""
"% gpg --full-gen-key\n"
"gpg (GnuPG) 2.1.8; Copyright (C) 2015 Free Software Foundation, Inc.\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:169
+#: documentation/content/en/articles/committers-guide/_index.adoc:165
#, no-wrap
msgid ""
"Warning: using insecure memory!\n"
"Please select what kind of key you want:\n"
" (1) RSA and RSA (default)\n"
" (2) DSA and Elgamal\n"
" (3) DSA (sign only)\n"
" (4) RSA (sign only)\n"
"Your selection? 1\n"
"RSA keys may be between 1024 and 4096 bits long.\n"
"What keysize do you want? (2048) 2048 <.>\n"
"Requested keysize is 2048 bits\n"
"Please specify how long the key should be valid.\n"
"\t 0 = key does not expire\n"
" <n> = key expires in n days\n"
" <n>w = key expires in n weeks\n"
" <n>m = key expires in n months\n"
" <n>y = key expires in n years\n"
"Key is valid for? (0) 3y <.>\n"
"Key expires at Wed Nov 4 17:20:20 2015 MST\n"
"Is this correct? (y/N) y\n"
"GnuPG needs to construct a user ID to identify your key.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:175
+#: documentation/content/en/articles/committers-guide/_index.adoc:171
#, no-wrap
msgid ""
"Real name: Chucky Daemon <.>\n"
"Email address: notreal@example.com\n"
"Comment:\n"
"You selected this USER-ID:\n"
"\"Chucky Daemon <notreal@example.com>\"\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:178
+#: documentation/content/en/articles/committers-guide/_index.adoc:174
#, no-wrap
msgid ""
"Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o\n"
"You need a Passphrase to protect your secret key.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:181
+#: documentation/content/en/articles/committers-guide/_index.adoc:177
msgid ""
"2048-bit keys with a three-year expiration provide adequate protection at "
"present (2022-10)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:183
+#: documentation/content/en/articles/committers-guide/_index.adoc:179
msgid ""
"A three year key lifespan is short enough to obsolete keys weakened by "
"advancing computer power, but long enough to reduce key management problems."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:185
+#: documentation/content/en/articles/committers-guide/_index.adoc:181
msgid ""
"Use your real name here, preferably matching that shown on government-issued "
"ID to make it easier for others to verify your identity. Text that may help "
"others identify you can be entered in the `Comment` section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:189
+#: documentation/content/en/articles/committers-guide/_index.adoc:185
msgid ""
"After the email address is entered, a passphrase is requested. Methods of "
"creating a secure passphrase are contentious. Rather than suggest a single "
"way, here are some links to sites that describe various methods: https://"
"world.std.com/~reinhold/diceware.html[], https://www.iusmentis.com/security/"
"passphrasefaq/[], https://xkcd.com/936/[], https://en.wikipedia.org/wiki/"
"Passphrase[]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:193
+#: documentation/content/en/articles/committers-guide/_index.adoc:189
msgid ""
"Protect the private key and passphrase. If either the private key or "
"passphrase may have been compromised or disclosed, immediately notify mailto:"
"accounts@FreeBSD.org[accounts@FreeBSD.org] and revoke the key."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:195
+#: documentation/content/en/articles/committers-guide/_index.adoc:191
msgid ""
"Committing the new key is shown in <<commit-steps, Steps for New "
"Committers>>."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:197
+#: documentation/content/en/articles/committers-guide/_index.adoc:193
#, no-wrap
msgid "Kerberos and LDAP web Password for FreeBSD Cluster"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:202
+#: documentation/content/en/articles/committers-guide/_index.adoc:198
msgid ""
"The FreeBSD cluster requires a Kerberos password to access certain "
"services. The Kerberos password also serves as the LDAP web password, since "
"LDAP is proxying to Kerberos in the cluster. Some of the services which "
"require this include:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:204
+#: documentation/content/en/articles/committers-guide/_index.adoc:200
msgid "https://bugs.freebsd.org/bugzilla[Bugzilla]"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:205
+#: documentation/content/en/articles/committers-guide/_index.adoc:201
msgid "https://ci.freebsd.org[Jenkins]"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:207
+#: documentation/content/en/articles/committers-guide/_index.adoc:203
msgid ""
"To create a new Kerberos account in the FreeBSD cluster, or to reset a "
"Kerberos password for an existing account using a random password generator:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:211
+#: documentation/content/en/articles/committers-guide/_index.adoc:207
#, no-wrap
msgid "% ssh kpasswd.freebsd.org\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:216
+#: documentation/content/en/articles/committers-guide/_index.adoc:212
msgid "This must be done from a machine outside of the FreeBSD.org cluster."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:219
+#: documentation/content/en/articles/committers-guide/_index.adoc:215
msgid ""
"A Kerberos password can also be set manually by logging into `freefall."
"FreeBSD.org` and running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:223
+#: documentation/content/en/articles/committers-guide/_index.adoc:219
#, no-wrap
msgid "% kpasswd\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:229
+#: documentation/content/en/articles/committers-guide/_index.adoc:225
msgid ""
"Unless the Kerberos-authenticated services of the FreeBSD.org cluster have "
"been used previously, `Client unknown` will be shown. This error means that "
"the `ssh kpasswd.freebsd.org` method shown above must be used first to "
"initialize the Kerberos account."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:232
+#: documentation/content/en/articles/committers-guide/_index.adoc:228
#, no-wrap
msgid "Commit Bit Types"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:238
+#: documentation/content/en/articles/committers-guide/_index.adoc:234
msgid ""
"The FreeBSD repository has a number of components which, when combined, "
"support the basic operating system source, documentation, third party "
"application ports infrastructure, and various maintained utilities. When "
"FreeBSD commit bits are allocated, the areas of the tree where the bit may "
"be used are specified. Generally, the areas associated with a bit reflect "
"who authorized the allocation of the commit bit. Additional areas of "
"authority may be added at a later date: when this occurs, the committer "
"should follow normal commit bit allocation procedures for that area of the "
"tree, seeking approval from the appropriate entity and possibly getting a "
"mentor for that area for some period of time."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:244
+#: documentation/content/en/articles/committers-guide/_index.adoc:240
#, no-wrap
msgid "__Committer Type__"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:245
+#: documentation/content/en/articles/committers-guide/_index.adoc:241
#, no-wrap
msgid "__Responsible__"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:247
+#: documentation/content/en/articles/committers-guide/_index.adoc:243
#, no-wrap
msgid "__Tree Components__"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:248
+#: documentation/content/en/articles/committers-guide/_index.adoc:244
#, no-wrap
msgid "src"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:249
+#: documentation/content/en/articles/committers-guide/_index.adoc:245
#, no-wrap
msgid "core@"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:251
+#: documentation/content/en/articles/committers-guide/_index.adoc:247
#, no-wrap
msgid "src/"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:252
+#: documentation/content/en/articles/committers-guide/_index.adoc:248
#, no-wrap
msgid "doc"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:253
+#: documentation/content/en/articles/committers-guide/_index.adoc:249
#, no-wrap
msgid "doceng@"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:255
+#: documentation/content/en/articles/committers-guide/_index.adoc:251
#, no-wrap
msgid "doc/, ports/, src/ documentation"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:256
+#: documentation/content/en/articles/committers-guide/_index.adoc:252
#, no-wrap
msgid "ports"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:257
+#: documentation/content/en/articles/committers-guide/_index.adoc:253
#, no-wrap
msgid "portmgr@"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:258
+#: documentation/content/en/articles/committers-guide/_index.adoc:254
#, no-wrap
msgid "ports/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:263
+#: documentation/content/en/articles/committers-guide/_index.adoc:259
msgid ""
"Commit bits allocated prior to the development of the notion of areas of "
"authority may be appropriate for use in many parts of the tree. However, "
"common sense dictates that a committer who has not previously worked in an "
"area of the tree seek review prior to committing, seek approval from the "
"appropriate responsible party, and/or work with a mentor. Since the rules "
"regarding code maintenance differ by area of the tree, this is as much for "
"the benefit of the committer working in an area of less familiarity as it is "
"for others working on the tree."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:265
+#: documentation/content/en/articles/committers-guide/_index.adoc:261
msgid ""
"Committers are encouraged to seek review for their work as part of the "
"normal development process, regardless of the area of the tree where the "
"work is occurring."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:266
+#: documentation/content/en/articles/committers-guide/_index.adoc:262
#, no-wrap
msgid "Policy for Committer Activity in Other Trees"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:269
+#: documentation/content/en/articles/committers-guide/_index.adoc:265
msgid ""
"All committers may modify [.filename]#src/share/misc/committers-*.dot#, [."
"filename]#src/usr.bin/calendar/calendars/calendar.freebsd#, and [."
"filename]#ports/astro/xearth/files#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:270
+#: documentation/content/en/articles/committers-guide/_index.adoc:266
msgid ""
"doc committers may commit documentation changes to [.filename]#src# files, "
"such as manual pages, READMEs, fortune databases, calendar files, and "
"comment fixes without approval from a src committer, subject to the normal "
"care and tending of commits."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:272
+#: documentation/content/en/articles/committers-guide/_index.adoc:268
msgid ""
"Any committer may make changes to any other tree with an \"Approved by\" "
"from a non-mentored committer with the appropriate bit. Mentored committers "
"can provide a \"Reviewed by\" but not an \"Approved by\"."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:273
+#: documentation/content/en/articles/committers-guide/_index.adoc:269
msgid ""
"Committers can acquire an additional bit by the usual process of finding a "
"mentor who will propose them to core, doceng, or portmgr, as appropriate. "
"When approved, they will be added to 'access' and the normal mentoring "
"period will ensue, which will involve a continuing of \"Approved by\" for "
"some period."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:275
+#: documentation/content/en/articles/committers-guide/_index.adoc:271
#, no-wrap
msgid "Documentation Implicit (Blanket) Approval"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:279
+#: documentation/content/en/articles/committers-guide/_index.adoc:275
msgid ""
"Some types of fixes have \"blanket approval\" from the {doceng}, allowing "
"any committer to fix those categories of problems on any part of the doc "
"tree. These fixes do not need approval or review from a doc committer if "
"the author doesn't have a doc commit bit."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:281
+#: documentation/content/en/articles/committers-guide/_index.adoc:277
msgid "Blanket approval applies to these types of fixes:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:283
+#: documentation/content/en/articles/committers-guide/_index.adoc:279
msgid "Typos"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:284
+#: documentation/content/en/articles/committers-guide/_index.adoc:280
msgid "Trivial fixes"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:286
+#: documentation/content/en/articles/committers-guide/_index.adoc:282
msgid ""
"Punctuation, URLs, dates, paths and file names with outdated or incorrect "
"information, and other common mistakes that may confound the readers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:289
+#: documentation/content/en/articles/committers-guide/_index.adoc:285
msgid ""
"Over the years, some implicit approvals were granted in the doc tree. This "
"list shows the most common cases:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:291
+#: documentation/content/en/articles/committers-guide/_index.adoc:287
msgid ""
"Changes in [.filename]#documentation/content/en/books/porters-handbook/"
"versions/_index.adoc#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:293
+#: documentation/content/en/articles/committers-guide/_index.adoc:289
msgid ""
"extref:{porters-handbook}versions/[__FreeBSD_version Values (Porter's "
"Handbook)], mainly used for src committers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:294
+#: documentation/content/en/articles/committers-guide/_index.adoc:290
msgid "Changes in [.filename]#doc/shared/contrib-additional.adoc#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:296
+#: documentation/content/en/articles/committers-guide/_index.adoc:292
msgid ""
"extref:{contributors}[Additional FreeBSD Contributors, contrib-additional] "
"maintenance."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:297
+#: documentation/content/en/articles/committers-guide/_index.adoc:293
msgid "All link:#commit-steps[Steps for New Committers], doc related"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:298
+#: documentation/content/en/articles/committers-guide/_index.adoc:294
msgid "Security advisories; Errata Notices; Releases;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:300
+#: documentation/content/en/articles/committers-guide/_index.adoc:296
msgid "Used by {security-officer} and {re}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:301
+#: documentation/content/en/articles/committers-guide/_index.adoc:297
msgid "Changes in [.filename]#website/content/en/donations/donors.adoc#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:303
+#: documentation/content/en/articles/committers-guide/_index.adoc:299
msgid "Used by {donations}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:305
+#: documentation/content/en/articles/committers-guide/_index.adoc:301
msgid ""
"Before any commit, a build test is necessary; see the 'Overview' and 'The "
"FreeBSD Documentation Build Process' sections of the extref:{fdp-primer}"
"[FreeBSD Documentation Project Primer for New Contributors] for more details."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:307
+#: documentation/content/en/articles/committers-guide/_index.adoc:303
#, no-wrap
msgid "Git Primer"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:310
+#: documentation/content/en/articles/committers-guide/_index.adoc:306
#, no-wrap
msgid "Git basics"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:317
+#: documentation/content/en/articles/committers-guide/_index.adoc:313
msgid ""
"When one searches for \"Git Primer\" a number of good ones come up. Daniel "
"Miessler's link:https://danielmiessler.com/study/git/[A git primer] and "
"Willie Willus' link:https://gist.github.com/"
"williewillus/068e9a8543de3a7ef80adb2938657b6b[Git - Quick Primer] are both "
"good overviews. The Git book is also complete, but much longer https://git-"
"scm.com/book/en/v2. There is also this website https://dangitgit.com/ for "
"common traps and pitfalls of Git, in case you need guidance to fix things "
"up. Finally, an introduction link:https://eagain.net/articles/git-for-"
"computer-scientists/[targeted at computer scientists] has proven helpful to "
"some at explaining the Git world view."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:319
+#: documentation/content/en/articles/committers-guide/_index.adoc:315
msgid ""
"This document will assume that you've read through it and will try not to "
"belabor the basics (though it will cover them briefly)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:321
+#: documentation/content/en/articles/committers-guide/_index.adoc:317
#, no-wrap
msgid "Git Mini Primer"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:324
+#: documentation/content/en/articles/committers-guide/_index.adoc:320
msgid ""
"This primer is less ambitiously scoped than the old Subversion Primer, but "
"should cover the basics."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:325
+#: documentation/content/en/articles/committers-guide/_index.adoc:321
#, no-wrap
msgid "Scope"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:331
+#: documentation/content/en/articles/committers-guide/_index.adoc:327
msgid ""
"If you want to download FreeBSD, compile it from sources, and generally keep "
"up to date that way, this primer is for you. It covers getting the sources, "
"updating the sources, bisecting and touches briefly on how to cope with a "
"few local changes. It covers the basics, and tries to give good pointers to "
"more in-depth treatment for when the reader finds the basics insufficient. "
"Other sections of this guide cover more advanced topics related to "
"contributing to the project."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:335
+#: documentation/content/en/articles/committers-guide/_index.adoc:331
msgid ""
"The goal of this section is to highlight those bits of Git needed to track "
"sources. They assume a basic understanding of Git. There are many primers "
"for Git on the web, but the https://git-scm.com/book/en/v2[Git Book] "
"provides one of the better treatments."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:337
+#: documentation/content/en/articles/committers-guide/_index.adoc:333
#, no-wrap
msgid "Getting Started For Developers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:340
+#: documentation/content/en/articles/committers-guide/_index.adoc:336
msgid ""
"This section describes the read-write access for committers to push the "
"commits from developers or contributors."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:342
+#: documentation/content/en/articles/committers-guide/_index.adoc:338
#, no-wrap
msgid "Daily use"
msgstr ""
+#. type: delimited block = 4
+#: documentation/content/en/articles/committers-guide/_index.adoc:343
+msgid ""
+"In the examples below, replace `${repo}` with the name of the desired "
+"FreeBSD repository: `doc`, `ports`, or `src`."
+msgstr ""
+
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:345
+#: documentation/content/en/articles/committers-guide/_index.adoc:346
msgid "Clone the repository:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:349
+#: documentation/content/en/articles/committers-guide/_index.adoc:350
#, no-wrap
msgid "% git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/notes/*' https://git.freebsd.org/${repo}.git\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:352
+#: documentation/content/en/articles/committers-guide/_index.adoc:353
msgid "Then you should have the official mirrors as your remote:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:358
+#: documentation/content/en/articles/committers-guide/_index.adoc:359
#, no-wrap
msgid ""
"% git remote -v\n"
"freebsd https://git.freebsd.org/${repo}.git (fetch)\n"
"freebsd https://git.freebsd.org/${repo}.git (push)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:361
+#: documentation/content/en/articles/committers-guide/_index.adoc:362
msgid "Configure the FreeBSD committer data:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:364
+#: documentation/content/en/articles/committers-guide/_index.adoc:365
msgid ""
"The commit hook in repo.freebsd.org checks the \"Commit\" field matches the "
"committer's information in FreeBSD.org. The easiest way to get the "
"suggested config is by executing `/usr/local/bin/gen-gitconfig.sh` script on "
"freefall:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:371
+#: documentation/content/en/articles/committers-guide/_index.adoc:372
#, no-wrap
msgid ""
"% gen-gitconfig.sh\n"
"[...]\n"
"% git config user.name (your name in gecos)\n"
"% git config user.email (your login)@FreeBSD.org\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:374
+#: documentation/content/en/articles/committers-guide/_index.adoc:375
msgid "Set the push URL:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:378
+#: documentation/content/en/articles/committers-guide/_index.adoc:379
#, no-wrap
msgid "% git remote set-url --push freebsd git@gitrepo.freebsd.org:${repo}.git\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:381
+#: documentation/content/en/articles/committers-guide/_index.adoc:382
msgid ""
"Then you should have separated fetch and push URLs as the most efficient "
"setup:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:387
+#: documentation/content/en/articles/committers-guide/_index.adoc:388
#, no-wrap
msgid ""
"% git remote -v\n"
"freebsd https://git.freebsd.org/${repo}.git (fetch)\n"
"freebsd git@gitrepo.freebsd.org:${repo}.git (push)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:390
+#: documentation/content/en/articles/committers-guide/_index.adoc:391
msgid ""
"Again, note that `gitrepo.freebsd.org` has been canonicalized to `repo."
"freebsd.org`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:392
+#: documentation/content/en/articles/committers-guide/_index.adoc:393
msgid "Install commit message template hook:"
msgstr ""
+#. type: Plain text
+#: documentation/content/en/articles/committers-guide/_index.adoc:395
+msgid "For doc repository:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/committers-guide/_index.adoc:400
+#, no-wrap
+msgid ""
+"% cd .git/hooks\n"
+"% ln -s ../../.hooks/prepare-commit-msg\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/committers-guide/_index.adoc:403
+msgid "For ports repository:"
+msgstr ""
+
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:397
+#: documentation/content/en/articles/committers-guide/_index.adoc:407
+#, no-wrap
+msgid "% git config --add core.hooksPath .hooks\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/committers-guide/_index.adoc:410
+msgid "For src repository:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/committers-guide/_index.adoc:415
#, no-wrap
msgid ""
-"% fetch https://cgit.freebsd.org/src/plain/tools/tools/git/hooks/prepare-commit-msg -o .git/hooks\n"
-"% chmod 755 .git/hooks/prepare-commit-msg\n"
+"% cd .git/hooks\n"
+"% ln -s ../../tools/tools/git/hooks/prepare-commit-msg\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:400
+#: documentation/content/en/articles/committers-guide/_index.adoc:418
#, no-wrap
msgid "\"admin\" branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:403
+#: documentation/content/en/articles/committers-guide/_index.adoc:421
msgid ""
"The `access` and `mentors` files are stored in an orphan branch, `internal/"
"admin`, in each repository."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:405
+#: documentation/content/en/articles/committers-guide/_index.adoc:423
msgid ""
"Following example is how to check out the `internal/admin` branch to a local "
"branch named `admin`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:411
+#: documentation/content/en/articles/committers-guide/_index.adoc:429
#, no-wrap
msgid ""
"% git config --add remote.freebsd.fetch '+refs/internal/*:refs/internal/*'\n"
"% git fetch\n"
"% git checkout -b admin internal/admin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:413
+#: documentation/content/en/articles/committers-guide/_index.adoc:431
msgid "Alternatively, you can add a worktree for the `admin` branch:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:417
+#: documentation/content/en/articles/committers-guide/_index.adoc:435
#, no-wrap
msgid "git worktree add -b admin ../${repo}-admin internal/admin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:421
+#: documentation/content/en/articles/committers-guide/_index.adoc:439
msgid ""
"For browsing `internal/admin` branch on web: `https://cgit.freebsd.org/"
"${repo}/log/?h=internal/admin`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:423
-msgid "For pushing, either specify the full refspec:"
+#: documentation/content/en/articles/committers-guide/_index.adoc:441
+msgid "For pushing, specify the full refspec:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:427
+#: documentation/content/en/articles/committers-guide/_index.adoc:445
#, no-wrap
msgid "git push freebsd HEAD:refs/internal/admin\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:429
+#: documentation/content/en/articles/committers-guide/_index.adoc:447
#, no-wrap
msgid "Keeping Current With The FreeBSD src Tree"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:436
+#: documentation/content/en/articles/committers-guide/_index.adoc:454
msgid ""
"First step: cloning a tree. This downloads the entire tree. There are two "
"ways to download. Most people will want to do a deep clone of the "
"repository. However, there are times when you may wish to do a shallow "
"clone."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:437
+#: documentation/content/en/articles/committers-guide/_index.adoc:455
#, no-wrap
msgid "Branch Names"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:439
+#: documentation/content/en/articles/committers-guide/_index.adoc:457
msgid "FreeBSD-CURRENT uses the `main` branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:441
+#: documentation/content/en/articles/committers-guide/_index.adoc:459
msgid "`main` is the default branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:443
+#: documentation/content/en/articles/committers-guide/_index.adoc:461
msgid "For FreeBSD-STABLE, branch names include `stable/12` and `stable/13`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:445
+#: documentation/content/en/articles/committers-guide/_index.adoc:463
msgid ""
"For FreeBSD-RELEASE, release engineering branch names include `releng/12.4` "
"and `releng/13.2`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:447
+#: documentation/content/en/articles/committers-guide/_index.adoc:465
msgid "https://www.freebsd.org/releng/[] shows:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:449
+#: documentation/content/en/articles/committers-guide/_index.adoc:467
msgid "`main` and `stable/⋯` branches open"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:450
+#: documentation/content/en/articles/committers-guide/_index.adoc:468
msgid "`releng/⋯` branches, each of which is frozen when a release is tagged."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:452
+#: documentation/content/en/articles/committers-guide/_index.adoc:470
msgid "Examples:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:454
+#: documentation/content/en/articles/committers-guide/_index.adoc:472
msgid ""
"tag https://cgit.freebsd.org/src/tag/?h=release/13.1.0[release/13.1.0] on "
"the https://cgit.freebsd.org/src/log/?h=releng/13.1[releng/13.1] branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:455
+#: documentation/content/en/articles/committers-guide/_index.adoc:473
msgid ""
"tag https://cgit.freebsd.org/src/tag/?h=release/13.2.0[release/13.2.0] on "
"the https://cgit.freebsd.org/src/log/?h=releng/13.2[releng/13.2] branch."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:456
+#: documentation/content/en/articles/committers-guide/_index.adoc:474
#, no-wrap
msgid "Repositories"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:459
+#: documentation/content/en/articles/committers-guide/_index.adoc:477
msgid ""
"Please see the <<admin,Administrative Details>> for the latest information "
"on where to get FreeBSD sources. $URL below can be obtained from that page."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:462
+#: documentation/content/en/articles/committers-guide/_index.adoc:480
msgid ""
"Note: The project doesn't use submodules as they are a poor fit for our "
"workflows and development model. How we track changes in third-party "
"applications is discussed elsewhere and generally of little concern to the "
"casual user."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:463
+#: documentation/content/en/articles/committers-guide/_index.adoc:481
#, no-wrap
msgid "Deep Clone"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:467
+#: documentation/content/en/articles/committers-guide/_index.adoc:485
msgid ""
"A deep clone pulls in the entire tree, as well as all the history and "
"branches. It is the easiest to do. It also allows you to use Git's "
"worktree feature to have all your active branches checked out into separate "
"directories but with only one copy of the repository."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:470
+#: documentation/content/en/articles/committers-guide/_index.adoc:488
#, no-wrap
msgid "% git clone -o freebsd $URL -b branch [<directory>]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:475
+#: documentation/content/en/articles/committers-guide/_index.adoc:493
msgid ""
"will create a deep clone. `branch` should be one of the branches listed in "
"the previous section. If no `branch` is given: the default (`main`) will be "
"used. If no `<directory>` is given: the name of the new directory will "
"match the name of the repo ([.filename]#doc#, [.filename]#ports# or [."
"filename]#src#)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:480
+#: documentation/content/en/articles/committers-guide/_index.adoc:498
msgid ""
"You will want a deep clone if you are interested in the history, plan on "
"making local changes, or plan on working on more than one branch. It is the "
"easiest to keep up to date as well. If you are interested in the history, "
"but are working with only one branch and are short on space, you can also "
"use --single-branch to only download the one branch (though some merge "
"commits will not reference the merged-from branch which may be important for "
"some users who are interested in detailed versions of history)."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:481
+#: documentation/content/en/articles/committers-guide/_index.adoc:499
#, no-wrap
msgid "Shallow Clone"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:487
+#: documentation/content/en/articles/committers-guide/_index.adoc:505
msgid ""
"A shallow clone copies just the most current code, but none or little of the "
"history. This can be useful when you need to build a specific revision of "
"FreeBSD, or when you are just starting out and plan to track the tree more "
"fully. You can also use it to limit history to only so many revisions. "
"However, see below for a significant limitation of this approach."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:491
+#: documentation/content/en/articles/committers-guide/_index.adoc:509
#, no-wrap
msgid "% git clone -o freebsd -b branch --depth 1 $URL [dir]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:496
+#: documentation/content/en/articles/committers-guide/_index.adoc:514
msgid ""
"This clones the repository, but only has the most recent version in the "
"repository. The rest of the history is not downloaded. Should you change "
"your mind later, you can do `git fetch --unshallow` to get the old history."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:501
+#: documentation/content/en/articles/committers-guide/_index.adoc:519
msgid ""
"When you make a shallow clone, you will lose the commit count in your uname "
"output. This can make it more difficult to determine if your system needs "
"to be updated when a security advisory is issued."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:503
+#: documentation/content/en/articles/committers-guide/_index.adoc:521
#, no-wrap
msgid "Building"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:507
+#: documentation/content/en/articles/committers-guide/_index.adoc:525
msgid ""
"Once you've downloaded, building is done as described in the handbook, e.g.:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:514
+#: documentation/content/en/articles/committers-guide/_index.adoc:532
#, no-wrap
msgid ""
"% cd src\n"
"% make buildworld\n"
"% make buildkernel\n"
"% make installkernel\n"
"% make installworld\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:516
+#: documentation/content/en/articles/committers-guide/_index.adoc:534
msgid "so that won't be covered in depth here."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:519
+#: documentation/content/en/articles/committers-guide/_index.adoc:537
msgid ""
"If you want to build a custom kernel, extref:{handbook}[the kernel config "
"section, kernelconfig] of the FreeBSD Handbook recommends creating a file "
"MYKERNEL under sys/${ARCH}/conf with your changes against GENERIC. To have "
"MYKERNEL disregarded by Git, it can be added to .git/info/exclude."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:520
+#: documentation/content/en/articles/committers-guide/_index.adoc:538
#, no-wrap
msgid "Updating"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:524
+#: documentation/content/en/articles/committers-guide/_index.adoc:542
msgid ""
"To update both types of trees uses the same commands. This pulls in all the "
"revisions since your last update."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:527
+#: documentation/content/en/articles/committers-guide/_index.adoc:545
#, no-wrap
msgid "% git pull --ff-only\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:532
+#: documentation/content/en/articles/committers-guide/_index.adoc:550
msgid ""
"will update the tree. In Git, a 'fast forward' merge is one that only needs "
"to set a new branch pointer and doesn't need to re-create the commits. By "
"always doing a fast forward merge/pull, you'll ensure that you have an exact "
"copy of the FreeBSD tree. This will be important if you want to maintain "
"local patches."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:535
+#: documentation/content/en/articles/committers-guide/_index.adoc:553
msgid ""
"See below for how to manage local changes. The simplest is to use `--"
"autostash` on the `git pull` command, but more sophisticated options are "
"available."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:536
+#: documentation/content/en/articles/committers-guide/_index.adoc:554
#, no-wrap
msgid "Selecting a Specific Version"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:540
+#: documentation/content/en/articles/committers-guide/_index.adoc:558
msgid ""
"In Git, `git checkout` checks out both branches and specific versions. "
"Git's versions are the long hashes rather than a sequential number."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:542
+#: documentation/content/en/articles/committers-guide/_index.adoc:560
msgid ""
"When you checkout a specific version, just specify the hash you want on the "
"command line (the git log command can help you decide which hash you might "
"want):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:545
+#: documentation/content/en/articles/committers-guide/_index.adoc:563
#, no-wrap
msgid "% git checkout 08b8197a74\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:548
+#: documentation/content/en/articles/committers-guide/_index.adoc:566
msgid ""
"and you have that checked out. You will be greeted with a message similar "
"to the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:551
+#: documentation/content/en/articles/committers-guide/_index.adoc:569
#, no-wrap
msgid "Note: checking out '08b8197a742a96964d2924391bf9fdfeb788865d'.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:555
+#: documentation/content/en/articles/committers-guide/_index.adoc:573
#, no-wrap
msgid ""
"You are in a 'detached HEAD' state. You can look around, make experimental\n"
"changes and commit them, and you can discard any commits you make in this\n"
"state without impacting any branches by performing another checkout.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:558
+#: documentation/content/en/articles/committers-guide/_index.adoc:576
#, no-wrap
msgid ""
"If you want to create a new branch to retain commits you create, you may\n"
"do so (now or later) by using -b with the checkout command again. Example:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:560
-#: documentation/content/en/articles/committers-guide/_index.adoc:1668
+#: documentation/content/en/articles/committers-guide/_index.adoc:578
+#: documentation/content/en/articles/committers-guide/_index.adoc:1686
#, no-wrap
msgid " git checkout -b <new-branch-name>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:562
+#: documentation/content/en/articles/committers-guide/_index.adoc:580
#, no-wrap
msgid "HEAD is now at 08b8197a742a hook gpiokeys.4 to the build\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:566
+#: documentation/content/en/articles/committers-guide/_index.adoc:584
msgid ""
"where the last line is generated from the hash you are checking out and the "
"first line of the commit message from that revision. The hash can be "
"abbreviated to the shortest unique length. Git itself is inconsistent about "
"how many digits it displays."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:567
+#: documentation/content/en/articles/committers-guide/_index.adoc:585
#, no-wrap
msgid "Bisecting"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:571
+#: documentation/content/en/articles/committers-guide/_index.adoc:589
msgid ""
"Sometimes, things go wrong. The last version worked, but the one you just "
"updated to does not. A developer may ask you to bisect the problem to track "
"down which commit caused the regression."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:576
+#: documentation/content/en/articles/committers-guide/_index.adoc:594
msgid ""
"Git makes bisecting changes easy with a powerful `git bisect` command. "
"Here's a brief outline of how to use it. For more information, you can view "
"https://www.metaltoad.com/blog/beginners-guide-git-bisect-process-"
"elimination or https://git-scm.com/docs/git-bisect for more details. The "
"man git-bisect page is good at describing what can go wrong, what to do when "
"versions won't build, when you want to use terms other than 'good' and "
"'bad', etc, none of which will be covered here."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:583
+#: documentation/content/en/articles/committers-guide/_index.adoc:601
msgid ""
"`git bisect start --first-parent` will start the bisection process. Next, "
"you need to tell a range to go through. `git bisect good XXXXXX` will tell "
"it the working version and `git bisect bad XXXXX` will tell it the bad "
"version. The bad version will almost always be HEAD (a special tag for what "
"you have checked out). The good version will be the last one you checked "
"out. The `--first-parent` argument is necessary so that subsequent `git "
"bisect` commands do not try to check out a vendor branch which lacks the "
"full FreeBSD source tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:587
+#: documentation/content/en/articles/committers-guide/_index.adoc:605
msgid ""
"If you want to know the last version you checked out, you should use `git "
"reflog`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:592
+#: documentation/content/en/articles/committers-guide/_index.adoc:610
#, no-wrap
msgid ""
"5ef0bd68b515 (HEAD -> main, freebsd/main, freebsd/HEAD) HEAD@{0}: pull --ff-only: Fast-forward\n"
"a8163e165c5b (upstream/main) HEAD@{1}: checkout: moving from b6fb97efb682994f59b21fe4efb3fcfc0e5b9eeb to main\n"
"...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:596
+#: documentation/content/en/articles/committers-guide/_index.adoc:614
msgid ""
"shows me moving the working tree to the `main` branch (a816...) and then "
"updating from upstream (to 5ef0...). In this case, bad would be HEAD (or "
"5rf0bd68) and good would be a8163e165. As you can see from the output, "
"HEAD@{1} also often works, but isn't foolproof if you have done other things "
"to your Git tree after updating, but before you discover the need to bisect."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:600
+#: documentation/content/en/articles/committers-guide/_index.adoc:618
msgid ""
"Set the 'good' version first, then set the bad (though the order doesn't "
"matter). When you set the bad version, it will give you some statistics on "
"the process:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:607
+#: documentation/content/en/articles/committers-guide/_index.adoc:625
#, no-wrap
msgid ""
"% git bisect start --first-parent\n"
"% git bisect good a8163e165c5b\n"
"% git bisect bad HEAD\n"
"Bisecting: 1722 revisions left to test after this (roughly 11 steps)\n"
"[c427b3158fd8225f6afc09e7e6f62326f9e4de7e] Fixup r361997 by balancing parens. Duh.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:616
+#: documentation/content/en/articles/committers-guide/_index.adoc:634
msgid ""
"You would then build/install that version. If it's good you'd type `git "
"bisect good` otherwise `git bisect bad`. If the version doesn't compile, "
"type `git bisect skip`. You will get a similar message to the above after "
"each step. When you are done, report the bad version to the developer (or "
"fix the bug yourself and send a patch). `git bisect reset` will end the "
"process and return you back to where you started (usually tip of `main`). "
"Again, the git-bisect manual (linked above) is a good resource for when "
"things go wrong or for unusual cases."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:618
+#: documentation/content/en/articles/committers-guide/_index.adoc:636
#, no-wrap
msgid "Signing the commits, tags, and pushes, with GnuPG"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:623
+#: documentation/content/en/articles/committers-guide/_index.adoc:641
msgid ""
"Git knows how to sign commits, tags, and pushes. When you sign a Git commit "
"or a tag, you can prove that the code you submitted came from you and wasn't "
"altered while you were transferring it. You also can prove that you "
"submitted the code and not someone else."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:625
+#: documentation/content/en/articles/committers-guide/_index.adoc:643
msgid ""
"A more in-depth documentation on signing commits and tags can be found in "
"the https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work[Git Tools - "
"Signing Your Work] chapter of the Git's book."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:627
+#: documentation/content/en/articles/committers-guide/_index.adoc:645
msgid ""
"The rationale behind signing pushes can be found in the https://github.com/"
"git/git/commit/a85b377d0419a9dfaca8af2320cc33b051cbed04[commit that "
"introduced the feature]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:630
+#: documentation/content/en/articles/committers-guide/_index.adoc:648
msgid ""
"The best way is to simply tell Git you always want to sign commits, tags, "
"and pushes. You can do this by setting a few configuration variables:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:637
+#: documentation/content/en/articles/committers-guide/_index.adoc:655
#, no-wrap
msgid ""
"% git config --add user.signingKey LONG-KEY-ID\n"
"% git config --add commit.gpgSign true\n"
"% git config --add tag.gpgSign true\n"
"% git config --add push.gpgSign if-asked\n"
msgstr ""
#. push.gpgSign should probably be set to `yes` once we enable it, or be set with --global, so that it is enabled for all repositories.
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:645
+#: documentation/content/en/articles/committers-guide/_index.adoc:663
msgid ""
"To avoid possible collisions, make sure you give a long key id to Git. You "
"can get the long id with: `gpg --list-secret-keys --keyid-format LONG`."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:651
+#: documentation/content/en/articles/committers-guide/_index.adoc:669
msgid ""
"To use specific subkeys, and not have GnuPG to resolve the subkey to a "
"primary key, attach `!` to the key. For example, to encrypt for the subkey "
"`DEADBEEF`, use `DEADBEEF!`."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:653
+#: documentation/content/en/articles/committers-guide/_index.adoc:671
#, no-wrap
msgid "Verifying signatures"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:656
+#: documentation/content/en/articles/committers-guide/_index.adoc:674
msgid ""
"Commit signatures can be verified by running either `git verify-commit "
"<commit hash>`, or `git log --show-signature`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:658
+#: documentation/content/en/articles/committers-guide/_index.adoc:676
msgid ""
"Tag signatures can be verified with `git verity-tag <tag name>`, or `git tag "
"-v <tag name>`."
msgstr ""
#
#
#. Commented out for now until we decide what to do.
#. Git pushes are a bit different, they live in a special ref in the repository.
#. TODO: write how to verify them
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:667
+#: documentation/content/en/articles/committers-guide/_index.adoc:685
#, no-wrap
msgid "Ports Considerations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:670
+#: documentation/content/en/articles/committers-guide/_index.adoc:688
msgid ""
"The ports tree operates the same way. The branch names are different and "
"the repositories are in different locations."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:673
+#: documentation/content/en/articles/committers-guide/_index.adoc:691
msgid ""
"The cgit repository web interface for use with web browsers is at https://"
"cgit.FreeBSD.org/ports/ . The production Git repository is at https://git."
"FreeBSD.org/ports.git and at ssh://anongit@git.FreeBSD.org/ports.git (or "
"anongit@git.FreeBSD.org:ports.git)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:677
+#: documentation/content/en/articles/committers-guide/_index.adoc:695
msgid ""
"There is also a mirror on GitHub, see extref:{handbook}/mirrors[External "
"mirrors, mirrors] for an overview. The _latest_ branch is `main`. The "
"_quarterly_ branches are named `yyyyQn` for year 'yyyy' and quarter 'n'."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:679
+#: documentation/content/en/articles/committers-guide/_index.adoc:697
#, no-wrap
msgid "Commit message formats"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:683
+#: documentation/content/en/articles/committers-guide/_index.adoc:701
msgid ""
"A hook is available in the ports repository to help you write up your commit "
"messages in https://cgit.freebsd.org/ports/tree/.hooks/prepare-commit-msg[."
"hooks/prepare-commit-message]. It can be enabled by running ``git config --"
"add core.hooksPath .hooks``."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:685
+#: documentation/content/en/articles/committers-guide/_index.adoc:703
msgid ""
"The main point being that a commit message should be formatted in the "
"following way:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:688
+#: documentation/content/en/articles/committers-guide/_index.adoc:706
#, no-wrap
msgid "category/port: Summary.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:690
+#: documentation/content/en/articles/committers-guide/_index.adoc:708
#, no-wrap
msgid "Description of why the changes where made.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:692
+#: documentation/content/en/articles/committers-guide/_index.adoc:710
#, no-wrap
msgid "PR:\t 12345\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:698
+#: documentation/content/en/articles/committers-guide/_index.adoc:716
msgid ""
"The first line is the subject of the commit, it contains what port was "
"changed, and a summary of the commit. It should contain 50 characters or "
"less."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:700
+#: documentation/content/en/articles/committers-guide/_index.adoc:718
msgid "A blank line should separate it from the rest of the commit message."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:702
+#: documentation/content/en/articles/committers-guide/_index.adoc:720
msgid ""
"The rest of the commit message should be wrapped at the 72 characters "
"boundary."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:704
+#: documentation/content/en/articles/committers-guide/_index.adoc:722
msgid ""
"Another blank line should be added if there are any metadata fields, so that "
"they are easily distinguishable from the commit message."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:706
+#: documentation/content/en/articles/committers-guide/_index.adoc:724
#, no-wrap
msgid "Managing Local Changes"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:709
+#: documentation/content/en/articles/committers-guide/_index.adoc:727
msgid ""
-"This section addresses tracking local changes. If you have no local "
-"changes, you can stop reading now (it is the last section and OK to skip)."
+"This section addresses tracking local changes. If you have no local changes "
+"you can skip this section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:715
+#: documentation/content/en/articles/committers-guide/_index.adoc:733
msgid ""
"One item that is important for all of them: all changes are local until "
"pushed. Unlike Subversion, Git uses a distributed model. For users, for "
"most things, there is very little difference. However, if you have local "
"changes, you can use the same tool to manage them as you use to pull in "
"changes from FreeBSD. All changes that you have not pushed are local and "
"can easily be modified (git rebase, discussed below does this)."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:716
+#: documentation/content/en/articles/committers-guide/_index.adoc:734
#, no-wrap
msgid "Keeping local changes"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:723
+#: documentation/content/en/articles/committers-guide/_index.adoc:741
msgid ""
"The simplest way to keep local changes (especially trivial ones) is to use "
"`git stash`. In its simplest form, you use `git stash` to record the "
"changes (which pushes them onto the stash stack). Most people use this to "
"save changes before updating the tree as described above. They then use "
"`git stash apply` to re-apply them to the tree. The stash is a stack of "
"changes that can be examined with `git stash list`. The git-stash man page "
"(https://git-scm.com/docs/git-stash) has all the details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:727
+#: documentation/content/en/articles/committers-guide/_index.adoc:745
msgid ""
"This method is suitable when you have tiny tweaks to the tree. When you "
"have anything non trivial, you'll likely be better off keeping a local "
"branch and rebasing. Stashing is also integrated with the `git pull` "
"command: just add `--autostash` to the command line."
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:728
+#: documentation/content/en/articles/committers-guide/_index.adoc:746
#, no-wrap
msgid "Keeping a local branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:735
+#: documentation/content/en/articles/committers-guide/_index.adoc:753
msgid ""
"It is much easier to keep a local branch with Git than Subversion. In "
"Subversion you need to merge the commit, and resolve the conflicts. This is "
"manageable, but can lead to a convoluted history that's hard to upstream "
"should that ever be necessary, or hard to replicate if you need to do so. "
"Git also allows one to merge, along with the same problems. That's one way "
"to manage the branch, but it's the least flexible."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:739
+#: documentation/content/en/articles/committers-guide/_index.adoc:757
msgid ""
"In addition to merging, Git supports the concept of 'rebasing' which avoids "
"these issues. The `git rebase` command replays all the commits of a branch "
"at a newer location on the parent branch. We will cover the most common "
"scenarios that arise using it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:741
+#: documentation/content/en/articles/committers-guide/_index.adoc:759
msgid "====== Create a branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:746
+#: documentation/content/en/articles/committers-guide/_index.adoc:764
msgid ""
"Let's say you want to make a change to FreeBSD's ls command to never, ever "
"do color. There are many reasons to do this, but this example will use that "
"as a baseline. The FreeBSD ls command changes from time to time, and you'll "
"need to cope with those changes. Fortunately, with Git rebase it usually is "
"automatic."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:768
+#: documentation/content/en/articles/committers-guide/_index.adoc:786
#, no-wrap
msgid ""
"% cd src\n"
"% git checkout main\n"
"% git checkout -b no-color-ls\n"
"% cd bin/ls\n"
"% vi ls.c # hack the changes in\n"
"% git diff # check the changes\n"
"diff --git a/bin/ls/ls.c b/bin/ls/ls.c\n"
"index 7378268867ef..cfc3f4342531 100644\n"
"--- a/bin/ls/ls.c\n"
"+++ b/bin/ls/ls.c\n"
"@@ -66,6 +66,7 @@ __FBSDID(\"$FreeBSD$\");\n"
" #include <stdlib.h>\n"
" #include <string.h>\n"
" #include <unistd.h>\n"
"+#undef COLORLS\n"
" #ifdef COLORLS\n"
" #include <termcap.h>\n"
" #include <signal.h>\n"
"% # these look good, make the commit...\n"
"% git commit ls.c\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:775
+#: documentation/content/en/articles/committers-guide/_index.adoc:793
msgid ""
"The commit will pop you into an editor to describe what you've done. Once "
"you enter that, you have your own **local** branch in the Git repo. Build "
"and install it like you normally would, following the directions in the "
"handbook. Git differs from other version control systems in that you have "
"to tell it explicitly which files to commit. I have opted to do it on the "
"commit command line, but you can also do it with `git add` which many of the "
"more in depth tutorials cover."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:777
+#: documentation/content/en/articles/committers-guide/_index.adoc:795
msgid "====== Time to update"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:782
+#: documentation/content/en/articles/committers-guide/_index.adoc:800
msgid ""
"When it is time to bring in a new version, it is almost the same as w/o the "
"branches. You would update like you would above, but there is one extra "
"command before you update, and one after. The following assumes you are "
"starting with an unmodified tree. It is important to start rebasing "
"operations with a clean tree (Git requires this)."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:788
+#: documentation/content/en/articles/committers-guide/_index.adoc:806
#, no-wrap
msgid ""
"% git checkout main\n"
"% git pull --ff-only\n"
"% git rebase -i main no-color-ls\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:793
+#: documentation/content/en/articles/committers-guide/_index.adoc:811
msgid ""
"This will bring up an editor that lists all the commits in it. For this "
"example, do not change it at all. This is typically what you are doing "
"while updating the baseline (though you also use the Git rebase command to "
"curate the commits you have in the branch)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:795
+#: documentation/content/en/articles/committers-guide/_index.adoc:813
msgid ""
"Once you are done with the above, you have to move the commits to ls.c "
"forward from the old version of FreeBSD to the newer one."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:802
+#: documentation/content/en/articles/committers-guide/_index.adoc:820
msgid ""
"Sometimes there are merge conflicts. That is OK. Do not panic. Instead, "
"handle them the same as any other merge conflicts. To keep it simple, I "
"will just describe a common issue that may arise. A pointer to a more "
"complete treatment can be found at the end of this section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:805
+#: documentation/content/en/articles/committers-guide/_index.adoc:823
msgid ""
"Let's say the includes changes upstream in a radical shift to terminfo as "
"well as a name change for the option. When you updated, you might see "
"something like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:815
+#: documentation/content/en/articles/committers-guide/_index.adoc:833
#, no-wrap
msgid ""
"Auto-merging bin/ls/ls.c\n"
"CONFLICT (content): Merge conflict in bin/ls/ls.c\n"
"error: could not apply 646e0f9cda11... no color ls\n"
"Resolve all conflicts manually, mark them as resolved with\n"
"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
"You can instead skip this commit: run \"git rebase --skip\".\n"
"To abort and get back to the state before \"git rebase\", run \"git rebase --abort\".\n"
"Could not apply 646e0f9cda11... no color ls\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:818
+#: documentation/content/en/articles/committers-guide/_index.adoc:836
msgid ""
"which looks scary. If you bring up an editor, you will see it is a typical "
"3-way merge conflict resolution that you may be familiar with from other "
"source code systems (the rest of ls.c has been omitted):"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:827
+#: documentation/content/en/articles/committers-guide/_index.adoc:845
#, no-wrap
msgid ""
" <<<<<<< HEAD\n"
" #ifdef COLORLS_NEW\n"
" #include <terminfo.h>\n"
" =======\n"
" #undef COLORLS\n"
" #ifdef COLORLS\n"
" #include <termcap.h>\n"
" >>>>>>> 646e0f9cda11... no color ls\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:831
+#: documentation/content/en/articles/committers-guide/_index.adoc:849
#, no-wrap
msgid ""
"The new code is first, and your code is second.\n"
"The right fix here is to just add a #undef COLORLS_NEW before #ifdef and then delete the old changes:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:835
+#: documentation/content/en/articles/committers-guide/_index.adoc:853
msgid "#undef COLORLS_NEW #ifdef COLORLS_NEW #include <terminfo.h>"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:839
+#: documentation/content/en/articles/committers-guide/_index.adoc:857
#, no-wrap
msgid ""
"save the file.\n"
"The rebase was interrupted, so you have to complete it:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:842
+#: documentation/content/en/articles/committers-guide/_index.adoc:860
msgid "% git add ls.c % git rebase --continue"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:847
+#: documentation/content/en/articles/committers-guide/_index.adoc:865
#, no-wrap
msgid ""
"which tells Git that ls.c has been fixed and to continue the rebase operation.\n"
"Since there was a conflict, you will get kicked into the editor to update the commit message if necessary.\n"
"If the commit message is still accurate, just exit the editor.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:852
+#: documentation/content/en/articles/committers-guide/_index.adoc:870
#, no-wrap
msgid ""
"If you get stuck during the rebase, do not panic.\n"
"git rebase --abort will take you back to a clean slate.\n"
"It is important, though, to start with an unmodified tree.\n"
"An aside: The above mentioned `git reflog` comes in handy here, as it will have a list of all the (intermediate) commits that you can view or inspect or cherry-pick.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:855
+#: documentation/content/en/articles/committers-guide/_index.adoc:873
#, no-wrap
msgid ""
"For more on this topic, https://www.freecodecamp.org/news/the-ultimate-guide-to-git-merge-and-git-rebase/ provides a rather extensive treatment.\n"
"It is a good resource for issues that arise occasionally but are too obscure for this guide.\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:856
+#: documentation/content/en/articles/committers-guide/_index.adoc:874
#, no-wrap
msgid "Switching to a Different FreeBSD Branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:860
+#: documentation/content/en/articles/committers-guide/_index.adoc:878
msgid ""
"If you wish to shift from stable/12 to the current branch. If you have a "
"deep clone, the following will suffice: [source,shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:863
+#: documentation/content/en/articles/committers-guide/_index.adoc:881
msgid "% git checkout main % # build and install here..."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:869
+#: documentation/content/en/articles/committers-guide/_index.adoc:887
#, no-wrap
msgid ""
"If you have a local branch, though, there are one or two caveats.\n"
"First, rebase will rewrite history, so you will likely want to do something to save it.\n"
"Second, jumping branches tends to cause more conflicts.\n"
"If we pretend the example above was relative to stable/12, then to move to `main`, I'd suggest the following:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:873
+#: documentation/content/en/articles/committers-guide/_index.adoc:891
#, no-wrap
msgid ""
"% git checkout no-color-ls\n"
"% git checkout -b no-color-ls-stable-12 # create another name for this branch\n"
"% git rebase -i stable/12 no-color-ls --onto main\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:880
+#: documentation/content/en/articles/committers-guide/_index.adoc:898
#, no-wrap
msgid ""
"What the above does is checkout no-color-ls.\n"
"Then create a new name for it (no-color-ls-stable-12) in case you need to get back to it.\n"
"Then you rebase onto the `main` branch.\n"
"This will find all the commits to the current no-color-ls branch (back to where it meets up with the stable/12 branch) and then it will\n"
"replay them onto the `main` branch creating a new no-color-ls branch there (which is why I had you create a place holder name).\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:882
+#: documentation/content/en/articles/committers-guide/_index.adoc:900
#, no-wrap
msgid "[[mfc-with-git]]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:882
+#: documentation/content/en/articles/committers-guide/_index.adoc:900
#, no-wrap
msgid "MFC (Merge From Current) Procedures"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:883
+#: documentation/content/en/articles/committers-guide/_index.adoc:901
#, no-wrap
msgid "Summary"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:887
+#: documentation/content/en/articles/committers-guide/_index.adoc:905
msgid ""
"MFC workflow can be summarized as `git cherry-pick -x` plus `git commit --"
"amend` to adjust the commit message. For multiple commits, use `git rebase -"
"i` to squash them together and edit the commit message."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:888
+#: documentation/content/en/articles/committers-guide/_index.adoc:906
#, no-wrap
msgid "Single commit MFC"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:891
-#: documentation/content/en/articles/committers-guide/_index.adoc:931
-#: documentation/content/en/articles/committers-guide/_index.adoc:967
-#: documentation/content/en/articles/committers-guide/_index.adoc:1083
-#: documentation/content/en/articles/committers-guide/_index.adoc:1096
-#: documentation/content/en/articles/committers-guide/_index.adoc:1123
-#: documentation/content/en/articles/committers-guide/_index.adoc:1135
-#: documentation/content/en/articles/committers-guide/_index.adoc:1201
+#: documentation/content/en/articles/committers-guide/_index.adoc:909
+#: documentation/content/en/articles/committers-guide/_index.adoc:949
+#: documentation/content/en/articles/committers-guide/_index.adoc:985
+#: documentation/content/en/articles/committers-guide/_index.adoc:1101
+#: documentation/content/en/articles/committers-guide/_index.adoc:1114
+#: documentation/content/en/articles/committers-guide/_index.adoc:1141
+#: documentation/content/en/articles/committers-guide/_index.adoc:1153
#: documentation/content/en/articles/committers-guide/_index.adoc:1219
-#: documentation/content/en/articles/committers-guide/_index.adoc:1241
+#: documentation/content/en/articles/committers-guide/_index.adoc:1237
#: documentation/content/en/articles/committers-guide/_index.adoc:1259
-#: documentation/content/en/articles/committers-guide/_index.adoc:1279
-#: documentation/content/en/articles/committers-guide/_index.adoc:1294
-#: documentation/content/en/articles/committers-guide/_index.adoc:1313
-#: documentation/content/en/articles/committers-guide/_index.adoc:1345
-#: documentation/content/en/articles/committers-guide/_index.adoc:1392
-#: documentation/content/en/articles/committers-guide/_index.adoc:1456
+#: documentation/content/en/articles/committers-guide/_index.adoc:1277
+#: documentation/content/en/articles/committers-guide/_index.adoc:1297
+#: documentation/content/en/articles/committers-guide/_index.adoc:1312
+#: documentation/content/en/articles/committers-guide/_index.adoc:1331
+#: documentation/content/en/articles/committers-guide/_index.adoc:1363
+#: documentation/content/en/articles/committers-guide/_index.adoc:1410
+#: documentation/content/en/articles/committers-guide/_index.adoc:1474
msgid "[source,shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:894
+#: documentation/content/en/articles/committers-guide/_index.adoc:912
msgid "% git checkout stable/X % git cherry-pick -x $HASH --edit"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:898
+#: documentation/content/en/articles/committers-guide/_index.adoc:916
#, no-wrap
msgid ""
"For MFC commits, for example a vendor import, you would need to specify one parent for cherry-pick purposes.\n"
"Normally, that would be the \"first parent\" of the branch you are cherry-picking from, so:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:900
-#: documentation/content/en/articles/committers-guide/_index.adoc:921
-#: documentation/content/en/articles/committers-guide/_index.adoc:944
-#: documentation/content/en/articles/committers-guide/_index.adoc:955
-#: documentation/content/en/articles/committers-guide/_index.adoc:1173
-#: documentation/content/en/articles/committers-guide/_index.adoc:1267
-#: documentation/content/en/articles/committers-guide/_index.adoc:1352
-#: documentation/content/en/articles/committers-guide/_index.adoc:1364
-#: documentation/content/en/articles/committers-guide/_index.adoc:1376
-#: documentation/content/en/articles/committers-guide/_index.adoc:1402
-#: documentation/content/en/articles/committers-guide/_index.adoc:1414
-#: documentation/content/en/articles/committers-guide/_index.adoc:1421
-#: documentation/content/en/articles/committers-guide/_index.adoc:1463
-#: documentation/content/en/articles/committers-guide/_index.adoc:1497
-#: documentation/content/en/articles/committers-guide/_index.adoc:1504
-#: documentation/content/en/articles/committers-guide/_index.adoc:1513
-#: documentation/content/en/articles/committers-guide/_index.adoc:1542
-#: documentation/content/en/articles/committers-guide/_index.adoc:1558
-#: documentation/content/en/articles/committers-guide/_index.adoc:1591
-#: documentation/content/en/articles/committers-guide/_index.adoc:1612
-#: documentation/content/en/articles/committers-guide/_index.adoc:1643
-#: documentation/content/en/articles/committers-guide/_index.adoc:1655
-#: documentation/content/en/articles/committers-guide/_index.adoc:1686
-#: documentation/content/en/articles/committers-guide/_index.adoc:1695
-#: documentation/content/en/articles/committers-guide/_index.adoc:1705
-#: documentation/content/en/articles/committers-guide/_index.adoc:1721
-#: documentation/content/en/articles/committers-guide/_index.adoc:1737
-#: documentation/content/en/articles/committers-guide/_index.adoc:1748
+#: documentation/content/en/articles/committers-guide/_index.adoc:918
+#: documentation/content/en/articles/committers-guide/_index.adoc:939
+#: documentation/content/en/articles/committers-guide/_index.adoc:962
+#: documentation/content/en/articles/committers-guide/_index.adoc:973
+#: documentation/content/en/articles/committers-guide/_index.adoc:1191
+#: documentation/content/en/articles/committers-guide/_index.adoc:1285
+#: documentation/content/en/articles/committers-guide/_index.adoc:1370
+#: documentation/content/en/articles/committers-guide/_index.adoc:1382
+#: documentation/content/en/articles/committers-guide/_index.adoc:1394
+#: documentation/content/en/articles/committers-guide/_index.adoc:1420
+#: documentation/content/en/articles/committers-guide/_index.adoc:1432
+#: documentation/content/en/articles/committers-guide/_index.adoc:1439
+#: documentation/content/en/articles/committers-guide/_index.adoc:1481
+#: documentation/content/en/articles/committers-guide/_index.adoc:1515
+#: documentation/content/en/articles/committers-guide/_index.adoc:1522
+#: documentation/content/en/articles/committers-guide/_index.adoc:1531
+#: documentation/content/en/articles/committers-guide/_index.adoc:1560
+#: documentation/content/en/articles/committers-guide/_index.adoc:1576
+#: documentation/content/en/articles/committers-guide/_index.adoc:1609
+#: documentation/content/en/articles/committers-guide/_index.adoc:1630
+#: documentation/content/en/articles/committers-guide/_index.adoc:1661
+#: documentation/content/en/articles/committers-guide/_index.adoc:1673
+#: documentation/content/en/articles/committers-guide/_index.adoc:1704
+#: documentation/content/en/articles/committers-guide/_index.adoc:1713
+#: documentation/content/en/articles/committers-guide/_index.adoc:1723
+#: documentation/content/en/articles/committers-guide/_index.adoc:1739
#: documentation/content/en/articles/committers-guide/_index.adoc:1755
-#: documentation/content/en/articles/committers-guide/_index.adoc:1768
-#: documentation/content/en/articles/committers-guide/_index.adoc:1788
-#: documentation/content/en/articles/committers-guide/_index.adoc:1802
-#: documentation/content/en/articles/committers-guide/_index.adoc:1818
-#: documentation/content/en/articles/committers-guide/_index.adoc:1830
-#: documentation/content/en/articles/committers-guide/_index.adoc:1849
-#: documentation/content/en/articles/committers-guide/_index.adoc:1860
-#: documentation/content/en/articles/committers-guide/_index.adoc:1870
-#: documentation/content/en/articles/committers-guide/_index.adoc:1908
-#: documentation/content/en/articles/committers-guide/_index.adoc:1916
-#: documentation/content/en/articles/committers-guide/_index.adoc:1927
-#: documentation/content/en/articles/committers-guide/_index.adoc:1948
-#: documentation/content/en/articles/committers-guide/_index.adoc:2008
+#: documentation/content/en/articles/committers-guide/_index.adoc:1766
+#: documentation/content/en/articles/committers-guide/_index.adoc:1773
+#: documentation/content/en/articles/committers-guide/_index.adoc:1786
+#: documentation/content/en/articles/committers-guide/_index.adoc:1806
+#: documentation/content/en/articles/committers-guide/_index.adoc:1820
+#: documentation/content/en/articles/committers-guide/_index.adoc:1836
+#: documentation/content/en/articles/committers-guide/_index.adoc:1848
+#: documentation/content/en/articles/committers-guide/_index.adoc:1867
+#: documentation/content/en/articles/committers-guide/_index.adoc:1878
+#: documentation/content/en/articles/committers-guide/_index.adoc:1888
+#: documentation/content/en/articles/committers-guide/_index.adoc:1926
+#: documentation/content/en/articles/committers-guide/_index.adoc:1934
+#: documentation/content/en/articles/committers-guide/_index.adoc:1945
+#: documentation/content/en/articles/committers-guide/_index.adoc:1966
+#: documentation/content/en/articles/committers-guide/_index.adoc:2026
#, no-wrap
msgid "[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:903
+#: documentation/content/en/articles/committers-guide/_index.adoc:921
msgid "% git checkout stable/X % git cherry-pick -x $HASH -m 1 --edit"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:906
+#: documentation/content/en/articles/committers-guide/_index.adoc:924
#, no-wrap
msgid "If things go wrong, you'll either need to abort the cherry-pick with `git cherry-pick --abort` or fix it up and do a `git cherry-pick --continue`.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:909
+#: documentation/content/en/articles/committers-guide/_index.adoc:927
#, no-wrap
msgid ""
"Once the cherry-pick is finished, push with `git push`.\n"
"If you get an error due to losing the commit race, use `git pull --rebase` and try to push again.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:910
+#: documentation/content/en/articles/committers-guide/_index.adoc:928
#, no-wrap
msgid "MFC to RELENG branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:914
+#: documentation/content/en/articles/committers-guide/_index.adoc:932
msgid ""
"MFCs to branches that require approval require a bit more care. The process "
"is the same for either a typical merge or an exceptional direct commit."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:919
+#: documentation/content/en/articles/committers-guide/_index.adoc:937
#, no-wrap
msgid ""
"* Merge or direct commit to the appropriate `stable/X` branch first before merging to the `releng/X.Y` branch.\n"
"* Use the hash that's in the `stable/X` branch for the MFC to `releng/X.Y` branch.\n"
"* Leave both \"cherry picked from\" lines in the commit message.\n"
"* Be sure to add the `Approved by:` line when you are in the editor.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:924
+#: documentation/content/en/articles/committers-guide/_index.adoc:942
msgid "% git checkout releng/13.0 % git cherry-pick -x $HASH --edit"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:927
+#: documentation/content/en/articles/committers-guide/_index.adoc:945
#, no-wrap
msgid "If you forget to to add the `Approved by:` line, you can do a `git commit --amend` to edit the commit message before you push the change.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:928
+#: documentation/content/en/articles/committers-guide/_index.adoc:946
#, no-wrap
msgid "Multiple commit MFC"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:939
+#: documentation/content/en/articles/committers-guide/_index.adoc:957
msgid ""
"% git checkout -b tmp-branch stable/X % for h in $HASH_LIST; do git cherry-"
"pick -x $h; done % git rebase -i stable/X # mark each of the commits after "
"the first as 'squash' # Update the commit message to reflect all elements of "
"commit, if necessary. # Be sure to retain the \"cherry picked from\" "
"lines. % git push freebsd HEAD:stable/X"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:942
+#: documentation/content/en/articles/committers-guide/_index.adoc:960
#, no-wrap
msgid "If the push fails due to losing the commit race, rebase and try again:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:950
+#: documentation/content/en/articles/committers-guide/_index.adoc:968
msgid ""
"% git checkout stable/X % git pull % git checkout tmp-branch % git rebase "
"stable/X % git push freebsd HEAD:stable/X"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:953
+#: documentation/content/en/articles/committers-guide/_index.adoc:971
#, no-wrap
msgid "Once the MFC is complete, you can delete the temporary branch:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:958
+#: documentation/content/en/articles/committers-guide/_index.adoc:976
msgid "% git checkout stable/X % git branch -d tmp-branch"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:960
+#: documentation/content/en/articles/committers-guide/_index.adoc:978
#, no-wrap
msgid "MFC a vendor import"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:965
+#: documentation/content/en/articles/committers-guide/_index.adoc:983
msgid ""
"Vendor imports are the only thing in the tree that creates a merge commit in "
"the `main` branch. Cherry picking merge commits into stable/XX presents an "
"additional difficulty because there are two parents for a merge commit. "
"Generally, you'll want the first parent's diff since that's the diff to "
"`main` (though there may be some exceptions)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:969
+#: documentation/content/en/articles/committers-guide/_index.adoc:987
msgid "% git cherry-pick -x -m 1 $HASH"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:972
+#: documentation/content/en/articles/committers-guide/_index.adoc:990
#, no-wrap
msgid ""
"is typically what you want.\n"
"This will tell cherry-pick to apply the correct diff.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:977
+#: documentation/content/en/articles/committers-guide/_index.adoc:995
#, no-wrap
msgid ""
"There are some, hopefully, rare cases where it's possible that the `main` branch was merged backwards by the conversion script.\n"
"Should that be the case (and we've not found any yet), you'd change the above to `-m 2` to pickup the proper parent.\n"
"Just do:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:980
+#: documentation/content/en/articles/committers-guide/_index.adoc:998
msgid "% git cherry-pick --abort % git cherry-pick -x -m 2 $HASH"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:982
+#: documentation/content/en/articles/committers-guide/_index.adoc:1000
#, no-wrap
msgid "to do that. The `--abort` will cleanup the failed first attempt.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:983
+#: documentation/content/en/articles/committers-guide/_index.adoc:1001
#, no-wrap
msgid "Redoing a MFC"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:988
+#: documentation/content/en/articles/committers-guide/_index.adoc:1006
msgid ""
"If you do a MFC, and it goes horribly wrong and you want to start over, then "
"the easiest way is to use `git reset --hard` like so: [source,shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:990
+#: documentation/content/en/articles/committers-guide/_index.adoc:1008
msgid "% git reset --hard freebsd/stable/12"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:993
+#: documentation/content/en/articles/committers-guide/_index.adoc:1011
#, no-wrap
msgid ""
"though if you have some revs you want to keep, and others you don't,\n"
"using `git rebase -i` is better.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:994
+#: documentation/content/en/articles/committers-guide/_index.adoc:1012
#, no-wrap
msgid "Considerations when MFCing"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:997
+#: documentation/content/en/articles/committers-guide/_index.adoc:1015
msgid ""
"When committing source commits to stable and releng branches, we have the "
"following goals:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1001
+#: documentation/content/en/articles/committers-guide/_index.adoc:1019
#, no-wrap
msgid ""
"* Clearly mark direct commits distinct from commits that land a change from another branch.\n"
"* Avoid introducing known breakage into stable and releng branches.\n"
"* Allow developers to determine which changes have or have not been landed from one branch to another.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1003
+#: documentation/content/en/articles/committers-guide/_index.adoc:1021
#, no-wrap
msgid "With Subversion, we used the following practices to achieve these goals:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1007
+#: documentation/content/en/articles/committers-guide/_index.adoc:1025
#, no-wrap
msgid ""
"* Using `MFC` and `MFS` tags to mark commits that merged changes from another branch.\n"
"* Squashing fixup commits into the main commit when merging a change.\n"
"* Recording mergeinfo so that `svn mergeinfo --show-revs` worked.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1011
+#: documentation/content/en/articles/committers-guide/_index.adoc:1029
#, no-wrap
msgid ""
"With Git, we will need to use different strategies to achieve the same goals.\n"
"This document aims to define best practices when merging source commits using Git that achieve these goals.\n"
"In general, we aim to use Git's native support to achieve these goals rather than enforcing practices built on Subversion's model.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1014
+#: documentation/content/en/articles/committers-guide/_index.adoc:1032
#, no-wrap
msgid ""
"One general note: due to technical differences with Git, we will not be using Git \"merge commits\" (created via `git merge`) in stable or releng branches.\n"
"Instead, when this document refers to \"merge commits\", it means a commit originally made to `main` that is replicated or \"landed\" to a stable branch, or a commit from a stable branch that is replicated to a releng branch with some variation of `git cherry-pick`.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1015
+#: documentation/content/en/articles/committers-guide/_index.adoc:1033
#, no-wrap
msgid "Finding Eligible Hashes to MFC"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1021
+#: documentation/content/en/articles/committers-guide/_index.adoc:1039
msgid ""
"Git provides some built-in support for this via the `git cherry` and `git "
"log --cherry` commands. These commands compare the raw diffs of commits "
"(but not other metadata such as log messages) to determine if two commits "
"are identical. This works well when each commit from `main` is landed as a "
"single commit to a stable branch, but it falls over if multiple commits from "
"`main` are squashed together as a single commit to a stable branch. The "
"project makes extensive use of `git cherry-pick -x` with all lines preserved "
"to work around these difficulties and is working on automated tooling to "
"take advantage of this."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1022
+#: documentation/content/en/articles/committers-guide/_index.adoc:1040
#, no-wrap
msgid "Commit message standards"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1023
+#: documentation/content/en/articles/committers-guide/_index.adoc:1041
#, no-wrap
msgid "Marking MFCs"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1026
+#: documentation/content/en/articles/committers-guide/_index.adoc:1044
msgid "The project has adopted the following practice for marking MFCs:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1028
+#: documentation/content/en/articles/committers-guide/_index.adoc:1046
#, no-wrap
msgid "* Use the `-x` flag with `git cherry-pick`. This adds a line to the commit message that includes the hash of the original commit when merging. Since it is added by Git directly, committers do not have to manually edit the commit log when merging.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1030
+#: documentation/content/en/articles/committers-guide/_index.adoc:1048
#, no-wrap
msgid "When merging multiple commits, keep all the \"cherry picked from\" lines.\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1031
+#: documentation/content/en/articles/committers-guide/_index.adoc:1049
#, no-wrap
msgid "Trim Metadata?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1035
+#: documentation/content/en/articles/committers-guide/_index.adoc:1053
msgid ""
"One area that was not clearly documented with Subversion (or even CVS) is "
"how to format metadata in log messages for MFC commits. Should it include "
"the metadata from the original commit unchanged, or should it be altered to "
"reflect information about the MFC commit itself?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1044
+#: documentation/content/en/articles/committers-guide/_index.adoc:1062
msgid ""
"Historical practice has varied, though some of the variance is by field. "
"For example, MFCs that are relevant to a PR generally include the PR field "
"in the MFC so that MFC commits are included in the bug tracker's audit "
"trail. Other fields are less clear. For example, Phabricator shows the "
"diff of the last commit tagged to a review, so including Phabricator URLs "
"replaces the main commit with the landed commits. The list of reviewers is "
"also not clear. If a reviewer has approved a change to `main`, does that "
"mean they have approved the MFC commit? Is that true if it's identical code "
"only, or with merely trivial rework? It's clearly not true for more "
"extensive reworks. Even for identical code what if the commit doesn't "
"conflict but introduces an ABI change? A reviewer may have ok'd a commit for "
"`main` due to the ABI breakage but may not approve of merging the same "
"commit as-is. One will have to use one's best judgment until clear "
"guidelines can be agreed upon."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1048
+#: documentation/content/en/articles/committers-guide/_index.adoc:1066
msgid ""
"For MFCs regulated by re@, new metadata fields are added, such as the "
"Approved by tag for approved commits. This new metadata will have to be "
"added via `git commit --amend` or similar after the original commit has been "
"reviewed and approved. We may also want to reserve some metadata fields in "
"MFC commits such as Phabricator URLs for use by re@ in the future."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1051
+#: documentation/content/en/articles/committers-guide/_index.adoc:1069
msgid ""
"Preserving existing metadata provides a very simple workflow. Developers "
"use `git cherry-pick -x` without having to edit the log message."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1054
+#: documentation/content/en/articles/committers-guide/_index.adoc:1072
msgid ""
"If instead we choose to adjust metadata in MFCs, developers will have to "
"edit log messages explicitly via the use of `git cherry-pick --edit` or `git "
"commit --amend`. However, as compared to svn, at least the existing commit "
"message can be pre-populated and metadata fields can be added or removed "
"without having to re-enter the entire commit message."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1056
+#: documentation/content/en/articles/committers-guide/_index.adoc:1074
msgid ""
"The bottom line is that developers will likely need to curate their commit "
"message for MFCs that are non-trivial."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1058
+#: documentation/content/en/articles/committers-guide/_index.adoc:1076
msgid "[[vendor-import-git]]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:1058
+#: documentation/content/en/articles/committers-guide/_index.adoc:1076
#, no-wrap
msgid "Vendor Imports with Git"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1061
+#: documentation/content/en/articles/committers-guide/_index.adoc:1079
msgid "This section describes the vendor import procedure with Git in detail."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1062
+#: documentation/content/en/articles/committers-guide/_index.adoc:1080
#, no-wrap
msgid "Branch naming convention"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1065
+#: documentation/content/en/articles/committers-guide/_index.adoc:1083
msgid ""
"All vendor branches and tags start with `vendor/`. These branches and tags "
"are visible by default."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1071
+#: documentation/content/en/articles/committers-guide/_index.adoc:1089
msgid ""
"[NOTE] ==== This chapter follows the convention that the `freebsd` origin is "
"the origin name for the official FreeBSD Git repository. If you use a "
"different convention, replace `freebsd` with the name you use instead in the "
"examples below. ===="
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1074
+#: documentation/content/en/articles/committers-guide/_index.adoc:1092
msgid ""
"We will explore an example for updating NetBSD's mtree that is in our tree. "
"The vendor branch for this is `vendor/NetBSD/mtree`."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1075
+#: documentation/content/en/articles/committers-guide/_index.adoc:1093
#, no-wrap
msgid "Updating an old vendor import"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1081
+#: documentation/content/en/articles/committers-guide/_index.adoc:1099
msgid ""
"The vendor trees usually have only the subset of the third-party software "
"that is appropriate to FreeBSD. These trees are usually tiny in comparison "
"to the FreeBSD tree. Git worktrees are thus quite small and fast and the "
"preferred method to use. Make sure that whatever directory you choose below "
"(the `../mtree`) does not currently exist."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1085
+#: documentation/content/en/articles/committers-guide/_index.adoc:1103
msgid "% git worktree add ../mtree vendor/NetBSD/mtree"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1087
+#: documentation/content/en/articles/committers-guide/_index.adoc:1105
#, no-wrap
msgid "Update the Sources in the Vendor Branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1090
+#: documentation/content/en/articles/committers-guide/_index.adoc:1108
msgid ""
"Prepare a full, clean tree of the vendor sources. Import everything but "
"merge only what is needed."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1094
+#: documentation/content/en/articles/committers-guide/_index.adoc:1112
msgid ""
"This example assumes the NetBSD source is checked out from their GitHub "
"mirror in `~/git/NetBSD`. Note that \"upstream\" might have added or "
"removed files, so we want to make sure deletions are propagated as well. "
"package:net/rsync[] is commonly installed, so I'll use that."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1108
+#: documentation/content/en/articles/committers-guide/_index.adoc:1126
#, no-wrap
msgid ""
"% cd ../mtree\n"
"% rsync -va --del --exclude=\".git\" ~/git/NetBSD/usr.sbin/mtree/ .\n"
"% git add -A\n"
"% git status\n"
"...\n"
"% git diff --staged\n"
"...\n"
"% git commit -m \"Vendor import of NetBSD's mtree at 2020-12-11\"\n"
"[vendor/NetBSD/mtree 8e7aa25fcf1] Vendor import of NetBSD's mtree at 2020-12-11\n"
" 7 files changed, 114 insertions(+), 82 deletions(-)\n"
"% git tag -a vendor/NetBSD/mtree/20201211\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1112
+#: documentation/content/en/articles/committers-guide/_index.adoc:1130
#, no-wrap
msgid ""
"Note: I run the `git diff` and `git status` commands to make sure nothing weird was present.\n"
"Also I used `-m` to illustrate, but you should compose a proper message in an editor (using a commit message template).\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1117
+#: documentation/content/en/articles/committers-guide/_index.adoc:1135
#, no-wrap
msgid ""
"It is also important to create an annotated tag using `git tag -a`, otherwise the push will be rejected.\n"
"Only annotated tags are allowed to be pushed.\n"
"The annotated tag gives you a chance to enter a commit message.\n"
"Enter the version you are importing, along with any salient new features or fixes in that version.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1118
+#: documentation/content/en/articles/committers-guide/_index.adoc:1136
#, no-wrap
msgid "Updating the FreeBSD Copy"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1121
+#: documentation/content/en/articles/committers-guide/_index.adoc:1139
msgid "At this point you can push the import to `vendor` into our repo."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1125
+#: documentation/content/en/articles/committers-guide/_index.adoc:1143
msgid "% git push --follow-tags freebsd vendor/NetBSD/mtree"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1128
+#: documentation/content/en/articles/committers-guide/_index.adoc:1146
#, no-wrap
msgid "`--follow-tags` tells `git push` to also push tags associated with the locally committed revision.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1129
+#: documentation/content/en/articles/committers-guide/_index.adoc:1147
#, no-wrap
msgid "Updating the FreeBSD source tree"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1133
+#: documentation/content/en/articles/committers-guide/_index.adoc:1151
msgid ""
"Now you need to update the mtree in FreeBSD. The sources live in `contrib/"
"mtree` since it is upstream software."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1138
+#: documentation/content/en/articles/committers-guide/_index.adoc:1156
msgid "% cd ../src % git subtree merge -P contrib/mtree vendor/NetBSD/mtree"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1143
+#: documentation/content/en/articles/committers-guide/_index.adoc:1161
#, no-wrap
msgid ""
"This would generate a subtree merge commit of `contrib/mtree` against the local `vendor/NetBSD/mtree` branch.\n"
"If there were conflicts, you would need to fix them before committing.\n"
"Include details about the changes being merged in the merge commit message.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1144
+#: documentation/content/en/articles/committers-guide/_index.adoc:1162
#, no-wrap
msgid "Rebasing your change against latest FreeBSD source tree"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1147
+#: documentation/content/en/articles/committers-guide/_index.adoc:1165
msgid ""
"Because the current policy recommends against using merges, if the upstream "
"FreeBSD `main` moved forward before you get a chance to push, you would have "
"to redo the merge."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1150
+#: documentation/content/en/articles/committers-guide/_index.adoc:1168
msgid ""
"Regular `git rebase` or `git pull --rebase` doesn't know how to rebase a "
"merge commit **as a merge commit**, so instead of that you would have to "
"recreate the commit."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1152
+#: documentation/content/en/articles/committers-guide/_index.adoc:1170
msgid ""
"The following steps should be taken to easily recreate the merge commit as "
"if `git rebase --merge-commits` worked properly:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1169
+#: documentation/content/en/articles/committers-guide/_index.adoc:1187
#, no-wrap
msgid ""
"* cd to the top of the repo\n"
"* Create a side branch `XXX` with the **contents** of the merged tree.\n"
"* Update this side branch `XXX` to be merged and up-to-date with FreeBSD's `main` branch.\n"
"** In the worst case scenario, you would still have to resolve merge conflicts, if there was any, but this should be really rare.\n"
"** Resolve conflicts, and collapse multiple commits down to 1 if need be (without conflicts, there's no collapse needed)\n"
"* checkout `main`\n"
"* create a branch `YYY` (allows for easier unwinding if things go wrong)\n"
"* Re-do the subtree merge\n"
"* Instead of resolving any conflicts from the subtree merge, checkout the contents of XXX on top of it.\n"
"** The trailing `.` is important, as is being at the top level of the repo.\n"
"** Rather than switching branches to XXX, it splats the contents of XXX on top of the repo\n"
"* Commit the results with the prior commit message (the example assumes there's only one merge on the XXX branch).\n"
"* Make sure the branches are the same.\n"
"* Do whatever review you need, including having others check it out if you think that's needed.\n"
"* Push the commit, if you 'lost the race' again, just redo these steps again (see below for a recipe)\n"
"* Delete the branches once the commit is upstream. They are throw-a-way.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1171
+#: documentation/content/en/articles/committers-guide/_index.adoc:1189
#, no-wrap
msgid "The commands one would use, following the above example of mtree, would be like so (the `#` starts a comment to help link commands to descriptions above):\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1184
+#: documentation/content/en/articles/committers-guide/_index.adoc:1202
#, no-wrap
msgid ""
"% cd ../src\t\t\t# CD to top of tree\n"
"% git checkout -b XXX\t\t# create new throw-away XXX branch for merge\n"
"% git fetch freebsd\t\t# Get changes from upstream from upstream\n"
"% git merge freebsd/main\t# Merge the changes and resolve conflicts\n"
"% git checkout -b YYY freebsd/main # Create new throw-away YYY branch for redo\n"
"% git subtree merge -P contrib/mtree vendor/NetBSD/mtree # Redo subtree merge\n"
"% git checkout XXX .\t\t# XXX branch has the conflict resolution\n"
"% git commit -c XXX~1\t\t# -c reuses the commit message from commit before rebase\n"
"% git diff XXX YYY\t\t# Should be empty\n"
"% git show YYY\t\t\t# Should only have changes you want, and be a merge commit from vendor branch\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1188
+#: documentation/content/en/articles/committers-guide/_index.adoc:1206
#, no-wrap
msgid ""
"Note: if things go wrong with the commit, you can reset the `YYY` branch by reissuing the checkout command that created it with -B to start over:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1190
+#: documentation/content/en/articles/committers-guide/_index.adoc:1208
msgid ""
"% git checkout -B YYY freebsd/main # Create new throw-away YYY branch if "
"starting over is just going to be easier"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1192
+#: documentation/content/en/articles/committers-guide/_index.adoc:1210
#, no-wrap
msgid "Pushing the changes"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1197
+#: documentation/content/en/articles/committers-guide/_index.adoc:1215
msgid ""
"Once you think you have a set of changes that are good, you can push it to a "
"fork off GitHub or GitLab for others to review. One nice thing about Git is "
"that it allows you to publish rough drafts of your work for others to "
"review. While Phabricator is good for content review, publishing the "
"updated vendor branch and merge commits lets others check the details as "
"they will eventually appear in the repository."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1199
+#: documentation/content/en/articles/committers-guide/_index.adoc:1217
msgid ""
"After review, when you are sure it is a good change, you can push it to the "
"FreeBSD repo:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1205
+#: documentation/content/en/articles/committers-guide/_index.adoc:1223
msgid ""
"% git push freebsd YYY:main\t# put the commit on upstream's 'main' branch % "
"git branch -D XXX\t\t# Throw away the throw-a-way branches. % git branch -D "
"YYY"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1212
+#: documentation/content/en/articles/committers-guide/_index.adoc:1230
#, no-wrap
msgid ""
"Note: I used `XXX` and `YYY` to make it obvious they are terrible names and should not leave your machine.\n"
"If you use such names for other work, then you'll need to pick different names, or risk losing the other work.\n"
"There is nothing magic about these names.\n"
"Upstream will not allow you to push them, but never the less, please pay attention to the exact commands above.\n"
"Some commands use syntax that differs only slightly from typical uses and that different behavior is critical to this recipe working.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1213
+#: documentation/content/en/articles/committers-guide/_index.adoc:1231
#, no-wrap
msgid "How to redo things if need be"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1217
+#: documentation/content/en/articles/committers-guide/_index.adoc:1235
msgid ""
"If you've tried to do the push in the previous section and it fails, then "
"you should do the following to 'redo' things. This sequence keeps the "
"commit with the commit message always at XXX~1 to make committing easier."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1226
+#: documentation/content/en/articles/committers-guide/_index.adoc:1244
msgid ""
"% git checkout -B XXX YYY\t# recreate that throw-away-branch XXX and switch "
"to it % git merge freebsd/main\t# Merge the changes and resolve conflicts % "
"git checkout -B YYY freebsd/main # Recreate new throw-away YYY branch for "
"redo % git subtree merge -P contrib/mtree vendor/NetBSD/mtree # Redo subtree "
"merge % git checkout XXX .\t\t# XXX branch has the conflict resolution % git "
"commit -c XXX~1\t\t# -c reuses the commit message from commit before rebase"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1229
+#: documentation/content/en/articles/committers-guide/_index.adoc:1247
#, no-wrap
msgid "Then go check it out as above and push as above when ready.\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:1230
+#: documentation/content/en/articles/committers-guide/_index.adoc:1248
#, no-wrap
msgid "Creating a new vendor branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1237
+#: documentation/content/en/articles/committers-guide/_index.adoc:1255
msgid ""
"There are a number of ways to create a new vendor branch. The recommended "
"way is to create a new repository and then merge that with FreeBSD. If one "
"is importing `glorbnitz` into the FreeBSD tree, release 3.1415. For the "
"sake of simplicity, we will not trim this release. It is a simple user "
"command that puts the nitz device into different magical glorb states and is "
"small enough trimming will not save much."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1238
+#: documentation/content/en/articles/committers-guide/_index.adoc:1256
#, no-wrap
msgid "Create the repo"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1247
+#: documentation/content/en/articles/committers-guide/_index.adoc:1265
msgid ""
"% cd /some/where % mkdir glorbnitz % cd glorbnitz % git init % git checkout -"
"b vendor/glorbnitz"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1250
+#: documentation/content/en/articles/committers-guide/_index.adoc:1268
#, no-wrap
msgid "At this point, you have a new repo, where all new commits will go on the `vendor/glorbnitz` branch.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1252
+#: documentation/content/en/articles/committers-guide/_index.adoc:1270
#, no-wrap
msgid "Git experts can also do this right in their FreeBSD clone, using `git checkout --orphan vendor/glorbnitz` if they are more comfortable with that.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1253
+#: documentation/content/en/articles/committers-guide/_index.adoc:1271
#, no-wrap
msgid "Copy the sources in"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1257
+#: documentation/content/en/articles/committers-guide/_index.adoc:1275
msgid ""
"Since this is a new import, you can just cp the sources in, or use tar or "
"even rsync as shown above. And we will add everything, assuming no dot "
"files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1262
+#: documentation/content/en/articles/committers-guide/_index.adoc:1280
msgid "% cp -r ~/glorbnitz/* . % git add *"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1265
+#: documentation/content/en/articles/committers-guide/_index.adoc:1283
#, no-wrap
msgid "At this point, you should have a pristine copy of glorbnitz ready to commit.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1269
+#: documentation/content/en/articles/committers-guide/_index.adoc:1287
msgid "% git commit -m \"Import GlorbNitz frobnosticator revision 3.1415\""
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1273
+#: documentation/content/en/articles/committers-guide/_index.adoc:1291
#, no-wrap
msgid ""
"As above, I used `-m` for simplicity, but you should likely create a commit message that explains what a Glorb is and why you'd use a Nitz to get it.\n"
"Not everybody will know so, for your actual commit, you should follow the <<commit-log-message,commit log message>> section instead of emulating the brief style used here.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1274
+#: documentation/content/en/articles/committers-guide/_index.adoc:1292
#, no-wrap
msgid "Now import it into our repository"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1277
+#: documentation/content/en/articles/committers-guide/_index.adoc:1295
msgid "Now you need to import the branch into our repository."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1283
+#: documentation/content/en/articles/committers-guide/_index.adoc:1301
msgid ""
"% cd /path/to/freebsd/repo/src % git remote add glorbnitz /some/where/"
"glorbnitz % git fetch glorbnitz vendor/glorbnitz"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1288
+#: documentation/content/en/articles/committers-guide/_index.adoc:1306
#, no-wrap
msgid ""
"Note the vendor/glorbnitz branch is in the repo. At this point the `/some/where/glorbnitz` can be deleted, if you like.\n"
"It was only a means to an end.\n"
"// perhaps the real treasure was the friends it made along the way...\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1289
+#: documentation/content/en/articles/committers-guide/_index.adoc:1307
#, no-wrap
msgid "Tag and push"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1292
+#: documentation/content/en/articles/committers-guide/_index.adoc:1310
msgid ""
"Steps from here on out are much the same as they are in the case of updating "
"a vendor branch, though without the updating the vendor branch step."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1300
+#: documentation/content/en/articles/committers-guide/_index.adoc:1318
msgid ""
"% git worktree add ../glorbnitz vendor/glorbnitz % cd ../glorbnitz % git tag "
"--annotate vendor/glorbnitz/3.1415 # Make sure the commit is good with \"git "
"show\" % git push --follow-tags freebsd vendor/glorbnitz"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1303
+#: documentation/content/en/articles/committers-guide/_index.adoc:1321
#, no-wrap
msgid "By 'good' we mean:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1309
+#: documentation/content/en/articles/committers-guide/_index.adoc:1327
#, no-wrap
msgid ""
". All the right files are present\n"
". None of the wrong files are present\n"
". The vendor branch points at something sensible\n"
". The tag looks good, and is annotated\n"
". The commit message for the tag has a quick summary of what's new since the last tag\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1310
+#: documentation/content/en/articles/committers-guide/_index.adoc:1328
#, no-wrap
msgid "Time to finally merge it into the base tree"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1319
+#: documentation/content/en/articles/committers-guide/_index.adoc:1337
#, no-wrap
msgid ""
"% cd ../src\n"
"% git subtree add -P contrib/glorbnitz vendor/glorbnitz\n"
"# Make sure the commit is good with \"git show\"\n"
"% git commit --amend # one last sanity check on commit message\n"
"% git push freebsd\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1322
+#: documentation/content/en/articles/committers-guide/_index.adoc:1340
#, no-wrap
msgid "Here 'good' means:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1327
+#: documentation/content/en/articles/committers-guide/_index.adoc:1345
#, no-wrap
msgid ""
". All the right files, and none of the wrong ones, were merged into contrib/glorbnitz.\n"
". No other changes are in the tree.\n"
". The commit messages look <<commit-log-message,good>>. It should contain a summary of what's changed since the last merge to the FreeBSD `main` branch and any caveats.\n"
". UPDATING should be updated if there is anything of note, such as user visible changes, important upgrade concerns, etc.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1333
+#: documentation/content/en/articles/committers-guide/_index.adoc:1351
#, no-wrap
msgid ""
"[NOTE]\n"
"====\n"
"This hasn't connected `glorbnitz` to the build yet.\n"
"How so do that is specific to the software being imported and is beyond the scope of this tutorial.\n"
"====\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1334
+#: documentation/content/en/articles/committers-guide/_index.adoc:1352
#, no-wrap
msgid "Keeping current"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1340
+#: documentation/content/en/articles/committers-guide/_index.adoc:1358
msgid ""
"So, time passes. It's time now to update the tree for the latest changes "
"upstream. When you checkout `main` make sure that you have no diffs. It's "
"a lot easier to commit those to a branch (or use `git stash`) before doing "
"the following."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1343
+#: documentation/content/en/articles/committers-guide/_index.adoc:1361
msgid ""
"If you are used to `git pull`, we strongly recommend using the `--ff-only` "
"option, and further setting it as the default option. Alternatively, `git "
"pull --rebase` is useful if you have changes staged in the `main` branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1347
+#: documentation/content/en/articles/committers-guide/_index.adoc:1365
msgid "% git config --global pull.ff only"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1350
+#: documentation/content/en/articles/committers-guide/_index.adoc:1368
#, no-wrap
msgid "You may need to omit the --global if you want this setting to apply to only this repository.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1356
+#: documentation/content/en/articles/committers-guide/_index.adoc:1374
msgid "% cd freebsd-src % git checkout main % git pull (--ff-only|--rebase)"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1360
+#: documentation/content/en/articles/committers-guide/_index.adoc:1378
#, no-wrap
msgid ""
"There is a common trap, that the combination command `git pull` will try to perform a merge, which would sometimes creates a merge commit that didn't exist before.\n"
"This can be harder to recover from.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1362
+#: documentation/content/en/articles/committers-guide/_index.adoc:1380
#, no-wrap
msgid "The longer form is also recommended.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1369
+#: documentation/content/en/articles/committers-guide/_index.adoc:1387
msgid ""
"% cd freebsd-src % git checkout main % git fetch freebsd % git merge --ff-"
"only freebsd/main"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1374
+#: documentation/content/en/articles/committers-guide/_index.adoc:1392
#, no-wrap
msgid ""
"These commands reset your tree to the `main` branch, and then update it from where you pulled the tree from originally.\n"
"It's important to switch to `main` before doing this so it moves forward.\n"
"Now, it's time to move the changes forward:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1378
+#: documentation/content/en/articles/committers-guide/_index.adoc:1396
msgid "% git rebase -i main working"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1385
+#: documentation/content/en/articles/committers-guide/_index.adoc:1403
#, no-wrap
msgid ""
"This will bring up an interactive screen to change the defaults.\n"
"For now, just exit the editor.\n"
"Everything should just apply.\n"
"If not, then you'll need to resolve the diffs.\n"
"https://docs.github.com/en/free-pro-team@latest/github/using-git/resolving-merge-conflicts-after-a-git-rebase[This github document] can help you navigate this process.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1387
+#: documentation/content/en/articles/committers-guide/_index.adoc:1405
#, no-wrap
msgid "[[git-push-upstream]]\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1387
+#: documentation/content/en/articles/committers-guide/_index.adoc:1405
#, no-wrap
msgid "Time to push changes upstream"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1390
+#: documentation/content/en/articles/committers-guide/_index.adoc:1408
msgid ""
"First, ensure that the push URL is properly configured for the upstream "
"repository."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1394
+#: documentation/content/en/articles/committers-guide/_index.adoc:1412
msgid ""
"% git remote set-url --push freebsd ssh://git@gitrepo.freebsd.org/src.git"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1398
+#: documentation/content/en/articles/committers-guide/_index.adoc:1416
#, no-wrap
msgid ""
"Then, verify that user name and email are configured right.\n"
"We require that they exactly match the passwd entry in FreeBSD cluster.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1400
+#: documentation/content/en/articles/committers-guide/_index.adoc:1418
#, no-wrap
msgid "Use\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1404
+#: documentation/content/en/articles/committers-guide/_index.adoc:1422
msgid "freefall% gen-gitconfig.sh"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1407
+#: documentation/content/en/articles/committers-guide/_index.adoc:1425
#, no-wrap
msgid "on freefall.freebsd.org to get a recipe that you can use directly, assuming /usr/local/bin is in the PATH.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1412
+#: documentation/content/en/articles/committers-guide/_index.adoc:1430
#, no-wrap
msgid ""
"The below command merges the `working` branch into the upstream `main` branch.\n"
"It's important that you curate your changes to be just like you want them in the FreeBSD source repo before doing this.\n"
"This syntax pushes the `working` branch to `main`, moving the `main` branch forward.\n"
"You will only be able to do this if this results in a linear change to `main` (e.g. no merges).\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1416
+#: documentation/content/en/articles/committers-guide/_index.adoc:1434
msgid "% git push freebsd working:main"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1419
+#: documentation/content/en/articles/committers-guide/_index.adoc:1437
#, no-wrap
msgid "If your push is rejected due to losing a commit race, rebase your branch before trying again:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1426
+#: documentation/content/en/articles/committers-guide/_index.adoc:1444
msgid ""
"% git checkout working % git fetch freebsd % git rebase freebsd/main % git "
"push freebsd working:main"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1429
+#: documentation/content/en/articles/committers-guide/_index.adoc:1447
#, no-wrap
msgid "[[git-push-upstream-alt]]\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1429
+#: documentation/content/en/articles/committers-guide/_index.adoc:1447
#, no-wrap
msgid "Time to push changes upstream (alternative)"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1435
+#: documentation/content/en/articles/committers-guide/_index.adoc:1453
msgid ""
"Some people find it easier to merge their changes to their local `main` "
"before pushing to the remote repository. Also, `git arc stage` moves "
"changes from a branch to the local `main` when you need to do a subset of a "
"branch. The instructions are similar to the prior section: [source,shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1439
+#: documentation/content/en/articles/committers-guide/_index.adoc:1457
msgid "% git checkout main % git merge --ff-only `working` % git push freebsd"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1443
+#: documentation/content/en/articles/committers-guide/_index.adoc:1461
#, no-wrap
msgid ""
"If you lose the race, then try again with\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1446
+#: documentation/content/en/articles/committers-guide/_index.adoc:1464
msgid "% git pull --rebase % git push freebsd"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1449
+#: documentation/content/en/articles/committers-guide/_index.adoc:1467
#, no-wrap
msgid ""
"These commands will fetch the most recent `freebsd/main` and then rebase the local `main` changes on top of that, which is what you want when you lose the commit race.\n"
"Note: merging vendor branch commits will not work with this technique.\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1450
+#: documentation/content/en/articles/committers-guide/_index.adoc:1468
#, no-wrap
msgid "Finding the Subversion Revision"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1454
+#: documentation/content/en/articles/committers-guide/_index.adoc:1472
msgid ""
"You'll need to make sure that you've fetched the notes (see the <<git-mini-"
"daily-use>> for details). Once you have these, notes will show up in the "
"git log command like so:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1458
+#: documentation/content/en/articles/committers-guide/_index.adoc:1476
msgid "% git log"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1461
+#: documentation/content/en/articles/committers-guide/_index.adoc:1479
#, no-wrap
msgid "If you have a specific version in mind, you can use this construct:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1465
+#: documentation/content/en/articles/committers-guide/_index.adoc:1483
msgid "% git log --grep revision=XXXX"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1469
+#: documentation/content/en/articles/committers-guide/_index.adoc:1487
#, no-wrap
msgid ""
"to find the specific revision.\n"
"The hex number after 'commit' is the hash you can use to refer to this commit.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1471
+#: documentation/content/en/articles/committers-guide/_index.adoc:1489
#, no-wrap
msgid "[[git-faq]]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:1471
+#: documentation/content/en/articles/committers-guide/_index.adoc:1489
#, no-wrap
msgid "Git FAQ"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1474
+#: documentation/content/en/articles/committers-guide/_index.adoc:1492
msgid ""
"This section provides a number of targeted answers to questions that are "
"likely to come up often for users and developers."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1480
+#: documentation/content/en/articles/committers-guide/_index.adoc:1498
msgid ""
"[NOTE] ==== We use the common convention of having the origin for the "
"FreeBSD repository being 'freebsd' rather than the default 'origin' to allow "
"people to use that for their own development and to minimize \"whoops\" "
"pushes to the wrong repository. ===="
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1481
+#: documentation/content/en/articles/committers-guide/_index.adoc:1499
#, no-wrap
msgid "Users"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1483
+#: documentation/content/en/articles/committers-guide/_index.adoc:1501
#, no-wrap
msgid "How do I track -current and -stable with only one copy of the repository?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1488
+#: documentation/content/en/articles/committers-guide/_index.adoc:1506
#, no-wrap
msgid ""
"**Q:** Although disk space is not a huge issue, it's more efficient to use only one copy of the repository.\n"
"With SVN mirroring, I could checkout multiple trees from the same repository.\n"
"How do I do this with Git?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1492
+#: documentation/content/en/articles/committers-guide/_index.adoc:1510
#, no-wrap
msgid ""
"**A:** You can use Git worktrees.\n"
"There's a number of ways to do this, but the simplest way is to use a clone to track -current, and a worktree to track stable releases.\n"
"While using a 'bare repository' has been put forward as a way to cope, it's more complicated and will not be documented here.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1495
+#: documentation/content/en/articles/committers-guide/_index.adoc:1513
#, no-wrap
msgid ""
"First, you need to clone the FreeBSD repository, shown here cloning into `freebsd-current` to reduce confusion.\n"
"$URL is whatever mirror works best for you:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1499
+#: documentation/content/en/articles/committers-guide/_index.adoc:1517
msgid ""
"% git clone -o freebsd --config remote.freebsd.fetch='+refs/notes/*:refs/"
"notes/*' $URL freebsd-current"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1502
+#: documentation/content/en/articles/committers-guide/_index.adoc:1520
#, no-wrap
msgid "then once that's cloned, you can simply create a worktree from it:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1507
+#: documentation/content/en/articles/committers-guide/_index.adoc:1525
msgid "% cd freebsd-current % git worktree add ../freebsd-stable-12 stable/12"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1511
+#: documentation/content/en/articles/committers-guide/_index.adoc:1529
#, no-wrap
msgid ""
"this will checkout `stable/12` into a directory named `freebsd-stable-12` that's a peer to the `freebsd-current` directory.\n"
"Once created, it's updated very similarly to how you might expect:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1521
+#: documentation/content/en/articles/committers-guide/_index.adoc:1539
msgid ""
"% cd freebsd-current % git checkout main % git pull --ff-only # changes from "
"upstream now local and current tree updated % cd ../freebsd-stable-12 % git "
"merge --ff-only freebsd/stable/12 # now your stable/12 is up to date too"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1524
+#: documentation/content/en/articles/committers-guide/_index.adoc:1542
#, no-wrap
msgid "I recommend using `--ff-only` because it's safer and you avoid accidentally getting into a 'merge nightmare' where you have an extra change in your tree, forcing a complicated merge rather than a simple one.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1526
+#: documentation/content/en/articles/committers-guide/_index.adoc:1544
#, no-wrap
msgid "Here's https://adventurist.me/posts/00296[a good writeup] that goes into more detail.\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1527
+#: documentation/content/en/articles/committers-guide/_index.adoc:1545
#, no-wrap
msgid "Developers"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1529
+#: documentation/content/en/articles/committers-guide/_index.adoc:1547
#, no-wrap
msgid "Ooops! I committed to `main`, instead of another branch."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1532
+#: documentation/content/en/articles/committers-guide/_index.adoc:1550
#, no-wrap
msgid "**Q:** From time to time, I goof up and mistakenly commit to the `main` branch. What do I do?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1534
+#: documentation/content/en/articles/committers-guide/_index.adoc:1552
#, no-wrap
msgid "**A:** First, don't panic.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1538
+#: documentation/content/en/articles/committers-guide/_index.adoc:1556
#, no-wrap
msgid ""
"Second, don't push.\n"
"In fact, you can fix almost anything if you haven't pushed.\n"
"All the answers in this section assume no push has happened.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1540
+#: documentation/content/en/articles/committers-guide/_index.adoc:1558
#, no-wrap
msgid "The following answer assumes you committed to `main` and want to create a branch called `issue`:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1546
+#: documentation/content/en/articles/committers-guide/_index.adoc:1564
#, no-wrap
msgid ""
"% git branch issue # Create the 'issue' branch\n"
"% git reset --hard freebsd/main # Reset 'main' back to the official tip\n"
"% git checkout issue # Back to where you were\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1548
+#: documentation/content/en/articles/committers-guide/_index.adoc:1566
#, no-wrap
msgid "Ooops! I committed something to the wrong branch!"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1552
+#: documentation/content/en/articles/committers-guide/_index.adoc:1570
#, no-wrap
msgid ""
"**Q:** I was working on feature on the `wilma` branch, but accidentally committed a change relevant to the `fred` branch in 'wilma'.\n"
"What do I do?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1556
+#: documentation/content/en/articles/committers-guide/_index.adoc:1574
#, no-wrap
msgid ""
"**A:** The answer is similar to the previous one, but with cherry picking.\n"
"This assumes there's only one commit on wilma, but will generalize to more complicated situations.\n"
"It also assumes that it's the last commit on wilma (hence using wilma in the `git cherry-pick` command), but that too can be generalized.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1564
+#: documentation/content/en/articles/committers-guide/_index.adoc:1582
msgid ""
"# We're on branch wilma % git checkout fred\t\t# move to fred branch % git "
"cherry-pick wilma\t\t# copy the misplaced commit % git checkout wilma\t\t# "
"go back to wilma branch % git reset --hard HEAD^\t# move what wilma refers "
"to back 1 commit"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1568
+#: documentation/content/en/articles/committers-guide/_index.adoc:1586
#, no-wrap
msgid ""
"Git experts would first rewind the wilma branch by 1 commit, switch over to fred and then use `git reflog` to see what that 1 deleted commit was and\n"
"cherry-pick it over.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1570
+#: documentation/content/en/articles/committers-guide/_index.adoc:1588
#, no-wrap
msgid "**Q:** But what if I want to commit a few changes to `main`, but keep the rest in `wilma` for some reason?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1576
+#: documentation/content/en/articles/committers-guide/_index.adoc:1594
#, no-wrap
msgid ""
"**A:** The same technique above also works if you are wanting to 'land' parts of the branch you are working on into `main` before the rest of the branch is ready (say you noticed an unrelated typo, or fixed an incidental bug).\n"
"You can cherry pick those changes into `main`, then push to the parent repository.\n"
"Once you've done that, cleanup couldn't be simpler: just `git rebase -i`.\n"
"Git will notice you've done this and skip the common changes automatically (even if you had to change the commit message or tweak the commit slightly).\n"
"There's no need to switch back to wilma to adjust it: just rebase!\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1578
+#: documentation/content/en/articles/committers-guide/_index.adoc:1596
#, no-wrap
msgid "**Q:** I want to split off some changes from branch `wilma` into branch `fred`\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1584
+#: documentation/content/en/articles/committers-guide/_index.adoc:1602
#, no-wrap
msgid ""
"**A:** The more general answer would be the same as the previous.\n"
"You'd checkout/create the `fred` branch, cherry pick the changes you want from `wilma` one at a time, then rebase `wilma` to remove those changes you cherry picked.\n"
"`git rebase -i main wilma` will toss you into an editor, and remove the `pick` lines that correspond to the commits you copied to `fred`.\n"
"If all goes well, and there are no conflicts, you're done.\n"
"If not, you'll need to resolve the conflicts as you go.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1589
+#: documentation/content/en/articles/committers-guide/_index.adoc:1607
#, no-wrap
msgid ""
"The other way to do this would be to checkout `wilma` and then create the branch `fred` to point to the same point in the tree.\n"
"You can then `git rebase -i` both these branches, selecting the changes you want in `fred` or `wilma` by retaining the pick likes, and deleting the rest from the editor.\n"
"Some people would create a tag/branch called `pre-split` before starting in case something goes wrong in the split.\n"
"You can undo it with the following sequence:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1596
+#: documentation/content/en/articles/committers-guide/_index.adoc:1614
msgid ""
"% git checkout pre-split\t# Go back % git branch -D fred\t\t# delete the "
"fred branch % git checkout -B wilma\t\t# reset the wilma branch % git branch "
"-d pre-split\t# Pretend it didn't happen"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1600
+#: documentation/content/en/articles/committers-guide/_index.adoc:1618
#, no-wrap
msgid ""
"The last step is optional.\n"
"If you are going to try again to split, you'd omit it.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1604
+#: documentation/content/en/articles/committers-guide/_index.adoc:1622
#, no-wrap
msgid ""
"**Q:** But I did things as I read along and didn't see your advice at the end to create a branch, and now `fred` and `wilma` are all screwed up.\n"
"How do I find what `wilma` was before I started.\n"
"I don't know how many times I moved things around.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1606
+#: documentation/content/en/articles/committers-guide/_index.adoc:1624
#, no-wrap
msgid "**A:** All is not lost. You can figure out it, so long as it hasn't been too long, or too many commits (hundreds).\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1610
+#: documentation/content/en/articles/committers-guide/_index.adoc:1628
#, no-wrap
msgid ""
"So I created a wilma branch and committed a couple of things to it, then decided I wanted to split it into fred and wilma.\n"
"Nothing weird happened when I did that, but let's say it did.\n"
"The way to look at what you've done is with the `git reflog`:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1625
+#: documentation/content/en/articles/committers-guide/_index.adoc:1643
msgid ""
"% git reflog 6ff9c25 (HEAD -> wilma) HEAD@{0}: rebase -i (finish): returning "
"to refs/heads/wilma 6ff9c25 (HEAD -> wilma) HEAD@{1}: rebase -i (start): "
"checkout main 869cbd3 HEAD@{2}: rebase -i (start): checkout wilma a6a5094 "
"(fred) HEAD@{3}: rebase -i (finish): returning to refs/heads/fred a6a5094 "
"(fred) HEAD@{4}: rebase -i (pick): Encourage contributions 1ccd109 (freebsd/"
"main, main) HEAD@{5}: rebase -i (start): checkout main 869cbd3 HEAD@{6}: "
"rebase -i (start): checkout fred 869cbd3 HEAD@{7}: checkout: moving from "
"wilma to fred 869cbd3 HEAD@{8}: commit: Encourage contributions ... %"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1633
+#: documentation/content/en/articles/committers-guide/_index.adoc:1651
#, no-wrap
msgid ""
"Here we see the changes I've made.\n"
"You can use it to figure out where things went wrong.\n"
"I'll just point out a few things here.\n"
"The first one is that HEAD@{X} is a 'commitish' thing, so you can use that as an argument to a command.\n"
"Although if that command commits anything to the repository, the X numbers change.\n"
"You can also use the hash (first column).\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1641
+#: documentation/content/en/articles/committers-guide/_index.adoc:1659
#, no-wrap
msgid ""
"Next, 'Encourage contributions' was the last commit I made to `wilma` before I decided to split things up.\n"
"You can also see the same hash is there when I created the `fred` branch to do that.\n"
"I started by rebasing `fred` and you see the 'start', each step, and the 'finish' for that process.\n"
"While we don't need it here, you can figure out exactly what happened.\n"
"Fortunately, to fix this, you can follow the prior answer's steps, but with the hash `869cbd3` instead of `pre-split`.\n"
"While that seems a bit verbose, it's easy to remember since you're doing one thing at a time.\n"
"You can also stack:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1646
+#: documentation/content/en/articles/committers-guide/_index.adoc:1664
msgid "% git checkout -B wilma 869cbd3 % git branch -D fred"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1653
+#: documentation/content/en/articles/committers-guide/_index.adoc:1671
#, no-wrap
msgid ""
"and you are ready to try again.\n"
"The `checkout -B` with the hash combines checking out and creating a branch for it.\n"
"The `-B` instead of `-b` forces the movement of a pre-existing branch.\n"
"Either way works, which is what's great (and awful) about Git.\n"
"One reason I tend to use `git checkout -B xxxx hash` instead of checking out the hash, and then creating / moving the branch is purely to avoid the slightly distressing message about detached heads:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1659
+#: documentation/content/en/articles/committers-guide/_index.adoc:1677
msgid "% git checkout 869cbd3 M\tfaq.md Note: checking out '869cbd3'."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1663
+#: documentation/content/en/articles/committers-guide/_index.adoc:1681
msgid ""
"You are in 'detached HEAD' state. You can look around, make experimental "
"changes and commit them, and you can discard any commits you make in this "
"state without impacting any branches by performing another checkout."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1666
+#: documentation/content/en/articles/committers-guide/_index.adoc:1684
msgid ""
"If you want to create a new branch to retain commits you create, you may do "
"so (now or later) by using -b with the checkout command again. Example:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1671
+#: documentation/content/en/articles/committers-guide/_index.adoc:1689
msgid "HEAD is now at 869cbd3 Encourage contributions % git checkout -B wilma"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1674
+#: documentation/content/en/articles/committers-guide/_index.adoc:1692
#, no-wrap
msgid "this produces the same effect, but I have to read a lot more and severed heads aren't an image I like to contemplate.\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1675
+#: documentation/content/en/articles/committers-guide/_index.adoc:1693
#, no-wrap
msgid "Ooops! I did a `git pull` and it created a merge commit, what do I do?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1679
+#: documentation/content/en/articles/committers-guide/_index.adoc:1697
#, no-wrap
msgid ""
"**Q:** I was on autopilot and did a `git pull` for my development tree and that created a merge commit on `main`.\n"
"How do I recover?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1681
+#: documentation/content/en/articles/committers-guide/_index.adoc:1699
#, no-wrap
msgid "**A:** This can happen when you invoke the pull with your development branch checked out.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1684
+#: documentation/content/en/articles/committers-guide/_index.adoc:1702
#, no-wrap
msgid ""
"Right after the pull, you will have the new merge commit checked out.\n"
"Git supports a `HEAD^#` syntax to examine the parents of a merge commit:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1689
+#: documentation/content/en/articles/committers-guide/_index.adoc:1707
#, no-wrap
msgid ""
"git log --oneline HEAD^1 # Look at the first parent's commits\n"
"git log --oneline HEAD^2 # Look at the second parent's commits\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1693
+#: documentation/content/en/articles/committers-guide/_index.adoc:1711
#, no-wrap
msgid ""
"From those logs, you can easily identify which commit is your development work.\n"
"Then you simply reset your branch to the corresponding `HEAD^#`:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1697
+#: documentation/content/en/articles/committers-guide/_index.adoc:1715
msgid "git reset --hard HEAD^2"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1700
+#: documentation/content/en/articles/committers-guide/_index.adoc:1718
#, no-wrap
msgid "**Q:** But I also need to fix my `main` branch. How do I do that?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1703
+#: documentation/content/en/articles/committers-guide/_index.adoc:1721
#, no-wrap
msgid ""
"**A:** Git keeps track of the remote repository branches in a `freebsd/` namespace.\n"
"To fix your `main` branch, just make it point to the remote's `main`:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1707
+#: documentation/content/en/articles/committers-guide/_index.adoc:1725
msgid "git branch -f main freebsd/main"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1712
+#: documentation/content/en/articles/committers-guide/_index.adoc:1730
#, no-wrap
msgid ""
"There's nothing magical about branches in Git: they are just labels on a graph that are automatically moved forward by making commits.\n"
"So the above works because you're just moving a label.\n"
"There's no metadata about the branch that needs to be preserved due to this.\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1713
+#: documentation/content/en/articles/committers-guide/_index.adoc:1731
#, no-wrap
msgid "Mixing and matching branches"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1717
+#: documentation/content/en/articles/committers-guide/_index.adoc:1735
#, no-wrap
msgid ""
"**Q:** So I have two branches `worker` and `async` that I'd like to combine into one branch called `feature`\n"
"while maintaining the commits in both.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1719
+#: documentation/content/en/articles/committers-guide/_index.adoc:1737
#, no-wrap
msgid "**A:** This is a job for cherry pick.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1725
+#: documentation/content/en/articles/committers-guide/_index.adoc:1743
msgid ""
"% git checkout worker % git checkout -b feature\t# create a new branch % git "
"cherry-pick main..async\t# bring in the changes"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1730
+#: documentation/content/en/articles/committers-guide/_index.adoc:1748
#, no-wrap
msgid ""
"You now have a new branch called `feature`.\n"
"This branch combines commits from both branches.\n"
"You can further curate it with `git rebase`.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1732
+#: documentation/content/en/articles/committers-guide/_index.adoc:1750
#, no-wrap
msgid "**Q:** I have a branch called `driver` and I'd like to break it up into `kernel` and `userland` so I can evolve them separately and commit each branch as it becomes ready.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1735
+#: documentation/content/en/articles/committers-guide/_index.adoc:1753
#, no-wrap
msgid ""
"**A:** This takes a little bit of prep work, but `git rebase` will do the heavy\n"
"lifting here.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1741
+#: documentation/content/en/articles/committers-guide/_index.adoc:1759
msgid ""
"% git checkout driver\t\t# Checkout the driver % git checkout -b kernel\t# "
"Create kernel branch % git checkout -b userland\t# Create userland branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1746
+#: documentation/content/en/articles/committers-guide/_index.adoc:1764
#, no-wrap
msgid ""
"Now you have two identical branches.\n"
"So, it's time to separate out the commits.\n"
"We'll assume first that all the commits in `driver` go into either the `kernel` or the `userland` branch, but not both.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1750
+#: documentation/content/en/articles/committers-guide/_index.adoc:1768
msgid "% git rebase -i main kernel"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1753
+#: documentation/content/en/articles/committers-guide/_index.adoc:1771
#, no-wrap
msgid "and just include the changes you want (with a 'p' or 'pick' line) and just delete the commits you don't (this sounds scary, but if worse comes to worse, you can throw this all away and start over with the `driver` branch since you've not yet moved it).\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1757
+#: documentation/content/en/articles/committers-guide/_index.adoc:1775
msgid "% git rebase -i main userland"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1760
+#: documentation/content/en/articles/committers-guide/_index.adoc:1778
#, no-wrap
msgid "and do the same thing you did with the `kernel` branch.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1763
+#: documentation/content/en/articles/committers-guide/_index.adoc:1781
#, no-wrap
msgid ""
"**Q:** Oh great! I followed the above and forgot a commit in the `kernel` branch.\n"
"How do I recover?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1766
+#: documentation/content/en/articles/committers-guide/_index.adoc:1784
#, no-wrap
msgid ""
"**A:** You can use the `driver` branch to find the hash of the commit is missing and\n"
"cherry pick it.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1772
+#: documentation/content/en/articles/committers-guide/_index.adoc:1790
msgid "% git checkout kernel % git log driver % git cherry-pick $HASH"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1778
+#: documentation/content/en/articles/committers-guide/_index.adoc:1796
#, no-wrap
msgid ""
"**Q:** OK. I have the same situation as the above, but my commits are all mixed up.\n"
"I need parts of one commit to go to one branch and the rest to go to the other.\n"
"In fact, I have several.\n"
"Your rebase method to select sounds tricky.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1781
+#: documentation/content/en/articles/committers-guide/_index.adoc:1799
#, no-wrap
msgid ""
"**A:** In this situation, you'd be better off to curate the original branch to separate\n"
"out the commits, and then use the above method to split the branch.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1786
+#: documentation/content/en/articles/committers-guide/_index.adoc:1804
#, no-wrap
msgid ""
"So let's assume that there's just one commit with a clean tree.\n"
"You can either use `git rebase` with an `edit` line, or you can use this with the commit on the tip.\n"
"The steps are the same either way.\n"
"The first thing we need to do is to back up one commit while leaving the changes uncommitted in the tree:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1790
+#: documentation/content/en/articles/committers-guide/_index.adoc:1808
msgid "% git reset HEAD^"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1793
+#: documentation/content/en/articles/committers-guide/_index.adoc:1811
#, no-wrap
msgid "Note: Do not, repeat do not, add `--hard` here since that also removes the changes from your tree.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1797
+#: documentation/content/en/articles/committers-guide/_index.adoc:1815
#, no-wrap
msgid ""
"Now, if you are lucky, the change needing to be split up falls entirely along file lines.\n"
"In that case you can just do the usual `git add` for the files in each group than do a `git commit`.\n"
"Note: when you do this, you'll lose the commit message when you do the reset, so if you need it for some reason, you should save a copy (though `git log $HASH` can recover it).\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1800
+#: documentation/content/en/articles/committers-guide/_index.adoc:1818
#, no-wrap
msgid ""
"If you are not lucky, you'll need to split apart files.\n"
"There's another tool to do that which you can apply one file at a time.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1804
+#: documentation/content/en/articles/committers-guide/_index.adoc:1822
msgid "git add -i foo/bar.c"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1810
+#: documentation/content/en/articles/committers-guide/_index.adoc:1828
#, no-wrap
msgid ""
"will step through the diffs, prompting you, one at time, whether to include or exclude the hunk.\n"
"Once you're done, `git commit` and you'll have the remainder in your tree.\n"
"You can run it multiple times as well, and even over multiple files (though I find it easier to do one file at a time\n"
"and use the `git rebase -i` to fold the related commits together).\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:1811
+#: documentation/content/en/articles/committers-guide/_index.adoc:1829
#, no-wrap
msgid "Cloning and Mirroring"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1814
+#: documentation/content/en/articles/committers-guide/_index.adoc:1832
#, no-wrap
msgid "**Q:** I'd like to mirror the entire Git repository, how do I do that?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1816
+#: documentation/content/en/articles/committers-guide/_index.adoc:1834
#, no-wrap
msgid "**A:** If all you want to do is mirror, then\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1820
+#: documentation/content/en/articles/committers-guide/_index.adoc:1838
msgid "% git clone --mirror $URL"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1824
+#: documentation/content/en/articles/committers-guide/_index.adoc:1842
#, no-wrap
msgid ""
"will do the trick.\n"
"However, there are two disadvantages to this if you want to use it for anything other than a mirror you'll reclone.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1828
+#: documentation/content/en/articles/committers-guide/_index.adoc:1846
#, no-wrap
msgid ""
"First, this is a 'bare repository' which has the repository database, but no checked out worktree.\n"
"This is great for mirroring, but terrible for day to day work.\n"
"There's a number of ways around this with `git worktree`:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1836
+#: documentation/content/en/articles/committers-guide/_index.adoc:1854
msgid ""
"% git clone --mirror https://git.freebsd.org/ports.git ports.git % cd ports."
"git % git worktree add ../ports main % git worktree add ../quarterly "
"branches/2020Q4 % cd ../ports"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1839
+#: documentation/content/en/articles/committers-guide/_index.adoc:1857
#, no-wrap
msgid "But if you aren't using your mirror for further local clones, then it's a poor match.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1842
+#: documentation/content/en/articles/committers-guide/_index.adoc:1860
#, no-wrap
msgid ""
"The second disadvantage is that Git normally rewrites the refs (branch name, tags, etc) from upstream so that your local refs can evolve independently of upstream.\n"
"This means that you'll lose changes if you are committing to this repository on anything other than private project branches.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1844
+#: documentation/content/en/articles/committers-guide/_index.adoc:1862
#, no-wrap
msgid "**Q:** So what can I do instead?\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1847
+#: documentation/content/en/articles/committers-guide/_index.adoc:1865
#, no-wrap
msgid ""
"**A:** Well, you can stuff all of the upstream repository's refs into a private namespace in your local repository.\n"
"Git clones everything via a 'refspec' and the default refspec is:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1851
+#: documentation/content/en/articles/committers-guide/_index.adoc:1869
#, no-wrap
msgid " fetch = +refs/heads/*:refs/remotes/freebsd/*\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1854
+#: documentation/content/en/articles/committers-guide/_index.adoc:1872
#, no-wrap
msgid "which says just fetch the branch refs.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1858
+#: documentation/content/en/articles/committers-guide/_index.adoc:1876
#, no-wrap
msgid ""
"However, the FreeBSD repository has a number of other things in it.\n"
"To see those, you can add explicit refspecs for each ref namespace, or you can fetch everything.\n"
"To setup your repository to do that:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1862
+#: documentation/content/en/articles/committers-guide/_index.adoc:1880
msgid "git config --add remote.freebsd.fetch '+refs/*:refs/freebsd/*'"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1866
+#: documentation/content/en/articles/committers-guide/_index.adoc:1884
#, no-wrap
msgid ""
"which will put everything in the upstream repository into your local repository's `refs/freebsd/` namespace.\n"
"Please note, that this also grabs all the unconverted vendor branches and the number of refs associated with them is quite large.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1868
+#: documentation/content/en/articles/committers-guide/_index.adoc:1886
#, no-wrap
msgid "You'll need to refer to these 'refs' with their full name because they aren't in and of Git's regular namespaces.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1872
+#: documentation/content/en/articles/committers-guide/_index.adoc:1890
msgid "git log refs/freebsd/vendor/zlib/1.2.10"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1875
+#: documentation/content/en/articles/committers-guide/_index.adoc:1893
#, no-wrap
msgid "would look at the log for the vendor branch for zlib starting at 1.2.10.\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:1876
+#: documentation/content/en/articles/committers-guide/_index.adoc:1894
#, no-wrap
msgid "Collaborating with others"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1880
+#: documentation/content/en/articles/committers-guide/_index.adoc:1898
msgid ""
"One of the keys to good software development on a project as large as "
"FreeBSD is the ability to collaborate with others before you push your "
"changes to the tree. The FreeBSD project's Git repositories do not, yet, "
"allow user-created branches to be pushed to the repository, and therefore if "
"you wish to share your changes with others you must use another mechanism, "
"such as a hosted GitLab or GitHub, to share changes in a user-generated "
"branch."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1882
+#: documentation/content/en/articles/committers-guide/_index.adoc:1900
msgid ""
"The following instructions show how to set up a user-generated branch, based "
"on the FreeBSD `main` branch, and push it to GitHub."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1884
+#: documentation/content/en/articles/committers-guide/_index.adoc:1902
msgid ""
"Before you begin, make sure that your local Git repo is up to date and has "
"the correct origins set <<keeping_current,as shown above.>>"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1891
+#: documentation/content/en/articles/committers-guide/_index.adoc:1909
msgid ""
"[source,shell] ```` % git remote -v freebsd https://git.freebsd.org/src.git "
"(fetch) freebsd ssh://git@gitrepo.freebsd.org/src.git (push) ````"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1894
+#: documentation/content/en/articles/committers-guide/_index.adoc:1912
msgid ""
"The first step is to create a fork of https://github.com/freebsd/freebsd-"
"src[FreeBSD] on GitHub following these https://docs.github.com/en/github/"
"getting-started-with-github/fork-a-repo[guidelines]. The destination of the "
"fork should be your own, personal, GitHub account (gvnn3 in my case)."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1897
+#: documentation/content/en/articles/committers-guide/_index.adoc:1915
msgid ""
"Now add a remote on your local system that points to your fork: [source,"
"shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1904
+#: documentation/content/en/articles/committers-guide/_index.adoc:1922
msgid ""
"% git remote add github git@github.com:gvnn3/freebsd-src.git % git remote -v "
"github\tgit@github.com:gvnn3/freebsd-src.git (fetch) github\tgit@github.com:"
"gvnn3/freebsd-src.git (push) freebsd\thttps://git.freebsd.org/src.git "
"(fetch) freebsd\tssh://git@gitrepo.freebsd.org/src.git (push)"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1906
+#: documentation/content/en/articles/committers-guide/_index.adoc:1924
#, no-wrap
msgid "With this in place you can create a branch <<keeping_a_local_branch,as shown above.>>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1910
+#: documentation/content/en/articles/committers-guide/_index.adoc:1928
msgid "% git checkout -b gnn-pr2001-fix"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1914
+#: documentation/content/en/articles/committers-guide/_index.adoc:1932
#, no-wrap
msgid ""
"Make whatever modifications you wish in your branch. Build, test, and once you're ready to collaborate with others it's time to push your changes into your hosted branch.\n"
"Before you can push you'll have to set the appropriate upstream, as Git will tell you the first time you try to push to your +github+ remote:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1920
+#: documentation/content/en/articles/committers-guide/_index.adoc:1938
msgid ""
"% git push github fatal: The current branch gnn-pr2001-fix has no upstream "
"branch. To push the current branch and set the remote as upstream, use"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1922
+#: documentation/content/en/articles/committers-guide/_index.adoc:1940
#, no-wrap
msgid " git push --set-upstream github gnn-pr2001-fix\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1925
+#: documentation/content/en/articles/committers-guide/_index.adoc:1943
#, no-wrap
msgid "Setting the push as +git+ advises allows it to succeed:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1941
+#: documentation/content/en/articles/committers-guide/_index.adoc:1959
#, no-wrap
msgid ""
"% git push --set-upstream github gnn-feature\n"
"Enumerating objects: 20486, done.\n"
"Counting objects: 100% (20486/20486), done.\n"
"Delta compression using up to 8 threads\n"
"Compressing objects: 100% (12202/12202), done.\n"
"Writing objects: 100% (20180/20180), 56.25 MiB | 13.15 MiB/s, done.\n"
"Total 20180 (delta 11316), reused 12972 (delta 7770), pack-reused 0\n"
"remote: Resolving deltas: 100% (11316/11316), completed with 247 local objects.\n"
"remote:\n"
"remote: Create a pull request for 'gnn-feature' on GitHub by visiting:\n"
"remote: https://github.com/gvnn3/freebsd-src/pull/new/gnn-feature\n"
"remote:\n"
"To github.com:gvnn3/freebsd-src.git\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1943
+#: documentation/content/en/articles/committers-guide/_index.adoc:1961
#, no-wrap
msgid ""
"[new branch] gnn-feature -> gnn-feature\n"
"Branch 'gnn-feature' set up to track remote branch 'gnn-feature' from 'github'.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1946
+#: documentation/content/en/articles/committers-guide/_index.adoc:1964
#, no-wrap
msgid "Subsequent changes to the same branch will push correctly by default:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1959
+#: documentation/content/en/articles/committers-guide/_index.adoc:1977
#, no-wrap
msgid ""
"% git push\n"
"Enumerating objects: 4, done.\n"
"Counting objects: 100% (4/4), done.\n"
"Delta compression using up to 8 threads\n"
"Compressing objects: 100% (2/2), done.\n"
"Writing objects: 100% (3/3), 314 bytes | 1024 bytes/s, done.\n"
"Total 3 (delta 1), reused 1 (delta 0), pack-reused 0\n"
"remote: Resolving deltas: 100% (1/1), completed with 1 local object.\n"
"To github.com:gvnn3/freebsd-src.git\n"
" 9e5243d7b659..cf6aeb8d7dda gnn-feature -> gnn-feature\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1963
+#: documentation/content/en/articles/committers-guide/_index.adoc:1981
#, no-wrap
msgid ""
"At this point your work is now in your branch on +GitHub+ and you can\n"
"share the link with other collaborators.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1965
+#: documentation/content/en/articles/committers-guide/_index.adoc:1983
#, no-wrap
msgid "[[github-pull-land]]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:1965
+#: documentation/content/en/articles/committers-guide/_index.adoc:1983
#, no-wrap
msgid "Landing a github pull request"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1970
+#: documentation/content/en/articles/committers-guide/_index.adoc:1988
msgid ""
"This section documents how to land a GitHub pull request that's submitted "
"against the FreeBSD Git mirrors at GitHub. While this is not an official "
"way to submit patches at this time, sometimes good fixes come in this way "
"and it is easiest just to bring them into a committer's tree and have them "
"pushed into the FreeBSD's tree from there. Similar steps can be used to "
"pull branches from other repositories and land those. When committing pull "
"requests from others, one should take extra care to examine all the changes "
"to ensure they are exactly as represented."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:1974
+#: documentation/content/en/articles/committers-guide/_index.adoc:1992
msgid ""
"Before beginning, make sure that the local Git repo is up to date and has "
"the correct origins set <<keeping_current,as shown above.>> In addition, "
"make sure to have the following origins: [source,shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:1980
+#: documentation/content/en/articles/committers-guide/_index.adoc:1998
msgid ""
"% git remote -v freebsd https://git.freebsd.org/src.git (fetch) freebsd "
"ssh://git@gitrepo.freebsd.org/src.git (push) github https://github.com/"
"freebsd/freebsd-src (fetch) github https://github.com/freebsd/freebsd-src "
"(fetch)"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2000
+#: documentation/content/en/articles/committers-guide/_index.adoc:2018
#, no-wrap
msgid ""
"Often pull requests are simple: requests that contain only a single commit.\n"
"In this case, a streamlined approach may be used, though the approach in the prior section will also work.\n"
"Here, a branch is created, the change is cherry picked, the commit message adjusted, and sanity-checked before being pushed.\n"
"The branch `staging` is used in this example but it can be any name.\n"
"This technique works for any number of commits in the pull request, especially when the changes apply cleanly to the FreeBSD tree.\n"
"However, when there's multiple commits, especially when minor adjustments are needed, `git rebase -i` works better than `git cherry-pick`.\n"
"Briefly, these commands create a branch; cherry-picks the changes from the pull request; tests it; adjusts the commit messages; and fast forward merges it back to `main`.\n"
"The PR number is `$PR` below.\n"
"When adjusting the message, add `Pull Request: https://github.com/freebsd-src/pull/$PR`.\n"
"All pull requests committed to the FreeBSD repository should be reviewed by at least one person.\n"
"This need not be the person committing it, but in that case the person committing it should trust the other reviewers competence to review the commit.\n"
"Committers that do a code review of pull requests before pushing them into the repo should add a `Reviewed by:` line to the commit, because in this case it is not implicit.\n"
"Add anybody that reviews and approves the commit on github to `Reviewed by:` as well.\n"
"As always, care should be taken to ensure the change does what it is supposed to, and that no malicious code is present.\n"
"[NOTE]\n"
"======\n"
"In addition, please check to make sure that the pull request author name is not anonymous.\n"
"Github's web editing interface generates names like:\n"
"[source,shell]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2002
+#: documentation/content/en/articles/committers-guide/_index.adoc:2020
#, no-wrap
msgid "Author: github-user <38923459+github-user@users.noreply.github.com>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2006
+#: documentation/content/en/articles/committers-guide/_index.adoc:2024
#, no-wrap
msgid ""
"A polite request to the author for a better name and/or email should be made.\n"
"Extra care should be taken to ensure no style issue or malicious code is introduced.\n"
"======\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2018
+#: documentation/content/en/articles/committers-guide/_index.adoc:2036
msgid ""
"% git fetch github pull/$PR/head:staging % git rebase -i main staging\t# to "
"move the staging branch forward, adjust commit message here <do testing "
"here, as needed> % git checkout main % git pull --ff-only\t\t# to get the "
"latest if time has passed % git checkout main % git merge --ff-only staging "
"<test again if needed> % git push freebsd --push-option=confirm-author"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2023
+#: documentation/content/en/articles/committers-guide/_index.adoc:2041
#, no-wrap
msgid ""
"[.procedure]\n"
"====\n"
"For complicated pull requests that have multiple commits with conflicts, follow the following outline.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2031
+#: documentation/content/en/articles/committers-guide/_index.adoc:2049
#, no-wrap
msgid ""
". checkout the pull request `git checkout github/pull/XXX`\n"
". create a branch to rebase `git checkout -b staging`\n"
". rebase the `staging` branch to the latest `main` with `git rebase -i main staging`\n"
". resolve conflicts and do whatever testing is needed\n"
". fast forward the `staging` branch into `main` as above\n"
". final sanity check of changes to make sure all is well\n"
". push to FreeBSD's Git repository.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2036
+#: documentation/content/en/articles/committers-guide/_index.adoc:2054
#, no-wrap
msgid ""
"This will also work when bringing branches developed elsewhere into the local tree for committing.\n"
"====\n"
"Once finished with the pull request, close it using GitHub's web interface.\n"
"It is worth noting that if your `github` origin uses `https://`, the only step you'll need a GitHub account for is closing the pull request.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2038
+#: documentation/content/en/articles/committers-guide/_index.adoc:2056
#, no-wrap
msgid "[[vcs-history]]\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2038
+#: documentation/content/en/articles/committers-guide/_index.adoc:2056
#, no-wrap
msgid "Version Control History"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2041
+#: documentation/content/en/articles/committers-guide/_index.adoc:2059
msgid "The project has moved to <<git-primer,git>>."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2047
+#: documentation/content/en/articles/committers-guide/_index.adoc:2065
msgid ""
"The FreeBSD source repository switched from CVS to Subversion on May 31st, "
"2008. The first real SVN commit is __r179447__. The source repository "
"switched from Subversion to Git on December 23rd, 2020. The last real svn "
"commit is __r368820__. The first real git commit hash is "
"__5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c__."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2053
+#: documentation/content/en/articles/committers-guide/_index.adoc:2071
msgid ""
"The FreeBSD `doc/www` repository switched from CVS to Subversion on May "
"19th, 2012. The first real SVN commit is __r38821__. The documentation "
"repository switched from Subversion to Git on December 8th, 2020. The last "
"SVN commit is __r54737__. The first real git commit hash is "
"__3be01a475855e7511ad755b2defd2e0da5d58bbe__."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2059
+#: documentation/content/en/articles/committers-guide/_index.adoc:2077
msgid ""
"The FreeBSD `ports` repository switched from CVS to Subversion on July 14th, "
"2012. The first real SVN commit is __r300894__. The ports repository "
"switched from Subversion to Git on April 6, 2021. The last SVN commit is "
"__r569609__ The first real git commit hash is "
"__ed8d3eda309dd863fb66e04bccaa513eee255cbf__."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2061
+#: documentation/content/en/articles/committers-guide/_index.adoc:2079
msgid "[[conventions]]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2061
+#: documentation/content/en/articles/committers-guide/_index.adoc:2079
#, no-wrap
msgid "Setup, Conventions, and Traditions"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2066
+#: documentation/content/en/articles/committers-guide/_index.adoc:2084
msgid ""
"There are a number of things to do as a new developer. The first set of "
"steps is specific to committers only. These steps must be done by a mentor "
"for those who are not committers."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2068
+#: documentation/content/en/articles/committers-guide/_index.adoc:2086
msgid "[[conventions-committers]]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2068
+#: documentation/content/en/articles/committers-guide/_index.adoc:2086
#, no-wrap
msgid "For New Committers"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2071
+#: documentation/content/en/articles/committers-guide/_index.adoc:2089
msgid ""
"Those who have been given commit rights to the FreeBSD repositories must "
"follow these steps."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2074
+#: documentation/content/en/articles/committers-guide/_index.adoc:2092
#, no-wrap
msgid ""
"* Get mentor approval before committing each of these changes!\n"
"* All [.filename]#src# commits go to FreeBSD-CURRENT first before being merged to FreeBSD-STABLE. The FreeBSD-STABLE branch must maintain ABI and API compatibility with earlier versions of that branch. Do not merge changes that break this compatibility.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2079
+#: documentation/content/en/articles/committers-guide/_index.adoc:2097
#, no-wrap
msgid ""
"[[commit-steps]]\n"
"[.procedure]\n"
"====\n"
"*Steps for New Committers*\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2126
+#: documentation/content/en/articles/committers-guide/_index.adoc:2144
#, no-wrap
msgid ""
". Add an Author Entity\n"
"+\n"
"[.filename]#doc/shared/authors.adoc# - Add an author entity. Later steps depend on this entity, and missing this step will cause the [.filename]#doc/# build to fail. This is a relatively easy task, but remains a good first test of version control skills.\n"
". Update the List of Developers and Contributors\n"
"+\n"
"[.filename]#doc/shared/contrib-committers.adoc# - Add an entry, which will then appear in the \"Developers\" section of the extref:{contributors}[Contributors List, staff-committers]. Entries are sorted by last name.\n"
"+\n"
"[.filename]#doc/shared/contrib-additional.adoc# - _Remove_ the entry. Entries are sorted by first name.\n"
". Add a News Item\n"
"+\n"
"[.filename]#doc/website/data/en/news/news.toml# - Add an entry. Look for the other entries that announce new committers and follow the format. Use the date from the commit bit approval email.\n"
". Add a PGP Key\n"
"+\n"
"`{des}` has written a shell script ([.filename]#doc/documentation/tools/addkey.sh#) to make this easier. See the https://cgit.freebsd.org/doc/plain/documentation/static/pgpkeys/README[README] file for more information.\n"
"+\n"
"Use [.filename]#doc/documentation/tools/checkkey.sh# to verify that keys meet minimal best-practices standards.\n"
"+\n"
"After adding and checking a key, add both updated files to source control and then commit them. Entries in this file are sorted by last name.\n"
"+\n"
"[NOTE]\n"
"======\n"
"It is very important to have a current PGP/GnuPG key in the repository. The key may be required for positive identification of a committer. For example, the `{admins}` might need it for account recovery. A complete keyring of `FreeBSD.org` users is available for download from link:https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt[https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt].\n"
"======\n"
". Update Mentor and Mentee Information\n"
"+\n"
"[.filename]#src/share/misc/committers-<repository>.dot# - Add an entry to the current committers section, where _repository_ is `doc`, `ports`, or `src`, depending on the commit privileges granted.\n"
"+\n"
"Add an entry for each additional mentor/mentee relationship in the bottom section.\n"
". Generate a Kerberos Password\n"
"+\n"
"See <<kerberos-ldap>> to generate or set a Kerberos account for use with other FreeBSD services like the link:https://bugs.freebsd.org/bugzilla/[bug-tracking database] (you get a bug-tracking account as part of that step).\n"
". Optional: Enable Wiki Account\n"
"+\n"
"link:https://wiki.freebsd.org[FreeBSD Wiki] Account - A wiki account allows sharing projects and ideas.\n"
"Those who do not yet have an account can follow instructions on the link:https://wiki.freebsd.org/Wiki/About[Wiki/About page] to obtain one.\n"
"Contact mailto:wiki-admin@FreeBSD.org[wiki-admin@FreeBSD.org] if you need help with your Wiki account.\n"
". Optional: Update Wiki Information\n"
"+\n"
"Wiki Information - After gaining access to the wiki, some people add entries to the https://wiki.freebsd.org/HowWeGotHere[How We Got Here], https://wiki.freebsd.org/IRC/Nicknames[IRC Nicks], https://wiki.freebsd.org/Community/Dogs[Dogs of FreeBSD], and or https://wiki.freebsd.org/Community/Cats[Cats of FreeBSD] pages.\n"
". Optional: Update Ports with Personal Information\n"
"+\n"
"[.filename]#ports/astro/xearth/files/freebsd.committers.markers# and [.filename]#src/usr.bin/calendar/calendars/calendar.freebsd# - Some people add entries for themselves to these files to show where they are located or the date of their birthday.\n"
". Optional: Prevent Duplicate Mailings\n"
"+\n"
"Subscribers to {dev-commits-doc-all}, {dev-commits-ports-all} or {dev-commits-src-all} might wish to unsubscribe to avoid receiving duplicate copies of commit messages and followups.\n"
"====\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2128
+#: documentation/content/en/articles/committers-guide/_index.adoc:2146
#, no-wrap
msgid "[[conventions-everyone]]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2128
+#: documentation/content/en/articles/committers-guide/_index.adoc:2146
#, no-wrap
msgid "For Everyone"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2148
+#: documentation/content/en/articles/committers-guide/_index.adoc:2166
msgid ""
"[[conventions-everyone-steps]] [.procedure] ==== . Introduce yourself to the "
"other developers, otherwise no one will have any idea who you are or what "
"you are working on. The introduction need not be a comprehensive biography, "
"just write a paragraph or two about who you are, what you plan to be working "
"on as a developer in FreeBSD, and who will be your mentor. Email this to the "
"{developers-name} and you will be on your way! . Log into `freefall.FreeBSD."
"org` and create a [.filename]#/var/forward/user# (where _user_ is your "
"username) file containing the e-mail address where you want mail addressed "
"to _yourusername_@FreeBSD.org to be forwarded. This includes all of the "
"commit messages as well as any other mail addressed to the {committers-name} "
"and the {developers-name}. Really large mailboxes which have taken up "
"permanent residence on `freefall` may get truncated without warning if space "
"needs to be freed, so forward it or save it elsewhere. + [NOTE] ====== If "
"your e-mail system uses SPF with strict rules, you should exclude `mx2."
"FreeBSD.org` from SPF checks. ====== + Due to the severe load dealing with "
"SPAM places on the central mail servers that do the mailing list processing, "
"the front-end server does do some basic checks and will drop some messages "
"based on these checks. At the moment proper DNS information for the "
"connecting host is the only check in place but that may change. Some people "
"blame these checks for bouncing valid email. To have these checks turned off "
"for your email, create a file named [.filename]#~/.spam_lover# on `freefall."
"FreeBSD.org`. + [NOTE] ====== Those who are developers but not committers "
"will not be subscribed to the committers or developers mailing lists. The "
"subscriptions are derived from the access rights. ====== ===="
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2150
+#: documentation/content/en/articles/committers-guide/_index.adoc:2168
msgid "[[smtp-setup]]"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:2150
+#: documentation/content/en/articles/committers-guide/_index.adoc:2168
#, no-wrap
msgid "SMTP Access Setup"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2153
+#: documentation/content/en/articles/committers-guide/_index.adoc:2171
msgid ""
"For those willing to send e-mail messages through the FreeBSD.org "
"infrastructure, follow the instructions below:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2174
+#: documentation/content/en/articles/committers-guide/_index.adoc:2192
msgid ""
"[.procedure] ==== . Point your mail client at `smtp.FreeBSD.org:587`. . "
"Enable STARTTLS. . Ensure your `From:` address is set to "
"`_yourusername_@FreeBSD.org`. . For authentication, you can use your "
"FreeBSD Kerberos username and password (see <<kerberos-ldap>>). The "
"`_yourusername_/mail` principal is preferred, as it is only valid for "
"authenticating to mail resources. + [NOTE] ====== Do not include `@FreeBSD."
"org` when entering in your username. ====== + .Additional Notes [NOTE] "
"====== * Will only accept mail from `_yourusername_@FreeBSD.org`. If you are "
"authenticated as one user, you are not permitted to send mail from another. "
"* A header will be appended with the SASL username: (`Authenticated sender: "
"_username_`). * Host has various rate limits in place to cut down on brute "
"force attempts. ====== ===="
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2176
+#: documentation/content/en/articles/committers-guide/_index.adoc:2194
msgid "[[smtp-setup-local-mta]]"
msgstr ""
#. type: Title =====
-#: documentation/content/en/articles/committers-guide/_index.adoc:2176
+#: documentation/content/en/articles/committers-guide/_index.adoc:2194
#, no-wrap
msgid "Using a Local MTA to Forward Emails to the FreeBSD.org SMTP Service"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2179
+#: documentation/content/en/articles/committers-guide/_index.adoc:2197
msgid ""
"It is also possible to use a local MTA to forward locally sent emails to the "
"FreeBSD.org SMTP servers."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2184
+#: documentation/content/en/articles/committers-guide/_index.adoc:2202
msgid "[[smtp-setup-local-postfix]] .Using Postfix [example] ===="
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2186
+#: documentation/content/en/articles/committers-guide/_index.adoc:2204
msgid ""
"To tell a local Postfix instance that anything from `_yourusername_@FreeBSD."
"org` should be forwarded to the FreeBSD.org servers, add this to your [."
"filename]#main.cf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2188
+#: documentation/content/en/articles/committers-guide/_index.adoc:2206
msgid "[.programlisting]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2194
+#: documentation/content/en/articles/committers-guide/_index.adoc:2212
msgid ""
"sender_dependent_relayhost_maps = hash:/usr/local/etc/postfix/relayhost_maps "
"smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous "
"smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd "
"smtp_use_tls = yes"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2197
+#: documentation/content/en/articles/committers-guide/_index.adoc:2215
#, no-wrap
msgid "Create [.filename]#/usr/local/etc/postfix/relayhost_maps# with the following content:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2199
-#: documentation/content/en/articles/committers-guide/_index.adoc:2206
-#: documentation/content/en/articles/committers-guide/_index.adoc:2213
-#: documentation/content/en/articles/committers-guide/_index.adoc:2221
-#: documentation/content/en/articles/committers-guide/_index.adoc:2236
-#: documentation/content/en/articles/committers-guide/_index.adoc:2246
-#: documentation/content/en/articles/committers-guide/_index.adoc:2260
-#: documentation/content/en/articles/committers-guide/_index.adoc:2290
+#: documentation/content/en/articles/committers-guide/_index.adoc:2217
+#: documentation/content/en/articles/committers-guide/_index.adoc:2224
+#: documentation/content/en/articles/committers-guide/_index.adoc:2231
+#: documentation/content/en/articles/committers-guide/_index.adoc:2239
+#: documentation/content/en/articles/committers-guide/_index.adoc:2254
+#: documentation/content/en/articles/committers-guide/_index.adoc:2264
+#: documentation/content/en/articles/committers-guide/_index.adoc:2278
+#: documentation/content/en/articles/committers-guide/_index.adoc:2308
#, no-wrap
msgid "[.programlisting]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2201
+#: documentation/content/en/articles/committers-guide/_index.adoc:2219
msgid "yourusername@FreeBSD.org [smtp.freebsd.org]:587"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2204
+#: documentation/content/en/articles/committers-guide/_index.adoc:2222
#, no-wrap
msgid "Create [.filename]#/usr/local/etc/postfix/sasl_passwd# with the following content:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2208
+#: documentation/content/en/articles/committers-guide/_index.adoc:2226
#, no-wrap
msgid "[smtp.freebsd.org]:587 yourusername:yourpassword\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2211
+#: documentation/content/en/articles/committers-guide/_index.adoc:2229
#, no-wrap
msgid "If the email server is used by other people, you may want to prevent them from sending e-mails from your address. To achieve this, add this to your [.filename]#main.cf#:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2216
+#: documentation/content/en/articles/committers-guide/_index.adoc:2234
msgid ""
"smtpd_sender_login_maps = hash:/usr/local/etc/postfix/sender_login_maps "
"smtpd_sender_restrictions = reject_known_sender_login_mismatch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2219
+#: documentation/content/en/articles/committers-guide/_index.adoc:2237
#, no-wrap
msgid "Create [.filename]#/usr/local/etc/postfix/sender_login_maps# with the following content:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2223
+#: documentation/content/en/articles/committers-guide/_index.adoc:2241
msgid "yourusername@FreeBSD.org yourlocalusername"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2227
+#: documentation/content/en/articles/committers-guide/_index.adoc:2245
#, no-wrap
msgid ""
"Where _yourlocalusername_ is the SASL username used to connect to the local instance of Postfix.\n"
"====\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2232
+#: documentation/content/en/articles/committers-guide/_index.adoc:2250
#, no-wrap
msgid ""
"[[smtp-setup-local-opensmtpd]]\n"
".Using OpenSMTPD\n"
"[example]\n"
"====\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2234
+#: documentation/content/en/articles/committers-guide/_index.adoc:2252
#, no-wrap
msgid "To tell a local OpenSMTPD instance that anything from `_yourusername_@FreeBSD.org` should be forwarded to the FreeBSD.org servers, add this to your [.filename]#smtpd.conf#:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2239
+#: documentation/content/en/articles/committers-guide/_index.adoc:2257
msgid ""
"action \"freebsd\" relay host smtp+tls://freebsd@smtp.freebsd.org:587 auth "
"<secrets> match from any auth yourlocalusername mail-from "
"\"_yourusername_@freebsd.org\" for any action \"freebsd\""
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2242
+#: documentation/content/en/articles/committers-guide/_index.adoc:2260
#, no-wrap
msgid "Where _yourlocalusername_ is the SASL username used to connect to the local instance of OpenSMTPD.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2244
+#: documentation/content/en/articles/committers-guide/_index.adoc:2262
#, no-wrap
msgid "Create [.filename]#/usr/local/etc/mail/secrets# with the following content:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2248
+#: documentation/content/en/articles/committers-guide/_index.adoc:2266
msgid "freebsd\tyourusername:yourpassword"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2255
+#: documentation/content/en/articles/committers-guide/_index.adoc:2273
#, no-wrap
msgid ""
"====\n"
"[[smtp-setup-local-exim]]\n"
".Using Exim\n"
"[example]\n"
"====\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2258
+#: documentation/content/en/articles/committers-guide/_index.adoc:2276
#, no-wrap
msgid ""
"To direct a local Exim instance to forward all mail from `_example_@FreeBSD.org`\n"
" to FreeBSD.org servers, add this to Exim [.filename]#configuration#:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2267
+#: documentation/content/en/articles/committers-guide/_index.adoc:2285
#, no-wrap
msgid ""
"Routers section: (at the top of the list):\n"
"freebsd_send:\n"
" driver = manualroute\n"
" domains = !+local_domains\n"
" transport = freebsd_smtp\n"
" route_data = ${lookup {${lc:$sender_address}} lsearch {/usr/local/etc/exim/freebsd_send}}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2279
+#: documentation/content/en/articles/committers-guide/_index.adoc:2297
#, no-wrap
msgid ""
"Transport Section:\n"
"freebsd_smtp:\n"
" driver = smtp\n"
" tls_certificate=<local certificate>\n"
" tls_privatekey=<local certificate private key>\n"
" tls_require_ciphers = EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+AESGCM:EECDH:EDH+AESGCM:EDH+aRSA:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!LOW:!RC4:!MD5:!EXP:!PSK:!SRP:!DSS\n"
" dkim_domain = <local DKIM domain>\n"
" dkim_selector = <local DKIM selector>\n"
" dkim_private_key= <local DKIM private key>\n"
" dnssec_request_domains = *\n"
" hosts_require_auth = smtp.freebsd.org\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2285
+#: documentation/content/en/articles/committers-guide/_index.adoc:2303
#, no-wrap
msgid ""
"Authenticators:\n"
"fixed_plain:\n"
" driver = plaintext\n"
" public_name = PLAIN\n"
" client_send = ^example/mail^examplePassword\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2288
+#: documentation/content/en/articles/committers-guide/_index.adoc:2306
#, no-wrap
msgid "Create [.filename]#/usr/local/etc/exim/freebsd_send# with the following content:\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2292
+#: documentation/content/en/articles/committers-guide/_index.adoc:2310
msgid "example@freebsd.org:smtp.freebsd.org::587"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2295
+#: documentation/content/en/articles/committers-guide/_index.adoc:2313
#, no-wrap
msgid "====\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2297
+#: documentation/content/en/articles/committers-guide/_index.adoc:2315
#, no-wrap
msgid "[[mentors]]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2297
+#: documentation/content/en/articles/committers-guide/_index.adoc:2315
#, no-wrap
msgid "Mentors"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2302
+#: documentation/content/en/articles/committers-guide/_index.adoc:2320
msgid ""
"All new developers have a mentor assigned to them for the first few months. "
"A mentor is responsible for teaching the mentee the rules and conventions of "
"the project and guiding their first steps in the developer community. The "
"mentor is also personally responsible for the mentee's actions during this "
"initial period."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2305
+#: documentation/content/en/articles/committers-guide/_index.adoc:2323
msgid ""
"For committers: do not commit anything without first getting mentor "
"approval. Document that approval with an `Approved by:` line in the commit "
"message."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2309
+#: documentation/content/en/articles/committers-guide/_index.adoc:2327
msgid ""
"When the mentor decides that a mentee has learned the ropes and is ready to "
"commit on their own, the mentor announces it with a commit to [."
"filename]#mentors#. This file is in the [.filename]#admin# orphan branch of "
"each repository. Detailed information on how to access these branches can "
"be found in <<admin-branch>>."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2311
+#: documentation/content/en/articles/committers-guide/_index.adoc:2329
msgid "[[pre-commit-review]]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2311
+#: documentation/content/en/articles/committers-guide/_index.adoc:2329
#, no-wrap
msgid "Pre-Commit Review"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2316
+#: documentation/content/en/articles/committers-guide/_index.adoc:2334
msgid ""
"Code review is one way to increase the quality of software. The following "
"guidelines apply to commits to the `main` (-CURRENT) branch of the `src` "
"repository. Other branches and the `ports` and `docs` trees have their own "
"review policies, but these guidelines generally apply to commits requiring "
"review:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2322
+#: documentation/content/en/articles/committers-guide/_index.adoc:2340
#, no-wrap
msgid ""
"* All non-trivial changes should be reviewed before they are committed to the repository.\n"
"* Reviews may be conducted by email, in Bugzilla, in Phabricator, or by another mechanism. Where possible, reviews should be public.\n"
"* The developer responsible for a code change is also responsible for making all necessary review-related changes.\n"
"* Code review can be an iterative process, which continues until the patch is ready to be committed. Specifically, once a patch is sent out for review, it should receive an explicit \"looks good\" before it is committed. So long as it is explicit, this can take whatever form makes sense for the review method.\n"
"* Timeouts are not a substitute for review.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2324
+#: documentation/content/en/articles/committers-guide/_index.adoc:2342
#, no-wrap
msgid "Sometimes code reviews will take longer than you would hope for, especially for larger features. Accepted ways to speed up review times for your patches are:\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2331
+#: documentation/content/en/articles/committers-guide/_index.adoc:2349
#, no-wrap
msgid ""
"* Review other people's patches. If you help out, everybody will be more willing to do the same for you; goodwill is our currency.\n"
"* Ping the patch. If it is urgent, provide reasons why it is important to you to get this patch landed and ping it every couple of days. If it is not urgent, the common courtesy ping rate is one week. Remember that you are asking for valuable time from other professional developers.\n"
"* Ask for help on mailing lists, IRC, etc. Others may be able to either help you directly, or suggest a reviewer.\n"
"* Split your patch into multiple smaller patches that build on each other. The smaller your patch, the higher the probability that somebody will take a quick look at it.\n"
"+\n"
"When making large changes, it is helpful to keep this in mind from the beginning of the effort as breaking large changes into smaller ones is often difficult after the fact.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2336
+#: documentation/content/en/articles/committers-guide/_index.adoc:2354
#, no-wrap
msgid ""
"Developers should participate in code reviews as both reviewers and reviewees.\n"
"If someone is kind enough to review your code, you should return the favor for someone else.\n"
"Note that while anyone is welcome to review and give feedback on a patch, only an appropriate subject-matter expert can approve a change.\n"
"This will usually be a committer who works with the code in question on a regular basis.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2339
+#: documentation/content/en/articles/committers-guide/_index.adoc:2357
#, no-wrap
msgid ""
"In some cases, no subject-matter expert may be available.\n"
"In those cases, a review by an experienced developer is sufficient when coupled with appropriate testing.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2341
+#: documentation/content/en/articles/committers-guide/_index.adoc:2359
#, no-wrap
msgid "[[commit-log-message]]\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2341
+#: documentation/content/en/articles/committers-guide/_index.adoc:2359
#, no-wrap
msgid "Commit Log Messages"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2344
+#: documentation/content/en/articles/committers-guide/_index.adoc:2362
msgid ""
"This section contains some suggestions and traditions for how commit logs "
"are formatted."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2345
+#: documentation/content/en/articles/committers-guide/_index.adoc:2363
#, no-wrap
msgid "Why are commit messages important?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2349
+#: documentation/content/en/articles/committers-guide/_index.adoc:2367
msgid ""
"When you commit a change in Git, Subversion, or another version control "
"system (VCS), you're prompted to write some text describing the commit -- a "
"commit message. How important is this commit message? Should you spend some "
"significant effort writing it? Does it really matter if you write simply "
"fixed a bug?"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2352
+#: documentation/content/en/articles/committers-guide/_index.adoc:2370
msgid ""
"Most projects have more than one developer and last for some length of "
"time. Commit messages are a very important method of communicating with "
"other developers, in the present and for the future."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2355
+#: documentation/content/en/articles/committers-guide/_index.adoc:2373
msgid ""
"FreeBSD has hundreds of active developers and hundreds of thousands of "
"commits spanning decades of history. Over that time the developer community "
"has learned how valuable good commit messages are; sometimes these are hard-"
"learned lessons."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2357
+#: documentation/content/en/articles/committers-guide/_index.adoc:2375
msgid "Commit messages serve at least three purposes:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2364
+#: documentation/content/en/articles/committers-guide/_index.adoc:2382
#, no-wrap
msgid ""
"* Communicating with other developers\n"
"+\n"
"FreeBSD commits generate email to various mailing lists.\n"
"These include the commit message along with a copy of the patch itself.\n"
"Commit messages are also viewed through commands like git log.\n"
"These serve to make other developers aware of changes that are ongoing; that other developer may want to test the change, may have an interest in the topic and will want to review in more detail, or may have their own projects underway that would benefit from interaction.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2370
+#: documentation/content/en/articles/committers-guide/_index.adoc:2388
#, no-wrap
msgid ""
"* Making Changes Discoverable\n"
"+\n"
"In a large project with a long history it may be difficult to find changes of interest when investigating an issue or change in behaviour.\n"
"Verbose, detailed commit messages allow searches for changes that might be relevant.\n"
"For example, `git log --since 1year --grep 'USB timeout'`.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2376
+#: documentation/content/en/articles/committers-guide/_index.adoc:2394
#, no-wrap
msgid ""
"* Providing historical documentation\n"
"+\n"
"Commit messages serve to document changes for future developers, perhaps years or decades later.\n"
"This future developer may even be you, the original author.\n"
"A change that seems obvious today may be decidedly not so much later on.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2378
+#: documentation/content/en/articles/committers-guide/_index.adoc:2396
#, no-wrap
msgid "The `git blame` command annotates each line of a source file with the change (hash and subject line) that brought it in.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2380
+#: documentation/content/en/articles/committers-guide/_index.adoc:2398
#, no-wrap
msgid "Having established the importance, here are elements of a good FreeBSD commit message:\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2381
+#: documentation/content/en/articles/committers-guide/_index.adoc:2399
#, no-wrap
msgid "Start with a subject line"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2385
+#: documentation/content/en/articles/committers-guide/_index.adoc:2403
msgid ""
"Commit messages should start with a single-line subject that briefly "
"summarizes the change. The subject should, by itself, allow the reader to "
"quickly determine if the change is of interest or not."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2386
+#: documentation/content/en/articles/committers-guide/_index.adoc:2404
#, no-wrap
msgid "Keep subject lines short"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2391
+#: documentation/content/en/articles/committers-guide/_index.adoc:2409
msgid ""
"The subject line should be as short as possible while still retaining the "
"required information. This is to make browsing Git log more efficient, and "
"so that git log --oneline can display the short hash and subject on a single "
"80-column line. A good rule of thumb is to stay below 63 characters, and "
"aim for about 50 or fewer if possible."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2392
+#: documentation/content/en/articles/committers-guide/_index.adoc:2410
#, no-wrap
msgid "Prefix the subject line with a component, if applicable"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2395
+#: documentation/content/en/articles/committers-guide/_index.adoc:2413
msgid ""
"If the change relates to a specific component the subject line may be "
"prefixed with that component name and a colon (:)."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2397
+#: documentation/content/en/articles/committers-guide/_index.adoc:2415
msgid "✓ `foo: Add -k option to keep temporary data`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2399
+#: documentation/content/en/articles/committers-guide/_index.adoc:2417
msgid ""
"Include the prefix in the 63-character limit suggested above, so that `git "
"log --oneline` avoids wrapping."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2400
+#: documentation/content/en/articles/committers-guide/_index.adoc:2418
#, no-wrap
msgid "Capitalize the first letter of the subject"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2404
+#: documentation/content/en/articles/committers-guide/_index.adoc:2422
msgid ""
"Capitalize the first letter of the subject itself. The prefix, if any, is "
"not capitalized unless necessary (e.g., `USB:` is capitalized)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2405
+#: documentation/content/en/articles/committers-guide/_index.adoc:2423
#, no-wrap
msgid "Do not end the subject line with punctuation"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2409
+#: documentation/content/en/articles/committers-guide/_index.adoc:2427
msgid ""
"Do not end with a period or other punctuation. In this regard the subject "
"line is like a newspaper headline."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2410
+#: documentation/content/en/articles/committers-guide/_index.adoc:2428
#, no-wrap
msgid "Separate the subject and body with a blank line"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2413
+#: documentation/content/en/articles/committers-guide/_index.adoc:2431
msgid "Separate the body from the subject with a blank line."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2415
+#: documentation/content/en/articles/committers-guide/_index.adoc:2433
msgid ""
"Some trivial commits do not require a body, and will have only a subject."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2417
+#: documentation/content/en/articles/committers-guide/_index.adoc:2435
msgid "✓ `ls: Fix typo in usage text`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2418
+#: documentation/content/en/articles/committers-guide/_index.adoc:2436
#, no-wrap
msgid "Limit messages to 72 columns"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2424
+#: documentation/content/en/articles/committers-guide/_index.adoc:2442
msgid ""
"`git log` and `git format-patch` indent the commit message by four spaces. "
"Wrapping at 72 columns provides a matching margin on the right edge. "
"Limiting messages to 72 characters also keeps the commit message in "
"formatted patches below RFC 2822's suggested email line length limit of 78 "
"characters. This limit works well with a variety of tools that may render "
"commit messages; line wrapping might be inconsistent with longer line length."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2425
+#: documentation/content/en/articles/committers-guide/_index.adoc:2443
#, no-wrap
msgid "Use the present tense, imperative mood"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2430
+#: documentation/content/en/articles/committers-guide/_index.adoc:2448
msgid ""
"This facilitates short subject lines and provides consistency, including "
"with automatically generated commit messages (e.g., as generated by git "
"revert). This is important when reading a list of commit subjects. Think "
"of the subject as finishing the sentence \"when applied, this change will ..."
"\"."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2435
+#: documentation/content/en/articles/committers-guide/_index.adoc:2453
#, no-wrap
msgid ""
"✓ `foo: Implement the -k (keep) option`\n"
"✗ `foo: Implemented the -k option`\n"
"✗ `This change implements the -k option in foo`\n"
"✗ `-k option added`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2436
+#: documentation/content/en/articles/committers-guide/_index.adoc:2454
#, no-wrap
msgid "Focus on what and why, not how"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2439
+#: documentation/content/en/articles/committers-guide/_index.adoc:2457
msgid ""
"Explain what the change accomplishes and why it is being done, rather than "
"how."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2443
+#: documentation/content/en/articles/committers-guide/_index.adoc:2461
msgid ""
"Do not assume that the reader is familiar with the issue. Explain the "
"background and motivation for the change. Include benchmark data if you "
"have it."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2445
+#: documentation/content/en/articles/committers-guide/_index.adoc:2463
msgid ""
"If there are limitations or incomplete aspects of the change, describe them "
"in the commit message."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2446
+#: documentation/content/en/articles/committers-guide/_index.adoc:2464
#, no-wrap
msgid "Consider whether parts of the commit message could be code comments instead"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2449
+#: documentation/content/en/articles/committers-guide/_index.adoc:2467
msgid ""
"Sometimes while writing a commit message you may find yourself writing a "
"sentence or two explaining some tricky or confusing aspect of the change. "
"When this happens consider whether it would be valuable to have that "
"explanation as a comment in the code itself."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2450
+#: documentation/content/en/articles/committers-guide/_index.adoc:2468
#, no-wrap
msgid "Write commit messages for your future self"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2454
+#: documentation/content/en/articles/committers-guide/_index.adoc:2472
msgid ""
"While writing the commit message for a change you have all of the context in "
"mind - what prompted the change, alternate approaches that were considered "
"and rejected, limitations of the change, and so on. Imagine yourself "
"revisiting the change a year or two in the future, and write the commit "
"message in a way that would provide that necessary context."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2455
+#: documentation/content/en/articles/committers-guide/_index.adoc:2473
#, no-wrap
msgid "Commit messages should stand alone"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2459
+#: documentation/content/en/articles/committers-guide/_index.adoc:2477
msgid ""
"You may include references to mailing list postings, benchmark result web "
"sites, or code review links. However, the commit message should contain all "
"of the relevant information in case these references are no longer available "
"in the future."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2463
+#: documentation/content/en/articles/committers-guide/_index.adoc:2481
msgid ""
"Similarly, a commit may refer to a previous commit, for example in the case "
"of a bug fix or revert. In addition to the commit identifier (revision or "
"hash), include the subject line from the referenced commit (or another "
"suitable brief reference). With each VCS migration (from CVS to Subversion "
"to Git) revision identifiers from previous systems may become difficult to "
"follow."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2464
+#: documentation/content/en/articles/committers-guide/_index.adoc:2482
#, no-wrap
msgid "Include appropriate metadata in a footer"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2467
+#: documentation/content/en/articles/committers-guide/_index.adoc:2485
msgid ""
"As well as including an informative message with each commit, some "
"additional information may be needed."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2469
+#: documentation/content/en/articles/committers-guide/_index.adoc:2487
msgid ""
"This information consists of one or more lines containing the key word or "
"phrase, a colon, tabs for formatting, and then the additional information."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2471
+#: documentation/content/en/articles/committers-guide/_index.adoc:2489
msgid "The key words or phrases are:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2476
+#: documentation/content/en/articles/committers-guide/_index.adoc:2494
#, no-wrap
msgid ""
"[.informaltable]\n"
"[cols=\"20%,80%\", frame=\"none\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2477
+#: documentation/content/en/articles/committers-guide/_index.adoc:2495
#, no-wrap
msgid "`PR:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2479
+#: documentation/content/en/articles/committers-guide/_index.adoc:2497
#, no-wrap
msgid "The problem report (if any) which is affected (typically, by being closed) by this commit. Multiple PRs may be specified on one line, separated by commas or spaces."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2480
+#: documentation/content/en/articles/committers-guide/_index.adoc:2498
#, no-wrap
msgid "`Reported by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2484
+#: documentation/content/en/articles/committers-guide/_index.adoc:2502
#, no-wrap
msgid ""
"The name and e-mail address of the person that reported the issue; for developers, just the username on the FreeBSD cluster.\n"
"Typically used when there is no PR, for example if the issue was reported on\n"
"a mailing list."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2486
+#: documentation/content/en/articles/committers-guide/_index.adoc:2504
#, no-wrap
msgid ""
"`Submitted by:` +\n"
"(deprecated)"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2488
+#: documentation/content/en/articles/committers-guide/_index.adoc:2506
#, no-wrap
msgid "This has been deprecated with git; submitted patches should have the author set by using `git commit --author` with a full name and valid email."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2489
+#: documentation/content/en/articles/committers-guide/_index.adoc:2507
#, no-wrap
msgid "`Reviewed by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2504
+#: documentation/content/en/articles/committers-guide/_index.adoc:2522
#, no-wrap
msgid ""
"The name and e-mail address of the person or people that reviewed the change; for developers, just the username on the FreeBSD cluster. If a patch was submitted to a mailing list for review, and the review was favorable, then just include the list name. If the reviewer is not a member of the project, provide the name, email, and if ports an external role like maintainer:\n"
"\n"
"Reviewed by a developer:\n"
"[source,shell]\n"
"....\n"
"Reviewed by: username\n"
"....\n"
"\n"
"Reviewed by a ports maintainer that is not a developer:\n"
"[source,shell]\n"
"....\n"
"Reviewed by: Full Name <valid@email> (maintainer)\n"
"...."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2505
+#: documentation/content/en/articles/committers-guide/_index.adoc:2523
#, no-wrap
msgid "`Tested by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2507
+#: documentation/content/en/articles/committers-guide/_index.adoc:2525
#, no-wrap
msgid "The name and e-mail address of the person or people that tested the change; for developers, just the username on the FreeBSD cluster."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2508
+#: documentation/content/en/articles/committers-guide/_index.adoc:2526
#, no-wrap
msgid "`Approved by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2534
+#: documentation/content/en/articles/committers-guide/_index.adoc:2552
#, no-wrap
msgid ""
"The name and e-mail address of the person or people that approved the change; for developers, just the username on the FreeBSD cluster.\n"
"\n"
"There are several cases where approval is customary:\n"
"\n"
"* while a new committer is under mentorship\n"
"* commits to an area of the tree covered by the LOCKS file (src)\n"
"* during a release cycle\n"
"* committing to a repo where you do not hold a commit bit (e.g. src committer committing to docs)\n"
"* committing to a port maintained by someone else\n"
"\n"
"While under mentorship, get mentor approval before the commit. Enter the mentor's username in this field, and note that they are a mentor:\n"
"\n"
"[source,shell]\n"
"....\n"
"Approved by: username-of-mentor (mentor)\n"
"....\n"
"\n"
"If a team approved these commits then include the team name followed by the username of the approver in parentheses. For example:\n"
"\n"
"[source,shell]\n"
"....\n"
"Approved by: re (username)\n"
"...."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2535
+#: documentation/content/en/articles/committers-guide/_index.adoc:2553
#, no-wrap
msgid "`Obtained from:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2537
+#: documentation/content/en/articles/committers-guide/_index.adoc:2555
#, no-wrap
msgid "The name of the project (if any) from which the code was obtained. Do not use this line for the name of an individual person."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2538
+#: documentation/content/en/articles/committers-guide/_index.adoc:2556
#, no-wrap
msgid "`Fixes:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2540
+#: documentation/content/en/articles/committers-guide/_index.adoc:2558
#, no-wrap
msgid "The Git short hash and the title line of a commit that is fixed by this change as returned by `git log -n 1 --oneline GIT-COMMIT-HASH`."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2541
+#: documentation/content/en/articles/committers-guide/_index.adoc:2559
#, no-wrap
msgid "`MFC after:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2543
+#: documentation/content/en/articles/committers-guide/_index.adoc:2561
#, no-wrap
msgid "To receive an e-mail reminder to MFC at a later date, specify the number of days, weeks, or months after which an MFC is planned."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2544
+#: documentation/content/en/articles/committers-guide/_index.adoc:2562
#, no-wrap
msgid "`MFC to:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2546
+#: documentation/content/en/articles/committers-guide/_index.adoc:2564
#, no-wrap
msgid "If the commit should be merged to a subset of stable branches, specify the branch names."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2547
+#: documentation/content/en/articles/committers-guide/_index.adoc:2565
#, no-wrap
msgid "`MFH:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2549
+#: documentation/content/en/articles/committers-guide/_index.adoc:2567
#, no-wrap
msgid "If the commit is to be merged into a ports quarterly branch name, specify the quarterly branch. For example `2021Q2`."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2550
+#: documentation/content/en/articles/committers-guide/_index.adoc:2568
#, no-wrap
msgid "`Relnotes:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2552
+#: documentation/content/en/articles/committers-guide/_index.adoc:2570
#, no-wrap
msgid "If the change is a candidate for inclusion in the release notes for the next release from the branch, set to `yes`."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2553
+#: documentation/content/en/articles/committers-guide/_index.adoc:2571
#, no-wrap
msgid "`Security:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2555
+#: documentation/content/en/articles/committers-guide/_index.adoc:2573
#, no-wrap
msgid "If the change is related to a security vulnerability or security exposure, include one or more references or a description of the issue. If possible, include a VuXML URL or a CVE ID."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2556
+#: documentation/content/en/articles/committers-guide/_index.adoc:2574
#, no-wrap
msgid "`Event:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2558
+#: documentation/content/en/articles/committers-guide/_index.adoc:2576
#, no-wrap
msgid "The description for the event where this commit was made. If this is a recurring event, add the year or even the month to it. For example, this could be `FooBSDcon 2019`. The idea behind this line is to put recognition to conferences, gatherings, and other types of meetups and to show that these are useful to have. Please do not use the `Sponsored by:` line for this as that is meant for organizations sponsoring certain features or developers working on them."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2559
+#: documentation/content/en/articles/committers-guide/_index.adoc:2577
#, no-wrap
msgid "`Sponsored by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2561
+#: documentation/content/en/articles/committers-guide/_index.adoc:2579
#, no-wrap
msgid "Sponsoring organizations for this change, if any. Separate multiple organizations with commas. If only a portion of the work was sponsored, or different amounts of sponsorship were provided to different authors, please give appropriate credit in parentheses after each sponsor name. For example, `Example.com (alice, code refactoring), Wormulon (bob), Momcorp (cindy)` shows that Alice was sponsored by Example.com to do code refactoring, while Wormulon sponsored Bob's work and Momcorp sponsored Cindy's work. Other authors were either not sponsored or chose not to list sponsorship."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2562
+#: documentation/content/en/articles/committers-guide/_index.adoc:2580
#, no-wrap
msgid "`Pull Request:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2566
+#: documentation/content/en/articles/committers-guide/_index.adoc:2584
#, no-wrap
msgid ""
"This change was submitted as a pull request or merge request against one of FreeBSD's public read-only Git repositories.\n"
"It should include the entire URL to the pull request, as these often act as code reviews for the code.\n"
"For example: `https://github.com/freebsd/freebsd-src/pull/745`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2567
+#: documentation/content/en/articles/committers-guide/_index.adoc:2585
+#, no-wrap
+msgid "`Co-authored-by:`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/articles/committers-guide/_index.adoc:2588
+#, no-wrap
+msgid ""
+"The name and email address of an additional author of the commit.\n"
+"GitHub has a detailed description of the Co-authored-by trailer at https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/articles/committers-guide/_index.adoc:2589
#, no-wrap
msgid "`Signed-off-by:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2569
+#: documentation/content/en/articles/committers-guide/_index.adoc:2591
#, no-wrap
msgid "ID certifies compliance with https://developercertificate.org/"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2570
+#: documentation/content/en/articles/committers-guide/_index.adoc:2592
#, no-wrap
msgid "`Differential Revision:`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/committers-guide/_index.adoc:2572
+#: documentation/content/en/articles/committers-guide/_index.adoc:2594
#, no-wrap
msgid "The full URL of the Phabricator review. This line __must be the last line__. For example: `https://reviews.freebsd.org/D1708`."
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2574
+#: documentation/content/en/articles/committers-guide/_index.adoc:2596
#, no-wrap
msgid "Commit Log for a Commit Based on a PR"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2580
+#: documentation/content/en/articles/committers-guide/_index.adoc:2602
msgid ""
"The commit is based on a patch from a PR submitted by John Smith. The "
"commit message \"PR\" field is filled."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2584
-#: documentation/content/en/articles/committers-guide/_index.adoc:2602
-#: documentation/content/en/articles/committers-guide/_index.adoc:2617
-#: documentation/content/en/articles/committers-guide/_index.adoc:2633
-#: documentation/content/en/articles/committers-guide/_index.adoc:2648
+#: documentation/content/en/articles/committers-guide/_index.adoc:2606
+#: documentation/content/en/articles/committers-guide/_index.adoc:2624
+#: documentation/content/en/articles/committers-guide/_index.adoc:2639
+#: documentation/content/en/articles/committers-guide/_index.adoc:2655
+#: documentation/content/en/articles/committers-guide/_index.adoc:2670
#, no-wrap
msgid "...\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2586
+#: documentation/content/en/articles/committers-guide/_index.adoc:2608
#, no-wrap
msgid "PR:\t\t12345\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2589
+#: documentation/content/en/articles/committers-guide/_index.adoc:2611
msgid ""
"The committer sets the author of the patch with `git commit --author \"John "
"Smith <John.Smith@example.com>\"`."
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2592
+#: documentation/content/en/articles/committers-guide/_index.adoc:2614
#, no-wrap
msgid "Commit Log for a Commit Needing Review"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2598
+#: documentation/content/en/articles/committers-guide/_index.adoc:2620
msgid ""
"The virtual memory system is being changed. After posting patches to the "
"appropriate mailing list (in this case, `freebsd-arch`) and the changes have "
"been approved."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2604
+#: documentation/content/en/articles/committers-guide/_index.adoc:2626
#, no-wrap
msgid "Reviewed by:\t-arch\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2608
+#: documentation/content/en/articles/committers-guide/_index.adoc:2630
#, no-wrap
msgid "Commit Log for a Commit Needing Approval"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2613
+#: documentation/content/en/articles/committers-guide/_index.adoc:2635
msgid ""
"Commit a port, after working with the listed MAINTAINER, who said to go "
"ahead and commit."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2619
+#: documentation/content/en/articles/committers-guide/_index.adoc:2641
#, no-wrap
msgid "Approved by:\tabc (maintainer)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2622
+#: documentation/content/en/articles/committers-guide/_index.adoc:2644
msgid "Where _abc_ is the account name of the person who approved."
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2624
+#: documentation/content/en/articles/committers-guide/_index.adoc:2646
#, no-wrap
msgid "Commit Log for a Commit Bringing in Code from OpenBSD"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2629
+#: documentation/content/en/articles/committers-guide/_index.adoc:2651
msgid "Committing some code based on work done in the OpenBSD project."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2635
+#: documentation/content/en/articles/committers-guide/_index.adoc:2657
#, no-wrap
msgid "Obtained from:\tOpenBSD\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2639
+#: documentation/content/en/articles/committers-guide/_index.adoc:2661
#, no-wrap
msgid "Commit Log for a Change to FreeBSD-CURRENT with a Planned Commit to FreeBSD-STABLE to Follow at a Later Date."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2644
+#: documentation/content/en/articles/committers-guide/_index.adoc:2666
msgid ""
"Committing some code which will be merged from FreeBSD-CURRENT into the "
"FreeBSD-STABLE branch after two weeks."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2650
+#: documentation/content/en/articles/committers-guide/_index.adoc:2672
#, no-wrap
msgid "MFC after:\t2 weeks\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2653
+#: documentation/content/en/articles/committers-guide/_index.adoc:2675
msgid ""
"Where _2_ is the number of days, weeks, or months after which an MFC is "
"planned. The _weeks_ option may be `day`, `days`, `week`, `weeks`, `month`, "
"`months`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2656
+#: documentation/content/en/articles/committers-guide/_index.adoc:2678
msgid "It is often necessary to combine these."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2660
+#: documentation/content/en/articles/committers-guide/_index.adoc:2682
msgid ""
"Consider the situation where a user has submitted a PR containing code from "
"the NetBSD project. Looking at the PR, the developer sees it is not an area "
"of the tree they normally work in, so they have the change reviewed by the "
"`arch` mailing list. Since the change is complex, the developer opts to MFC "
"after one month to allow adequate testing."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2662
+#: documentation/content/en/articles/committers-guide/_index.adoc:2684
msgid ""
"The extra information to include in the commit would look something like"
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/committers-guide/_index.adoc:2663
+#: documentation/content/en/articles/committers-guide/_index.adoc:2685
#, no-wrap
msgid "Example Combined Commit Log"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2674
+#: documentation/content/en/articles/committers-guide/_index.adoc:2696
#, no-wrap
msgid ""
"PR:\t\t54321\n"
"Reviewed by:\t-arch\n"
"Obtained from:\tNetBSD\n"
"MFC after:\t1 month\n"
"Relnotes:\tyes\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2679
+#: documentation/content/en/articles/committers-guide/_index.adoc:2701
#, no-wrap
msgid "Preferred License for New Files"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2685
+#: documentation/content/en/articles/committers-guide/_index.adoc:2707
msgid ""
"The FreeBSD Project's full license policy can be found at link:https://www."
"FreeBSD.org/internal/software-license/[https://www.FreeBSD.org/internal/"
"software-license]. The rest of this section is intended to help you get "
"started. As a rule, when in doubt, ask. It is much easier to give advice "
"than to fix the source tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2687
+#: documentation/content/en/articles/committers-guide/_index.adoc:2709
msgid ""
"The FreeBSD Project suggests and uses this text as the preferred license "
"scheme:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2718
+#: documentation/content/en/articles/committers-guide/_index.adoc:2740
#, no-wrap
msgid ""
"/*-\n"
" * SPDX-License-Identifier: BSD-2-Clause\n"
" *\n"
" * Copyright (c) [year] [your name]\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
" * modification, are permitted provided that the following conditions\n"
" * are met:\n"
" * 1. Redistributions of source code must retain the above copyright\n"
" * notice, this list of conditions and the following disclaimer.\n"
" * 2. Redistributions in binary form must reproduce the above copyright\n"
" * notice, this list of conditions and the following disclaimer in the\n"
" * documentation and/or other materials provided with the distribution.\n"
" *\n"
" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
" * SUCH DAMAGE.\n"
" *\n"
" * [id for your version control system, if any]\n"
" */\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2724
+#: documentation/content/en/articles/committers-guide/_index.adoc:2746
msgid ""
"The FreeBSD project strongly discourages the so-called \"advertising "
"clause\" in new code. Due to the large number of contributors to the "
"FreeBSD project, complying with this clause for many commercial vendors has "
"become difficult. If you have code in the tree with the advertising clause, "
"please consider removing it. In fact, please consider using the above "
"license for your code."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2728
+#: documentation/content/en/articles/committers-guide/_index.adoc:2750
msgid ""
"The FreeBSD project discourages completely new licenses and variations on "
"the standard licenses. New licenses require the approval of {core-email} to "
"reside in the `src` repository. The more different licenses that are used "
"in the tree, the more problems that this causes to those wishing to utilize "
"this code, typically from unintended consequences from a poorly worded "
"license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2732
+#: documentation/content/en/articles/committers-guide/_index.adoc:2754
msgid ""
"Project policy dictates that code under some non-BSD licenses must be placed "
"only in specific sections of the repository, and in some cases, compilation "
"must be conditional or even disabled by default. For example, the GENERIC "
"kernel must be compiled under only licenses identical to or substantially "
"similar to the BSD license. GPL, APSL, CDDL, etc, licensed software must "
"not be compiled into GENERIC."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2735
+#: documentation/content/en/articles/committers-guide/_index.adoc:2757
msgid ""
"Developers are reminded that in open source, getting \"open\" right is just "
"as important as getting \"source\" right, as improper handling of "
"intellectual property has serious consequences. Any questions or concerns "
"should immediately be brought to the attention of the core team."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2737
+#: documentation/content/en/articles/committers-guide/_index.adoc:2759
#, no-wrap
msgid "Keeping Track of Licenses Granted to the FreeBSD Project"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2742
+#: documentation/content/en/articles/committers-guide/_index.adoc:2764
msgid ""
"Various software or data exist in the repositories where the FreeBSD project "
"has been granted a special license to be able to use them. A case in point "
"are the Terminus fonts for use with man:vt[4]. Here the author Dimitar "
"Zhekov has allowed us to use the \"Terminus BSD Console\" font under a 2-"
"clause BSD license rather than the regular Open Font License he normally "
"uses."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2747
+#: documentation/content/en/articles/committers-guide/_index.adoc:2769
msgid ""
"It is clearly sensible to keep a record of any such license grants. To that "
"end, the {core-email} has decided to keep an archive of them. Whenever the "
"FreeBSD project is granted a special license we require the {core-email} to "
"be notified. Any developers involved in arranging such a license grant, "
"please send details to the {core-email} including:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2749
+#: documentation/content/en/articles/committers-guide/_index.adoc:2771
msgid ""
"Contact details for people or organizations granting the special license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2750
+#: documentation/content/en/articles/committers-guide/_index.adoc:2772
msgid ""
"What files, directories etc. in the repositories are covered by the license "
"grant including the revision numbers where any specially licensed material "
"was committed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2751
+#: documentation/content/en/articles/committers-guide/_index.adoc:2773
msgid ""
"The date the license comes into effect from. Unless otherwise agreed, this "
"will be the date the license was issued by the authors of the software in "
"question."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2752
+#: documentation/content/en/articles/committers-guide/_index.adoc:2774
msgid "The license text."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2753
+#: documentation/content/en/articles/committers-guide/_index.adoc:2775
msgid ""
"A note of any restrictions, limitations or exceptions that apply "
"specifically to FreeBSD's usage of the licensed material."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2754
+#: documentation/content/en/articles/committers-guide/_index.adoc:2776
msgid "Any other relevant information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2757
+#: documentation/content/en/articles/committers-guide/_index.adoc:2779
msgid ""
"Once the {core-email} is satisfied that all the necessary details have been "
"gathered and are correct, the secretary will send a PGP-signed "
"acknowledgment of receipt including the license details. This receipt will "
"be persistently archived and serve as our permanent record of the license "
"grant."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2760
+#: documentation/content/en/articles/committers-guide/_index.adoc:2782
msgid ""
"The license archive should contain only details of license grants; this is "
"not the place for any discussions around licensing or other subjects. "
"Access to data within the license archive will be available on request to "
"the {core-email}."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2762
+#: documentation/content/en/articles/committers-guide/_index.adoc:2784
#, no-wrap
msgid "SPDX Tags in the tree"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2773
+#: documentation/content/en/articles/committers-guide/_index.adoc:2795
msgid ""
"The project uses https://spdx.dev[SPDX] tags in our source base. At "
"present, these tags are indented to help automated tools reconstruct license "
"requirements mechanically. All _SPDX-License-Identifier_ tags in the tree "
"should be considered to be informative. All files in the FreeBSD source "
"tree with these tags also have a copy of the license which governs use of "
"that file. In the event of a discrepancy, the verbatim license is "
"controlling. The project tries to follow the https://spdx.github.io/spdx-"
"spec/[SPDX Specification, Version 2.2]. How to mark source files and valid "
"algebraic expressions are found in https://spdx.github.io/spdx-spec/appendix-"
"IV-SPDX-license-expressions/[Appendix IV] and https://spdx.github.io/spdx-"
"spec/appendix-V-using-SPDX-short-identifiers-in-source-files/[Appendix V]. "
"The project draws identifiers from SPDX's list of valid https://spdx.org/"
"licenses/[short license identifiers]. The project uses only the _SPDX-"
"License-Identifier_ tag."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2775
+#: documentation/content/en/articles/committers-guide/_index.adoc:2797
msgid ""
"As of March 2021, approximately 25,000 out of 90,000 files in the tree have "
"been marked."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2776
+#: documentation/content/en/articles/committers-guide/_index.adoc:2798
#, no-wrap
msgid "Developer Relations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2782
+#: documentation/content/en/articles/committers-guide/_index.adoc:2804
msgid ""
"When working directly on your own code or on code which is already well "
"established as your responsibility, then there is probably little need to "
"check with other committers before jumping in with a commit. When working "
"on a bug in an area of the system which is clearly orphaned (and there are a "
"few such areas, to our shame), the same applies. When modifying parts of "
"the system which are maintained, formally or informally, consider asking for "
"a review just as a developer would have before becoming a committer. For "
"ports, contact the listed `MAINTAINER` in the [.filename]#Makefile#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2786
+#: documentation/content/en/articles/committers-guide/_index.adoc:2808
msgid ""
"To determine if an area of the tree is maintained, check the MAINTAINERS "
"file at the root of the tree. If nobody is listed, scan the revision "
"history to see who has committed changes in the past. To list the names and "
"email addresses of all commit authors for a given file in the last 2 years "
"and the number of commits each has authored, ordered by descending number of "
"commits, use:"
msgstr ""
#. type: delimited block - 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2790
+#: documentation/content/en/articles/committers-guide/_index.adoc:2812
#, no-wrap
msgid "% git -C /path/to/repo shortlog -sne --since=\"2 years\" -- relative/path/to/file\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2793
+#: documentation/content/en/articles/committers-guide/_index.adoc:2815
msgid ""
"If queries go unanswered or the committer otherwise indicates a lack of "
"interest in the area affected, go ahead and commit it."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2798
+#: documentation/content/en/articles/committers-guide/_index.adoc:2820
msgid ""
"Avoid sending private emails to maintainers. Other people might be "
"interested in the conversation, not just the final output."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2804
+#: documentation/content/en/articles/committers-guide/_index.adoc:2826
msgid ""
"If there is any doubt about a commit for any reason at all, have it reviewed "
"before committing. Better to have it flamed then and there rather than when "
"it is part of the repository. If a commit does results in controversy "
"erupting, it may be advisable to consider backing the change out again until "
"the matter is settled. Remember, with a version control system we can "
"always change it back."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2808
+#: documentation/content/en/articles/committers-guide/_index.adoc:2830
msgid ""
"Do not impugn the intentions of others. If they see a different solution to "
"a problem, or even a different problem, it is probably not because they are "
"stupid, because they have questionable parentage, or because they are trying "
"to destroy hard work, personal image, or FreeBSD, but basically because they "
"have a different outlook on the world. Different is good."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2811
+#: documentation/content/en/articles/committers-guide/_index.adoc:2833
msgid ""
"Disagree honestly. Argue your position from its merits, be honest about any "
"shortcomings it may have, and be open to seeing their solution, or even "
"their vision of the problem, with an open mind."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2817
+#: documentation/content/en/articles/committers-guide/_index.adoc:2839
msgid ""
"Accept correction. We are all fallible. When you have made a mistake, "
"apologize and get on with life. Do not beat up yourself, and certainly do "
"not beat up others for your mistake. Do not waste time on embarrassment or "
"recrimination, just fix the problem and move on."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2821
+#: documentation/content/en/articles/committers-guide/_index.adoc:2843
msgid ""
"Ask for help. Seek out (and give) peer reviews. One of the ways open "
"source software is supposed to excel is in the number of eyeballs applied to "
"it; this does not apply if nobody will review code."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2823
+#: documentation/content/en/articles/committers-guide/_index.adoc:2845
#, no-wrap
msgid "If in Doubt..."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2827
+#: documentation/content/en/articles/committers-guide/_index.adoc:2849
msgid ""
"When unsure about something, whether it be a technical issue or a project "
"convention be sure to ask. If you stay silent you will never make progress."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2831
+#: documentation/content/en/articles/committers-guide/_index.adoc:2853
msgid ""
"If it relates to a technical issue ask on the public mailing lists. Avoid "
"the temptation to email the individual person that knows the answer. This "
"way everyone will be able to learn from the question and the answer."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2833
+#: documentation/content/en/articles/committers-guide/_index.adoc:2855
msgid "For project specific or administrative questions ask, in order:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2835
+#: documentation/content/en/articles/committers-guide/_index.adoc:2857
msgid "Your mentor or former mentor."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2836
+#: documentation/content/en/articles/committers-guide/_index.adoc:2858
msgid "An experienced committer on IRC, email, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2837
+#: documentation/content/en/articles/committers-guide/_index.adoc:2859
msgid "Any team with a \"hat\", as they can give you a definitive answer."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2838
+#: documentation/content/en/articles/committers-guide/_index.adoc:2860
msgid "If still not sure, ask on {developers-name}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2840
+#: documentation/content/en/articles/committers-guide/_index.adoc:2862
msgid ""
"Once your question is answered, if no one pointed you to documentation that "
"spelled out the answer to your question, document it, as others will have "
"the same question."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2842
+#: documentation/content/en/articles/committers-guide/_index.adoc:2864
#, no-wrap
msgid "Bugzilla"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2847
+#: documentation/content/en/articles/committers-guide/_index.adoc:2869
msgid ""
"The FreeBSD Project utilizes Bugzilla for tracking bugs and change "
-"requests. Be sure that if you commit a fix or suggestion found in the PR "
-"database to close it. It is also considered nice if you take time to close "
-"any PRs associated with your commits, if appropriate."
+"requests. If you commit a fix or suggestion found in the PR database, be "
+"sure to close the PR. It is also considered nice if you take time to close "
+"any other PRs associated with your commits."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2849
+#: documentation/content/en/articles/committers-guide/_index.adoc:2871
msgid ""
"Committers with non-``FreeBSD.org`` Bugzilla accounts can have the old "
"account merged with the `FreeBSD.org` account by following these steps:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2853
+#: documentation/content/en/articles/committers-guide/_index.adoc:2875
msgid "Log in using your old account."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2854
+#: documentation/content/en/articles/committers-guide/_index.adoc:2876
msgid ""
"Open new bug. Choose `Services` as the Product, and `Bug Tracker` as the "
"Component. In bug description list accounts you wish to be merged."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2855
+#: documentation/content/en/articles/committers-guide/_index.adoc:2877
msgid ""
"Log in using `FreeBSD.org` account and post comment to newly opened bug to "
"confirm ownership. See <<kerberos-ldap>> for more details on how to generate "
"or set a password for your `FreeBSD.org` account."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2856
+#: documentation/content/en/articles/committers-guide/_index.adoc:2878
msgid ""
"If there are more than two accounts to merge, post comments from each of "
"them."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2859
+#: documentation/content/en/articles/committers-guide/_index.adoc:2881
msgid "You can find out more about Bugzilla at:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2861
+#: documentation/content/en/articles/committers-guide/_index.adoc:2883
msgid "extref:{pr-guidelines}[FreeBSD Problem Report Handling Guidelines]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2862
+#: documentation/content/en/articles/committers-guide/_index.adoc:2884
msgid "link:https://www.FreeBSD.org/support/[https://www.FreeBSD.org/support]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2864
+#: documentation/content/en/articles/committers-guide/_index.adoc:2886
#, no-wrap
msgid "Phabricator"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2868
+#: documentation/content/en/articles/committers-guide/_index.adoc:2890
msgid ""
"The FreeBSD Project utilizes https://reviews.freebsd.org[Phabricator] for "
"code review requests. See the https://wiki.freebsd.org/"
"Phabricator[Phabricator wiki page] for details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2870
+#: documentation/content/en/articles/committers-guide/_index.adoc:2892
msgid ""
"Committers with non-``FreeBSD.org`` Phabricator accounts can have the old "
"account renamed to the ``FreeBSD.org`` account by following these steps:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2874
+#: documentation/content/en/articles/committers-guide/_index.adoc:2896
msgid "Change your Phabricator account email to your `FreeBSD.org` email."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2875
+#: documentation/content/en/articles/committers-guide/_index.adoc:2897
msgid ""
"Open new bug on our bug tracker using your `FreeBSD.org` account, see "
"<<bugzilla>> for more information. Choose `Services` as the Product, and "
"`Code Review` as the Component. In bug description request that your "
"Phabricator account be renamed, and provide a link to your Phabricator user. "
"For example, `https://reviews.freebsd.org/p/bob_example.com/`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2880
+#: documentation/content/en/articles/committers-guide/_index.adoc:2902
msgid ""
"Phabricator accounts cannot be merged, please do not open a new account."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2883
+#: documentation/content/en/articles/committers-guide/_index.adoc:2905
#, no-wrap
msgid "Who's Who"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2886
+#: documentation/content/en/articles/committers-guide/_index.adoc:2908
msgid ""
"Besides the repository meisters, there are other FreeBSD project members and "
"teams whom you will probably get to know in your role as a committer. "
"Briefly, and by no means all-inclusively, these are:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/committers-guide/_index.adoc:2887
+#: documentation/content/en/articles/committers-guide/_index.adoc:2909
#, no-wrap
msgid "`{doceng}`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2893
+#: documentation/content/en/articles/committers-guide/_index.adoc:2915
msgid ""
"doceng is the group responsible for the documentation build infrastructure, "
"approving new documentation committers, and ensuring that the FreeBSD "
"website and documentation on the FTP site is up to date with respect to the "
"Subversion tree. It is not a conflict resolution body. The vast majority "
"of documentation related discussion takes place on the {freebsd-doc}. More "
"details regarding the doceng team can be found in its https://www.FreeBSD."
"org/internal/doceng/[charter]. Committers interested in contributing to the "
"documentation should familiarize themselves with the extref:{fdp-primer}"
"[Documentation Project Primer]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/committers-guide/_index.adoc:2894
+#: documentation/content/en/articles/committers-guide/_index.adoc:2916
#, no-wrap
msgid "`{re-members}`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2899
+#: documentation/content/en/articles/committers-guide/_index.adoc:2921
msgid ""
"These are the members of the `{re}`. This team is responsible for setting "
"release deadlines and controlling the release process. During code freezes, "
"the release engineers have final authority on all changes to the system for "
"whichever branch is pending release status. If there is something you want "
"merged from FreeBSD-CURRENT to FreeBSD-STABLE (whatever values those may "
"have at any given time), these are the people to talk to about it."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/committers-guide/_index.adoc:2900
+#: documentation/content/en/articles/committers-guide/_index.adoc:2922
#, no-wrap
msgid "`{so}`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2902
+#: documentation/content/en/articles/committers-guide/_index.adoc:2924
msgid ""
"`{so-name}` is the link:https://www.FreeBSD.org/security/[FreeBSD Security "
"Officer] and oversees the `{security-officer}`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2907
+#: documentation/content/en/articles/committers-guide/_index.adoc:2929
msgid ""
"{committers-name}:: {dev-src-all}, {dev-ports-all} and {dev-doc-all} are the "
"mailing lists that the version control system uses to send commit messages "
"to. _Never_ send email directly to these lists. Only send replies to this "
"list when they are short and are directly related to a commit."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2912
+#: documentation/content/en/articles/committers-guide/_index.adoc:2934
msgid ""
"{developers-name}:: All committers are subscribed to -developers. This list "
"was created to be a forum for the committers \"community\" issues. Examples "
"are Core voting, announcements, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2916
+#: documentation/content/en/articles/committers-guide/_index.adoc:2938
msgid ""
"The {developers-name} is for the exclusive use of FreeBSD committers. To "
"develop FreeBSD, committers must have the ability to openly discuss matters "
"that will be resolved before they are publicly announced. Frank discussions "
"of work in progress are not suitable for open publication and may harm "
"FreeBSD."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2920
+#: documentation/content/en/articles/committers-guide/_index.adoc:2942
msgid ""
"All FreeBSD committers are expected not to not publish or forward messages "
"from the {developers-name} outside the list membership without permission of "
"all of the authors. Violators will be removed from the {developers-name}, "
"resulting in a suspension of commit privileges. Repeated or flagrant "
"violations may result in permanent revocation of commit privileges."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2926
+#: documentation/content/en/articles/committers-guide/_index.adoc:2948
msgid ""
"This list is _not_ intended as a place for code reviews or for any technical "
"discussion. In fact using it as such hurts the FreeBSD Project as it gives "
"a sense of a closed list where general decisions affecting all of the "
"FreeBSD using community are made without being \"open\". Last, but not "
"least __never, never ever, email the {developers-name} and CC:/BCC: another "
"FreeBSD list__. Never, ever email another FreeBSD email list and CC:/BCC: "
"the {developers-name}. Doing so can greatly diminish the benefits of this "
"list."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2927
+#: documentation/content/en/articles/committers-guide/_index.adoc:2949
#, no-wrap
msgid "SSH Quick-Start Guide"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2932
+#: documentation/content/en/articles/committers-guide/_index.adoc:2954
msgid ""
"If you do not wish to type your password in every time you use man:ssh[1], "
"and you use keys to authenticate, man:ssh-agent[1] is there for your "
"convenience. If you want to use man:ssh-agent[1], make sure that you run it "
"before running other applications. X users, for example, usually do this "
"from their [.filename]#.xsession# or [.filename]#.xinitrc#. See man:ssh-"
"agent[1] for details."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2933
+#: documentation/content/en/articles/committers-guide/_index.adoc:2955
msgid ""
"Generate a key pair using man:ssh-keygen[1]. The key pair will wind up in "
"your [.filename]#$HOME/.ssh/# directory."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:2937
+#: documentation/content/en/articles/committers-guide/_index.adoc:2959
msgid "Only ECDSA, Ed25519 or RSA keys are supported."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:2939
+#: documentation/content/en/articles/committers-guide/_index.adoc:2961
msgid ""
"Send your public key ([.filename]#$HOME/.ssh/id_ecdsa.pub#, [."
"filename]#$HOME/.ssh/id_ed25519.pub#, or [.filename]#$HOME/.ssh/id_rsa.pub#) "
"to the person setting you up as a committer so it can be put into [."
"filename]#yourlogin# in [.filename]#/etc/ssh-keys/# on `freefall`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2944
+#: documentation/content/en/articles/committers-guide/_index.adoc:2966
msgid ""
"Now man:ssh-add[1] can be used for authentication once per session. It "
"prompts for the private key's pass phrase, and then stores it in the "
"authentication agent (man:ssh-agent[1]). Use `ssh-add -d` to remove keys "
"stored in the agent."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2946
+#: documentation/content/en/articles/committers-guide/_index.adoc:2968
msgid "Test with a simple remote command: `ssh freefall.FreeBSD.org ls /usr`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2948
+#: documentation/content/en/articles/committers-guide/_index.adoc:2970
msgid ""
"For more information, see package:security/openssh-portable[], man:ssh[1], "
"man:ssh-add[1], man:ssh-agent[1], man:ssh-keygen[1], and man:scp[1]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2950
+#: documentation/content/en/articles/committers-guide/_index.adoc:2972
msgid ""
"For information on adding, changing, or removing man:ssh[1] keys, see "
"https://wiki.freebsd.org/clusteradm/ssh-keys[this article]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2952
+#: documentation/content/en/articles/committers-guide/_index.adoc:2974
#, no-wrap
msgid "Coverity(R) Availability for FreeBSD Committers"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2956
+#: documentation/content/en/articles/committers-guide/_index.adoc:2978
msgid ""
"All FreeBSD developers can obtain access to Coverity analysis results of all "
"FreeBSD Project software. All who are interested in obtaining access to the "
"analysis results of the automated Coverity runs, can sign up at http://scan."
"coverity.com/[Coverity Scan]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2959
+#: documentation/content/en/articles/committers-guide/_index.adoc:2981
msgid ""
"The FreeBSD wiki includes a mini-guide for developers who are interested in "
"working with the Coverity(R) analysis reports: https://wiki.freebsd.org/"
"CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. Please note that "
"this mini-guide is only readable by FreeBSD developers, so if you cannot "
"access this page, you will have to ask someone to add you to the appropriate "
"Wiki access list."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2961
+#: documentation/content/en/articles/committers-guide/_index.adoc:2983
msgid ""
"Finally, all FreeBSD developers who are going to use Coverity(R) are always "
"encouraged to ask for more details and usage information, by posting any "
"questions to the mailing list of the FreeBSD developers."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:2963
+#: documentation/content/en/articles/committers-guide/_index.adoc:2985
#, no-wrap
msgid "The FreeBSD Committers' Big List of Rules"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2968
+#: documentation/content/en/articles/committers-guide/_index.adoc:2990
msgid ""
"Everyone involved with the FreeBSD project is expected to abide by the _Code "
"of Conduct_ available from link:https://www.FreeBSD.org/internal/code-of-"
"conduct/[https://www.FreeBSD.org/internal/code-of-conduct]. As committers, "
"you form the public face of the project, and how you behave has a vital "
"impact on the public perception of it. This guide expands on the parts of "
"the _Code of Conduct_ specific to committers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2970
-#: documentation/content/en/articles/committers-guide/_index.adoc:3000
+#: documentation/content/en/articles/committers-guide/_index.adoc:2992
+#: documentation/content/en/articles/committers-guide/_index.adoc:3022
msgid "Respect other committers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2971
-#: documentation/content/en/articles/committers-guide/_index.adoc:3016
+#: documentation/content/en/articles/committers-guide/_index.adoc:2993
+#: documentation/content/en/articles/committers-guide/_index.adoc:3038
msgid "Respect other contributors."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2972
-#: documentation/content/en/articles/committers-guide/_index.adoc:3031
+#: documentation/content/en/articles/committers-guide/_index.adoc:2994
+#: documentation/content/en/articles/committers-guide/_index.adoc:3053
msgid "Discuss any significant change _before_ committing."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2973
+#: documentation/content/en/articles/committers-guide/_index.adoc:2995
msgid ""
"Respect existing maintainers (if listed in the `MAINTAINER` field in [."
"filename]#Makefile# or in [.filename]#MAINTAINER# in the top-level "
"directory)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2974
-#: documentation/content/en/articles/committers-guide/_index.adoc:3046
+#: documentation/content/en/articles/committers-guide/_index.adoc:2996
+#: documentation/content/en/articles/committers-guide/_index.adoc:3068
msgid ""
"Any disputed change must be backed out pending resolution of the dispute if "
"requested by a maintainer. Security related changes may override a "
"maintainer's wishes at the Security Officer's discretion."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2975
+#: documentation/content/en/articles/committers-guide/_index.adoc:2997
msgid ""
"Changes go to FreeBSD-CURRENT before FreeBSD-STABLE unless specifically "
"permitted by the release engineer or unless they are not applicable to "
"FreeBSD-CURRENT. Any non-trivial or non-urgent change which is applicable "
"should also be allowed to sit in FreeBSD-CURRENT for at least 3 days before "
"merging so that it can be given sufficient testing. The release engineer has "
"the same authority over the FreeBSD-STABLE branch as outlined for the "
"maintainer in rule #5."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2976
-#: documentation/content/en/articles/committers-guide/_index.adoc:3061
+#: documentation/content/en/articles/committers-guide/_index.adoc:2998
+#: documentation/content/en/articles/committers-guide/_index.adoc:3083
msgid "Do not fight in public with other committers; it looks bad."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2977
+#: documentation/content/en/articles/committers-guide/_index.adoc:2999
msgid ""
"Respect all code freezes and read the `committers` and `developers` mailing "
"lists in a timely manner so you know when a code freeze is in effect."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2978
-#: documentation/content/en/articles/committers-guide/_index.adoc:3076
+#: documentation/content/en/articles/committers-guide/_index.adoc:3000
+#: documentation/content/en/articles/committers-guide/_index.adoc:3098
msgid "When in doubt on any procedure, ask first!"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2979
-#: documentation/content/en/articles/committers-guide/_index.adoc:3081
+#: documentation/content/en/articles/committers-guide/_index.adoc:3001
+#: documentation/content/en/articles/committers-guide/_index.adoc:3103
msgid "Test your changes before committing them."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2980
-#: documentation/content/en/articles/committers-guide/_index.adoc:3090
+#: documentation/content/en/articles/committers-guide/_index.adoc:3002
+#: documentation/content/en/articles/committers-guide/_index.adoc:3112
msgid ""
"Do not commit to contributed software without _explicit_ approval from the "
"respective maintainers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2991
+#: documentation/content/en/articles/committers-guide/_index.adoc:3013
msgid ""
"As noted, breaking some of these rules can be grounds for suspension or, "
"upon repeated offense, permanent removal of commit privileges. Individual "
"members of core have the power to temporarily suspend commit privileges "
"until core as a whole has the chance to review the issue. In case of an "
"\"emergency\" (a committer doing damage to the repository), a temporary "
"suspension may also be done by the repository meisters. Only a 2/3 majority "
"of core has the authority to suspend commit privileges for longer than a "
"week or to remove them permanently. This rule does not exist to set core up "
"as a bunch of cruel dictators who can dispose of committers as casually as "
"empty soda cans, but to give the project a kind of safety fuse. If someone "
"is out of control, it is important to be able to deal with this immediately "
"rather than be paralyzed by debate. In all cases, a committer whose "
"privileges are suspended or revoked is entitled to a \"hearing\" by core, "
"the total duration of the suspension being determined at that time. A "
"committer whose privileges are suspended may also request a review of the "
"decision after 30 days and every 30 days thereafter (unless the total "
"suspension period is less than 30 days). A committer whose privileges have "
"been revoked entirely may request a review after a period of 6 months has "
"elapsed. This review policy is _strictly informal_ and, in all cases, core "
"reserves the right to either act on or disregard requests for review if they "
"feel their original decision to be the right one."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:2995
+#: documentation/content/en/articles/committers-guide/_index.adoc:3017
msgid ""
"In all other aspects of project operation, core is a subset of committers "
"and is bound by the __same rules__. Just because someone is in core this "
"does not mean that they have special dispensation to step outside any of the "
"lines painted here; core's \"special powers\" only kick in when it acts as a "
"group, not on an individual basis. As individuals, the core team members "
"are all committers first and core second."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:2996
+#: documentation/content/en/articles/committers-guide/_index.adoc:3018
#, no-wrap
msgid "Details"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3004
+#: documentation/content/en/articles/committers-guide/_index.adoc:3026
msgid ""
"This means that you need to treat other committers as the peer-group "
"developers that they are. Despite our occasional attempts to prove the "
"contrary, one does not get to be a committer by being stupid and nothing "
"rankles more than being treated that way by one of your peers. Whether we "
"always feel respect for one another or not (and everyone has off days), we "
"still have to _treat_ other committers with respect at all times, on public "
"forums and in private email."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3006
+#: documentation/content/en/articles/committers-guide/_index.adoc:3028
msgid ""
"Being able to work together long term is this project's greatest asset, one "
"far more important than any set of changes to the code, and turning "
"arguments about code into issues that affect our long-term ability to work "
"harmoniously together is just not worth the trade-off by any conceivable "
"stretch of the imagination."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3012
+#: documentation/content/en/articles/committers-guide/_index.adoc:3034
msgid ""
"To comply with this rule, do not send email when you are angry or otherwise "
"behave in a manner which is likely to strike others as needlessly "
"confrontational. First calm down, then think about how to communicate in "
"the most effective fashion for convincing the other persons that your side "
"of the argument is correct, do not just blow off some steam so you can feel "
"better in the short term at the cost of a long-term flame war. Not only is "
"this very bad \"energy economics\", but repeated displays of public "
"aggression which impair our ability to work well together will be dealt with "
"severely by the project leadership and may result in suspension or "
"termination of your commit privileges. The project leadership will take "
"into account both public and private communications brought before it. It "
"will not seek the disclosure of private communications, but it will take it "
"into account if it is volunteered by the committers involved in the "
"complaint."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3015
+#: documentation/content/en/articles/committers-guide/_index.adoc:3037
msgid ""
"All of this is never an option which the project's leadership enjoys in the "
"slightest, but unity comes first. No amount of code or good advice is worth "
"trading that away."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3028
+#: documentation/content/en/articles/committers-guide/_index.adoc:3050
msgid ""
"You were not always a committer. At one time you were a contributor. "
"Remember that at all times. Remember what it was like trying to get help "
"and attention. Do not forget that your work as a contributor was very "
"important to you. Remember what it was like. Do not discourage, belittle, "
"or demean contributors. Treat them with respect. They are our committers in "
"waiting. They are every bit as important to the project as committers. "
"Their contributions are as valid and as important as your own. After all, "
"you made many contributions before you became a committer. Always remember "
"that."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3030
+#: documentation/content/en/articles/committers-guide/_index.adoc:3052
msgid ""
"Consider the points raised under <<respect,Respect other committers>> and "
"apply them also to contributors."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3037
+#: documentation/content/en/articles/committers-guide/_index.adoc:3059
msgid ""
"The repository is not where changes are initially submitted for correctness "
"or argued over, that happens first in the mailing lists or by use of the "
"Phabricator service. The commit will only happen once something resembling "
"consensus has been reached. This does not mean that permission is required "
"before correcting every obvious syntax error or manual page misspelling, "
"just that it is good to develop a feel for when a proposed change is not "
"quite such a no-brainer and requires some feedback first. People really do "
"not mind sweeping changes if the result is something clearly better than "
"what they had before, they just do not like being _surprised_ by those "
"changes. The very best way of making sure that things are on the right "
"track is to have code reviewed by one or more other committers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3039
+#: documentation/content/en/articles/committers-guide/_index.adoc:3061
msgid "When in doubt, ask for review!"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3040
+#: documentation/content/en/articles/committers-guide/_index.adoc:3062
msgid "Respect existing maintainers if listed."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3045
+#: documentation/content/en/articles/committers-guide/_index.adoc:3067
msgid ""
"Many parts of FreeBSD are not \"owned\" in the sense that any specific "
"individual will jump up and yell if you commit a change to \"their\" area, "
"but it still pays to check first. One convention we use is to put a "
"maintainer line in the [.filename]#Makefile# for any package or subtree "
"which is being actively maintained by one or more people; see extref:"
"{developers-handbook}[Source Tree Guidelines and Policies, policies] for "
"documentation on this. Where sections of code have several maintainers, "
"commits to affected areas by one maintainer need to be reviewed by at least "
"one other maintainer. In cases where the \"maintainer-ship\" of something "
"is not clear, look at the repository logs for the files in question and see "
"if someone has been working recently or predominantly in that area."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3051
+#: documentation/content/en/articles/committers-guide/_index.adoc:3073
msgid ""
"This may be hard to swallow in times of conflict (when each side is "
"convinced that they are in the right, of course) but a version control "
"system makes it unnecessary to have an ongoing dispute raging when it is far "
"easier to simply reverse the disputed change, get everyone calmed down again "
"and then try to figure out what is the best way to proceed. If the change "
"turns out to be the best thing after all, it can be easily brought back. If "
"it turns out not to be, then the users did not have to live with the bogus "
"change in the tree while everyone was busily debating its merits. People "
"_very_ rarely call for back-outs in the repository since discussion "
"generally exposes bad or controversial changes before the commit even "
"happens, but on such rare occasions the back-out should be done without "
"argument so that we can get immediately on to the topic of figuring out "
"whether it was bogus or not."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3052
+#: documentation/content/en/articles/committers-guide/_index.adoc:3074
msgid ""
"Changes go to FreeBSD-CURRENT before FreeBSD-STABLE unless specifically "
"permitted by the release engineer or unless they are not applicable to "
"FreeBSD-CURRENT. Any non-trivial or non-urgent change which is applicable "
"should also be allowed to sit in FreeBSD-CURRENT for at least 3 days before "
"merging so that it can be given sufficient testing. The release engineer has "
"the same authority over the FreeBSD-STABLE branch as outlined in rule #5."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3058
+#: documentation/content/en/articles/committers-guide/_index.adoc:3080
msgid ""
"This is another \"do not argue about it\" issue since it is the release "
"engineer who is ultimately responsible (and gets beaten up) if a change "
"turns out to be bad. Please respect this and give the release engineer your "
"full cooperation when it comes to the FreeBSD-STABLE branch. The management "
"of FreeBSD-STABLE may frequently seem to be overly conservative to the "
"casual observer, but also bear in mind the fact that conservatism is "
"supposed to be the hallmark of FreeBSD-STABLE and different rules apply "
"there than in FreeBSD-CURRENT. There is also really no point in having "
"FreeBSD-CURRENT be a testing ground if changes are merged over to FreeBSD-"
"STABLE immediately. Changes need a chance to be tested by the FreeBSD-"
"CURRENT developers, so allow some time to elapse before merging unless the "
"FreeBSD-STABLE fix is critical, time sensitive or so obvious as to make "
"further testing unnecessary (spelling fixes to manual pages, obvious bug/"
"typo fixes, etc.) In other words, apply common sense."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3060
+#: documentation/content/en/articles/committers-guide/_index.adoc:3082
msgid ""
"Changes to the security branches (for example, `releng/9.3`) must be "
"approved by a member of the `{security-officer}`, or in some cases, by a "
"member of the `{re}`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3071
+#: documentation/content/en/articles/committers-guide/_index.adoc:3093
msgid ""
"This project has a public image to uphold and that image is very important "
"to all of us, especially if we are to continue to attract new members. "
"There will be occasions when, despite everyone's very best attempts at self-"
"control, tempers are lost and angry words are exchanged. The best thing "
"that can be done in such cases is to minimize the effects of this until "
"everyone has cooled back down. Do not air angry words in public and do not "
"forward private correspondence or other private communications to public "
"mailing lists, mail aliases, instant messaging channels or social media "
"sites. What people say one-to-one is often much less sugar-coated than what "
"they would say in public, and such communications therefore have no place "
"there - they only serve to inflame an already bad situation. If the person "
"sending a flame-o-gram at least had the grace to send it privately, then "
"have the grace to keep it private yourself. If you feel you are being "
"unfairly treated by another developer, and it is causing you anguish, bring "
"the matter up with core rather than taking it public. Core will do its best "
"to play peace makers and get things back to sanity. In cases where the "
"dispute involves a change to the codebase and the participants do not appear "
"to be reaching an amicable agreement, core may appoint a mutually-agreeable "
"third party to resolve the dispute. All parties involved must then agree to "
"be bound by the decision reached by this third party."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3072
+#: documentation/content/en/articles/committers-guide/_index.adoc:3094
msgid ""
"Respect all code freezes and read the `committers` and `developers` mailing "
"list on a timely basis so you know when a code freeze is in effect."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3075
+#: documentation/content/en/articles/committers-guide/_index.adoc:3097
msgid ""
"Committing unapproved changes during a code freeze is a really big mistake "
"and committers are expected to keep up-to-date on what is going on before "
"jumping in after a long absence and committing 10 megabytes worth of "
"accumulated stuff. People who abuse this on a regular basis will have their "
"commit privileges suspended until they get back from the FreeBSD Happy "
"Reeducation Camp we run in Greenland."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3080
+#: documentation/content/en/articles/committers-guide/_index.adoc:3102
msgid ""
"Many mistakes are made because someone is in a hurry and just assumes they "
"know the right way of doing something. If you have not done it before, "
"chances are good that you do not actually know the way we do things and "
"really need to ask first or you are going to completely embarrass yourself "
"in public. There is no shame in asking \"how in the heck do I do this?\" We "
"already know you are an intelligent person; otherwise, you would not be a "
"committer."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3089
+#: documentation/content/en/articles/committers-guide/_index.adoc:3111
msgid ""
"If your changes are to the kernel, make sure you can still compile both "
"GENERIC and LINT. If your changes are anywhere else, make sure you can "
"still make world. If your changes are to a branch, make sure your testing "
"occurs with a machine which is running that code. If you have a change "
"which also may break another architecture, be sure and test on all supported "
"architectures. Please ensure your change works for <<compilers,supported "
"toolchains>>. Please refer to the https://www.FreeBSD.org/internal/[FreeBSD "
"Internal Page] for a list of available resources. As other architectures "
"are added to the FreeBSD supported platforms list, the appropriate shared "
"testing resources will be made available."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3092
+#: documentation/content/en/articles/committers-guide/_index.adoc:3114
msgid ""
"Contributed software is anything under the [.filename]#src/contrib#, [."
"filename]#src/crypto#, or [.filename]#src/sys/contrib# trees."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3097
+#: documentation/content/en/articles/committers-guide/_index.adoc:3119
msgid ""
"The trees mentioned above are for contributed software usually imported onto "
"a vendor branch. Committing something there may cause unnecessary headaches "
"when importing newer versions of the software. As a general consider "
"sending patches upstream to the vendor. Patches may be committed to FreeBSD "
"first with permission of the maintainer."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3101
+#: documentation/content/en/articles/committers-guide/_index.adoc:3123
msgid ""
"Reasons for modifying upstream software range from wanting strict control "
"over a tightly coupled dependency to lack of portability in the canonical "
"repository's distribution of their code. Regardless of the reason, effort "
"to minimize the maintenance burden of fork is helpful to fellow "
"maintainers. Avoid committing trivial or cosmetic changes to files since it "
"makes every merge thereafter more difficult: such patches need to be "
"manually re-verified every import."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3104
+#: documentation/content/en/articles/committers-guide/_index.adoc:3126
msgid ""
"If a particular piece of software lacks a maintainer, you are encouraged to "
"take up ownership. If you are unsure of the current maintainership email "
"{freebsd-arch} and ask."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3105
+#: documentation/content/en/articles/committers-guide/_index.adoc:3127
#, no-wrap
msgid "Policy on Multiple Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3109
+#: documentation/content/en/articles/committers-guide/_index.adoc:3131
msgid ""
"FreeBSD has added several new architecture ports during recent release "
"cycles and is truly no longer an i386(TM) centric operating system. In an "
"effort to make it easier to keep FreeBSD portable across the platforms we "
"support, core has developed this mandate:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3113
+#: documentation/content/en/articles/committers-guide/_index.adoc:3135
msgid ""
"Our 32-bit reference platform is i386, and our 64-bit reference platform is "
"amd64. Major design work (including major API and ABI changes) must prove "
"itself on at least one 32-bit and at least one 64-bit platform, preferably "
"the primary reference platforms, before it may be committed to the source "
"tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3117
+#: documentation/content/en/articles/committers-guide/_index.adoc:3139
msgid ""
"Developers should also be aware of our Tier Policy for the long term support "
"of hardware architectures. The rules here are intended to provide guidance "
"during the development process, and are distinct from the requirements for "
"features and architectures listed in that section. The Tier rules for "
"feature support on architectures at release-time are more strict than the "
"rules for changes during the development process."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3119
+#: documentation/content/en/articles/committers-guide/_index.adoc:3141
#, no-wrap
msgid "Policy on Multiple Compilers"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3133
+#: documentation/content/en/articles/committers-guide/_index.adoc:3155
msgid ""
"FreeBSD builds with both Clang and GCC. The project does this in a careful "
"and controlled way to maximize benefits from this extra work, while keeping "
"the extra work to a minimum. Supporting both Clang and GCC improves the "
"flexibility our users have. These compilers have different strengths and "
"weaknesses, and supporting both allows users to pick the best one for their "
"needs. Clang and GCC support similar dialects of C and C++, necessitating a "
"relatively small amount of conditional code. The project gains increased "
"code coverage and improves the code quality by using features from both "
"compilers. The project is able to build in more user environments and "
"leverage more CI environments by supporting this range, increasing "
"convenience for users and giving them more tools to test with. By carefully "
"constraining the range of versions supported to modern versions of these "
"compilers, the project avoids unduely increasing the testing matrix. Older "
"and obscure compilers, as well as older dialects of the langauges, have "
"extremely limited support that allow user programs to build with them, but "
"without constraining the base system to being built with them. The exact "
"balance continues to evolve to ensure the benefits of extra work remain "
"greater than the burdens it imposes. The project used to support really old "
"Intel compilers or old GCC versions, but we traded supporting those obsolete "
"compilers for a carefully selected range of modern compilers. This section "
"documents where we use different compilers, and the expectations around that."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3138
+#: documentation/content/en/articles/committers-guide/_index.adoc:3160
msgid ""
"The FreeBSD project provides an in-tree Clang compiler. Due to being in the "
"tree, this compiler is the most supported compiler. All changes must "
"compile with it, prior to commit. Complete testing, as appropriate for the "
"change, should be done with this compiler."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3146
+#: documentation/content/en/articles/committers-guide/_index.adoc:3168
msgid ""
"At any moment in time, the FreeBSD project also supports one or more out-of-"
"tree compilers. At present, this is GCC 12.x. Ideally, committers should "
"test compile with this compiler, especially for large or risky changes. "
"This compiler is available as the `${TARGET_ARCH}-gcc${VERSION}` package, "
"such as package:devel/freebsd-gcc12@aarch64[aarch64-gcc12] or package:devel/"
"freebsd-gcc12@riscv64[riscv64-gcc12]. The project runs automated CI jobs to "
"build everything with these compilers. Committers are expected to fix the "
"jobs they break with their changes. Committers may test build with, for "
"example `CROSS_TOOLCHAIN=aarch64-gcc12` or `CROSS_TOOLCHAIN=llvm15` where "
"necessary."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3150
+#: documentation/content/en/articles/committers-guide/_index.adoc:3172
msgid ""
"The FreeBSD project also has some CI pipelines on github. For pull requests "
"on github and some branches pushed to the github forks, a number of cross "
"compilation jobs run. These test FreeBSD building using a version of Clang "
"that sometimes lags the in-tree compiler by a major version for a time."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3156
+#: documentation/content/en/articles/committers-guide/_index.adoc:3178
msgid ""
"The FreeBSD project is also upgrading compilers. Both Clang and GCC are "
"fast moving targets. Some work to change things in the tree, for example "
"removing the old-style K&R function declarations and definitions, will land "
"in the tree prior to the compiler landing. Committers should try to be "
"mindful about this and be receptive to looking into problems with their code "
"or changes with these new compilers. Also, just after a new compiler "
"version hits the tree, people may need to compile things with the old "
"version if there was an undetected regression suspected."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3160
+#: documentation/content/en/articles/committers-guide/_index.adoc:3182
msgid ""
"In addition to the compiler, LLVM's LLD and GNU's binutils are used "
"indirectly by the compiler. Committers should be mindful of variations in "
"assembler syntax and features of the linkers and ensure both variants work. "
"These components will be tested as part of FreeBSD's CI jobs for Clang or "
"GCC."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3166
+#: documentation/content/en/articles/committers-guide/_index.adoc:3188
msgid ""
"The FreeBSD project provides headers and libraries that allow other "
"compilers to be used to build software not in the base system. These "
"headers have support for making the environment as strict as the standard, "
"supporting prior dialects of ANSI-C back to C89, and other edge cases our "
"large ports collection has uncovered. This support constrains retirement of "
"older standards in places like header files, but does not constrain updating "
"the base system to newer dialects. Nor does it require the base system to "
"compile with these older standards as a whole. Breaking this support will "
"cause packages in the ports collection to fail, so should be avoided where "
"possible, and promptly fixed when it is easy to do so."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3171
+#: documentation/content/en/articles/committers-guide/_index.adoc:3193
msgid ""
"The FreeBSD build system currently accommodates these different "
"environments. As new warnings are added to compilers, the project tries to "
"fix them. However, sometimes these warnings require extensive rework, so "
"are suppressed in some way by using make variables that evaluate to the "
"proper thing depending on the compiler version. Developers should be "
"mindful of this, and ensure any compiler specific flags are properly "
"conditionalized."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3172
+#: documentation/content/en/articles/committers-guide/_index.adoc:3194
#, no-wrap
msgid "Current Compiler Versions"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3177
+#: documentation/content/en/articles/committers-guide/_index.adoc:3199
msgid ""
"The in-tree compiler is currently Clang 15.x. Currently, GCC 12 and Clang "
"12, 13, 14 and 15 are tested in the github and project's CI jenkins jobs. "
"Work is underway to get the tree ready for Clang 16. The oldest project "
"supported branch has Clang 12, so the bootstrap portions of the build must "
"work for Clang major versions 12 to 15."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3178
+#: documentation/content/en/articles/committers-guide/_index.adoc:3200
#, no-wrap
msgid "Other Suggestions"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3182
+#: documentation/content/en/articles/committers-guide/_index.adoc:3204
msgid ""
"When committing documentation changes, use a spell checker before "
"committing. For all XML docs, verify that the formatting directives are "
"correct by running `make lint` and package:textproc/igor[]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3184
+#: documentation/content/en/articles/committers-guide/_index.adoc:3206
msgid ""
"For manual pages, run package:sysutils/manck[] and package:textproc/igor[] "
"over the manual page to verify all of the cross references and file "
"references are correct and that the man page has all of the appropriate "
"`MLINKS` installed."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3191
+#: documentation/content/en/articles/committers-guide/_index.adoc:3213
msgid ""
"Do not mix style fixes with new functionality. A style fix is any change "
"which does not modify the functionality of the code. Mixing the changes "
"obfuscates the functionality change when asking for differences between "
"revisions, which can hide any new bugs. Do not include whitespace changes "
"with content changes in commits to [.filename]#doc/#. The extra clutter in "
"the diffs makes the translators' job much more difficult. Instead, make any "
"style or whitespace changes in separate commits that are clearly labeled as "
"such in the commit message."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3192
+#: documentation/content/en/articles/committers-guide/_index.adoc:3214
#, no-wrap
msgid "Deprecating Features"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3195
+#: documentation/content/en/articles/committers-guide/_index.adoc:3217
msgid ""
"When it is necessary to remove functionality from software in the base "
"system, follow these guidelines whenever possible:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3197
+#: documentation/content/en/articles/committers-guide/_index.adoc:3219
msgid ""
"Mention is made in the manual page and possibly the release notes that the "
"option, utility, or interface is deprecated. Use of the deprecated feature "
"generates a warning."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3198
+#: documentation/content/en/articles/committers-guide/_index.adoc:3220
msgid ""
"The option, utility, or interface is preserved until the next major (point "
"zero) release."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3199
+#: documentation/content/en/articles/committers-guide/_index.adoc:3221
msgid ""
"The option, utility, or interface is removed and no longer documented. It is "
"now obsolete. It is also generally a good idea to note its removal in the "
"release notes."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3200
+#: documentation/content/en/articles/committers-guide/_index.adoc:3222
#, no-wrap
msgid "Privacy and Confidentiality"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3203
+#: documentation/content/en/articles/committers-guide/_index.adoc:3225
msgid "Most FreeBSD business is done in public."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3206
+#: documentation/content/en/articles/committers-guide/_index.adoc:3228
msgid ""
"FreeBSD is an _open_ project. Which means that not only can anyone use the "
"source code, but that most of the development process is open to public "
"scrutiny."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3207
+#: documentation/content/en/articles/committers-guide/_index.adoc:3229
msgid "Certain sensitive matters must remain private or held under embargo."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3213
+#: documentation/content/en/articles/committers-guide/_index.adoc:3235
msgid ""
"There unfortunately cannot be complete transparency. As a FreeBSD developer "
"you will have a certain degree of privileged access to information. "
"Consequently you are expected to respect certain requirements for "
"confidentiality. Sometimes the need for confidentiality comes from external "
"collaborators or has a specific time limit. Mostly though, it is a matter "
"of not releasing private communications."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3214
+#: documentation/content/en/articles/committers-guide/_index.adoc:3236
msgid ""
"The Security Officer has sole control over the release of security "
"advisories."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3219
+#: documentation/content/en/articles/committers-guide/_index.adoc:3241
msgid ""
"Where there are security problems that affect many different operating "
"systems, FreeBSD frequently depends on early access to be able to prepare "
"advisories for coordinated release. Unless FreeBSD developers can be "
"trusted to maintain security, such early access will not be made available. "
"The Security Officer is responsible for controlling pre-release access to "
"information about vulnerabilities, and for timing the release of all "
"advisories. He may request help under condition of confidentiality from any "
"developer with relevant knowledge to prepare security fixes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3220
+#: documentation/content/en/articles/committers-guide/_index.adoc:3242
msgid ""
"Communications with Core are kept confidential for as long as necessary."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3225
+#: documentation/content/en/articles/committers-guide/_index.adoc:3247
msgid ""
"Communications to core will initially be treated as confidential. "
"Eventually however, most of Core's business will be summarized into the "
"monthly or quarterly core reports. Care will be taken to avoid publicising "
"any sensitive details. Records of some particularly sensitive subjects may "
"not be reported on at all and will be retained only in Core's private "
"archives."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3226
+#: documentation/content/en/articles/committers-guide/_index.adoc:3248
msgid ""
"Non-disclosure Agreements may be required for access to certain commercially "
"sensitive data."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3229
+#: documentation/content/en/articles/committers-guide/_index.adoc:3251
msgid ""
"Access to certain commercially sensitive data may only be available under a "
"Non-Disclosure Agreement. The FreeBSD Foundation legal staff must be "
"consulted before any binding agreements are entered into."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3230
+#: documentation/content/en/articles/committers-guide/_index.adoc:3252
msgid "Private communications must not be made public without permission."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3233
+#: documentation/content/en/articles/committers-guide/_index.adoc:3255
msgid ""
"Beyond the specific requirements above there is a general expectation not to "
"publish private communications between developers without the consent of all "
"parties involved. Ask permission before forwarding a message onto a public "
"mailing list, or posting it to a forum or website that can be accessed by "
"other than the original correspondents."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3234
+#: documentation/content/en/articles/committers-guide/_index.adoc:3256
msgid ""
"Communications on project-only or restricted access channels must be kept "
"private."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3237
+#: documentation/content/en/articles/committers-guide/_index.adoc:3259
msgid ""
"Similarly to personal communications, certain internal communications "
"channels, including FreeBSD Committer only mailing lists and restricted "
"access IRC channels are considered private communications. Permission is "
"required to publish material from these sources."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3238
+#: documentation/content/en/articles/committers-guide/_index.adoc:3260
msgid "Core may approve publication."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3240
+#: documentation/content/en/articles/committers-guide/_index.adoc:3262
msgid ""
"Where it is impractical to obtain permission due to the number of "
"correspondents or where permission to publish is unreasonably withheld, Core "
"may approve release of such private matters that merit more general "
"publication."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3242
+#: documentation/content/en/articles/committers-guide/_index.adoc:3264
#, no-wrap
msgid "Support for Multiple Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3249
+#: documentation/content/en/articles/committers-guide/_index.adoc:3271
msgid ""
"FreeBSD is a highly portable operating system intended to function on many "
"different types of hardware architectures. Maintaining clean separation of "
"Machine Dependent (MD) and Machine Independent (MI) code, as well as "
"minimizing MD code, is an important part of our strategy to remain agile "
"with regards to current hardware trends. Each new hardware architecture "
"supported by FreeBSD adds substantially to the cost of code maintenance, "
"toolchain support, and release engineering. It also dramatically increases "
"the cost of effective testing of kernel changes. As such, there is strong "
"motivation to differentiate between classes of support for various "
"architectures while remaining strong in a few key architectures that are "
"seen as the FreeBSD \"target audience\"."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3250
+#: documentation/content/en/articles/committers-guide/_index.adoc:3272
#, no-wrap
msgid "Statement of General Intent"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3255
+#: documentation/content/en/articles/committers-guide/_index.adoc:3277
msgid ""
"The FreeBSD Project targets \"production quality commercial off-the-shelf "
"(COTS) workstation, server, and high-end embedded systems\". By retaining a "
"focus on a narrow set of architectures of interest in these environments, "
"the FreeBSD Project is able to maintain high levels of quality, stability, "
"and performance, as well as minimize the load on various support teams on "
"the project, such as the ports team, documentation team, security officer, "
"and release engineering teams. Diversity in hardware support broadens the "
"options for FreeBSD consumers by offering new features and usage "
"opportunities, but these benefits must always be carefully considered in "
"terms of the real-world maintenance cost associated with additional platform "
"support."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3262
+#: documentation/content/en/articles/committers-guide/_index.adoc:3284
msgid ""
"The FreeBSD Project differentiates platform targets into four tiers. Each "
"tier includes a list of guarantees consumers may rely on as well as "
"obligations by the Project and developers to fulfill those guarantees. "
"These lists define the minimum guarantees for each tier. The Project and "
"developers may provide additional levels of support beyond the minimum "
"guarantees for a given tier, but such additional support is not guaranteed. "
"Each platform target is assigned to a specific tier for each stable branch. "
"As a result, a platform target might be assigned to different tiers on "
"concurrent stable branches."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3263
+#: documentation/content/en/articles/committers-guide/_index.adoc:3285
#, no-wrap
msgid "Platform Targets"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3270
+#: documentation/content/en/articles/committers-guide/_index.adoc:3292
msgid ""
"Support for a hardware platform consists of two components: kernel support "
"and userland Application Binary Interfaces (ABIs). Kernel platform support "
"includes things needed to run a FreeBSD kernel on a hardware platform such "
"as machine-dependent virtual memory management and device drivers. A "
"userland ABI specifies an interface for user processes to interact with a "
"FreeBSD kernel and base system libraries. A userland ABI includes system "
"call interfaces, the layout and semantics of public data structures, and the "
"layout and semantics of arguments passed to subroutines. Some components of "
"an ABI may be defined by specifications such as the layout of C++ exception "
"objects or calling conventions for C functions."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3272
+#: documentation/content/en/articles/committers-guide/_index.adoc:3294
msgid ""
"A FreeBSD kernel also uses an ABI (sometimes referred to as the Kernel "
"Binary Interface (KBI)) which includes the semantics and layouts of public "
"data structures and the layout and semantics of arguments to public "
"functions within the kernel itself."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3277
+#: documentation/content/en/articles/committers-guide/_index.adoc:3299
msgid ""
"A FreeBSD kernel may support multiple userland ABIs. For example, FreeBSD's "
"amd64 kernel supports FreeBSD amd64 and i386 userland ABIs as well as Linux "
"x86_64 and i386 userland ABIs. A FreeBSD kernel should support a \"native\" "
"ABI as the default ABI. The native \"ABI\" generally shares certain "
"properties with the kernel ABI such as the C calling convention, sizes of "
"basic types, etc."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3279
+#: documentation/content/en/articles/committers-guide/_index.adoc:3301
msgid ""
"Tiers are defined for both kernels and userland ABIs. In the common case, a "
"platform's kernel and FreeBSD ABIs are assigned to the same tier."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3280
+#. type: Title ====
+#: documentation/content/en/articles/committers-guide/_index.adoc:3302
#, no-wrap
msgid "Tier 1: Fully-Supported Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3285
+#: documentation/content/en/articles/committers-guide/_index.adoc:3307
msgid ""
"Tier 1 platforms are the most mature FreeBSD platforms. They are supported "
"by the security officer, release engineering, and Ports Management Team. "
"Tier 1 architectures are expected to be Production Quality with respect to "
"all aspects of the FreeBSD operating system, including installation and "
"development environments."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3287
+#: documentation/content/en/articles/committers-guide/_index.adoc:3309
msgid ""
"The FreeBSD Project provides the following guarantees to consumers of Tier 1 "
"platforms:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3289
+#: documentation/content/en/articles/committers-guide/_index.adoc:3311
msgid ""
"Official FreeBSD release images will be provided by the release engineering "
"team."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3290
+#: documentation/content/en/articles/committers-guide/_index.adoc:3312
msgid ""
"Binary updates and source patches for Security Advisories and Errata Notices "
"will be provided for supported releases."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3291
+#: documentation/content/en/articles/committers-guide/_index.adoc:3313
msgid ""
"Source patches for Security Advisories will be provided for supported "
"branches."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3292
+#: documentation/content/en/articles/committers-guide/_index.adoc:3314
msgid ""
"Binary updates and source patches for cross-platform Security Advisories "
"will typically be provided at the time of the announcement."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3293
+#: documentation/content/en/articles/committers-guide/_index.adoc:3315
msgid ""
"Changes to userland ABIs will generally include compatibility shims to "
"ensure correct operation of binaries compiled against any stable branch "
"where the platform is Tier 1. These shims might not be enabled in the "
"default install. If compatibility shims are not provided for an ABI change, "
"the lack of shims will be clearly documented in the release notes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3294
+#: documentation/content/en/articles/committers-guide/_index.adoc:3316
msgid ""
"Changes to certain portions of the kernel ABI will include compatibility "
"shims to ensure correct operation of kernel modules compiled against the "
"oldest supported release on the branch. Note that not all parts of the "
"kernel ABI are protected."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3295
+#: documentation/content/en/articles/committers-guide/_index.adoc:3317
msgid ""
"Official binary packages for third party software will be provided by the "
"ports team. For embedded architectures, these packages may be cross-built "
"from a different architecture."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3296
+#: documentation/content/en/articles/committers-guide/_index.adoc:3318
msgid ""
"Most relevant ports should either build or have the appropriate filters to "
"prevent inappropriate ones from building."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3297
+#: documentation/content/en/articles/committers-guide/_index.adoc:3319
msgid ""
"New features which are not inherently platform-specific will be fully "
"functional on all Tier 1 architectures."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3298
+#: documentation/content/en/articles/committers-guide/_index.adoc:3320
msgid ""
"Features and compatibility shims used by binaries compiled against older "
"stable branches may be removed in newer major versions. Such removals will "
"be clearly documented in the release notes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3299
+#: documentation/content/en/articles/committers-guide/_index.adoc:3321
msgid ""
"Tier 1 platforms should be fully documented. Basic operations will be "
"documented in the FreeBSD Handbook."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3300
+#: documentation/content/en/articles/committers-guide/_index.adoc:3322
msgid "Tier 1 platforms will be included in the source tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3301
+#: documentation/content/en/articles/committers-guide/_index.adoc:3323
msgid ""
"Tier 1 platforms should be self-hosting either via the in-tree toolchain or "
"an external toolchain. If an external toolchain is required, official binary "
"packages for an external toolchain will be provided."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3303
+#: documentation/content/en/articles/committers-guide/_index.adoc:3325
msgid ""
"To maintain maturity of Tier 1 platforms, the FreeBSD Project will maintain "
"the following resources to support development:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3305
+#: documentation/content/en/articles/committers-guide/_index.adoc:3327
msgid ""
"Build and test automation support either in the FreeBSD.org cluster or some "
"other location easily available for all developers. Embedded platforms may "
"substitute an emulator available in the FreeBSD.org cluster for actual "
"hardware."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3306
-#: documentation/content/en/articles/committers-guide/_index.adoc:3336
+#: documentation/content/en/articles/committers-guide/_index.adoc:3328
+#: documentation/content/en/articles/committers-guide/_index.adoc:3358
msgid "Inclusion in the `make universe` and `make tinderbox` targets."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3307
+#: documentation/content/en/articles/committers-guide/_index.adoc:3329
msgid ""
"Dedicated hardware in one of the FreeBSD clusters for package building "
"(either natively or via qemu-user)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3309
+#: documentation/content/en/articles/committers-guide/_index.adoc:3331
msgid ""
"Collectively, developers are required to provide the following to maintain "
"the Tier 1 status of a platform:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3311
+#: documentation/content/en/articles/committers-guide/_index.adoc:3333
msgid ""
"Changes to the source tree should not knowingly break the build of a Tier 1 "
"platform."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3312
+#: documentation/content/en/articles/committers-guide/_index.adoc:3334
msgid ""
"Tier 1 architectures must have a mature, healthy ecosystem of users and "
"active developers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3313
+#: documentation/content/en/articles/committers-guide/_index.adoc:3335
msgid ""
"Developers should be able to build packages on commonly available, non-"
"embedded Tier 1 systems. This can mean either native builds if non-embedded "
"systems are commonly available for the platform in question, or it can mean "
"cross-builds hosted on some other Tier 1 architecture."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3314
+#: documentation/content/en/articles/committers-guide/_index.adoc:3336
msgid ""
"Changes cannot break the userland ABI. If an ABI change is required, ABI "
"compatibility for existing binaries should be provided via use of symbol "
"versioning or shared library version bumps."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3315
+#: documentation/content/en/articles/committers-guide/_index.adoc:3337
msgid ""
"Changes merged to stable branches cannot break the protected portions of the "
"kernel ABI. If a kernel ABI change is required, the change should be "
"modified to preserve functionality of existing kernel modules."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3316
+#. type: Title ====
+#: documentation/content/en/articles/committers-guide/_index.adoc:3338
#, no-wrap
msgid "Tier 2: Developmental and Niche Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3320
+#: documentation/content/en/articles/committers-guide/_index.adoc:3342
msgid ""
"Tier 2 platforms are functional, but less mature FreeBSD platforms. They "
"are not supported by the security officer, release engineering, and Ports "
"Management Team."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3324
+#: documentation/content/en/articles/committers-guide/_index.adoc:3346
msgid ""
"Tier 2 platforms may be Tier 1 platform candidates that are still under "
"active development. Architectures reaching end of life may also be moved "
"from Tier 1 status to Tier 2 status as the availability of resources to "
"continue to maintain the system in a Production Quality state diminishes. "
"Well-supported niche architectures may also be Tier 2."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3326
+#: documentation/content/en/articles/committers-guide/_index.adoc:3348
msgid ""
"The FreeBSD Project provides the following guarantees to consumers of Tier 2 "
"platforms:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3328
+#: documentation/content/en/articles/committers-guide/_index.adoc:3350
msgid ""
"The ports infrastructure should include basic support for Tier 2 "
"architectures sufficient to support building ports and packages. This "
"includes support for basic packages such as ports-mgmt/pkg, but there is no "
"guarantee that arbitrary ports will be buildable or functional."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3329
+#: documentation/content/en/articles/committers-guide/_index.adoc:3351
msgid ""
"New features which are not inherently platform-specific should be feasible "
"on all Tier 2 architectures if not implemented."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3330
+#: documentation/content/en/articles/committers-guide/_index.adoc:3352
msgid "Tier 2 platforms will be included in the source tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3331
+#: documentation/content/en/articles/committers-guide/_index.adoc:3353
msgid ""
"Tier 2 platforms should be self-hosting either via the in-tree toolchain or "
"an external toolchain. If an external toolchain is required, official binary "
"packages for an external toolchain will be provided."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3332
+#: documentation/content/en/articles/committers-guide/_index.adoc:3354
msgid ""
"Tier 2 platforms should provide functional kernels and userlands even if an "
"official release distribution is not provided."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3334
+#: documentation/content/en/articles/committers-guide/_index.adoc:3356
msgid ""
"To maintain maturity of Tier 2 platforms, the FreeBSD Project will maintain "
"the following resources to support development:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3338
+#: documentation/content/en/articles/committers-guide/_index.adoc:3360
msgid ""
"Collectively, developers are required to provide the following to maintain "
"the Tier 2 status of a platform:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3340
+#: documentation/content/en/articles/committers-guide/_index.adoc:3362
msgid ""
"Changes to the source tree should not knowingly break the build of a Tier 2 "
"platform."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3341
+#: documentation/content/en/articles/committers-guide/_index.adoc:3363
msgid ""
"Tier 2 architectures must have an active ecosystem of users and developers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3342
+#: documentation/content/en/articles/committers-guide/_index.adoc:3364
msgid ""
"While changes are permitted to break the userland ABI, the ABI should not be "
"broken gratuitously. Significant userland ABI changes should be restricted "
"to major versions."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3343
+#: documentation/content/en/articles/committers-guide/_index.adoc:3365
msgid ""
"New features that are not yet implemented on Tier 2 architectures should "
"provide a means of disabling them on those architectures."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3344
+#. type: Title ====
+#: documentation/content/en/articles/committers-guide/_index.adoc:3366
#, no-wrap
msgid "Tier 3: Experimental Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3348
+#: documentation/content/en/articles/committers-guide/_index.adoc:3370
msgid ""
"Tier 3 platforms have at least partial FreeBSD support. They are _not_ "
"supported by the security officer, release engineering, and Ports Management "
"Team."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3351
+#: documentation/content/en/articles/committers-guide/_index.adoc:3373
msgid ""
"Tier 3 platforms are architectures in the early stages of development, for "
"non-mainstream hardware platforms, or which are considered legacy systems "
"unlikely to see broad future use. Initial support for Tier 3 platforms may "
"exist in a separate repository rather than the main source repository."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3354
+#: documentation/content/en/articles/committers-guide/_index.adoc:3376
msgid ""
"The FreeBSD Project provides no guarantees to consumers of Tier 3 platforms "
"and is not committed to maintaining resources to support development. Tier "
"3 platforms may not always be buildable, nor are any kernel or userland ABIs "
"considered stable."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3355
+#. type: Title ====
+#: documentation/content/en/articles/committers-guide/_index.adoc:3377
#, no-wrap
msgid "Unsupported Architectures"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3359
+#: documentation/content/en/articles/committers-guide/_index.adoc:3381
msgid ""
"Other platforms are not supported in any form by the project. The project "
"previously described these as Tier 4 systems."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3362
+#: documentation/content/en/articles/committers-guide/_index.adoc:3384
msgid ""
"After a platform transitions to unsupported, all support for the platform is "
"removed from the source, ports and documentation trees. Note that ports "
"support should remain as long as the platform is supported in a branch "
"supported by ports."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3363
+#: documentation/content/en/articles/committers-guide/_index.adoc:3385
#, no-wrap
msgid "Policy on Changing the Tier of an Architecture"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3367
+#: documentation/content/en/articles/committers-guide/_index.adoc:3389
msgid ""
"Systems may only be moved from one tier to another by approval of the "
"FreeBSD Core Team, which shall make that decision in collaboration with the "
"Security Officer, Release Engineering, and ports management teams. For a "
"platform to be promoted to a higher tier, any missing support guarantees "
"must be satisfied before the promotion is completed."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3369
+#: documentation/content/en/articles/committers-guide/_index.adoc:3391
#, no-wrap
msgid "Ports Specific FAQ"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3372
+#: documentation/content/en/articles/committers-guide/_index.adoc:3394
#, no-wrap
msgid "Adding a New Port"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3375
+#: documentation/content/en/articles/committers-guide/_index.adoc:3397
#, no-wrap
msgid "How do I add a new port?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3379
+#: documentation/content/en/articles/committers-guide/_index.adoc:3401
msgid ""
"Adding a port to the tree is relatively simple. Once the port is ready to be "
"added, as explained later <<ports-qa-add-new-extra,here>>, you need to add "
"the port's directory entry in the category's [.filename]#Makefile#. In this "
"[.filename]#Makefile#, ports are listed in alphabetical order and added to "
"the `SUBDIR` variable, like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3383
+#: documentation/content/en/articles/committers-guide/_index.adoc:3405
#, no-wrap
msgid "\tSUBDIR += newport\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3386
+#: documentation/content/en/articles/committers-guide/_index.adoc:3408
msgid ""
"Once the port and its category's Makefile are ready, the new port can be "
"committed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3391
+#: documentation/content/en/articles/committers-guide/_index.adoc:3413
#, no-wrap
msgid ""
"% git add category/Makefile category/newport\n"
"% git commit\n"
"% git push\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3395
+#: documentation/content/en/articles/committers-guide/_index.adoc:3417
msgid ""
"Don't forget to <<port-commit-message-formats,setup git hooks for the ports "
"tree as explained here>>; a specific hook has been developed to verify the "
"category's [.filename]#Makefile#."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3398
+#: documentation/content/en/articles/committers-guide/_index.adoc:3420
#, no-wrap
msgid "Any other things I need to know when I add a new port?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3401
+#: documentation/content/en/articles/committers-guide/_index.adoc:3423
msgid ""
"Check the port, preferably to make sure it compiles and packages correctly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3404
+#: documentation/content/en/articles/committers-guide/_index.adoc:3426
msgid ""
"The extref:{porters-handbook}testing[Porters Handbook's Testing Chapter] "
"contains more detailed instructions. See the extref:{porters-handbook}"
"testing[Portclippy / Portfmt, testing-portclippy] and the extref:{porters-"
-"handbook}testing[Poudriere, testing-poudriere] sections."
+"handbook}testing[poudriere, testing-poudriere] sections."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3406
+#: documentation/content/en/articles/committers-guide/_index.adoc:3428
msgid ""
"You do not necessarily have to eliminate all warnings but make sure you have "
"fixed the simple ones."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3408
+#: documentation/content/en/articles/committers-guide/_index.adoc:3430
msgid ""
"If the port came from a submitter who has not contributed to the Project "
"before, add that person's name to the extref:{contributors}[Additional "
"Contributors, contrib-additional] section of the FreeBSD Contributors List."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3411
+#: documentation/content/en/articles/committers-guide/_index.adoc:3433
msgid ""
"Close the PR if the port came in as a PR. To close a PR, change the state "
"to `Issue Resolved` and the resolution as `Fixed`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3415
+#: documentation/content/en/articles/committers-guide/_index.adoc:3437
msgid ""
-"If for some reason using extref:{porters-handbook}testing[Poudriere, testing-"
+"If for some reason using extref:{porters-handbook}testing[poudriere, testing-"
"poudriere] to test the new port is not possible, the bare minimum of testing "
"includes this sequence:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3425
+#: documentation/content/en/articles/committers-guide/_index.adoc:3447
#, no-wrap
msgid ""
"# make install\n"
"# make package\n"
"# make deinstall\n"
"# pkg add package you built above\n"
"# make deinstall\n"
"# make reinstall\n"
"# make package\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3428
+#: documentation/content/en/articles/committers-guide/_index.adoc:3450
msgid ""
"Note that poudriere is the reference for package building, it the port does "
"not build in poudriere, it will be removed."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3431
+#: documentation/content/en/articles/committers-guide/_index.adoc:3453
#, no-wrap
msgid "Removing an Existing Port"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3434
+#: documentation/content/en/articles/committers-guide/_index.adoc:3456
#, no-wrap
msgid "How do I remove an existing port?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3437
+#: documentation/content/en/articles/committers-guide/_index.adoc:3459
msgid ""
"First, please read the section about repository copies. Before you remove "
"the port, you have to verify there are no other ports depending on it."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3439
+#: documentation/content/en/articles/committers-guide/_index.adoc:3461
msgid "Make sure there is no dependency on the port in the ports collection:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3440
+#: documentation/content/en/articles/committers-guide/_index.adoc:3462
msgid "The port's PKGNAME appears in exactly one line in a recent INDEX file."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3441
+#: documentation/content/en/articles/committers-guide/_index.adoc:3463
msgid ""
"No other ports contains any reference to the port's directory or PKGNAME in "
"their Makefiles"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3445
+#: documentation/content/en/articles/committers-guide/_index.adoc:3467
msgid ""
"When using Git, consider using man:git-grep[1], it is much faster than `grep "
"-r`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3448
+#: documentation/content/en/articles/committers-guide/_index.adoc:3470
msgid "Then, remove the port:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3452
+#: documentation/content/en/articles/committers-guide/_index.adoc:3474
msgid "Remove the port's files and directory with `git rm`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3453
+#: documentation/content/en/articles/committers-guide/_index.adoc:3475
msgid ""
"Remove the `SUBDIR` listing of the port in the parent directory [."
"filename]#Makefile#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3454
-#: documentation/content/en/articles/committers-guide/_index.adoc:3469
+#: documentation/content/en/articles/committers-guide/_index.adoc:3476
+#: documentation/content/en/articles/committers-guide/_index.adoc:3491
msgid "Add an entry to [.filename]#ports/MOVED#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3455
+#: documentation/content/en/articles/committers-guide/_index.adoc:3477
msgid "Remove the port from [.filename]#ports/LEGAL# if it is there."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3460
+#: documentation/content/en/articles/committers-guide/_index.adoc:3482
msgid ""
"Alternatively, you can use the rmport script, from [.filename]#ports/Tools/"
"scripts#. This script was written by {vd}. When sending questions about "
"this script to the {freebsd-ports}, please also CC {crees}, the current "
"maintainer."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3462
+#: documentation/content/en/articles/committers-guide/_index.adoc:3484
#, no-wrap
msgid "How do I move a port to a new location?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3467
+#: documentation/content/en/articles/committers-guide/_index.adoc:3489
msgid ""
"Perform a thorough check of the ports collection for any dependencies on the "
"old port location/name, and update them. Running `grep` on [."
"filename]#INDEX# is not enough because some ports have dependencies enabled "
"by compile-time options. A full man:git-grep[1] of the ports collection is "
"recommended."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3468
+#: documentation/content/en/articles/committers-guide/_index.adoc:3490
msgid ""
"Remove the `SUBDIR` entry from the old category Makefile and add a `SUBDIR` "
"entry to the new category Makefile."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3470
+#: documentation/content/en/articles/committers-guide/_index.adoc:3492
msgid ""
"Search for entries in xml files inside [.filename]#ports/security/vuxml# and "
"adjust them accordingly. In particular, check for previous packages with the "
"new name which version could include the new port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3471
+#: documentation/content/en/articles/committers-guide/_index.adoc:3493
msgid "Move the port with `git mv`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3472
-#: documentation/content/en/articles/committers-guide/_index.adoc:3483
+#: documentation/content/en/articles/committers-guide/_index.adoc:3494
+#: documentation/content/en/articles/committers-guide/_index.adoc:3505
msgid "Commit the changes."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3475
+#: documentation/content/en/articles/committers-guide/_index.adoc:3497
#, no-wrap
msgid "How do I copy a port to a new location?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3480
+#: documentation/content/en/articles/committers-guide/_index.adoc:3502
msgid "Copy port with `cp -R old-cat/old-port new-cat/new-port`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3481
+#: documentation/content/en/articles/committers-guide/_index.adoc:3503
msgid "Add the new port to the [.filename]#new-cat/Makefile#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3482
+#: documentation/content/en/articles/committers-guide/_index.adoc:3504
msgid "Change stuff in [.filename]#new-cat/new-port#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3486
+#: documentation/content/en/articles/committers-guide/_index.adoc:3508
#, no-wrap
msgid "Ports Freeze"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3489
+#: documentation/content/en/articles/committers-guide/_index.adoc:3511
#, no-wrap
msgid "What is a “ports freeze”?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3496
+#: documentation/content/en/articles/committers-guide/_index.adoc:3518
msgid ""
"A “ports freeze” was a restricted state the ports tree was put in before a "
"release. It was used to ensure a higher quality for the packages shipped "
"with a release. It usually lasted a couple of weeks. During that time, "
"build problems were fixed, and the release packages were built. This "
"practice is no longer used, as the packages for the releases are built from "
"the current stable, quarterly branch."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3498
+#: documentation/content/en/articles/committers-guide/_index.adoc:3520
msgid ""
"For more information on how to merge commits to the quarterly branch, see "
"<<ports-qa-misc-request-mfh>>."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3500
+#: documentation/content/en/articles/committers-guide/_index.adoc:3522
#, no-wrap
msgid "Quarterly Branches"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3503
+#: documentation/content/en/articles/committers-guide/_index.adoc:3525
#, no-wrap
msgid "What is the procedure to request authorization for merging a commit to the quarterly branch?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3506
+#: documentation/content/en/articles/committers-guide/_index.adoc:3528
msgid ""
"As of November 30, 2020, there is no need to seek explicit approval to "
"commit to the quarterly branch."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3508
+#: documentation/content/en/articles/committers-guide/_index.adoc:3530
#, no-wrap
msgid "What is the procedure for merging commits to the quarterly branch?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3511
+#: documentation/content/en/articles/committers-guide/_index.adoc:3533
msgid ""
"Merging commits to the quarterly branch (a process we call MFH for a "
"historical reason) is very similar to MFC'ing a commit in the src "
"repository, so basically:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3517
+#: documentation/content/en/articles/committers-guide/_index.adoc:3539
#, no-wrap
msgid ""
"% git checkout 2021Q2\n"
"% git cherry-pick -x $HASH\n"
"(verify everything is OK, for example by doing a build test)\n"
"% git push\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3521
+#: documentation/content/en/articles/committers-guide/_index.adoc:3543
msgid ""
"where `$HASH` is the hash of the commit you want to copy over to the "
"quarterly branch. The `-x` parameter ensures the hash `$HASH` of the `main` "
"branch is included in the new commit message of the quarterly branch."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3523
+#: documentation/content/en/articles/committers-guide/_index.adoc:3545
#, no-wrap
msgid "Creating a New Category"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3526
+#: documentation/content/en/articles/committers-guide/_index.adoc:3548
#, no-wrap
msgid "What is the procedure for creating a new category?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3531
+#: documentation/content/en/articles/committers-guide/_index.adoc:3553
msgid ""
"Please see extref:{porters-handbook}[Proposing a New Category, proposing-"
"categories] in the Porter's Handbook. Once that procedure has been followed "
"and the PR has been assigned to the {portmgr}, it is their decision whether "
"or not to approve it. If they do, it is their responsibility to:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3535
+#: documentation/content/en/articles/committers-guide/_index.adoc:3557
msgid "Perform any needed moves. (This only applies to physical categories.)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3536
+#: documentation/content/en/articles/committers-guide/_index.adoc:3558
msgid ""
"Update the `VALID_CATEGORIES` definition in [.filename]#ports/Mk/bsd.port."
"mk#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3537
+#: documentation/content/en/articles/committers-guide/_index.adoc:3559
msgid "Assign the PR back to you."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3540
+#: documentation/content/en/articles/committers-guide/_index.adoc:3562
#, no-wrap
msgid "What do I need to do to implement a new physical category?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3545
+#: documentation/content/en/articles/committers-guide/_index.adoc:3567
msgid ""
"Upgrade each moved port's [.filename]#Makefile#. Do not connect the new "
"category to the build yet."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3547
+#: documentation/content/en/articles/committers-guide/_index.adoc:3569
msgid "To do this, you will need to:"
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:3551
+#: documentation/content/en/articles/committers-guide/_index.adoc:3573
msgid ""
"Change the port's `CATEGORIES` (this was the point of the exercise, "
"remember?) The new category is listed first. This will help to ensure that "
"the PKGORIGIN is correct."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:3552
+#: documentation/content/en/articles/committers-guide/_index.adoc:3574
msgid ""
"Run a `make describe`. Since the top-level `make index` that you will be "
"running in a few steps is an iteration of `make describe` over the entire "
"ports hierarchy, catching any errors here will save you having to re-run "
"that step later on."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/articles/committers-guide/_index.adoc:3553
+#: documentation/content/en/articles/committers-guide/_index.adoc:3575
msgid ""
"If you want to be really thorough, now might be a good time to run man:"
"portlint[1]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3556
+#: documentation/content/en/articles/committers-guide/_index.adoc:3578
msgid ""
"Check that the ``PKGORIGIN``s are correct. The ports system uses each port's "
"`CATEGORIES` entry to create its `PKGORIGIN`, which is used to connect "
"installed packages to the port directory they were built from. If this entry "
"is wrong, common port tools like man:pkg-version[8] and man:portupgrade[1] "
"fail."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3558
+#: documentation/content/en/articles/committers-guide/_index.adoc:3580
msgid ""
"To do this, use the [.filename]#chkorigin.sh# tool: `env PORTSDIR=/path/to/"
"ports sh -e /path/to/ports/Tools/scripts/chkorigin.sh`. This will check "
"every port in the ports tree, even those not connected to the build, so you "
"can run it directly after the move operation. Hint: do not forget to look at "
"the ``PKGORIGIN``s of any slave ports of the ports you just moved!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3559
+#: documentation/content/en/articles/committers-guide/_index.adoc:3581
msgid ""
"On your own local system, test the proposed changes: first, comment out the "
"SUBDIR entries in the old ports' categories' [.filename]##Makefile##s; then "
"enable building the new category in [.filename]#ports/Makefile#. Run make "
"checksubdirs in the affected category directories to check the SUBDIR "
"entries. Next, in the [.filename]#ports/# directory, run make index. This "
"can take over 40 minutes on even modern systems; however, it is a necessary "
"step to prevent problems for other people."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3560
+#: documentation/content/en/articles/committers-guide/_index.adoc:3582
msgid ""
"Once this is done, you can commit the updated [.filename]#ports/Makefile# to "
"connect the new category to the build and also commit the [."
"filename]#Makefile# changes for the old category or categories."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3561
+#: documentation/content/en/articles/committers-guide/_index.adoc:3583
msgid "Add appropriate entries to [.filename]#ports/MOVED#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3562
+#: documentation/content/en/articles/committers-guide/_index.adoc:3584
msgid "Update the documentation by modifying:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3563
-#: documentation/content/en/articles/committers-guide/_index.adoc:3572
+#: documentation/content/en/articles/committers-guide/_index.adoc:3585
+#: documentation/content/en/articles/committers-guide/_index.adoc:3594
msgid ""
"the extref:{porters-handbook}[list of categories, PORTING-CATEGORIES] in the "
"Porter's Handbook"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3565
+#: documentation/content/en/articles/committers-guide/_index.adoc:3587
msgid ""
"Only once all the above have been done, and no one is any longer reporting "
"problems with the new ports, should the old ports be deleted from their "
"previous locations in the repository."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3567
+#: documentation/content/en/articles/committers-guide/_index.adoc:3589
#, no-wrap
msgid "What do I need to do to implement a new virtual category?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3570
+#: documentation/content/en/articles/committers-guide/_index.adoc:3592
msgid ""
"This is much simpler than a physical category. Only a few modifications are "
"needed:"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3574
-#: documentation/content/en/articles/committers-guide/_index.adoc:3668
+#: documentation/content/en/articles/committers-guide/_index.adoc:3596
+#: documentation/content/en/articles/committers-guide/_index.adoc:3690
#, no-wrap
msgid "Miscellaneous Questions"
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3577
+#: documentation/content/en/articles/committers-guide/_index.adoc:3599
#, no-wrap
msgid "Are there changes that can be committed without asking the maintainer for approval?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3580
+#: documentation/content/en/articles/committers-guide/_index.adoc:3602
msgid "Blanket approval for most ports applies to these types of fixes:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3582
+#: documentation/content/en/articles/committers-guide/_index.adoc:3604
msgid ""
"Most infrastructure changes to a port (that is, modernizing, but not "
"changing the functionality). For example, the blanket covers converting to "
"new `USES` macros, enabling verbose builds, and switching to new ports "
"system syntaxes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3583
+#: documentation/content/en/articles/committers-guide/_index.adoc:3605
msgid "Trivial and _tested_ build and runtime fixes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3584
+#: documentation/content/en/articles/committers-guide/_index.adoc:3606
msgid ""
"Documentations or metadata changes to ports, like [.filename]#pkg-descr# or "
"`COMMENT`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3589
+#: documentation/content/en/articles/committers-guide/_index.adoc:3611
msgid ""
"Exceptions to this are anything maintained by the {portmgr}, or the "
"{security-officer}. No unauthorized commits may ever be made to ports "
"maintained by those groups."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3592
+#: documentation/content/en/articles/committers-guide/_index.adoc:3614
#, no-wrap
msgid "How do I know if my port is building correctly or not?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3596
+#: documentation/content/en/articles/committers-guide/_index.adoc:3618
msgid ""
"The packages are built multiple times each week. If a port fails, the "
"maintainer will receive an email from `pkg-fallout@FreeBSD.org`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3598
+#: documentation/content/en/articles/committers-guide/_index.adoc:3620
msgid ""
"Reports for all the package builds (official, experimental, and non-"
"regression) are aggregated at link:pkg-status.FreeBSD.org[pkg-status.FreeBSD."
"org]."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3600
+#: documentation/content/en/articles/committers-guide/_index.adoc:3622
#, no-wrap
msgid "I added a new port. Do I need to add it to the [.filename]#INDEX#?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3603
+#: documentation/content/en/articles/committers-guide/_index.adoc:3625
msgid ""
"No. The file can either be generated by running `make index`, or a pre-"
"generated version can be downloaded with `make fetchindex`."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3605
+#: documentation/content/en/articles/committers-guide/_index.adoc:3627
#, no-wrap
msgid "Are there any other files I am not allowed to touch?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3609
+#: documentation/content/en/articles/committers-guide/_index.adoc:3631
msgid ""
"Any file directly under [.filename]#ports/#, or any file under a "
"subdirectory that starts with an uppercase letter ([.filename]#Mk/#, [."
"filename]#Tools/#, etc.). In particular, the {portmgr} is very protective "
"of [.filename]#ports/Mk/bsd.port*.mk# so do not commit changes to those "
"files unless you want to face their wrath."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3611
+#: documentation/content/en/articles/committers-guide/_index.adoc:3633
#, no-wrap
msgid "What is the proper procedure for updating the checksum for a port distfile when the file changes without a version change?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3615
+#: documentation/content/en/articles/committers-guide/_index.adoc:3637
msgid ""
"When the checksum for a distribution file is updated due to the author "
"updating the file without changing the port revision, the commit message "
"includes a summary of the relevant diffs between the original and new "
"distfile to ensure that the distfile has not been corrupted or maliciously "
"altered. If the current version of the port has been in the ports tree for "
"a while, a copy of the old distfile will usually be available on the ftp "
"servers; otherwise the author or maintainer should be contacted to find out "
"why the distfile has changed."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/committers-guide/_index.adoc:3617
+#: documentation/content/en/articles/committers-guide/_index.adoc:3639
#, no-wrap
msgid "How can an experimental test build of the ports tree (exp-run) be requested?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3621
+#: documentation/content/en/articles/committers-guide/_index.adoc:3643
msgid ""
"An exp-run must be completed before patches with a significant ports impact "
"are committed. The patch can be against the ports tree or the base system."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3623
+#: documentation/content/en/articles/committers-guide/_index.adoc:3645
msgid ""
"Full package builds will be done with the patches provided by the submitter, "
"and the submitter is required to fix detected problems _(fallout)_ before "
"commit."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3627
+#: documentation/content/en/articles/committers-guide/_index.adoc:3649
msgid "Go to the link:https://bugs.freebsd.org/submit[Bugzilla new PR page]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3628
+#: documentation/content/en/articles/committers-guide/_index.adoc:3650
msgid "Select the product your patch is about."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3629
+#: documentation/content/en/articles/committers-guide/_index.adoc:3651
msgid "Fill in the bug report as normal. Remember to attach the patch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3630
+#: documentation/content/en/articles/committers-guide/_index.adoc:3652
msgid ""
"If at the top it says “Show Advanced Fields” click on it. It will now say "
"“Hide Advanced Fields”. Many new fields will be available. If it already "
"says “Hide Advanced Fields”, no need to do anything."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3631
+#: documentation/content/en/articles/committers-guide/_index.adoc:3653
msgid ""
"In the “Flags” section, set the “exp-run” one to `?`. As for all other "
"fields, hovering the mouse over any field shows more details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3632
+#: documentation/content/en/articles/committers-guide/_index.adoc:3654
msgid "Submit. Wait for the build to run."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3633
+#: documentation/content/en/articles/committers-guide/_index.adoc:3655
msgid "{portmgr} will reply with a possible fallout."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3634
+#: documentation/content/en/articles/committers-guide/_index.adoc:3656
msgid "Depending on the fallout:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3635
+#: documentation/content/en/articles/committers-guide/_index.adoc:3657
msgid ""
"If there is no fallout, the procedure stops here, and the change can be "
"committed, pending any other approval required."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3636
+#: documentation/content/en/articles/committers-guide/_index.adoc:3658
msgid ""
"If there is fallout, it _must_ be fixed, either by fixing the ports directly "
"in the ports tree, or adding to the submitted patch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3637
+#: documentation/content/en/articles/committers-guide/_index.adoc:3659
msgid ""
"When this is done, go back to step 6 saying the fallout was fixed and wait "
"for the exp-run to be run again. Repeat as long as there are broken ports."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3640
+#: documentation/content/en/articles/committers-guide/_index.adoc:3662
#, no-wrap
msgid "Issues Specific to Developers Who Are Not Committers"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3645
+#: documentation/content/en/articles/committers-guide/_index.adoc:3667
msgid ""
"A few people who have access to the FreeBSD machines do not have commit "
"bits. Almost all of this document will apply to these developers as well "
"(except things specific to commits and the mailing list memberships that go "
"with them). In particular, we recommend that you read:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3647
+#: documentation/content/en/articles/committers-guide/_index.adoc:3669
msgid "<<admin>>"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3648
+#: documentation/content/en/articles/committers-guide/_index.adoc:3670
msgid "<<conventions-everyone>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3652
+#: documentation/content/en/articles/committers-guide/_index.adoc:3674
msgid ""
"Get your mentor to add you to the \"Additional Contributors\" ([."
"filename]#doc/shared/contrib-additional.adoc#), if you are not already "
"listed there."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3654
+#: documentation/content/en/articles/committers-guide/_index.adoc:3676
msgid "<<developer.relations>>"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3655
+#: documentation/content/en/articles/committers-guide/_index.adoc:3677
msgid "<<ssh.guide>>"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3656
+#: documentation/content/en/articles/committers-guide/_index.adoc:3678
msgid "<<rules>>"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3658
+#: documentation/content/en/articles/committers-guide/_index.adoc:3680
#, no-wrap
msgid "Information About Google Analytics"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3661
+#: documentation/content/en/articles/committers-guide/_index.adoc:3683
msgid ""
"As of December 12, 2012, Google Analytics was enabled on the FreeBSD Project "
"website to collect anonymized usage statistics regarding usage of the site."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3665
+#: documentation/content/en/articles/committers-guide/_index.adoc:3687
msgid ""
"As of March 3, 2022, Google Analytics was removed from the FreeBSD Project."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3670
+#: documentation/content/en/articles/committers-guide/_index.adoc:3692
#, no-wrap
msgid "How do I access people.FreeBSD.org to put up personal or project information?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3674
+#: documentation/content/en/articles/committers-guide/_index.adoc:3696
msgid ""
"`people.FreeBSD.org` is the same as `freefall.FreeBSD.org`. Just create a [."
"filename]#public_html# directory. Anything you place in that directory will "
"automatically be visible under https://people.FreeBSD.org/[https://people."
"FreeBSD.org/]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3675
+#: documentation/content/en/articles/committers-guide/_index.adoc:3697
#, no-wrap
msgid "Where are the mailing list archives stored?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3678
+#: documentation/content/en/articles/committers-guide/_index.adoc:3700
msgid ""
"The mailing lists are archived under [.filename]#/local/mail# on `freefall."
"FreeBSD.org`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3679
+#: documentation/content/en/articles/committers-guide/_index.adoc:3701
#, no-wrap
msgid "I would like to mentor a new committer. What process do I need to follow?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3682
+#: documentation/content/en/articles/committers-guide/_index.adoc:3704
msgid ""
"See the https://www.freebsd.org/internal/new-account/[New Account Creation "
"Procedure] document on the internal pages."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/committers-guide/_index.adoc:3684
+#: documentation/content/en/articles/committers-guide/_index.adoc:3706
#, no-wrap
msgid "Benefits and Perks for FreeBSD Committers"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3687
+#: documentation/content/en/articles/committers-guide/_index.adoc:3709
#, no-wrap
msgid "Recognition"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3691
+#: documentation/content/en/articles/committers-guide/_index.adoc:3713
msgid ""
"Recognition as a competent software engineer is the longest lasting value. "
"In addition, getting a chance to work with some of the best people that "
"every engineer would dream of meeting is a great perk!"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3693
+#: documentation/content/en/articles/committers-guide/_index.adoc:3715
#, no-wrap
msgid "FreeBSD Mall"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3696
+#: documentation/content/en/articles/committers-guide/_index.adoc:3718
msgid ""
"FreeBSD committers can get a free 4-CD or DVD set at conferences from http://"
"www.freebsdmall.com[FreeBSD Mall, Inc.]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3698
+#: documentation/content/en/articles/committers-guide/_index.adoc:3720
#, no-wrap
msgid "`Gandi.net`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3701
+#: documentation/content/en/articles/committers-guide/_index.adoc:3723
msgid ""
"https://gandi.net[Gandi] provides website hosting, cloud computing, domain "
"registration, and X.509 certificate services."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3705
+#: documentation/content/en/articles/committers-guide/_index.adoc:3727
msgid ""
"Gandi offers an E-rate discount to all FreeBSD developers. To streamline "
"the process of getting the discount first set up a Gandi account, fill in "
"the billing information and select the currency. Then send an mail to "
"mailto:non-profit@gandi.net[non-profit@gandi.net] using your `@freebsd.org` "
"mail address, and indicate your Gandi handle."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3707
+#: documentation/content/en/articles/committers-guide/_index.adoc:3729
#, no-wrap
msgid "`rsync.net`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3710
+#: documentation/content/en/articles/committers-guide/_index.adoc:3732
msgid ""
"https://rsync.net[rsync.net] provides cloud storage for offsite backup that "
"is optimized for UNIX users. Their service runs entirely on FreeBSD and ZFS."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3712
+#: documentation/content/en/articles/committers-guide/_index.adoc:3734
msgid ""
"rsync.net offers a free-forever 500 GB account to FreeBSD developers. Simply "
"sign up at https://www.rsync.net/freebsd.html[https://www.rsync.net/freebsd."
"html] using your `@freebsd.org` address to receive this free account."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/committers-guide/_index.adoc:3714
+#: documentation/content/en/articles/committers-guide/_index.adoc:3736
#, no-wrap
msgid "`JetBrains`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3717
+#: documentation/content/en/articles/committers-guide/_index.adoc:3739
msgid ""
"https://www.jetbrains.com[JetBrains] is a software development company which "
"makes tools for software developers and project managers. The company offers "
"many integrated development environments (IDEs) for different programming "
"languages."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/committers-guide/_index.adoc:3719
+#: documentation/content/en/articles/committers-guide/_index.adoc:3741
msgid ""
"JetBrains offers 100 free yearly licenses for all https://www.jetbrains.com/"
"products[JetBrains IDE products]. Simply sign up at https://account."
"jetbrains.com/a/322tl3z7[https://account.jetbrains.com/a/322tl3z7] using "
"your `@freebsd.org` address and the account will have a license attached to "
"it automatically. Once the account is active, use it in any of the products "
"to activate them and you're done."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/committers-guide/_index.adoc:3723
+#: documentation/content/en/articles/committers-guide/_index.adoc:3745
msgid ""
"Please, only use these licences personally and do not share them with anyone "
"outside of the FreeBSD project, as that would be a violation of the terms of "
"the donation."
msgstr ""
diff --git a/documentation/content/en/articles/explaining-bsd/_index.po b/documentation/content/en/articles/explaining-bsd/_index.po
index db8f2e8f5a..932b1a44f5 100644
--- a/documentation/content/en/articles/explaining-bsd/_index.po
+++ b/documentation/content/en/articles/explaining-bsd/_index.po
@@ -1,683 +1,683 @@
# 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: 2023-07-15 16:42-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/explaining-bsd/_index.adoc:1
#, no-wrap
msgid "Brief explanation about BSD"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/explaining-bsd/_index.adoc:1
#: documentation/content/en/articles/explaining-bsd/_index.adoc:11
#, no-wrap
msgid "Explaining BSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:44
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:46
msgid ""
"In the open source world, the word \"Linux\" is almost synonymous with "
"\"Operating System\", but it is not the only open source UNIX(R) operating "
"system."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:48
msgid ""
"So what is the secret? Why is BSD not better known? This white paper "
"addresses these and other questions."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:50
msgid ""
"Throughout this paper, differences between BSD and Linux will be noted "
"__like this__."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:52
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/explaining-bsd/_index.adoc:56
#, no-wrap
msgid "What is BSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:63
msgid ""
"BSD stands for \"Berkeley Software Distribution\". It is the name of "
"distributions of source code from the University of California, Berkeley, "
"which were originally extensions to AT&T's Research UNIX(R) operating "
"system. Several open source operating system projects are based on a "
"release of this source code known as 4.4BSD-Lite. In addition, they "
"comprise a number of packages from other Open Source projects, including "
"notably the GNU project. The overall operating system comprises:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:65
msgid ""
"The BSD kernel, which handles process scheduling, memory management, "
"symmetric multi-processing (SMP), device drivers, etc."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:66
msgid "The C library, the base API for the system."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:68
msgid ""
"__The BSD C library is based on code from Berkeley, not the GNU project.__"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:69
msgid "Utilities such as shells, file utilities, compilers and linkers."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:71
msgid ""
"__Some of the utilities are derived from the GNU project, others are not.__"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:72
msgid "The X Window system, which handles graphical display."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:75
msgid ""
"The X Window system used in most versions of BSD is maintained by the http://"
"www.X.org/[X.Org project]. FreeBSD allows the user to choose from a variety "
"of desktop environments, such as Gnome, KDE, or Xfce; and lightweight window "
"managers like Openbox, Fluxbox, or Awesome."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:76
msgid "Many other programs and utilities."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/explaining-bsd/_index.adoc:78
#, no-wrap
msgid "What, a real UNIX(R)?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:83
msgid ""
"The BSD operating systems are not clones, but open source derivatives of "
"AT&T's Research UNIX(R) operating system, which is also the ancestor of the "
"modern UNIX(R) System V. This may surprise you. How could that happen when "
"AT&T has never released its code as open source?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:85
msgid ""
"It is true that AT&T UNIX(R) is not open source, and in a copyright sense "
"BSD is very definitely _not_ UNIX(R), but on the other hand, AT&T has "
"imported sources from other projects, noticeably the Computer Sciences "
"Research Group (CSRG) of the University of California in Berkeley, CA. "
"Starting in 1976, the CSRG started releasing tapes of their software, "
"calling them _Berkeley Software Distribution_ or __BSD__."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:89
msgid ""
"Initial BSD releases consisted mainly of user programs, but that changed "
"dramatically when the CSRG landed a contract with the Defense Advanced "
"Research Projects Agency (DARPA) to upgrade the communications protocols on "
"their network, ARPANET. The new protocols were known as the __Internet "
"Protocols__, later _TCP/IP_ after the most important protocols. The first "
"widely distributed implementation was part of 4.2BSD, in 1982."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:96
msgid ""
"In the course of the 1980s, a number of new workstation companies sprang "
"up. Many preferred to license UNIX(R) rather than developing operating "
"systems for themselves. In particular, Sun Microsystems licensed UNIX(R) "
"and implemented a version of 4.2BSD, which they called SunOS(TM). When AT&T "
"themselves were allowed to sell UNIX(R) commercially, they started with a "
"somewhat bare-bones implementation called System III, to be quickly followed "
"by System V. The System V code base did not include networking, so all "
"implementations included additional software from the BSD, including the TCP/"
"IP software, but also utilities such as the _csh_ shell and the _vi_ "
"editor. Collectively, these enhancements were known as the __Berkeley "
"Extensions__."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:105
msgid ""
"The BSD tapes contained AT&T source code and thus required a UNIX(R) source "
"license. By 1990, the CSRG's funding was running out, and it faced "
"closure. Some members of the group decided to release the BSD code, which "
"was Open Source, without the AT&T proprietary code. This finally happened "
"with the __Networking Tape 2__, usually known as __Net/2__. Net/2 was not a "
"complete operating system: about 20% of the kernel code was missing. One of "
"the CSRG members, William F. Jolitz, wrote the remaining code and released "
"it in early 1992 as __386BSD__. At the same time, another group of ex-CSRG "
"members formed a commercial company called http://www.bsdi.com/[Berkeley "
"Software Design Inc.] and released a beta version of an operating system "
"called http://www.bsdi.com/[BSD/386], which was based on the same sources. "
"The name of the operating system was later changed to BSD/OS."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:111
msgid ""
"386BSD never became a stable operating system. Instead, two other projects "
"split off from it in 1993: http://www.NetBSD.org/[NetBSD] and link:https://"
"www.FreeBSD.org/[FreeBSD]. The two projects originally diverged due to "
"differences in patience waiting for improvements to 386BSD: the NetBSD "
"people started early in the year, and the first version of FreeBSD was not "
"ready until the end of the year. In the meantime, the code base had "
"diverged sufficiently to make it difficult to merge. In addition, the "
"projects had different aims, as we will see below. In 1996, http://www."
"OpenBSD.org/[OpenBSD] split off from NetBSD, and in 2003, http://www."
"dragonflybsd.org/[DragonFlyBSD] split off from FreeBSD."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/explaining-bsd/_index.adoc:113
#, no-wrap
msgid "Why is BSD not better known?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:116
msgid "For a number of reasons, BSD is relatively unknown:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:118
msgid ""
"The BSD developers are often more interested in polishing their code than "
"marketing it."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:119
msgid ""
"Much of Linux's popularity is due to factors external to the Linux projects, "
"such as the press, and to companies formed to provide Linux services. Until "
"recently, the open source BSDs had no such proponents."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:120
msgid ""
"In 1992, AT&T sued http://www.bsdi.com/[BSDI], the vendor of BSD/386, "
"alleging that the product contained AT&T-copyrighted code. The case was "
"settled out of court in 1994, but the spectre of the litigation continues to "
"haunt people. In March 2000 an article published on the web claimed that the "
"court case had been \"recently settled\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:124
msgid ""
"One detail that the lawsuit did clarify is the naming: in the 1980s, BSD was "
"known as \"BSD UNIX(R)\". With the elimination of the last vestige of AT&T "
"code from BSD, it also lost the right to the name UNIX(R). Thus you will "
"see references in book titles to \"the 4.3BSD UNIX(R) operating system\" and "
"\"the 4.4BSD operating system\"."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/explaining-bsd/_index.adoc:126
#, no-wrap
msgid "Comparing BSD and Linux"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:132
msgid ""
"So what is really the difference between, say, Debian Linux and FreeBSD? For "
"the average user, the difference is surprisingly small: Both are UNIX(R) "
"like operating systems. Both are developed by non-commercial projects (this "
"does not apply to many other Linux distributions, of course). In the "
"following section, we will look at BSD and compare it to Linux. The "
"description applies most closely to FreeBSD, which accounts for an estimated "
"80% of the BSD installations, but the differences from NetBSD, OpenBSD and "
"DragonFlyBSD are small."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:133
#, no-wrap
msgid "Who owns BSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:138
msgid ""
"No one person or corporation owns BSD. It is created and distributed by a "
"community of highly technical and committed contributors all over the "
"world. Some of the components of BSD are Open Source projects in their own "
"right and managed by different project maintainers."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:139
#, no-wrap
msgid "How is BSD developed and updated?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:144
msgid ""
"The BSD kernels are developed and updated following the Open Source "
"development model. Each project maintains a publicly accessible _source "
"tree_ which contains all source files for the project, including "
"documentation and other incidental files. Users can obtain a complete copy "
"of any version."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:147
msgid ""
"A large number of developers worldwide contribute to improvements to BSD. "
"They are divided into three kinds:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:149
msgid ""
"_Contributors_ write code or documentation. They are not permitted to commit "
"(add code) directly to the source tree. For their code to be included in the "
"system, it must be reviewed and checked in by a registered developer, known "
"as a __committer__."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:150
msgid ""
"_Committers_ are developers with write access to the source tree. To become "
"a committer, an individual must show ability in the area in which they are "
"active."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:157
msgid ""
"It is at the individual committer's discretion whether they should obtain "
"authority before committing changes to the source tree. In general, an "
"experienced committer may make changes which are obviously correct without "
"obtaining consensus. For example, a documentation project committer may "
"correct typographical or grammatical errors without review. On the other "
"hand, developers making far-reaching or complicated changes are expected to "
"submit their changes for review before committing them. In extreme cases, a "
"core team member with a function such as Principal Architect may order that "
"changes be removed from the tree, a process known as _backing out_. All "
"committers receive mail describing each individual commit, so it is not "
"possible to commit secretly."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:158
msgid ""
"The _Core team_. FreeBSD and NetBSD each have a core team which manages the "
"project. The core teams developed in the course of the projects, and their "
"role is not always well-defined. It is not necessary to be a developer to be "
"a core team member, though it is normal. The rules for the core team vary "
"from one project to the other, but in general they have more say in the "
"direction of the project than non-core team members have."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:160
msgid "This arrangement differs from Linux in a number of ways:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:162
msgid ""
"No one person controls the content of the system. In practice, this "
"difference is overrated, since the Principal Architect can require that code "
"be backed out, and even in the Linux project several people are permitted to "
"make changes."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:163
msgid ""
"On the other hand, there _is_ a central repository, a single place where you "
"can find the entire operating system sources, including all older versions."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:164
msgid ""
"BSD projects maintain the entire \"Operating System\", not only the kernel. "
"This distinction is only marginally useful: neither BSD nor Linux is useful "
"without applications. The applications used under BSD are frequently the "
"same as the applications used under Linux."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:165
msgid ""
-"As a result of the formalized maintenance of a single SVN source tree, BSD "
+"As a result of the formalized maintenance of a single Git source tree, BSD "
"development is clear, and it is possible to access any version of the system "
-"by release number or by date. SVN also allows incremental updates to the "
+"by release number or by date. Git also allows incremental updates to the "
"system: for example, the FreeBSD repository is updated about 100 times a "
"day. Most of these changes are small."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:166
#, no-wrap
msgid "BSD releases"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:171
msgid ""
"FreeBSD, NetBSD and OpenBSD provide the system in three different "
"\"releases\". As with Linux, releases are assigned a number such as 1.4.1 "
"or 3.5. In addition, the version number has a suffix indicating its purpose:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:173
msgid ""
"The development version of the system is called _CURRENT_. FreeBSD assigns a "
"number to CURRENT, for example FreeBSD 5.0-CURRENT. NetBSD uses a slightly "
"different naming scheme and appends a single-letter suffix which indicates "
"changes in the internal interfaces, for example NetBSD 1.4.3G. OpenBSD does "
"not assign a number (\"OpenBSD-current\"). All new development on the system "
"goes into this branch."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:174
msgid ""
"At regular intervals, between two and four times a year, the projects bring "
"out a _RELEASE_ version of the system, which is available on CD-ROM and for "
"free download from FTP sites, for example OpenBSD 2.6-RELEASE or NetBSD 1.4-"
"RELEASE. The RELEASE version is intended for end users and is the normal "
"version of the system. NetBSD also provides _patch releases_ with a third "
"digit, for example NetBSD 1.4.2."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:175
msgid ""
"As bugs are found in a RELEASE version, they are fixed, and the fixes are "
-"added to the SVN tree. In FreeBSD, the resultant version is called the "
+"added to the Git tree. In FreeBSD, the resultant version is called the "
"_STABLE_ version, while in NetBSD and OpenBSD it continues to be called the "
"RELEASE version. Smaller new features can also be added to this branch after "
"a period of test in the CURRENT branch. Security and other important bug "
"fixes are also applied to all supported RELEASE versions."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:182
msgid ""
"_By contrast, Linux maintains two separate code trees: the stable version "
"and the development version. Stable versions have an even minor version "
"number, such as 2.0, 2.2 or 2.4. Development versions have an odd minor "
"version number, such as 2.1, 2.3 or 2.5. In each case, the number is "
"followed by a further number designating the exact release. In addition, "
"each vendor adds their own userland programs and utilities, so the name of "
"the distribution is also important. Each distribution vendor also assigns "
"version numbers to the distribution, so a complete description might be "
"something like \"TurboLinux 6.0 with kernel 2.2.14\"_"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:183
#, no-wrap
msgid "What versions of BSD are available?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:186
msgid ""
"In contrast to the numerous Linux distributions, there are only four major "
"open source BSDs. Each BSD project maintains its own source tree and its own "
"kernel. In practice, though, there appear to be fewer divergences between "
"the userland code of the projects than there is in Linux."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:188
msgid ""
"It is difficult to categorize the goals of each project: the differences are "
"very subjective. Basically,"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:190
msgid ""
"FreeBSD aims for high performance and ease of use by end users, and is a "
"favourite of web content providers. It runs on a link:https://www.FreeBSD."
"org/platforms/[number of platforms] and has significantly more users than "
"the other projects."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:191
msgid ""
"NetBSD aims for maximum portability: \"of course it runs NetBSD\". It runs "
"on machines from palmtops to large servers, and has even been used on NASA "
"space missions. It is a particularly good choice for running on old non-"
"Intel(R) hardware."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:192
msgid ""
"OpenBSD aims for security and code purity: it uses a combination of the open "
"source concept and rigorous code reviews to create a system which is "
"demonstrably correct, making it the choice of security-conscious "
"organizations such as banks, stock exchanges and US Government departments. "
"Like NetBSD, it runs on a number of platforms."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:193
msgid ""
"DragonFlyBSD aims for high performance and scalability under everything from "
"a single-node UP system to a massively clustered system. DragonFlyBSD has "
"several long-range technical goals, but focus lies on providing a SMP-"
"capable infrastructure that is easy to understand, maintain and develop for."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:195
msgid ""
"There are also two additional BSD UNIX(R) operating systems which are not "
"open source, BSD/OS and Apple's Mac OS(R) X:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:197
msgid ""
"BSD/OS was the oldest of the 4.4BSD derivatives. It was not open source, "
"though source code licenses were available at relatively low cost. It "
"resembled FreeBSD in many ways. Two years after the acquisition of BSDi by "
"Wind River Systems, BSD/OS failed to survive as an independent product. "
"Support and source code may still be available from Wind River, but all new "
"development is focused on the VxWorks embedded operating system."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:198
msgid ""
"http://www.apple.com/macosx/server/[Mac OS(R) X] is the latest version of "
"the operating system for Apple(R)'s Mac(R) line. The BSD core of this "
"operating system, http://developer.apple.com/darwin/[Darwin], is available "
"as a fully functional open source operating system for x86 and PPC "
"computers. The Aqua/Quartz graphics system and many other proprietary "
"aspects of Mac OS(R) X remain closed-source, however. Several Darwin "
"developers are also FreeBSD committers, and vice-versa."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:199
#, no-wrap
msgid "How does the BSD license differ from the GNU Public license?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:205
msgid ""
"Linux is available under the http://www.fsf.org/copyleft/gpl.html[GNU "
"General Public License] (GPL), which is designed to eliminate closed source "
"software. In particular, any derivative work of a product released under "
"the GPL must also be supplied with source code if requested. By contrast, "
"the http://www.opensource.org/licenses/bsd-license.html[BSD license] is less "
"restrictive: binary-only distributions are allowed. This is particularly "
"attractive for embedded applications."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:206
#, no-wrap
msgid "What else should I know?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:211
msgid ""
"Since fewer applications are available for BSD than Linux, the BSD "
"developers created a Linux compatibility package, which allows Linux "
"programs to run under BSD. The package includes both kernel modifications, "
"to correctly perform Linux system calls, and Linux compatibility files such "
"as the C library. There is no noticeable difference in execution speed "
"between a Linux application running on a Linux machine and a Linux "
"application running on a BSD machine of the same speed."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:214
msgid ""
"The \"all from one supplier\" nature of BSD means that upgrades are much "
"easier to handle than is frequently the case with Linux. BSD handles "
"library version upgrades by providing compatibility modules for earlier "
"library versions, so it is possible to run binaries which are several years "
"old with no problems."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:215
#, no-wrap
msgid "Which should I use, BSD or Linux?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:218
msgid ""
"What does this all mean in practice? Who should use BSD, who should use "
"Linux?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:221
msgid "This is a very difficult question to answer. Here are some guidelines:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:223
msgid ""
"\"If it ain't broke, don't fix it\": If you already use an open source "
"operating system, and you are happy with it, there is probably no good "
"reason to change."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:224
msgid ""
"BSD systems, in particular FreeBSD, can have notably higher performance than "
"Linux. But this is not across the board. In many cases, there is little or "
"no difference in performance. In some cases, Linux may perform better than "
"FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:225
msgid ""
"In general, BSD systems have a better reputation for reliability, mainly as "
"a result of the more mature code base."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:226
msgid ""
"BSD projects have a better reputation for the quality and completeness of "
"their documentation. The various documentation projects aim to provide "
"actively updated documentation, in many languages, and covering all aspects "
"of the system."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:227
msgid "The BSD license may be more attractive than the GPL."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:228
msgid ""
"BSD can execute most Linux binaries, while Linux can not execute BSD "
"binaries. Many BSD implementations can also execute binaries from other "
"UNIX(R) like systems. As a result, BSD may present an easier migration route "
"from other systems than Linux would."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/explaining-bsd/_index.adoc:229
#, no-wrap
msgid "Who provides support, service, and training for BSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:232
msgid ""
-"BSDi / http://www.freebsdmall.com[FreeBSD Mall, Inc.] have been providing "
-"support contracts for FreeBSD for nearly a decade."
+"http://www.ixsystems.com/[iXsystems, Inc.] provides support contracts for "
+"FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/explaining-bsd/_index.adoc:233
msgid ""
"In addition, each of the projects has a list of consultants for hire: link:"
"https://www.FreeBSD.org/commercial/consult_bycat/[FreeBSD], http://www."
"netbsd.org/gallery/consultants.html[NetBSD], and http://www.openbsd.org/"
"support.html[OpenBSD]."
msgstr ""
diff --git a/documentation/content/en/articles/freebsd-questions/_index.po b/documentation/content/en/articles/freebsd-questions/_index.po
index d597f631f5..9856b90616 100644
--- a/documentation/content/en/articles/freebsd-questions/_index.po
+++ b/documentation/content/en/articles/freebsd-questions/_index.po
@@ -1,684 +1,683 @@
# 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: 2022-02-01 09:21-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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: Title =
#: documentation/content/en/articles/freebsd-questions/_index.adoc:1
#: documentation/content/en/articles/freebsd-questions/_index.adoc:11
#, no-wrap
msgid "How to get Best Results from the FreeBSD-questions Mailing List"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:44
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:47
msgid ""
"This document provides useful information for people looking to prepare an e-"
"mail to the FreeBSD-questions mailing list. Advice and hints are given that "
"will maximize the chance that the reader will receive useful replies."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:49
msgid ""
"This document is regularly posted to the FreeBSD-questions mailing list."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:51
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:54
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:58
msgid ""
"`FreeBSD-questions` is a mailing list maintained by the FreeBSD project to "
"help people who have questions about the normal use of FreeBSD. Another "
"group, `FreeBSD-hackers`, discusses more advanced questions such as future "
"development work."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:65
msgid ""
"The term \"hacker\" has nothing to do with breaking into other people's "
"computers. The correct term for the latter activity is \"cracker\", but the "
"popular press has not found out yet. The FreeBSD hackers disapprove "
"strongly of cracking security, and have nothing to do with it. For a longer "
"description of hackers, see Eric Raymond's http://www.catb.org/~esr/faqs/"
"hacker-howto.html[How To Become A Hacker]"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:68
msgid ""
"This is a regular posting aimed to help both those seeking advice from "
"FreeBSD-questions (the \"newcomers\"), and also those who answer the "
"questions (the \"hackers\")."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:72
msgid ""
"Inevitably there is some friction, which stems from the different viewpoints "
"of the two groups. The newcomers accuse the hackers of being arrogant, "
"stuck-up, and unhelpful, while the hackers accuse the newcomers of being "
"stupid, unable to read plain English, and expecting everything to be handed "
"to them on a silver platter. Of course, there is an element of truth in "
"both these claims, but for the most part these viewpoints come from a sense "
"of frustration."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:75
msgid ""
"In this document, I would like to do something to relieve this frustration "
"and help everybody get better results from FreeBSD-questions. In the "
"following section, I recommend how to submit a question; after that, we will "
"look at how to answer one."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:76
#, no-wrap
msgid "How to Subscribe to FreeBSD-questions"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:82
msgid ""
"FreeBSD-questions is a mailing list, so you need mail access. Point your "
"WWW browser to the {freebsd-questions}. In the section titled \"Subscribe "
"or unsubscribe online\" fill in the \"Your email address\" field and hit "
"\"Subscribe\". Or send an email to freebsd-questions+subscribe@freebsd.org."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:84
msgid ""
"You will receive a confirmation message from mlmmj; follow the included "
"instructions to complete your subscription."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:85
#, no-wrap
msgid "How to Unsubscribe from FreeBSD-questions"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:90
msgid ""
"Point your WWW browser to the {freebsd-questions}. In the section titled "
"\"Subscribe or unsubscribe online\" fill in the \"Your email address\" field "
-"and hit \"Unsubscribe\". Or send an email to freebsd-questions"
-"+unsubscribe@freebsd.org."
+"and hit \"Unsubscribe\". Or send an email to freebsd-"
+"questions+unsubscribe@freebsd.org."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:92
msgid ""
"A confirmation message will be sent to you from mlmmj; follow the included "
"instructions to finish unsubscribing."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:93
#, no-wrap
msgid "Should I ask `-questions` or `-hackers`?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:98
msgid ""
"Two mailing lists handle general questions about FreeBSD, `FreeBSD-"
"questions` and `FreeBSD-hackers`. In some cases, it is not really clear "
"which group you should ask. The following criteria should help for 99% of "
"all questions, however:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:100
msgid ""
"If the question is of a general nature, ask `FreeBSD-questions`. Examples "
"might be questions about installing FreeBSD or the use of a particular "
"UNIX(R) utility."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:101
msgid ""
"If you think the question relates to a bug, but you are not sure, or you do "
"not know how to look for it, send the message to `FreeBSD-questions`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:102
msgid ""
"If the question relates to a bug, and you are _sure_ that it is a bug (for "
"example, you can pinpoint the place in the code where it happens, and you "
"maybe have a fix), then send the message to `FreeBSD-hackers`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:103
msgid ""
"If the question relates to enhancements to FreeBSD, and you can make "
"suggestions about how to implement them, then send the message to `FreeBSD-"
"hackers`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:106
msgid ""
"There are also a number of other extref:{handbook}[specialized mailing "
"lists, eresources-mail], which caters to more specific interests. The "
"criteria above still apply, and it is in your interest to stick to them, "
"since you are more likely to get good results that way."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:107
#, no-wrap
msgid "Before Submitting a Question"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:110
msgid ""
"You can (and should) do some things yourself before asking a question on one "
"of the mailing lists:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:112
msgid ""
"Try solving the problem on your own. If you post a question which shows that "
"you have tried to solve the problem, your question will generally attract "
"more positive attention from people reading it. Trying to solve the problem "
"yourself will also enhance your understanding of FreeBSD, and will "
"eventually let you use your knowledge to help others by answering questions "
"posted to the mailing lists."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:113
msgid ""
"Read the manual pages, and the FreeBSD documentation (either installed in [."
"filename]#/usr/doc# or accessible via WWW at http://www.FreeBSD.org[http://"
"www.FreeBSD.org]), especially the extref:{handbook}[handbook] and the extref:"
"{faq}[FAQ]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:114
msgid ""
"Browse and/or search the archives for the mailing list, to see if your "
"question or a similar one has been asked (and possibly answered) on the "
"list. You can browse and/or search the mailing list archives at https://www."
"FreeBSD.org/mail[https://www.FreeBSD.org/mail] and https://www.FreeBSD.org/"
"search/#mailinglists[https://www.FreeBSD.org/search/#mailinglists] "
-"respectively. This can be done at other WWW sites as well, for example at "
-"http://marc.theaimsgroup.com[http://marc.theaimsgroup.com]."
+"respectively."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:115
msgid ""
"Use a search engine such as http://www.google.com[Google] or http://www."
"yahoo.com[Yahoo] to find answers to your question."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:116
#, no-wrap
msgid "How to Submit a Question"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:119
msgid ""
"When submitting a question to FreeBSD-questions, consider the following "
"points:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:121
msgid ""
"Remember that nobody gets paid for answering a FreeBSD question. They do it "
"of their own free will. You can influence this free will positively by "
"submitting a well-formulated question supplying as much relevant information "
"as possible. You can influence this free will negatively by submitting an "
"incomplete, illegible, or rude question. It is perfectly possible to send a "
"message to FreeBSD-questions and not get an answer even if you follow these "
"rules. It is much more possible to not get an answer if you do not. In the "
"rest of this document, we will look at how to get the most out of your "
"question to FreeBSD-questions."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:122
msgid ""
"Not everybody who answers FreeBSD questions reads every message: they look "
"at the subject line and decide whether it interests them. Clearly, it is in "
"your interest to specify a subject. \"FreeBSD problem\" or \"Help\" are not "
"enough. If you provide no subject at all, many people will not bother "
"reading it. If your subject is not specific enough, the people who can "
"answer it may not read it."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:123
msgid ""
"Format your message so that it is legible, and PLEASE DO NOT SHOUT!!!!!. We "
"appreciate that a lot of people do not speak English as their first "
"language, and we try to make allowances for that, but it is really painful "
"to try to read a message written full of typos or without any line breaks."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:126
msgid ""
"Do not underestimate the effect that a poorly formatted mail message has, "
"not just on the FreeBSD-questions mailing list. Your mail message is all "
"people see of you, and if it is poorly formatted, one line per paragraph, "
"badly spelt, or full of errors, it will give people a poor impression of you."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:129
msgid ""
"A lot of badly formatted messages come from http://www.lemis.com/email."
"html[bad mailers or badly configured mailers]. The following mailers are "
"known to send out badly formatted messages without you finding out about "
"them:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:131
msgid "exmh"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:132
msgid "Microsoft(R) Exchange"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:133
msgid "Microsoft(R) Outlook(R)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:135
msgid ""
"Try not to use MIME: a lot of people use mailers which do not get on very "
"well with MIME."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:136
msgid ""
"Make sure your time and time zone are set correctly. This may seem a little "
"silly, since your message still gets there, but many of the people you are "
"trying to reach get several hundred messages a day. They frequently sort the "
"incoming messages by subject and by date, and if your message does not come "
"before the first answer, they may assume they missed it and not bother to "
"look."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:137
msgid ""
"Do not include unrelated questions in the same message. Firstly, a long "
"message tends to scare people off, and secondly, it is more difficult to get "
"all the people who can answer all the questions to read the message."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:138
msgid ""
"Specify as much information as possible. This is a difficult area, and we "
"need to expand on what information you need to submit, but here is a start:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:140
msgid ""
"In nearly every case, it is important to know the version of FreeBSD you are "
"running. This is particularly the case for FreeBSD-CURRENT, where you should "
"also specify the date of the sources, though of course you should not be "
"sending questions about -CURRENT to FreeBSD-questions."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:141
msgid ""
"With any problem which _could_ be hardware related, tell us about your "
"hardware. In case of doubt, assume it is possible that it is hardware. What "
"kind of CPU are you using? How fast? What motherboard? How much memory? What "
"peripherals?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:143
msgid ""
"There is a judgement call here, of course, but the output of the man:"
"dmesg[8] command can frequently be very useful, since it tells not just what "
"hardware you are running, but what version of FreeBSD as well."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:144
msgid ""
"If you get error messages, do not say \"I get error messages\", say (for "
"example) \"I get the error message 'No route to host'\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:145
msgid ""
"If your system panics, do not say \"My system panicked\", say (for example) "
"\"my system panicked with the message 'free vnode isn't'\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:146
msgid ""
"If you have difficulty installing FreeBSD, please tell us what hardware you "
"have. In particular, it is important to know the IRQs and I/O addresses of "
"the boards installed in your machine."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:147
msgid ""
"If you have difficulty getting PPP to run, describe the configuration. Which "
"version of PPP do you use? What kind of authentication do you have? Do you "
"have a static or dynamic IP address? What kind of messages do you get in the "
"log file?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:149
msgid ""
"A lot of the information you need to supply is the output of programs, such "
"as man:dmesg[8], or console messages, which usually appear in [.filename]#/"
"var/log/messages#. Do not try to copy this information by typing it in "
"again; it is a real pain, and you are bound to make a mistake. To send log "
"file contents, either make a copy of the file and use an editor to trim the "
"information to what is relevant, or cut and paste into your message. For the "
"output of programs like man:dmesg[8], redirect the output to a file and "
"include that. For example,"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:153
#, no-wrap
msgid "% dmesg > /tmp/dmesg.out\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:156
msgid "This redirects the information to the file [.filename]#/tmp/dmesg.out#."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:157
msgid ""
"If you do all this, and you still do not get an answer, there could be other "
"reasons. For example, the problem is so complicated that nobody knows the "
"answer, or the person who does know the answer was offline. If you do not "
"get an answer after, say, a week, it might help to re-send the message. If "
"you do not get an answer to your second message, though, you are probably "
"not going to get one from this forum. Resending the same message again and "
"again will only make you unpopular."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-questions/_index.adoc:160
msgid ""
"To summarize, let's assume you know the answer to the following question "
"(yes, it is the same one in each case). You choose which of these two "
"questions you would be more prepared to answer:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/freebsd-questions/_index.adoc:161
#, no-wrap
msgid "Message 1"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:171
#, no-wrap
msgid ""
"Subject: HELP!!?!??\n"
"I just can't get hits damn silly FereBSD system to\n"
"workd, and Im really good at this tsuff, but I have never seen\n"
"anythign sho difficult to install, it jst wont work whatever I try\n"
"so why don't you guys tell me what I doing wrong.\n"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/freebsd-questions/_index.adoc:174
#, no-wrap
msgid "Message 2"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:180
#, no-wrap
msgid "Subject: Problems installing FreeBSD\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:187
#, no-wrap
msgid ""
"I've just got the FreeBSD 2.1.5 CDROM from Walnut Creek, and I'm having a lot\n"
"of difficulty installing it. I have a 66 MHz 486 with 16 MB of\n"
"memory and an Adaptec 1540A SCSI board, a 1.2GB Quantum Fireball\n"
"disk and a Toshiba 3501XA CDROM drive. The installation works just\n"
"fine, but when I try to reboot the system, I get the message\n"
"Missing Operating System.\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:190
#, no-wrap
msgid "How to Follow up to a Question"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:195
msgid ""
"Often you will want to send in additional information to a question you have "
"already sent. The best way to do this is to reply to your original "
"message. This has three advantages:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:197
msgid ""
"You include the original message text, so people will know what you are "
"talking about. Do not forget to trim unnecessary text out, though."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:198
msgid ""
"The text in the subject line stays the same (you did remember to put one in, "
"did you not?). Many mailers will sort messages by subject. This helps group "
"messages together."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:199
msgid ""
"The message reference numbers in the header will refer to the previous "
"message. Some mailers, such as http://www.mutt.org/[mutt], can _thread_ "
"messages, showing the exact relationships between the messages."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/freebsd-questions/_index.adoc:200
#, no-wrap
msgid "How to Answer a Question"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:203
msgid "Before you answer a question to FreeBSD-questions, consider:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:205
msgid ""
"A lot of the points on submitting questions also apply to answering "
"questions. Read them."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:206
msgid ""
"Has somebody already answered the question? The easiest way to check this is "
"to sort your incoming mail by subject: then (hopefully) you will see the "
"question followed by any answers, all together."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:209
msgid ""
"If somebody has already answered it, it does not automatically mean that you "
"should not send another answer. But it makes sense to read all the other "
"answers first."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:210
msgid ""
"Do you have something to contribute beyond what has already been said? In "
"general, \"Yeah, me too\" answers do not help much, although there are "
"exceptions, like when somebody is describing a problem they are having, and "
"they do not know whether it is their fault or whether there is something "
"wrong with the hardware or software. If you do send a \"me too\" answer, you "
"should also include any further relevant information."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:211
msgid ""
"Are you sure you understand the question? Very frequently, the person who "
"asks the question is confused or does not express themselves very well. Even "
"with the best understanding of the system, it is easy to send a reply which "
"does not answer the question. This does not help: you will leave the person "
"who submitted the question more frustrated or confused than ever. If nobody "
"else answers, and you are not too sure either, you can always ask for more "
"information."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:212
msgid ""
"Are you sure your answer is correct? If not, wait a day or so. If nobody "
"else comes up with a better answer, you can still reply and say, for "
"example, \"I do not know if this is correct, but since nobody else has "
"replied, why don't you try replacing your ATAPI CDROM with a frog?\"."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:213
msgid ""
"Unless there is a good reason to do otherwise, reply to the sender and to "
"FreeBSD-questions. Many people on the FreeBSD-questions are \"lurkers\": "
"they learn by reading messages sent and replied to by others. If you take a "
"message which is of general interest off the list, you are depriving these "
"people of their information. Be careful with group replies; lots of people "
"send messages with hundreds of CCs. If this is the case, be sure to trim the "
"Cc: lines appropriately."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:214
msgid ""
"Include relevant text from the original message. Trim it to the minimum, but "
"do not overdo it. It should still be possible for somebody who did not read "
"the original message to understand what you are talking about."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:215
msgid ""
"Use some technique to identify which text came from the original message, "
"and which text you add. I personally find that prepending \"`>`\" to the "
"original message works best. Leaving white space after the \"`> ;`\" and "
"leave empty lines between your text and the original text both make the "
"result more readable."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:216
msgid ""
"Put your response in the correct place (after the text to which it replies). "
"It is very difficult to read a thread of responses where each reply comes "
"before the text to which it replies."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:217
msgid ""
"Most mailers change the subject line on a reply by prepending a text such as "
"\"Re: \". If your mailer does not do it automatically, you should do it "
"manually."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:218
msgid ""
"If the submitter did not abide by format conventions (lines too long, "
"inappropriate subject line) _please_ fix it. In the case of an incorrect "
"subject line (such as \"HELP!!??\"), change the subject line to (say) \"Re: "
"Difficulties with sync PPP (was: HELP!!??)\". That way other people trying "
"to follow the thread will have less difficulty following it."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:221
msgid ""
"In such cases, it is appropriate to say what you did and why you did it, but "
"try not to be rude. If you find you can not answer without being rude, do "
"not answer."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/freebsd-questions/_index.adoc:223
msgid ""
"If you just want to reply to a message because of its bad format, just reply "
"to the submitter, not to the list. You can just send him this message in "
"reply, if you like."
msgstr ""
diff --git a/documentation/content/en/articles/freebsd-releng/_index.po b/documentation/content/en/articles/freebsd-releng/_index.po
index 43a05e6b8a..dc9a95bfbe 100644
--- a/documentation/content/en/articles/freebsd-releng/_index.po
+++ b/documentation/content/en/articles/freebsd-releng/_index.po
@@ -1,2199 +1,1859 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/freebsd-releng/_index.adoc:1
#, no-wrap
msgid "Describes the approach used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System. It describes the tools available for those interested in producing customized FreeBSD releases for corporate rollouts or commercial productization"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/freebsd-releng/_index.adoc:1
#: documentation/content/en/articles/freebsd-releng/_index.adoc:16
#, no-wrap
msgid "FreeBSD Release Engineering"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:63
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/freebsd-releng/_index.adoc:65
msgid ""
"This article describes the release engineering process of the FreeBSD "
"Project."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:69
-msgid ""
-"This document has not yet been updated to describe the current release "
-"procedures of the FreeBSD Release Engineering team following the transition "
-"from Subversion to Git."
-msgstr ""
-
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:72
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:67
msgid "'''"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:76
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:71
#, no-wrap
msgid "Introduction to the FreeBSD Release Engineering Process"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:80
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:75
msgid ""
"Development of FreeBSD has a very specific workflow. In general, all "
"changes to the FreeBSD base system are committed to the {branchHead} branch, "
"which reflects the top of the source tree."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:83
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:78
msgid ""
"After a reasonable testing period, changes can then be merged to the "
"{branchStable} branches. The default minimum timeframe before merging to "
"{branchStable} branches is three (3) days."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:85
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:80
msgid ""
"Although a general rule to wait a minimum of three days before merging from "
"{branchHead}, there are a few special circumstances where an immediate merge "
"may be necessary, such as a critical security fix, or a bug fix that "
"directly inhibits the release build process."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:88
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:83
msgid ""
"After several months, and the number of changes in the {branchStable} branch "
"have grown significantly, it is time to release the next version of "
"FreeBSD. These releases have been historically referred to as \"point\" "
"releases."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:91
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:86
msgid ""
"In between releases from the {branchStable} branches, approximately every "
"two (2) years, a release will be cut directly from {branchHead}. These "
"releases have been historically referred to as \"dot-zero\" releases."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:93
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:88
msgid ""
"This article will highlight the workflow and responsibilities of the "
"{teamRe} for both \"dot-zero\" and \"point\"' releases."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:95
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:90
msgid "The following sections of this article describe:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:96
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:91
#, no-wrap
msgid "<<releng-prep>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:98
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:93
msgid "General information and preparation before starting the release cycle."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:99
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:94
#, no-wrap
msgid "<<releng-website>>"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:101
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:289
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:96
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:281
#, no-wrap
msgid "Website Changes During the Release Cycle"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:102
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:97
#, no-wrap
msgid "<<releng-terms>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:104
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:99
msgid ""
"Terminology and general information, such as the \"code slush\" and \"code "
"freeze\", used throughout this document."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:105
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:100
#, no-wrap
msgid "<<releng-head>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:107
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:102
msgid "The Release Engineering process for a \"dot-zero\" release."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:108
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:103
#, no-wrap
msgid "<<releng-stable>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:110
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:105
msgid "The Release Engineering process for a \"point\" release."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:111
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:106
#, no-wrap
msgid "<<releng-building>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:113
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:108
msgid ""
"Information related to the specific procedures to build installation medium."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:114
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:109
#, no-wrap
msgid "<<releng-mirrors>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:116
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:111
msgid "Procedures to publish installation medium."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:117
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:112
#, no-wrap
msgid "<<releng-wrapup>>"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:119
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:114
msgid "Wrapping up the release cycle."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:121
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:116
#, no-wrap
msgid "General Information and Preparation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:126
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:121
msgid ""
"Approximately two months before the start of the release cycle, the {teamRe} "
"decides on a schedule for the release. The schedule includes the various "
"milestone points of the release cycle, such as freeze dates, branch dates, "
"and build dates. For example:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:131
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:126
#, no-wrap
msgid "Milestone"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:133
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:128
#, no-wrap
msgid "Anticipated Date"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:134
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:129
#, no-wrap
msgid "{branchHead} slush:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:136
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:131
#, no-wrap
msgid "May 27, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:137
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:132
#, no-wrap
msgid "{branchHead} freeze:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:139
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:134
#, no-wrap
msgid "June 10, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:140
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:135
#, no-wrap
msgid "{branchHead} KBI freeze:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:142
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:145
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:137
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:140
#, no-wrap
msgid "June 24, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:143
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:138
#, no-wrap
msgid "`doc/` tree slush [1]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:146
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:141
#, no-wrap
msgid "Ports quarterly branch [2]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:148
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:143
#, no-wrap
msgid "July 1, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:149
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:144
#, no-wrap
msgid "{branchStablex} branch:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:151
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:154
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:157
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:146
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:149
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:152
#, no-wrap
msgid "July 8, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:152
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:147
#, no-wrap
msgid "`doc/` tree tag [3]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:155
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:150
#, no-wrap
msgid "BETA1 build starts:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:158
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:153
#, no-wrap
msgid "{branchHead} thaw:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:160
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:155
#, no-wrap
msgid "July 9, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:161
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:156
#, no-wrap
msgid "BETA2 build starts:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:163
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:158
#, no-wrap
msgid "July 15, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:164
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:159
#, no-wrap
msgid "BETA3 build starts [*]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:166
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:161
#, no-wrap
msgid "July 22, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:167
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:162
#, no-wrap
msgid "{branchRelengx} branch:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:169
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:172
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:164
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:167
#, no-wrap
msgid "July 29, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:170
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:165
#, no-wrap
msgid "RC1 build starts:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:173
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:168
#, no-wrap
msgid "{branchStablex} thaw:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:175
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:170
#, no-wrap
msgid "July 30, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:176
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:171
#, no-wrap
msgid "RC2 build starts:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:178
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:173
#, no-wrap
msgid "August 5, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:179
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:174
#, no-wrap
msgid "Final Ports package builds [4]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:181
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:176
#, no-wrap
msgid "August 6, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:182
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:177
#, no-wrap
msgid "Ports release tag:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:184
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:187
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:179
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:182
#, no-wrap
msgid "August 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:185
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:180
#, no-wrap
msgid "RC3 build starts [*]:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:188
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:183
#, no-wrap
msgid "RELEASE build starts:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:190
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:185
#, no-wrap
msgid "August 19, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:191
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:186
#, no-wrap
msgid "RELEASE announcement:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:192
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:187
#, no-wrap
msgid "September 2, 2016"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:197
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:192
msgid "Items marked with \"[*]\" are \"as needed\"."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:200
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:195
msgid "The `doc/` tree slush is coordinated by the {teamDoceng}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:201
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:196
msgid ""
"The Ports quarterly branch used is determined by when the final `RC` build "
"is planned. A new quarterly branch is created on the first day of the "
"quarter, so this metric should be used when taking the release cycle "
"milestones into account. The quarterly branch is created by the "
"{teamPortmgr}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:202
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:197
msgid "The `doc/` tree is tagged by the {teamDoceng}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:203
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:198
msgid ""
"The final Ports package build is done by the {teamPortmgr} after the final "
"(or what is expected to be final) `RC` build."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:207
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:202
msgid ""
"If the release is being created from an existing {branchStable} branch, the "
"KBI freeze date can be excluded, since the KBI is already considered frozen "
"on established {branchStable} branches."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:212
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:207
msgid ""
"When writing the release cycle schedule, a number of things need to be taken "
"into consideration, in particular milestones where the target date depends "
"on predefined milestones upon which there is a dependency. For example, the "
"Ports Collection release tag originates from the active quarterly branch at "
"the time of the last `RC`. This in part defines which quarterly branch is "
"used, when the release tag can happen, and what revision of the ports tree "
"is used for the final `RELEASE` build."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:214
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:209
msgid ""
"After general agreement on the schedule, the {teamRe} emails the schedule to "
"the FreeBSD Developers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:217
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:212
msgid ""
"It is somewhat typical that many developers will inform the {teamRe} about "
"various works-in-progress. In some cases, an extension for the in-progress "
"work will be requested, and in other cases, a request for \"blanket "
"approval\" to a particular subset of the tree will be made."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:221
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:216
msgid ""
"When such requests are made, it is important to make sure timelines (even if "
"estimated) are discussed. For blanket approvals, the length of time for the "
"blanket approval should be made clear. For example, a FreeBSD developer may "
"request blanket approvals from the start of the code slush until the start "
"of the `RC` builds."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:226
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:221
msgid ""
"To keep track of blanket approvals, the {teamRe} uses an internal repository "
"to keep a running log of such requests, which defines the area upon which a "
"blanket approval was granted, the author(s), when the blanket approval "
"expires, and the reason the approval was granted. One example of this is "
"granting blanket approval to [.filename]#release/doc/# to all {teamRe} "
"members until the final `RC` to update the release notes and other release-"
"related documentation."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:231
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:226
msgid ""
"The {teamRe} also uses this repository to track pending approval requests "
"that are received just prior to starting various builds during the release "
"cycle, which the Release Engineer specifies the cutoff period with an email "
"to the FreeBSD developers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:234
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:229
msgid ""
"Depending on the underlying set of code in question, and the overall impact "
"the set of code has on FreeBSD as a whole, such requests may be approved or "
"denied by the {teamRe}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:238
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:233
msgid ""
"The same applies to work-in-progress extensions. For example, in-progress "
"work for a new device driver that is otherwise isolated from the rest of the "
"tree may be granted an extension. A new scheduler, however, may not be "
"feasible, especially if such dramatic changes do not exist in another branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:240
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:235
msgid ""
"The schedule is also added to the Project website, in the `doc/` repository, "
"in [.filename]#~/website/content/en/releases/{branchRevision}R/schedule."
"adoc#. This file is continuously updated as the release cycle progresses."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:244
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:239
msgid ""
"In most cases, the [.filename]#schedule.adoc# can be copied from a prior "
"release and updated accordingly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:247
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:242
msgid ""
"In addition to adding [.filename]#schedule.adoc# to the website, [."
"filename]#~/shared/releases.adoc# is also updated to add the link to the "
"schedule to various subpages, as well as enabling the link to the schedule "
"on the Project website index page."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:249
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:244
msgid ""
"The schedule is also linked from [.filename]#~/website/content/en/releng/"
"_index.adoc#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:251
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:246
msgid ""
"Approximately one month prior to the scheduled \"code slush\", the {teamRe} "
"sends a reminder email to the FreeBSD Developers."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:253
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:248
#, no-wrap
msgid "Release Engineering Terminology"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:256
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:251
msgid ""
"This section describes some of the terminology used throughout the rest of "
"this document."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:258
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:253
#, no-wrap
msgid "The Code Slush"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:261
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:256
msgid ""
"Although the code slush is not a hard freeze on the tree, the {teamRe} "
"requests that bugs in the existing code base take priority over new features."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:263
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:258
msgid "The code slush does not enforce commit approvals to the branch."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:265
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:260
#, no-wrap
msgid "The Code Freeze"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:268
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:263
msgid ""
"The code freeze marks the point in time where all commits to the branch "
"require explicit approval from the {teamRe}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:271
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:266
msgid ""
-"The FreeBSD Subversion repository contains several hooks to perform sanity "
-"checks before any commit is actually committed to the tree. One of these "
-"hooks will evaluate if committing to a particular branch requires specific "
+"The FreeBSD Git repository contains several hooks to perform sanity checks "
+"before any commit is actually committed to the tree. One of these hooks "
+"will evaluate if committing to a particular branch requires specific "
"approval."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:274
-msgid ""
-"To enforce commit approvals by the {teamRe}, the Release Engineer updates [."
-"filename]#base/svnadmin/conf/approvers#, and commits the change back to the "
-"repository. Once this is done, any change to the branch must include an "
-"\"Approved by:\" line in the commit message."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:276
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:268
msgid ""
-"The \"Approved by:\" line must match the second column in [.filename]#base/"
-"svnadmin/conf/approvers#, otherwise the commit will be rejected by the "
-"repository hooks."
+"To enforce commit approvals by the {teamRe}, the Release Engineering Team "
+"must approve any changes to the branch, in which case the commit log must "
+"include an `Approved by: re (login)` line, where \"login\" is the login ID "
+"of the approver."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:280
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:272
msgid ""
"During the code freeze, FreeBSD committers are urged to follow the link:"
"https://wiki.freebsd.org/Releng/ChangeRequestGuidelines[Change Request "
"Guidelines]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:283
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:275
#, no-wrap
msgid "The KBI/KPI Freeze"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:287
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:279
msgid ""
"KBI/KPI stability implies that the caller of a function across two different "
"releases of software that implement the function results in the same end "
"state. The caller, whether it is a process, thread, or function, expects "
"the function to operate in a certain way, otherwise the KBI/KPI stability on "
"the branch is broken."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:292
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:284
msgid ""
"This section describes the changes to the website that should occur as the "
"release cycle progresses."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:296
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:288
msgid ""
-"The files specified throughout this section are relative to the `head/` "
-"branch of the `doc` repository in Subversion."
+"The files specified throughout this section are relative to the `{branchHead}"
+"` branch of the `doc` repository."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:299
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:291
#, no-wrap
msgid "Website Changes Before the Release Cycle Begins"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:302
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:294
msgid ""
"When the release cycle schedule is available, these files need to be updated "
"to enable various different functionalities on the FreeBSD Project website:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:307
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:326
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:396
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:451
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:499
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:556
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:742
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:299
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:318
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:389
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:444
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:492
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:548
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:638
#, no-wrap
msgid "File to Edit"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:309
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:328
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:398
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:453
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:501
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:558
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:744
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:868
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:301
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:320
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:391
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:446
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:494
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:550
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:640
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:768
#, no-wrap
msgid "What to Change"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:310
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:313
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:302
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:305
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:321
#, no-wrap
msgid "[.filename]#~/shared/releases.adoc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:312
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:304
#, no-wrap
msgid "Change `beta-upcoming` from `IGNORE` to `INCLUDE`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:315
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:307
#, no-wrap
msgid "Change `beta-testing` from `IGNORE` to `INCLUDE`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:318
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:310
#, no-wrap
msgid "Website Changes During `BETA` or `RC`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:321
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:313
msgid ""
"When transitioning from `PRERELEASE` to `BETA`, these files need to be "
"updated to enable the \"Help Test\" block on the download page. All files "
"are relative to [.filename]#head/# in the `doc` repository:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:329
-#, no-wrap
-msgid "[.filename]#share/releases.adoc#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:331
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:323
#, no-wrap
msgid "Update `betarel-vers` to `BETA__1__`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:332
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:324
#, no-wrap
msgid "[.filename]#~/website/data/en/news/news.toml#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:334
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:326
#, no-wrap
msgid "Add an entry announcing the `BETA`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:335
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:887
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:327
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:787
#, no-wrap
msgid "[.filename]#~/website/static/security/advisory-template.txt#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:337
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:339
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:329
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:331
#, no-wrap
msgid "Add the new `BETA`, `RC`, or final `RELEASE` to the template"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:338
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:890
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:330
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:790
#, no-wrap
msgid "[.filename]#~/website/static/security/errata-template.txt#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:342
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:334
msgid ""
"Once the {branchRelengx} branch is created, the various release-related "
-"documents need to be generated and manually added to the `doc/` repository."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:344
-msgid ""
-"Within [.filename]#release/doc#, invoke to generate [.filename]#errata."
-"html#, [.filename]#hardware.html#, [.filename]#readme.html#, and [."
-"filename]#relnotes.html# pages, which are then added to [.filename]#doc/head/"
-"en_US.ISO8859-1/htdocs/releases/X.YR/#, where _X.Y_ represents the major and "
-"minor version number of the release."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:346
-msgid ""
-"The `fbsd:nokeywords` property must be set to `on` on the newly-added files "
-"before the pre-commit hooks will allow them to be added to the repository."
+"documents need to be added to the `doc/` repository."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:350
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:338
msgid ""
"The relevant release-related documents exist in the [.filename]#doc# "
"repository for FreeBSD 12.x and later."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:353
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:341
#, no-wrap
msgid "Ports Changes During `BETA`, `RC`, and the Final `RELEASE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:357
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:345
msgid ""
"For each build during the release cycle, the `MANIFEST` files containing the "
"`SHA256` of the various distribution sets, such as `base.txz`, `kernel.txz`, "
"and so on, are added to the package:misc/freebsd-release-manifests[] port. "
"This allows utilities other than , such as package:ports-mgmt/poudriere[], "
"to safely use these distribution sets by providing a mechanism through which "
"the checksums can be verified."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:359
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:347
#, no-wrap
msgid "Release from {branchHead}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:362
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:350
msgid ""
"This section describes the general procedures of the FreeBSD release cycle "
"from the {branchHead} branch."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:364
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:352
#, no-wrap
msgid "FreeBSD \"`ALPHA`\" Builds"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:368
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:356
msgid ""
"Starting with the FreeBSD 10.0-RELEASE cycle, the notion of \"`ALPHA`\" "
"builds was introduced. Unlike the `BETA` and `RC` builds, `ALPHA` builds "
"are not included in the FreeBSD Release schedule."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:370
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:358
msgid ""
"The idea behind `ALPHA` builds is to provide regular FreeBSD-provided builds "
"before the creation of the {branchStable} branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:372
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:360
msgid "FreeBSD `ALPHA` snapshots should be built approximately once a week."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:375
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:363
msgid ""
"For the first `ALPHA` build, the `BRANCH` value in [.filename]#sys/conf/"
"newvers.sh# needs to be changed from `CURRENT` to `ALPHA1`. For subsequent "
"`ALPHA` builds, increment each `ALPHA__N__` value by one."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:377
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:365
msgid "See <<releng-building>> for information on building the `ALPHA` images."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:379
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:367
#, no-wrap
msgid "Creating the {branchStablex} Branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:384
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:372
msgid ""
"When creating the {branchStable} branch, several changes are required in "
"both the new {branchStable} branch and the {branchHead} branch. The files "
"listed are relative to the repository root. To create the new "
-"{branchStablex} branch in Subversion:"
+"{branchStablex} branch in Git:"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:376
+msgid "Make sure that you are in the {branchHead} branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:388
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:381
#, no-wrap
-msgid "% svn cp ^/head {branchStablex}\n"
+msgid "% git checkout -b {branchStablex}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:391
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:384
msgid ""
-"Once the {branchStablex} branch has been committed, make the following edits:"
+"Once the {branchStablex} branch has been created, make the following edits:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:399
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:392
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:447
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:644
#, no-wrap
-msgid "[.filename]#stable/12/UPDATING#"
+msgid "[.filename]#UPDATING#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:401
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:394
#, no-wrap
msgid "Update the FreeBSD version, and remove the notice about `WITNESS`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:402
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:395
#, no-wrap
-msgid "[.filename]#stable/12/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h#"
+msgid "[.filename]#contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:411
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:404
#, no-wrap
msgid ""
"[source,shell,subs=\"attributes\"]\n"
"....\n"
"#ifndef MALLOC_PRODUCTION\n"
"#define MALLOC_PRODUCTION\n"
"#endif\n"
"...."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:412
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:405
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:465
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:501
#, no-wrap
-msgid "[.filename]#stable/12/lib/clang/llvm.build.mk#"
+msgid "[.filename]#lib/clang/llvm.build.mk#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:414
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:407
#, no-wrap
msgid "Uncomment `-DNDEBUG`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:415
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:408
#, no-wrap
-msgid "[.filename]#stable/12/sys/\\*/conf/GENERIC*#"
+msgid "[.filename]#sys/\\*/conf/GENERIC*#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:417
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:420
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:410
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:413
#, no-wrap
msgid "Remove debugging support"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:418
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:411
#, no-wrap
-msgid "[.filename]#stable/12/sys/*/conf/MINIMAL#"
+msgid "[.filename]#sys/*/conf/MINIMAL#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:421
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:414
#, no-wrap
-msgid "[.filename]#stable/12/release/release.conf.sample#"
+msgid "[.filename]#release/release.conf.sample#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:423
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:416
#, no-wrap
msgid "Update `SRCBRANCH`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:424
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:417
#, no-wrap
-msgid "[.filename]#stable/12/sys/*/conf/GENERIC-NODEBUG#"
+msgid "[.filename]#sys/*/conf/GENERIC-NODEBUG#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:426
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:419
#, no-wrap
msgid "Remove these kernel configurations"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:427
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:420
#, no-wrap
-msgid "[.filename]#stable/12/sys/arm/conf/std.arm*#"
+msgid "[.filename]#sys/arm/conf/std.arm*#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:429
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:422
#, no-wrap
msgid "Remove debugging options"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:430
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:574
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:423
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:450
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:495
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:551
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:566
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:641
#, no-wrap
-msgid "[.filename]#stable/12/sys/conf/newvers.sh#"
+msgid "[.filename]#sys/conf/newvers.sh#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:432
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:425
#, no-wrap
msgid "Update the `BRANCH` value to reflect `BETA1`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:433
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:436
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:426
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:429
#, no-wrap
-msgid "[.filename]#stable/12/share/mk/src.opts.mk#"
+msgid "[.filename]#share/mk/src.opts.mk#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:435
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:428
#, no-wrap
msgid "Move `REPRODUCIBLE_BUILD` from `\\__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:438
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:431
#, no-wrap
msgid "Move `LLVM_ASSERTIONS` from `\\__DEFAULT_YES_OPTIONS` to `__DEFAULT_NO_OPTIONS` (FreeBSD 13.x and later only)"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:439
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:432
#, no-wrap
-msgid "[.filename]#stable/12/libexec/rc/rc.conf#"
+msgid "[.filename]#libexec/rc/rc.conf#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:441
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:434
#, no-wrap
msgid "Set `dumpdev` from `AUTO` to `NO` (it is configurable via for those that want it enabled by default)"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:442
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:435
#, no-wrap
-msgid "[.filename]#stable/12/release/Makefile#"
+msgid "[.filename]#release/Makefile#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:443
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:436
#, no-wrap
msgid "Remove the `debug.witness.trace` entries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:446
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:439
msgid ""
"Then in the {branchHead} branch, which will now become a new major version:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:454
-#, no-wrap
-msgid "[.filename]#head/UPDATING#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:456
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:449
#, no-wrap
msgid "Update the FreeBSD version"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:457
-#, no-wrap
-msgid "[.filename]#head/sys/conf/newvers.sh#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:459
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:452
#, no-wrap
msgid "Update the `BRANCH` value to reflect `CURRENT`, and increment `REVISION`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:460
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:453
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:498
#, no-wrap
-msgid "[.filename]#head/Makefile.inc1#"
+msgid "[.filename]#Makefile.inc1#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:462
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:455
#, no-wrap
msgid "Update `TARGET_TRIPLE` and `MACHINE_TRIPLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:463
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:456
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:554
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:569
#, no-wrap
-msgid "[.filename]#head/sys/sys/param.h#"
+msgid "[.filename]#sys/sys/param.h#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:465
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:564
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:579
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:458
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:556
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:570
#, no-wrap
msgid "Update `__FreeBSD_version`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:466
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:459
#, no-wrap
-msgid "[.filename]#head/gnu/usr.bin/cc/cc_tools/freebsd-native.h#"
+msgid "[.filename]#gnu/usr.bin/cc/cc_tools/freebsd-native.h#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:468
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:461
#, no-wrap
msgid "Update `FBSD_MAJOR` and `FBSD_CC_VER`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:469
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:462
#, no-wrap
-msgid "[.filename]#head/contrib/gcc/config.gcc#"
+msgid "[.filename]#contrib/gcc/config.gcc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:471
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:464
#, no-wrap
msgid "Append the `freebsdversion.h` section"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:472
-#, no-wrap
-msgid "[.filename]#head/lib/clang/llvm.build.mk#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:474
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:467
#, no-wrap
msgid "Update the value of `OS_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:475
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:468
#, no-wrap
-msgid "[.filename]#head/lib/clang/freebsd_cc_version.h#"
+msgid "[.filename]#lib/clang/freebsd_cc_version.h#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:477
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:470
#, no-wrap
msgid "Update `FREEBSD_CC_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:478
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:471
#, no-wrap
-msgid "[.filename]#head/lib/clang/include/lld/Common/Version.inc#"
+msgid "[.filename]#lib/clang/include/lld/Common/Version.inc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:480
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:473
#, no-wrap
msgid "Update `LLD_REVISION_STRING`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:481
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:474
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:504
#, no-wrap
-msgid "[.filename]#head/Makefile.libcompat#"
+msgid "[.filename]#Makefile.libcompat#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:482
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:512
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:475
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:505
#, no-wrap
msgid "Update `LIB32CPUFLAGS`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:485
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:478
#, no-wrap
msgid "Release from {branchStable}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:488
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:481
msgid ""
"This section describes the general procedures of the FreeBSD release cycle "
"from an extablished {branchStable} branch."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:490
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:483
#, no-wrap
msgid "FreeBSD `stable` Branch Code Slush"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:494
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:487
msgid ""
"In preparation for the code freeze on a `stable` branch, several files need "
"to be updated to reflect the release cycle is officially in progress. These "
"files are all relative to the top-most level of the stable branch:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:502
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:745
-#, no-wrap
-msgid "[.filename]#sys/conf/newvers.sh#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:504
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:497
#, no-wrap
msgid "Update the `BRANCH` value to reflect `PRERELEASE`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:505
-#, no-wrap
-msgid "[.filename]#Makefile.inc1#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:507
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:500
#, no-wrap
msgid "Update `TARGET_TRIPLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:508
-#, no-wrap
-msgid "[.filename]#lib/clang/llvm.build.mk#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:510
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:503
#, no-wrap
msgid "Update `OS_VERSION`"
msgstr ""
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:511
-#, no-wrap
-msgid "[.filename]#Makefile.libcompat#"
-msgstr ""
-
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:515
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:508
#, no-wrap
msgid "FreeBSD `BETA` Builds"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:520
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:513
msgid ""
"Following the code slush, the next phase of the release cycle is the code "
"freeze. This is the point at which all commits to the stable branch require "
-"explicit approval from the {teamRe}. This is enforced by pre-commit hooks "
-"in the Subversion repository by editing [.filename]#base/svnadmin/conf/"
-"approvers# to include a regular expression matching the {branchStablex} "
-"branch for the release:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:525
-#, no-wrap
-msgid ""
-"^/{branchStablex}\tre\n"
-"^/{branchRelengx}\tre\n"
+"explicit approval from the {teamRe}. This is enforced by {git-admin-email} "
+"who handles the repository."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:531
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:518
msgid ""
"There are two general exceptions to requiring commit approval during the "
"release cycle. The first is any change that needs to be committed by the "
"Release Engineer to proceed with the day-to-day workflow of the release "
"cycle, the other is security fixes that may occur during the release cycle."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:535
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:522
msgid ""
"Once the code freeze is in effect, the next build from the branch is labeled "
"`BETA1`. This is done by updating the `BRANCH` value in [.filename]#sys/"
"conf/newvers.sh# from `PRERELEASE` to `BETA1`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:538
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:525
msgid ""
"Once this is done, the first set of `BETA` builds are started. Subsequent "
"`BETA` builds do not require updates to any files other than [.filename]#sys/"
"conf/newvers.sh#, incrementing the `BETA` build number."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:540
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:527
#, no-wrap
msgid "Creating the {branchRelengx} Branch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:546
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:533
msgid ""
"When the first `RC` (Release Candidate) build is ready to begin, the "
"{branchReleng} branch is created. This is a multi-step process that must be "
"done in a specific order, to avoid anomalies such as overlaps with "
"`__FreeBSD_version` values, for example. The paths listed below are "
"relative to the repository root. The order of commits and what to change "
"are:"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:550
-#, no-wrap
-msgid "% svn cp ^/{branchStablex} {branchRelengx}\n"
+#. type: delimited block = 4
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:537
+msgid "Make sure that you are in the {branchStablex} branch"
msgstr ""
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:559
+#. type: delimited block . 4
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:542
#, no-wrap
-msgid "[.filename]#releng/12.0/sys/conf/newvers.sh#"
+msgid "% git checkout -b {branchRelengx}\n"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:561
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:553
#, no-wrap
msgid "Change `BETA__X__` to `RC1`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:562
-#, no-wrap
-msgid "[.filename]#releng/12.0/sys/sys/param.h#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:565
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:557
#, no-wrap
-msgid "[.filename]#releng/12.0/sys/conf/kern.opts.mk"
+msgid "[.filename]#sys/conf/kern.opts.mk#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:567
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:559
#, no-wrap
msgid "Move `REPRODUCIBLE_BUILD` from `__DEFAULT_NO_OPTIONS` to `__DEFAULT_YES_OPTIONS`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:568
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:560
#, no-wrap
-msgid "[.filename]#releng/12.0/etc/pkg/FreeBSD.conf#"
+msgid "[.filename]#etc/pkg/FreeBSD.conf#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:570
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:573
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:562
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:565
#, no-wrap
msgid "Replace `latest` with `quarterly` as the default package repository location"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:571
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:563
#, no-wrap
-msgid "[.filename]#releng/12.0/release/pkg_repos/release-dvd.conf#"
+msgid "[.filename]#release/pkg_repos/release-dvd.conf#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:576
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:568
#, no-wrap
msgid "Update `BETA__X__` with `PRERELEASE`"
msgstr ""
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:577
-#, no-wrap
-msgid "[.filename]#stable/12/sys/sys/param.h#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:580
-#, no-wrap
-msgid "[.filename]#svnadmin/conf/approvers#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:581
-#, no-wrap
-msgid "Add a new approvers line for the releng branch as was done for the stable branch"
+#. type: Plain text
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:573
+msgid ""
+"Then, {git-admin-email} adds new approvers for the releng branch as did for "
+"the stable branch."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:588
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:578
#, no-wrap
msgid ""
-"% svn propdel -R svn:mergeinfo {branchRelengx}\n"
-"% svn commit {branchRelengx}\n"
-"% svn commit {branchStablex}\n"
+"% git add .\n"
+"% git commit\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:591
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:581
msgid ""
"Now that two new `__FreeBSD_version` values exist, also update [.filename]#~/"
"documentation/content/en/books/porters-handbook/versions/chapter.adoc# in "
"the Documentation Project repository."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:593
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:583
msgid ""
"After the first `RC` build has completed and tested, the {branchStable} "
-"branch can be \"thawed\" by removing (or commenting) the ^/{branchStablex} "
-"entry in [.filename]#svnadmin/conf/approvers#."
+"branch can be \"thawed\" by {git-admin-email}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:595
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:585
msgid ""
"Following the availability of the first `RC`, {teamBugmeister} should be "
"emailed to add the new FreeBSD `-RELEASE` to the `versions` available in the "
"drop-down menu shown in the bug tracker."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:597
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:587
#, no-wrap
msgid "Building FreeBSD Installation Media"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:600
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:590
msgid ""
"This section describes the general procedures producing FreeBSD development "
"snapshots and releases."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:602
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:592
#, no-wrap
msgid "Release Build Scripts"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:605
-msgid ""
-"This section describes the build scripts used by {teamRe} to produce "
-"development snapshots and releases."
-msgstr ""
-
-#. type: Title ====
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:607
-#, no-wrap
-msgid "The [.filename]#release.sh# Script"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:610
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:595
msgid ""
"Prior to FreeBSD 9.0-RELEASE, [.filename]#src/release/Makefile# was updated "
"to support , and the [.filename]#src/release/generate-release.sh# script was "
"introduced as a wrapper to automate invoking the targets."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:613
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:598
msgid ""
"Prior to FreeBSD 9.2-RELEASE, [.filename]#src/release/release.sh# was "
"introduced, which heavily based on [.filename]#src/release/generate-release."
"sh# included support to specify configuration files to override various "
"options and environment variables. Support for configuration files provided "
"support for cross building each architecture for a release by specifying a "
"separate configuration file for each invocation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:615
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:600
msgid ""
"As a brief example of using [.filename]#src/release/release.sh# to build a "
"single release in [.filename]#/scratch#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:619
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:604
#, no-wrap
msgid "# /bin/sh /usr/src/release/release.sh\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:622
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:607
msgid ""
"As a brief example of using [.filename]#src/release/release.sh# to build a "
"single, cross-built release using a different target directory, create a "
"custom [.filename]#release.conf# containing:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:630
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:615
#, no-wrap
msgid ""
"# release.sh configuration for powerpc/powerpc64\n"
"CHROOTDIR=\"/scratch-powerpc64\"\n"
"TARGET=\"powerpc\"\n"
"TARGET_ARCH=\"powerpc64\"\n"
"KERNEL=\"GENERIC64\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:633
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:618
msgid "Then invoke [.filename]#src/release/release.sh# as:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:637
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:622
#, no-wrap
msgid "# /bin/sh /usr/src/release/release.sh -c $HOME/release.conf\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:640
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:625
msgid ""
"See and [.filename]#src/release/release.conf.sample# for more details and "
"example usage."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:642
-#, no-wrap
-msgid "The [.filename]#thermite.sh# Wrapper Script"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:645
-msgid ""
-"To make cross building the full set of architectures supported on a given "
-"branch faster, easier, and reduce human error factors, a wrapper script "
-"around [.filename]#src/release/release.sh# was written to iterate through "
-"the various combinations of architectures and invoke [.filename]#src/release/"
-"release.sh# using a configuration file specific to that architecture."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:647
-msgid ""
-"The wrapper script is called [.filename]#thermite.sh#, which is available in "
-"the FreeBSD Subversion repository at `svn://svn.freebsd.org/base/user/gjb/"
-"thermite/`, in addition to configuration files used to build {branchHead} "
-"and {branchStablex} development snapshots."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:649
-msgid ""
-"Using [.filename]#thermite.sh# is covered in <<releng-build-snapshot>> and "
-"<<releng-build-release>>."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:652
-msgid ""
-"Each architecture and individual kernel have their own configuration file "
-"used by [.filename]#release.sh#. Each branch has its own [."
-"filename]#defaults-X.conf# configuration which contains entries common "
-"throughout each architecture, where overrides or special variables are set "
-"and/or overridden in the per-build files."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:654
-msgid ""
-"The per-build configuration file naming scheme is in the form of [."
-"filename]#${revision}-${TARGET_ARCH}-${KERNCONF}-${type}.conf#, where the "
-"uppercase variables are equivalent to what uses in the build system, and "
-"lowercase variables are set within the configuration files, mapping to the "
-"major version of the respective branch."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:657
-msgid ""
-"Each branch also has its own [.filename]#builds-X.conf# configuration, which "
-"is used by [.filename]#thermite.sh#. The [.filename]#thermite.sh# script "
-"iterates through each ${revision}, ${TARGET_ARCH}, ${KERNCONF}, and ${type} "
-"value, creating a master list of what to build. However, a given "
-"combination from the list will only be built if the respective configuration "
-"file exists, which is where the naming scheme above is relevant."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:659
-msgid "There are two paths of file sourcing:"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:661
-msgid "[.filename]#builds-12.conf# - [.filename]#main.conf#"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:663
-msgid "This controls [.filename]#thermite.sh# behavior"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:664
-msgid ""
-"[.filename]#12-amd64-GENERIC-snap.conf# - [.filename]#defaults-12.conf# - [."
-"filename]#main.conf#"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:666
-msgid "This controls [.filename]#release/release.sh# behavior within the build"
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:670
-msgid ""
-"The [.filename]#builds-12.conf#, [.filename]#defaults-12.conf#, and [."
-"filename]#main.conf# configuration files exist to reduce repetition between "
-"the various per-build files."
-msgstr ""
-
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:673
-#, no-wrap
-msgid "Building FreeBSD Development Snapshots"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:676
-msgid ""
-"The official release build machines have a specific filesystem layout, which "
-"using ZFS, [.filename]#thermite.sh# takes heavy advantage of with clones and "
-"snapshots, ensuring a pristine build environment."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:678
-msgid ""
-"The build scripts reside in [.filename]#/releng/scripts-snapshot/scripts# or "
-"[.filename]#/releng/scripts-release/scripts# respectively, to avoid "
-"collisions between an `RC` build from a releng branch versus a `STABLE` "
-"snapshot from the respective stable branch."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:681
-msgid ""
-"A separate dataset exists for the final build images, [.filename]#/snap/"
-"ftp#. This directory contains both snapshots and releases directories. They "
-"are only used if the `EVERYTHINGISFINE` variable is defined in [."
-"filename]#main.conf#."
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:685
-msgid ""
-"The `EVERYTHINGISFINE` variable name was chosen to avoid colliding with a "
-"variable that might be possibly set in the user environment, accidentally "
-"enabling the behavior that depends on it being defined."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:690
-msgid ""
-"As [.filename]#thermite.sh# iterates through the master list of combinations "
-"and locates the per-build configuration file, a ZFS dataset is created under "
-"[.filename]#/releng#, such as [.filename]#/releng/12-amd64-GENERIC-snap#. "
-"The `src/`, `ports/`, and `doc/` trees are checked out to separate ZFS "
-"datasets, such as [.filename]#/releng/12-src-snap#, which are then cloned "
-"and mounted into the respective build datasets. This is done to avoid "
-"checking out a given tree more than once."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:692
-msgid ""
-"Assuming these filesystem paths, [.filename]#thermite.sh# would be invoked "
-"as:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:699
-#, no-wrap
-msgid ""
-"# cd /releng/scripts-snapshot/scripts\n"
-"# ./setrev.sh -b {branchStablex}\n"
-"# ./zfs-cleanup.sh -c ./builds-12.conf\n"
-"# ./thermite.sh -c ./builds-12.conf\n"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:702
-msgid ""
-"Once the builds have completed, additional helper scripts are available to "
-"generate development snapshot emails which are sent to the `freebsd-"
-"snapshots@freebsd.org` mailing list:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:707
-#, no-wrap
-msgid ""
-"# cd /releng/scripts-snapshot/scripts\n"
-"# ./get-checksums.sh -c ./builds-12.conf | ./generate-email.pl > snapshot-12-mail\n"
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:712
-msgid ""
-"The generated output should be double-checked for correctness, and the email "
-"itself should be PGP signed, in-line."
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:719
-msgid ""
-"These helper scripts only apply to development snapshot builds. "
-"Announcements during the release cycle (excluding the final release "
-"announcement) are created from an email template. A sample of the email "
-"template currently used can be found link:here[here]."
-msgstr ""
-
-#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:722
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:627
#, no-wrap
msgid "Building FreeBSD Releases"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:726
-msgid ""
-"Similar to building FreeBSD development snapshots, [.filename]#thermite.sh# "
-"would be invoked the same way. The difference between development snapshots "
-"and release builds, `BETA` and `RC` included, is that the configuration "
-"files must be named with `release` instead of `snap` as the type, as "
-"mentioned above."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:728
-msgid ""
-"In addition, the `BUILDTYPE` and `types` must be changed from `snap` to "
-"`release` in [.filename]#defaults-12.conf# and [.filename]#builds-12.conf#, "
-"respectively."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:732
-msgid ""
-"When building `BETA`, `RC`, and the final `RELEASE`, also statically set "
-"`BUILDSVNREV` to the revision on the branch reflecting the name change, "
-"`BUILDDATE` to the date the builds are started in `YYYYMMDD` format. If the "
-"`doc/` and `ports/` trees have been tagged, also set `PORTBRANCH` and "
-"`DOCBRANCH` to the relevant tag path in the Subversion repository, replacing "
-"`HEAD` with the last changed revision. Also set `releasesrc` in [."
-"filename]#builds-12.conf# to the relevant branch, such as {branchStablex} or "
-"{branchRelengx}."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:735
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:631
msgid ""
"During the release cycle, a copy of [.filename]#CHECKSUM.SHA512# and [."
"filename]#CHECKSUM.SHA256# for each architecture are stored in the {teamRe} "
"internal repository in addition to being included in the various "
"announcement emails. Each [.filename]#MANIFEST# containing the hashes of [."
"filename]#base.txz#, [.filename]#kernel.txz#, etc. are added to package:misc/"
"freebsd-release-manifests[] in the Ports Collection, as well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:737
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:633
msgid "In preparation for the release build, several files need to be updated:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:747
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:643
#, no-wrap
msgid "Update the `BRANCH` value to `RELEASE`"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:748
-#, no-wrap
-msgid "[.filename]#UPDATING#"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:750
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:646
#, no-wrap
msgid "Add the anticipated announcement date"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:751
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:647
#, no-wrap
msgid "[.filename]#lib/csu/common/crtbrand.S#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:752
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:648
#, no-wrap
msgid "Replace `__FreeBSD_version` with the value in [.filename]#sys/sys/param.h#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:757
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:653
msgid ""
"After building the final `RELEASE`, the {branchRelengx} branch is tagged as "
-"{branchReleasex} using the revision from which the `RELEASE` was built. "
+"{tagReleasex} using the revision from which the `RELEASE` was built. "
"Similar to creating the {branchStablex} and {branchRelengx} branches, this "
-"is done with `svn cp`. From the repository root:"
+"is done with `git tag`. From the repository root:"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:657
+msgid "Make sure that you are in the {branchRelengx} branch"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:762
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:662
#, no-wrap
-msgid ""
-"% svn cp ^/{branchRelengx}@r306420 {branchReleasex}\n"
-"% svn commit {branchReleasex}\n"
+msgid "% git tag {tagReleasex}\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:765
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:665
#, no-wrap
msgid "Publishing FreeBSD Installation Media to Project Mirrors"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:768
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:668
msgid ""
"This section describes the procedure to publish FreeBSD development "
"snapshots and releases to the Project mirrors."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:770
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:670
#, no-wrap
msgid "Staging FreeBSD Installation Media Images"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:773
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:673
msgid "Staging FreeBSD snapshots and releases is a two part process:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:775
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:675
msgid "Creating the directory structure to match the hierarchy on `ftp-master`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:778
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:678
msgid ""
"If `EVERYTHINGISFINE` is defined in the build configuration files, [."
"filename]#main.conf# in the case of the build scripts referenced above, this "
"happens automatically in the after the build is complete, creating the "
"directory structure in [.filename]#${DESTDIR}/R/ftp-stage# with a path "
"structure matching what is expected on `ftp-master`. This is equivalent to "
"running the following in the directly:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:782
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:682
#, no-wrap
msgid "# make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:785
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:685
msgid ""
"After each architecture is built, [.filename]#thermite.sh# will rsync the [."
"filename]#${DESTDIR}/R/ftp-stage# from the build to [.filename]#/snap/ftp/"
"snapshots# or [.filename]#/snap/ftp/releases# on the build host, "
"respectively."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:786
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:686
msgid ""
"Copying the files to a staging directory on `ftp-master` before moving the "
"files into [.filename]#pub/# to begin propagation to the Project mirrors"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:788
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:688
msgid ""
"Once all builds have finished, [.filename]#/snap/ftp/snapshots#, or [."
"filename]#/snap/ftp/releases# for a release, is polled by `ftp-master` using "
"rsync to [.filename]#/archive/tmp/snapshots# or [.filename]#/archive/tmp/"
"releases#, respectively."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:792
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:692
msgid ""
"On `ftp-master` in the FreeBSD Project infrastructure, this step requires "
"`root` level access, as this step must be executed as the `archive` user."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:795
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:695
#, no-wrap
msgid "Publishing FreeBSD Installation Media"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:799
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:699
msgid ""
"Once the images are staged in [.filename]#/archive/tmp/#, they are ready to "
"be made public by putting them in [.filename]#/archive/pub/FreeBSD#. To "
"reduce propagation time, is used to create hard links from [.filename]#/"
"archive/tmp# to [.filename]#/archive/pub/FreeBSD#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:803
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:703
msgid ""
"For this to be effective, both [.filename]#/archive/tmp# and [.filename]#/"
"archive/pub# must reside on the same logical filesystem."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:806
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:706
msgid ""
"There is a caveat, however, where rsync must be used after to correct the "
"symbolic links in [.filename]#pub/FreeBSD/snapshots/ISO-IMAGES# which will "
"replace with a hard link, increasing the propagation time."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:810
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:710
msgid ""
"As with the staging steps, this requires `root` level access, as this step "
"must be executed as the `archive` user."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:813
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:713
msgid "As the `archive` user:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:819
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:719
#, no-wrap
msgid ""
"% cd /archive/tmp/snapshots\n"
"% pax -r -w -l . /archive/pub/FreeBSD/snapshots\n"
"% /usr/local/bin/rsync -avH /archive/tmp/snapshots/* /archive/pub/FreeBSD/snapshots/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:822
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:722
msgid "Replace _snapshots_ with _releases_ as appropriate."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:824
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:724
#, no-wrap
msgid "Wrapping up the Release Cycle"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:827
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:727
msgid "This section describes general post-release tasks."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:829
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:729
#, no-wrap
msgid "Post-Release Errata Notices"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:833
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:733
msgid ""
"As the release cycle approaches conclusion, it is common to have several EN "
"(Errata Notice) candidates to address issues that were discovered late in "
"the cycle. Following the release, the {teamRe} and the {teamSecteam} "
"revisit changes that were not approved prior to the final release, and "
"depending on the scope of the change in question, may issue an EN."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:837
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:737
msgid "The actual process of issuing ENs is handled by the {teamSecteam}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:840
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:740
msgid ""
"To request an Errata Notice after a release cycle has completed, a developer "
"should fill out the https://www.freebsd.org/security/errata-template."
"txt[Errata Notice template], in particular the `Background`, `Problem "
"Description`, `Impact`, and if applicable, `Workaround` sections."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:842
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:742
msgid ""
"The completed Errata Notice template should be emailed together with either "
"a patch against the {branchReleng} branch or a list of revisions from the "
"{branchStable} branch."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:845
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:745
msgid ""
"For Errata Notice requests immediately following the release, the request "
"should be emailed to both the {teamRe} and the {teamSecteam}. Once the "
"{branchReleng} branch has been handed over to the {teamSecteam} as described "
"in <<releng-wrapup-handoff>>, Errata Notice requests should be sent to the "
"{teamSecteam}."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:847
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:747
#, no-wrap
msgid "Handoff to the {teamSecteam}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:850
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:750
msgid ""
-"Roughly two weeks following the release, the Release Engineer updates [."
-"filename]#svnadmin/conf/approvers# changing the approver column from `re` to "
-"`(so|security-officer)` for the {branchRelengx} branch."
+"Roughly two weeks following the release, the Release Engineer updates the "
+"Git repository changing the approver from the Release engineering team to "
+"the security officer for the {branchRelengx} branch."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:852
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:752
#, no-wrap
msgid "Release End-of-Life"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:855
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:755
msgid ""
"This section describes the website-related files to update when a release "
"reaches EoL (End-of-Life)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:857
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:757
#, no-wrap
msgid "Website Updates for End-of-Life"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:860
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:760
msgid ""
"When a release reaches End-of-Life, references to that release should be "
"removed and/or updated on the website:"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:865
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:765
#, no-wrap
msgid "File"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:869
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:769
#, no-wrap
msgid "[.filename]#~/website/themes/beastie/layouts/index.html#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:871
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:886
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:771
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:786
#, no-wrap
msgid "Remove `u-relXXX-announce` and `u-relXXX-announce` references."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:872
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:772
#, no-wrap
msgid "[.filename]#~/website/content/en/releases/_index.adoc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:874
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:774
#, no-wrap
msgid "Move the `u-relXXX-*` variables from the supported release list to the Legacy Releases list."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:875
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:775
#, no-wrap
msgid "[.filename]#~/website/content/en/releng/_index.adoc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:877
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:777
#, no-wrap
msgid "Update the appropriate releng branch to refelect the branch is no longer supported."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:878
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:778
#, no-wrap
msgid "[.filename]#~/website/content/en/security/_index.adoc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:880
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:780
#, no-wrap
msgid "Remove the branch from the supported branch list."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:881
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:781
#, no-wrap
msgid "[.filename]#~/website/content/en/where.adoc#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:883
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:783
#, no-wrap
msgid "Remove the URLs for the release."
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:884
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:784
#, no-wrap
msgid "[.filename]#~/website/themes/beastie/layouts/partials/sidenav.html#"
msgstr ""
#. type: Table
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:889
-#: documentation/content/en/articles/freebsd-releng/_index.adoc:891
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:789
+#: documentation/content/en/articles/freebsd-releng/_index.adoc:791
#, no-wrap
msgid "Remove references to the release and releng branch."
msgstr ""
diff --git a/documentation/content/en/articles/hubs/_index.po b/documentation/content/en/articles/hubs/_index.po
index 8aa3d693f3..79a72ac979 100644
--- a/documentation/content/en/articles/hubs/_index.po
+++ b/documentation/content/en/articles/hubs/_index.po
@@ -1,915 +1,917 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/hubs/_index.adoc:1
#, no-wrap
msgid "The all in one guide for mirroring the FreeBSD website, FTP servers, and more"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/hubs/_index.adoc:1
#: documentation/content/en/articles/hubs/_index.adoc:17
#, no-wrap
msgid "Mirroring FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:50
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:52
msgid ""
"An in-progress article on how to mirror FreeBSD, aimed at hub administrators."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:54
msgid "'''"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:60
-msgid "We are not accepting new mirrors at this time."
+msgid "We are not accepting new community mirrors at this time."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:63
#, no-wrap
msgid "Contact Information"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:67
msgid ""
"The Mirror System Coordinators can be reached through email at mailto:mirror-"
"admin@FreeBSD.org[mirror-admin@FreeBSD.org]. There is also a {freebsd-hubs}."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:69
#, no-wrap
msgid "Requirements for FreeBSD Mirrors"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:72
#, no-wrap
msgid "Disk Space"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:82
msgid ""
"Disk space is one of the most important requirements. Depending on the set "
"of releases, architectures, and degree of completeness you want to mirror, a "
"huge amount of disk space may be consumed. Also keep in mind that "
"_official_ mirrors are probably required to be complete. The web pages "
"should always be mirrored completely. Also note that the numbers stated "
"here are reflecting the current state (at {rel120-current}-RELEASE/{rel113-"
"current}-RELEASE). Further development and releases will only increase the "
"required amount. Also make sure to keep some (ca. 10-20%) extra space "
"around just to be sure. Here are some approximate figures:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:84
msgid "Full FTP Distribution: 1.4 TB"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:85
msgid "CTM deltas: 10 GB"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:86
msgid "Web pages: 1GB"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:88
msgid ""
"The current disk usage of FTP Distribution can be found at link:ftp://ftp."
"FreeBSD.org/pub/FreeBSD/dir.sizes[ftp://ftp.FreeBSD.org/pub/FreeBSD/dir."
"sizes]."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:90
#, no-wrap
msgid "Network Connection/Bandwidth"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:97
msgid ""
"Of course, you need to be connected to the Internet. The required bandwidth "
"depends on your intended use of the mirror. If you just want to mirror some "
"parts of FreeBSD for local use at your site/intranet, the demand may be much "
"smaller than if you want to make the files publicly available. If you "
"intend to become an official mirror, the bandwidth required will be even "
"higher. We can only give rough estimates here:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:99
msgid ""
"Local site, no public access: basically no minimum, but < 2 Mbps could make "
"syncing too slow."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:100
msgid "Unofficial public site: 34 Mbps is probably a good start."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:101
msgid ""
"Official site: > 100 Mbps is recommended, and your host should be connected "
"as close as possible to your border router."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:103
#, no-wrap
msgid "System Requirements, CPU, RAM"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:111
msgid ""
"One thing this depends on the expected number of clients, which is "
"determined by the server's policy. It is also affected by the types of "
"services you want to offer. Plain FTP or HTTP services may not require a "
"huge amount of resources. Watch out if you provide rsync. This can have a "
"huge impact on CPU and memory requirements as it is considered a memory "
"hog. The following are just examples to give you a very rough hint."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:114
msgid ""
"For a moderately visited site that offers rsync, you might consider a "
"current CPU with around 800MHz - 1 GHz, and at least 512MB RAM. This is "
"probably the minimum you want for an _official_ site."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:116
msgid ""
"For a frequently used site you definitely need more RAM (consider 2GB as a "
"good start) and possibly more CPU, which could also mean that you need to go "
"for a SMP system."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:120
msgid ""
"You also want to consider a fast disk subsystem. Operations on the SVN "
"repository require a fast disk subsystem (RAID is highly advised). A SCSI "
"controller that has a cache of its own can also speed up things since most "
"of these services incur a large number of small modifications to the disk."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:122
#, no-wrap
msgid "Services to Offer"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:127
msgid ""
"Every mirror site is required to have a set of core services available. In "
"addition to these required services, there are a number of optional services "
"that server administrators may choose to offer. This section explains which "
"services you can provide and how to go about implementing them."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:129
#, no-wrap
msgid "FTP (required for FTP Fileset)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:135
msgid ""
"This is one of the most basic services, and it is required for each mirror "
"offering public FTP distributions. FTP access must be anonymous, and no "
"upload/download ratios are allowed (a ridiculous thing anyway). Upload "
"capability is not required (and _must_ never be allowed for the FreeBSD file "
"space). Also the FreeBSD archive should be available under the path [."
"filename]#/pub/FreeBSD#."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:137
msgid ""
"There is a lot of software available which can be set up to allow anonymous "
"FTP (in alphabetical order)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:139
msgid ""
"`/usr/libexec/ftpd`: FreeBSD's own ftpd can be used. Be sure to read man:"
"ftpd[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:140
msgid "package:ftp/ncftpd[]: A commercial package, free for educational use."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:141
msgid "package:ftp/oftpd[]: An ftpd designed with security as a main focus."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:142
msgid "package:ftp/proftpd[]: A modular and very flexible ftpd."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:143
msgid "package:ftp/pure-ftpd[]: Another ftpd developed with security in mind."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:144
msgid "package:ftp/twoftpd[]: As above."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:145
msgid "package:ftp/vsftpd[]: The \"very secure\" ftpd."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:149
msgid ""
"FreeBSD's `ftpd`, `proftpd` and maybe `ncftpd` are among the most commonly "
"used FTPds. The others do not have a large userbase among mirror sites. "
"One thing to consider is that you may need flexibility in limiting how many "
"simultaneous connections are allowed, thus limiting how much network "
"bandwidth and system resources are consumed."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:151
#, no-wrap
msgid "Rsync (optional for FTP Fileset)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:161
msgid ""
"Rsync is often offered for access to the contents of the FTP area of "
"FreeBSD, so other mirror sites can use your system as their source. The "
"protocol is different from FTP in many ways. It is much more bandwidth "
"friendly, as only differences between files are transferred instead of whole "
"files when they change. Rsync does require a significant amount of memory "
"for each instance. The size depends on the size of the synced module in "
"terms of the number of directories and files. Rsync can use `rsh` and `ssh` "
"(now default) as a transport, or use its own protocol for stand-alone access "
"(this is the preferred method for public rsync servers). Authentication, "
"connection limits, and other restrictions may be applied. There is just one "
"software package available:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:163
msgid "package:net/rsync[]"
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:165
#, no-wrap
msgid "HTTP (required for Web Pages, Optional for FTP Fileset)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:171
msgid ""
"If you want to offer the FreeBSD web pages, you will need to install a web "
"server. You may optionally offer the FTP fileset via HTTP. The choice of "
"web server software is left up to the mirror administrator. Some of the "
"most popular choices are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:173
msgid ""
"package:www/apache24[]: Apache is still one of the most widely deployed web "
"servers on the Internet. It is used extensively by the FreeBSD Project."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:174
msgid ""
"package:www/boa[]: Boa is a single-tasking HTTP server. Unlike traditional "
"web servers, it does not fork for each incoming connection, nor does it fork "
"many copies of itself to handle multiple connections. Although, it should "
"provide considerably great performance for purely static content."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:175
msgid ""
"package:www/cherokee[]: Cherokee is a very fast, flexible and easy to "
"configure web server. It supports the widespread technologies nowadays: "
"FastCGI, SCGI, PHP, CGI, SSL/TLS encrypted connections, vhosts, users "
"authentication, on the fly encoding and load balancing. It also generates "
"Apache compatible log files."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:176
msgid ""
"package:www/lighttpd[]: lighttpd is a secure, fast, compliant and very "
"flexible web server which has been optimized for high-performance "
"environments. It has a very low memory footprint compared to other web "
"servers and takes care of cpu-load."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:177
msgid ""
"package:www/nginx[]: nginx is a high performance edge web server with a low "
"memory footprint and key features to build a modern and efficient web "
"infrastructure. Features include a HTTP server, HTTP and mail reverse proxy, "
"caching, load balancing, compression, request throttling, connection "
"multiplexing and reuse, SSL offload and HTTP media streaming."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:178
msgid ""
"package:www/thttpd[]: If you are going to be serving a large amount of "
"static content you may find that using an application such as thttpd is more "
"efficient than others. It is also optimized for excellent performance on "
"FreeBSD."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:180
#, no-wrap
msgid "How to Mirror FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:184
msgid ""
"Ok, now you know the requirements and how to offer the services, but not how "
"to get it. :-) This section explains how to actually mirror the various "
"parts of FreeBSD, what tools to use, and where to mirror from."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:186
#, no-wrap
msgid "Mirroring the FTP Site"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:191
msgid ""
"The FTP area is the largest amount of data that needs to be mirrored. It "
"includes the _distribution sets_ required for network installation, the "
"_branches_ which are actually snapshots of checked-out source trees, the "
"_ISO Images_ to write CD-ROMs with the installation distribution, a live "
"file system, and a snapshot of the ports tree. All of course for various "
"FreeBSD versions, and various architectures."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:197
msgid ""
"The best way to mirror the FTP area is rsync. You can install the port "
"package:net/rsync[] and then use rsync to sync with your upstream host. "
"rsync is already mentioned in <<mirror-serv-rsync>>. Since rsync access is "
"not required, your preferred upstream site may not allow it. You may need "
"to hunt around a little bit to find a site that allows rsync access."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:202
msgid ""
"Since the number of rsync clients will have a significant impact on the "
"server machine, most admins impose limitations on their server. For a "
"mirror, you should ask the site maintainer you are syncing from about their "
"policy, and maybe an exception for your host (since you are a mirror)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:205
msgid "A command line to mirror FreeBSD might look like:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/hubs/_index.adoc:209
#, no-wrap
msgid "% rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:213
msgid ""
"Consult the documentation for rsync, which is also available at http://rsync."
"samba.org/[http://rsync.samba.org/], about the various options to be used "
"with rsync. If you sync the whole module (unlike subdirectories), be aware "
"that the module-directory (here \"FreeBSD\") will not be created, so you "
"cannot omit the target directory. Also you might want to set up a script "
"framework that calls such a command via man:cron[8]."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:215
#, no-wrap
msgid "Mirroring the WWW Pages"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:220
msgid ""
"Since doc migration to Hugo/Asciidoctor on 2021-01-25, mirroring the website "
"with rsync no longer works."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:223
msgid ""
"There are ongoing studies to implement a website mirror with the extref:"
"{handbook}mirrors/[official infrastructure]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:225
msgid ""
"For the former website mirrors, a way to achieve mirroring the website today "
"is building the website locally with the corresponding address it will be "
"hosted."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/hubs/_index.adoc:229
#, no-wrap
msgid "% cd website && env HUGO_baseURL=\"https://www.XX.freebsd.org/\" make\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:232
msgid ""
"Check for more details about the build tools on extref:{fdp-primer}overview/"
"[FreeBSD Documentation Project Primer for New Contributors, overview-quick-"
"start] book."
msgstr ""
#. [source,shell]
#. ....
#. % rsync -vaHz --delete rsync://bit0.us-west.freebsd.org/FreeBSD-www-data/ /usr/local/www/
#. ....
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:243
msgid ""
"Notice the website was split into www.FreeBSD.org and docs.FreeBSD.org, and "
"there are links between them; plus, at this moment, `HUGO_baseURL` variable "
"won't cover all links, this way, mirroring the website is discouraged."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:246
#, no-wrap
msgid "Mirroring Packages"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:251
msgid ""
"Due to very high requirements of bandwidth, storage and adminstration the "
"FreeBSD Project has decided not to allow public mirrors of packages. For "
"sites with lots of machines, it might be advantagous to run a caching HTTP "
"proxy for the man:pkg[8] process. Alternatively specific packages and their "
"dependencies can be fetched by running something like the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/hubs/_index.adoc:255
#, no-wrap
msgid "% pkg fetch -d -o /usr/local/mirror vim\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:258
msgid ""
"Once those packages have been fetched, the repository metadata must be "
"generated by running:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/hubs/_index.adoc:262
#, no-wrap
msgid "% pkg repo /usr/local/mirror\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:266
msgid ""
"Once the packages have been fetched and the metadata for the repository has "
"been generated, serve the packages up to the client machines via HTTP. For "
"additional information see the man pages for man:pkg[8], specifically the "
"man:pkg-repo[8] page."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:268
#, no-wrap
msgid "How Often Should I Mirror?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:274
msgid ""
"Every mirror should be updated at a minimum of once per day. Certainly a "
"script with locking to prevent multiple runs happening at the same time will "
"be needed to run from man:cron[8]. Since nearly every admin does this in "
"their own way, specific instructions cannot be provided. It could work "
"something like this:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:278
msgid ""
"Put the command to run your mirroring application in a script. Use of a "
"plain `/bin/sh` script is recommended."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:279
msgid ""
"Add some output redirections so diagnostic messages are logged to a file."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:280
msgid "Test if your script works. Check the logs."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:281
msgid ""
"Use man:crontab[1] to add the script to the appropriate user's man:"
"crontab[5]. This should be a different user than what your FTP daemon runs "
"as so that if file permissions inside your FTP area are not world-readable "
"those files cannot be accessed by anonymous FTP. This is used to \"stage\" "
"releases - making sure all of the official mirror sites have all of the "
"necessary release files on release day."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:284
msgid "Here are some recommended schedules:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:286
msgid "FTP fileset: daily"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:287
msgid "WWW pages: daily"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:289
#, no-wrap
msgid "Where to Mirror From"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:294
msgid ""
"This is an important issue. So this section will spend some effort to "
"explain the backgrounds. We will say this several times: under no "
"circumstances should you mirror from `ftp.FreeBSD.org`."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:296
#, no-wrap
msgid "A few Words About the Organization"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:307
msgid ""
"Mirrors are organized by country. All official mirrors have a DNS entry of "
"the form `ftpN.CC.FreeBSD.org`. _CC_ (i.e., country code) is the _top level "
"domain_ (TLD) of the country where this mirror is located. _N_ is a number, "
"telling that the host would be the _Nth_ mirror in that country. (Same "
"applies to `wwwN.CC.FreeBSD.org`, etc.) There are mirrors with no _CC_ "
"part. These are the mirror sites that are very well connected and allow a "
"large number of concurrent users. `ftp.FreeBSD.org` is actually two "
"machines, one currently located in Denmark and the other in the United "
"States. It is _NOT_ a master site and should never be used to mirror from. "
"Lots of online documentation leads \"interactive\"users to `ftp.FreeBSD.org` "
"so automated mirroring systems should find a different machine to mirror "
"from."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:315
msgid ""
"Additionally there exists a hierarchy of mirrors, which is described in "
"terms of __tiers__. The master sites are not referred to but can be "
"described as __Tier-0__. Mirrors that mirror from these sites can be "
"considered __Tier-1__, mirrors of __Tier-1__-mirrors, are __Tier-2__, etc. "
"Official sites are encouraged to be of a low __tier__, but the lower the "
"tier the higher the requirements in terms as described in <<mirror-"
"requirements>>. Also access to low-tier-mirrors may be restricted, and "
"access to master sites is definitely restricted. The __tier__-hierarchy is "
"not reflected by DNS and generally not documented anywhere except for the "
"master sites. However, official mirrors with low numbers like 1-4, are "
"usually _Tier-1_ (this is just a rough hint, and there is no rule)."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:317
#, no-wrap
msgid "Ok, but Where Should I get the Stuff Now?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:321
msgid ""
"Under no circumstances should you mirror from `ftp.FreeBSD.org`. The short "
"answer is: from the site that is closest to you in Internet terms, or gives "
"you the fastest access."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:323
#, no-wrap
msgid "I Just Want to Mirror from Somewhere!"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:327
msgid ""
"If you have no special intentions or requirements, the statement in <<mirror-"
"where-where>> applies. This means:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:331
msgid ""
"Check for those which provide fastest access (number of hops, round-trip-"
"times) and offer the services you intend to use (like rsync)."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:332
msgid ""
"Contact the administrators of your chosen site stating your request, and "
"asking about their terms and policies."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:333
msgid "Set up your mirror as described above."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:336
#, no-wrap
msgid "I am an Official Mirror, What is the Right Site for Me?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:341
msgid ""
"In general the description in <<mirror-where-simple>> still applies. Of "
"course you may want to put some weight on the fact that your upstream should "
"be of a low tier. There are some other considerations about _official_ "
"mirrors that are described in <<mirror-official>>."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/hubs/_index.adoc:343
#, no-wrap
msgid "I Want to Access the Master Sites!"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:350
msgid ""
"If you have good reasons and good prerequisites, you may want and get access "
"to one of the master sites. Access to these sites is generally restricted, "
"and there are special policies for access. If you are already an _official_ "
"mirror, this certainly helps you getting access. In any other case make "
"sure your country really needs another mirror. If it already has three or "
"more, ask the \"zone administrator\" (mailto:hostmaster@CC.FreeBSD."
"org[hostmaster@CC.FreeBSD.org]) or {freebsd-hubs} first."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:353
msgid ""
"Whoever helped you become, an _official_ should have helped you gain access "
"to an appropriate upstream host, either one of the master sites or a "
"suitable Tier-1 site. If not, you can send email to mailto:mirror-"
"admin@FreeBSD.org[mirror-admin@FreeBSD.org] to request help with that."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:355
msgid "There is one master site for the FTP fileset."
msgstr ""
#. type: Title =====
#: documentation/content/en/articles/hubs/_index.adoc:357
#, no-wrap
msgid "ftp-master.FreeBSD.org"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:360
msgid "This is the master site for the FTP fileset."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:363
msgid ""
"`ftp-master.FreeBSD.org` provides rsync access, in addition to FTP. Refer "
"to <<mirror-ftp-rsync>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:365
msgid ""
"Mirrors are also encouraged to allow rsync access for the FTP contents, "
"since they are __Tier-1__-mirrors."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:367
#, no-wrap
msgid "Official Mirrors"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:370
msgid "Official mirrors are mirrors that"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:372
msgid "a) have a `FreeBSD.org` DNS entry (usually a CNAME)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:373
msgid ""
"b) are listed as an official mirror in the FreeBSD documentation (like "
"handbook)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:376
msgid ""
"So far to distinguish official mirrors. Official mirrors are not necessarily "
"__Tier-1__-mirrors. However you probably will not find a __Tier-1__-mirror, "
"that is not also official."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:378
#, no-wrap
msgid "Special Requirements for Official (tier-1) Mirrors"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:383
msgid ""
"It is not so easy to state requirements for all official mirrors, since the "
"project is sort of tolerant here. It is more easy to say, what _official "
"tier-1 mirrors_ are required to. All other official mirrors can consider "
"this a big __should__."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:385
msgid "Tier-1 mirrors are required to:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:387
msgid "carry the complete fileset"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:388
msgid "allow access to other mirror sites"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:389
msgid "provide FTP and rsync access"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:392
msgid ""
"Furthermore, admins should be subscribed to the {freebsd-hubs}. See extref:"
"{handbook}[this link, eresources-mail] for details, how to subscribe."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:397
msgid ""
"It is _very_ important for a hub administrator, especially Tier-1 hub "
"admins, to check the https://www.FreeBSD.org/releng/[release schedule] for "
"the next FreeBSD release. This is important because it will tell you when "
"the next release is scheduled to come out, and thus giving you time to "
"prepare for the big spike of traffic which follows it."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/hubs/_index.adoc:400
msgid ""
"It is also important that hub administrators try to keep their mirrors as up-"
"to-date as possible (again, even more crucial for Tier-1 mirrors). If "
"Mirror1 does not update for a while, lower tier mirrors will begin to mirror "
"old data from Mirror1 and thus begins a downward spiral... Keep your mirrors "
"up to date!"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:403
#, no-wrap
msgid "How to Become Official Then?"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:406
-msgid "We are not accepting any new mirrors at this time."
+msgid ""
+"Please contact the Cluster Administrators as documented at https://www."
+"FreeBSD.org/administration/#t-clusteradm."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/hubs/_index.adoc:408
#, no-wrap
msgid "Some Statistics from Mirror Sites"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:411
msgid ""
"Here are links to the stat pages of your favorite mirrors (aka the only ones "
"who feel like providing stats)."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/hubs/_index.adoc:413
#, no-wrap
msgid "FTP Site Statistics"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:416
msgid ""
"ftp.is.FreeBSD.org - mailto:hostmaster@is.FreeBSD.org[hostmaster@is.FreeBSD."
"org] - http://www.rhnet.is/status/draupnir/draupnir.html[ (Bandwidth)] "
"http://www.rhnet.is/status/ftp/ftp-notendur.html[(FTP processes)] http://www."
"rhnet.is/status/ftp/http-notendur.html[(HTTP processes)]"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/hubs/_index.adoc:416
msgid ""
"ftp2.ru.FreeBSD.org - mailto:mirror@macomnet.ru[mirror@macomnet.ru] - http://"
"mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html[(Bandwidth)] "
"http://mirror.macomnet.net/mrtg/mirror.macomnet.net_proc.html[(HTTP and FTP "
"users)]"
msgstr ""
diff --git a/documentation/content/en/articles/ldap-auth/_index.po b/documentation/content/en/articles/ldap-auth/_index.po
index 39b36c1a4a..abedf38f7b 100644
--- a/documentation/content/en/articles/ldap-auth/_index.po
+++ b/documentation/content/en/articles/ldap-auth/_index.po
@@ -1,1431 +1,1422 @@
# 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: 2022-02-01 09:21-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/ldap-auth/_index.adoc:1
#, no-wrap
msgid "Guide for the configuration of an LDAP server for authentication on FreeBSD"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/ldap-auth/_index.adoc:1
#: documentation/content/en/articles/ldap-auth/_index.adoc:12
#, no-wrap
msgid "LDAP Authentication"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:45
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:48
msgid ""
"This document is intended as a guide for the configuration of an LDAP server "
"(principally an OpenLDAP server) for authentication on FreeBSD. This is "
"useful for situations where many servers need the same user accounts, for "
"example as a replacement for NIS."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:50
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/ldap-auth/_index.adoc:54
#, no-wrap
msgid "Preface"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:58
msgid ""
"This document is intended to give the reader enough of an understanding of "
"LDAP to configure an LDAP server. This document will attempt to provide an "
"explanation of package:net/nss_ldap[] and package:security/pam_ldap[] for "
"use with client machines services for use with the LDAP server."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:60
msgid ""
"When finished, the reader should be able to configure and deploy a FreeBSD "
"server that can host an LDAP directory, and to configure and deploy a "
"FreeBSD server which can authenticate against an LDAP directory."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:64
msgid ""
"This article is not intended to be an exhaustive account of the security, "
"robustness, or best practice considerations for configuring LDAP or the "
"other services discussed herein. While the author takes care to do "
"everything correctly, they do not address security issues beyond a general "
"scope. This article should be considered to lay the theoretical groundwork "
"only, and any actual implementation should be accompanied by careful "
"requirement analysis."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/ldap-auth/_index.adoc:66
#, no-wrap
msgid "Configuring LDAP"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:71
msgid ""
"LDAP stands for \"Lightweight Directory Access Protocol\" and is a subset of "
"the X.500 Directory Access Protocol. Its most recent specifications are in "
"http://www.ietf.org/rfc/rfc4510.txt[RFC4510] and friends. Essentially it is "
"a database that expects to be read from more often than it is written to."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:75
msgid ""
"The LDAP server http://www.openldap.org/[OpenLDAP] will be used in the "
"examples in this document; while the principles here should be generally "
"applicable to many different servers, most of the concrete administration is "
"OpenLDAP-specific. There are several server versions in ports, for example "
"package:net/openldap24-server[]. Client servers will need the corresponding "
"package:net/openldap24-client[] libraries."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:78
msgid ""
"There are (basically) two areas of the LDAP service which need "
"configuration. The first is setting up a server to receive connections "
"properly, and the second is adding entries to the server's directory so that "
"FreeBSD tools know how to interact with it."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:80
#, no-wrap
msgid "Setting Up the Server for Connections"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:86
msgid ""
"This section is specific to OpenLDAP. If you are using another server, you "
"will need to consult that server's documentation."
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:89
#: documentation/content/en/articles/ldap-auth/_index.adoc:94
#, no-wrap
msgid "Installing OpenLDAP"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:92
msgid "First, install OpenLDAP:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:102
#, no-wrap
msgid ""
"# cd /usr/ports/net/openldap24-server\n"
"# make install clean\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:107
msgid ""
"This installs the `slapd` and `slurpd` binaries, along with the required "
"OpenLDAP libraries."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/ldap-auth/_index.adoc:109
#, no-wrap
msgid "Configuring OpenLDAP"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:112
msgid "Next we must configure OpenLDAP."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:115
msgid ""
"You will want to require encryption in your connections to the LDAP server; "
"otherwise your users' passwords will be transferred in plain text, which is "
"considered insecure. The tools we will be using support two very similar "
"kinds of encryption, SSL and TLS."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:118
msgid ""
"TLS stands for \"Transportation Layer Security\". Services that employ TLS "
"tend to connect on the _same_ ports as the same services without TLS; thus "
"an SMTP server which supports TLS will listen for connections on port 25, "
"and an LDAP server will listen on 389."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:121
msgid ""
"SSL stands for \"Secure Sockets Layer\", and services that implement SSL do "
"_not_ listen on the same ports as their non-SSL counterparts. Thus SMTPS "
"listens on port 465 (not 25), HTTPS listens on 443, and LDAPS on 636."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:125
msgid ""
"The reason SSL uses a different port than TLS is because a TLS connection "
"begins as plain text, and switches to encrypted traffic after the `STARTTLS` "
"directive. SSL connections are encrypted from the beginning. Other than "
"that there are no substantial differences between the two."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:129
msgid "We will adjust OpenLDAP to use TLS, as SSL is considered deprecated."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:132
msgid ""
"Once OpenLDAP is installed via ports, the following configuration parameters "
"in [.filename]#/usr/local/etc/openldap/slapd.conf# will enable TLS:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:136
#, no-wrap
msgid "security ssf=128\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:140
#, no-wrap
msgid ""
"TLSCertificateFile /path/to/your/cert.crt\n"
"TLSCertificateKeyFile /path/to/your/cert.key\n"
"TLSCACertificateFile /path/to/your/cacert.crt\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:144
msgid ""
"Here, `ssf=128` tells OpenLDAP to require 128-bit encryption for all "
"connections, both search and update. This parameter may be configured based "
"on the security needs of your site, but rarely you need to weaken it, as "
"most LDAP client libraries support strong encryption."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:147
msgid ""
"The [.filename]#cert.crt#, [.filename]#cert.key#, and [.filename]#cacert."
"crt# files are necessary for clients to authenticate _you_ as the valid LDAP "
"server. If you simply want a server that runs, you can create a self-signed "
"certificate with OpenSSL:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:149
#, no-wrap
msgid "Generating an RSA Key"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:160
#, no-wrap
msgid ""
"% openssl genrsa -out cert.key 1024\n"
"Generating RSA private key, 1024 bit long modulus\n"
"....................++++++\n"
"...++++++\n"
"e is 65537 (0x10001)\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:162
#, no-wrap
msgid "% openssl req -new -key cert.key -out cert.csr\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:171
msgid ""
"At this point you should be prompted for some values. You may enter "
"whatever values you like; however, it is important the \"Common Name\" value "
"be the fully qualified domain name of the OpenLDAP server. In our case, and "
"the examples here, the server is _server.example.org_. Incorrectly setting "
"this value will cause clients to fail when making connections. This can the "
"cause of great frustration, so ensure that you follow these steps closely."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:173
msgid "Finally, the certificate signing request needs to be signed:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:175
#, no-wrap
msgid "Self-signing the Certificate"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:185
#, no-wrap
msgid ""
"% openssl x509 -req -in cert.csr -days 365 -signkey cert.key -out cert.crt\n"
"Signature ok\n"
"subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd\n"
"Getting Private key\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:191
msgid ""
"This will create a self-signed certificate that can be used for the "
"directives in [.filename]#slapd.conf#, where [.filename]#cert.crt# and [."
"filename]#cacert.crt# are the same file. If you are going to use many "
"OpenLDAP servers (for replication via `slurpd`) you will want to see <<ssl-"
"ca>> to generate a CA key and use it to sign individual server certificates."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:193
msgid "Once this is done, put the following in [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:197
#, no-wrap
msgid "slapd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:202
msgid ""
"Then run `/usr/local/etc/rc.d/slapd start`. This should start OpenLDAP. "
"Confirm that it is listening on 389 with"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:207
#, no-wrap
msgid ""
"% sockstat -4 -p 389\n"
"ldap slapd 3261 7 tcp4 *:389 *:*\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/ldap-auth/_index.adoc:210
#, no-wrap
msgid "Configuring the Client"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:214
msgid ""
"Install the package:net/openldap24-client[] port for the OpenLDAP "
"libraries. The client machines will always have OpenLDAP libraries since "
"that is all package:security/pam_ldap[] and package:net/nss_ldap[] support, "
"at least for the moment."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:217
msgid ""
"The configuration file for the OpenLDAP libraries is [.filename]#/usr/local/"
"etc/openldap/ldap.conf#. Edit this file to contain the following values:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:224
#, no-wrap
msgid ""
"base dc=example,dc=org\n"
"uri ldap://server.example.org/\n"
"ssl start_tls\n"
"tls_cacert /path/to/your/cacert.crt\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:229
msgid ""
"It is important that your clients have access to [.filename]#cacert.crt#, "
"otherwise they will not be able to connect."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:236
msgid ""
"There are two files called [.filename]#ldap.conf#. The first is this file, "
"which is for the OpenLDAP libraries and defines how to talk to the server. "
"The second is [.filename]#/usr/local/etc/ldap.conf#, and is for pam_ldap."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:241
msgid ""
"At this point you should be able to run `ldapsearch -Z` on the client "
"machine; `-Z` means \"use TLS\". If you encounter an error, then something "
"is configured wrong; most likely it is your certificates. Use man:"
"openssl[1]'s `s_client` and `s_server` to ensure you have them configured "
"and signed properly."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:243
#, no-wrap
msgid "Entries in the Database"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:248
msgid ""
"Authentication against an LDAP directory is generally accomplished by "
"attempting to bind to the directory as the connecting user. This is done by "
"establishing a \"simple\" bind on the directory with the user name "
"supplied. If there is an entry with the `uid` equal to the user name and "
"that entry's `userPassword` attribute matches the password supplied, then "
"the bind is successful."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:250
msgid ""
"The first thing we have to do is figure out is where in the directory our "
"users will live."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:254
msgid ""
"The base entry for our database is `dc=example,dc=org`. The default "
"location for users that most clients seem to expect is something like "
"`ou=people,_base_`, so that is what will be used here. However keep in mind "
"that this is configurable."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:256
msgid "So the ldif entry for the `people` organizational unit will look like:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:263
#, no-wrap
msgid ""
"dn: ou=people,dc=example,dc=org\n"
"objectClass: top\n"
"objectClass: organizationalUnit\n"
"ou: people\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:266
msgid "All users will be created as subentries of this organizational unit."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:271
msgid ""
"Some thought might be given to the object class your users will belong to. "
"Most tools by default will use `people`, which is fine if you simply want to "
"provide entries against which to authenticate. However, if you are going to "
"store user information in the LDAP database as well, you will probably want "
"to use `inetOrgPerson`, which has many useful attributes. In either case, "
"the relevant schemas need to be loaded in [.filename]#slapd.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:274
msgid ""
"For this example we will use the `person` object class. If you are using "
"`inetOrgPerson`, the steps are basically identical, except that the `sn` "
"attribute is required."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:276
msgid "To add a test-user named `tuser`, the ldif would be:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:290
#, no-wrap
msgid ""
"dn: uid=tuser,ou=people,dc=example,dc=org\n"
"objectClass: person\n"
"objectClass: posixAccount\n"
"objectClass: shadowAccount\n"
"objectClass: top\n"
"uidNumber: 10000\n"
"gidNumber: 10000\n"
"homeDirectory: /home/tuser\n"
"loginShell: /bin/csh\n"
"uid: tuser\n"
"cn: tuser\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:293
msgid ""
"I start my LDAP users' UIDs at 10000 to avoid collisions with system "
"accounts; you can configure whatever number you wish here, as long as it is "
"less than 65536."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:296
msgid ""
"We also need group entries. They are as configurable as user entries, but "
"we will use the defaults below:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:303
#, no-wrap
msgid ""
"dn: ou=groups,dc=example,dc=org\n"
"objectClass: top\n"
"objectClass: organizationalUnit\n"
"ou: groups\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:309
#, no-wrap
msgid ""
"dn: cn=tuser,ou=groups,dc=example,dc=org\n"
"objectClass: posixGroup\n"
"objectClass: top\n"
"gidNumber: 10000\n"
"cn: tuser\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:313
msgid ""
"To enter these into your database, you can use `slapadd` or `ldapadd` on a "
"file containing these entries. Alternatively, you can use package:sysutils/"
"ldapvi[]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:316
msgid ""
"The `ldapsearch` utility on the client machine should now return these "
"entries. If it does, your database is properly configured to be used as an "
"LDAP authentication server."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/ldap-auth/_index.adoc:318
#, no-wrap
msgid "Client Configuration"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:321
msgid ""
"The client should already have OpenLDAP libraries from <<ldap-connect-"
"client>>, but if you are installing several client machines you will need to "
"install package:net/openldap24-client[] on each of them."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:323
msgid ""
"FreeBSD requires two ports to be installed to authenticate against an LDAP "
"server, package:security/pam_ldap[] and package:net/nss_ldap[]."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:325
#, no-wrap
msgid "Authentication"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:328
msgid ""
"package:security/pam_ldap[] is configured via [.filename]#/usr/local/etc/"
"ldap.conf#."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:333
msgid ""
"This is a _different file_ than the OpenLDAP library functions' "
"configuration file, [.filename]#/usr/local/etc/openldap/ldap.conf#; however, "
"it takes many of the same options; in fact it is a superset of that file. "
"For the rest of this section, references to [.filename]#ldap.conf# will mean "
"[.filename]#/usr/local/etc/ldap.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:337
msgid ""
"Thus, we will want to copy all of our original configuration parameters from "
"[.filename]#openldap/ldap.conf# to the new [.filename]#ldap.conf#. Once "
"this is done, we want to tell package:security/pam_ldap[] what to look for "
"on the directory server."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:340
msgid ""
"We are identifying our users with the `uid` attribute. To configure this "
"(though it is the default), set the `pam_login_attribute` directive in [."
"filename]#ldap.conf#:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:342
#, no-wrap
msgid "Setting `pam_login_attribute`"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:349
#, no-wrap
msgid "pam_login_attribute uid\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:357
msgid ""
"With this set, package:security/pam_ldap[] will search the entire LDAP "
"directory under `base` for the value `uid=_username_`. If it finds one and "
"only one entry, it will attempt to bind as that user with the password it "
"was given. If it binds correctly, then it will allow access. Otherwise it "
"will fail."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:363
msgid ""
"Users whose shell is not in [.filename]#/etc/shells# will not be able to log "
"in. This is particularly important when Bash is set as the user shell on "
"the LDAP server. Bash is not included with a default installation of "
"FreeBSD. When installed from a package or port, it is located at [."
"filename]#/usr/local/bin/bash#. Verify that the path to the shell on the "
"server is set correctly:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:367
#, no-wrap
msgid "% getent passwd username\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:372
msgid ""
"There are two choices when the output shows `/bin/bash` in the last column. "
"The first is to change the user's entry on the LDAP server to [.filename]#/"
"usr/local/bin/bash#. The second option is to create a symlink on the LDAP "
"client computer so Bash is found at the correct location:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:376
#, no-wrap
msgid "# ln -s /usr/local/bin/bash /bin/bash\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:380
msgid ""
"Make sure that [.filename]#/etc/shells# contains entries for both `/usr/"
"local/bin/bash` and `/bin/bash`. The user will then be able to log in to "
"the system with Bash as their shell."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/ldap-auth/_index.adoc:382
#, no-wrap
msgid "PAM"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:386
msgid ""
"PAM, which stands for \"Pluggable Authentication Modules\", is the method by "
"which FreeBSD authenticates most of its sessions. To tell FreeBSD we wish "
"to use an LDAP server, we will have to add a line to the appropriate PAM "
"file."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:388
msgid ""
"Most of the time the appropriate PAM file is [.filename]#/etc/pam.d/sshd#, "
"if you want to use SSH (remember to set the relevant options in [.filename]#/"
"etc/ssh/sshd_config#, otherwise SSH will not use PAM)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:390
msgid "To use PAM for authentication, add the line"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:394
#, no-wrap
msgid "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:397
msgid ""
"Exactly where this line shows up in the file and which options appear in the "
"fourth column determine the exact behavior of the authentication mechanism; "
"see man:pam[d]"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:400
msgid ""
"With this configuration you should be able to authenticate a user against an "
"LDAP directory. PAM will perform a bind with your credentials, and if "
"successful will tell SSH to allow access."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:404
msgid ""
"However it is not a good idea to allow _every_ user in the directory into "
"_every_ client machine. With the current configuration, all that a user "
"needs to log into a machine is an LDAP entry. Fortunately there are a few "
"ways to restrict user access."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:407
msgid ""
"[.filename]#ldap.conf# supports a `pam_groupdn` directive; every account "
"that connects to this machine needs to be a member of the group specified "
"here. For example, if you have"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:411
#, no-wrap
msgid "pam_groupdn cn=servername,ou=accessgroups,dc=example,dc=org\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:415
msgid ""
"in [.filename]#ldap.conf#, then only members of that group will be able to "
"log in. There are a few things to bear in mind, however."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:418
msgid ""
"Members of this group are specified in one or more `memberUid` attributes, "
"and each attribute must have the full distinguished name of the member. So "
"`memberUid: someuser` will not work; it must be:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:422
#, no-wrap
msgid "memberUid: uid=someuser,ou=people,dc=example,dc=org\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:428
msgid ""
"Additionally, this directive is not checked in PAM during authentication, it "
"is checked during account management, so you will need a second line in your "
"PAM files under `account`. This will require, in turn, _every_ user to be "
"listed in the group, which is not necessarily what we want. To avoid "
"blocking users that are not in LDAP, you should enable the "
"`ignore_unknown_user` attribute. Finally, you should set the "
"`ignore_authinfo_unavail` option so that you are not locked out of every "
"computer when the LDAP server is unavailable."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:430
msgid "Your [.filename]#pam.d/sshd# might then end up looking like this:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:432
#, no-wrap
msgid "Sample [.filename]#pam.d/sshd#"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:443
#, no-wrap
msgid ""
"auth required pam_nologin.so no_warn\n"
"auth sufficient pam_opie.so no_warn no_fake_prompts\n"
"auth requisite pam_opieaccess.so no_warn allow_local\n"
"auth sufficient /usr/local/lib/pam_ldap.so no_warn\n"
"auth required pam_unix.so no_warn try_first_pass\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:446
#, no-wrap
msgid ""
"account required pam_login_access.so\n"
"account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:455
msgid ""
"Since we are adding these lines specifically to [.filename]#pam.d/sshd#, "
"this will only have an effect on SSH sessions. LDAP users will be unable to "
"log in at the console. To change this behavior, examine the other files in "
"[.filename]#/etc/pam.d# and modify them accordingly."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:458
#, no-wrap
msgid "Name Service Switch"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:462
msgid ""
"NSS is the service that maps attributes to names. So, for example, if a "
"file is owned by user `1001`, an application will query NSS for the name of "
"`1001`, and it might get `bob` or `ted` or whatever the user's name is."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:464
msgid ""
"Now that our user information is kept in LDAP, we need to tell NSS to look "
"there when queried."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:469
msgid ""
"The package:net/nss_ldap[] port does this. It uses the same configuration "
"file as package:security/pam_ldap[], and should not need any extra "
"parameters once it is installed. Instead, what is left is simply to edit [."
"filename]#/etc/nsswitch.conf# to take advantage of the directory. Simply "
"replace the following lines:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:474
#, no-wrap
msgid ""
"group: compat\n"
"passwd: compat\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:477
msgid "with"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:482
#, no-wrap
msgid ""
"group: files ldap\n"
"passwd: files ldap\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:485
msgid "This will allow you to map usernames to UIDs and UIDs to usernames."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:487
msgid "Congratulations! You should now have working LDAP authentication."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:489
#, no-wrap
msgid "Caveats"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:495
msgid ""
"Unfortunately, as of the time this was written FreeBSD did not support "
"changing user passwords with man:passwd[1]. As a result of this, most "
"administrators are left to implement a solution themselves. I provide some "
"examples here. Note that if you write your own password change script, "
"there are some security issues you should be made aware of; see <<security-"
"passwd>>"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:497
#, no-wrap
msgid "Shell Script for Changing Passwords"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:504
#, no-wrap
msgid "#!/bin/sh\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:510
#, no-wrap
msgid ""
"stty -echo\n"
"read -p \"Old Password: \" oldp; echo\n"
"read -p \"New Password: \" np1; echo\n"
"read -p \"Retype New Password: \" np2; echo\n"
"stty echo\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:515
#, no-wrap
msgid ""
"if [ \"$np1\" != \"$np2\" ]; then\n"
" echo \"Passwords do not match.\"\n"
" exit 1\n"
"fi\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:520
#, no-wrap
msgid ""
"ldappasswd -D uid=\"$USER\",ou=people,dc=example,dc=org \\\n"
" -w \"$oldp\" \\\n"
" -a \"$oldp\" \\\n"
" -s \"$np1\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/ldap-auth/_index.adoc:529
msgid ""
"This script does hardly any error checking, but more important it is very "
"cavalier about how it stores your passwords. If you do anything like this, "
"at least adjust the `security.bsd.see_other_uids` sysctl value:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:533
#, no-wrap
msgid "# sysctl security.bsd.see_other_uids=0\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:540
msgid ""
"A more flexible (and probably more secure) approach can be used by writing a "
"custom program, or even a web interface. The following is part of a Ruby "
"library that can change LDAP passwords. It sees use both on the command "
"line, and on the web."
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:542
#, no-wrap
msgid "Ruby Script for Changing Passwords"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:552
#, no-wrap
msgid ""
"require 'ldap'\n"
"require 'base64'\n"
"require 'digest'\n"
"require 'password' # ruby-password\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:555
#, no-wrap
msgid ""
"ldap_server = \"ldap.example.org\"\n"
"luser = \"uid=#{ENV['USER']},ou=people,dc=example,dc=org\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:560
#, no-wrap
msgid ""
"# get the new password, check it, and create a salted hash from it\n"
"def get_password\n"
" pwd1 = Password.get(\"New Password: \")\n"
" pwd2 = Password.get(\"Retype New Password: \")\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:563
#, no-wrap
msgid ""
" raise if pwd1 != pwd2\n"
" pwd1.check # check password strength\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:569
#, no-wrap
msgid ""
" salt = rand.to_s.gsub(/0\\./, '')\n"
" pass = pwd1.to_s\n"
" hash = \"{SSHA}\"+Base64.encode64(Digest::SHA1.digest(\"#{pass}#{salt}\")+salt).chomp!\n"
" return hash\n"
"end\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:572
#, no-wrap
msgid ""
"oldp = Password.get(\"Old Password: \")\n"
"newp = get_password\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:575
#, no-wrap
msgid ""
"# We'll just replace it. That we can bind proves that we either know\n"
"# the old password or are an admin.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:579
#, no-wrap
msgid ""
"replace = LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE | LDAP::LDAP_MOD_BVALUES,\n"
" \"userPassword\",\n"
" [newp])\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:584
#, no-wrap
msgid ""
"conn = LDAP::SSLConn.new(ldap_server, 389, true)\n"
"conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)\n"
"conn.bind(luser, oldp)\n"
"conn.modify(luser, [replace])\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:589
msgid ""
"Although not guaranteed to be free of security holes (the password is kept "
"in memory, for example) this is cleaner and more flexible than a simple `sh` "
"script."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/ldap-auth/_index.adoc:591
#, no-wrap
msgid "Security Considerations"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:594
msgid ""
"Now that your machines (and possibly other services) are authenticating "
"against your LDAP server, this server needs to be protected at least as well "
"as [.filename]#/etc/master.passwd# would be on a regular server, and "
"possibly even more so since a broken or cracked LDAP server would break "
"every client service."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:597
msgid ""
"Remember, this section is not exhaustive. You should continually review "
"your configuration and procedures for improvements."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:599
#, no-wrap
msgid "Setting Attributes Read-only"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:603
msgid ""
"Several attributes in LDAP should be read-only. If left writable by the "
"user, for example, a user could change his `uidNumber` attribute to `0` and "
"get `root` access!"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:607
msgid ""
"To begin with, the `userPassword` attribute should not be world-readable. "
"By default, anyone who can connect to the LDAP server can read this "
"attribute. To disable this, put the following in [.filename]#slapd.conf#:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:609
#, no-wrap
msgid "Hide Passwords"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:620
#: documentation/content/en/articles/ldap-auth/_index.adoc:646
#, no-wrap
msgid ""
"access to dn.subtree=\"ou=people,dc=example,dc=org\"\n"
" attrs=userPassword\n"
" by self write\n"
" by anonymous auth\n"
" by * none\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:624
#: documentation/content/en/articles/ldap-auth/_index.adoc:653
#, no-wrap
msgid ""
"access to *\n"
" by self write\n"
" by * read\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:629
msgid ""
"This will disallow reading of the `userPassword` attribute, while still "
"allowing users to change their own passwords."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:633
msgid ""
"Additionally, you'll want to keep users from changing some of their own "
"attributes. By default, users can change any attribute (except for those "
"which the LDAP schemas themselves deny changes), such as `uidNumber`. To "
"close this hole, modify the above to"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:635
#, no-wrap
msgid "Read-only Attributes"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:649
#, no-wrap
msgid ""
"access to attrs=homeDirectory,uidNumber,gidNumber\n"
" by * read\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:658
msgid "This will stop users from being able to masquerade as other users."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:660
#, no-wrap
msgid "`root` Account Definition"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:665
msgid ""
"Often the `root` or manager account for the LDAP service will be defined in "
"the configuration file. OpenLDAP supports this, for example, and it works, "
"but it can lead to trouble if [.filename]#slapd.conf# is compromised. It "
"may be better to use this only to bootstrap yourself into LDAP, and then "
"define a `root` account there."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:669
msgid ""
"Even better is to define accounts that have limited permissions, and omit a "
"`root` account entirely. For example, users that can add or remove user "
"accounts are added to one group, but they cannot themselves change the "
"membership of this group. Such a security policy would help mitigate the "
"effects of a leaked password."
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:671
#: documentation/content/en/articles/ldap-auth/_index.adoc:677
#, no-wrap
msgid "Creating a Management Group"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:675
msgid ""
"Say you want your IT department to be able to change home directories for "
"users, but you do not want all of them to be able to add or remove users. "
"The way to do this is to add a group for these admins:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:690
#, no-wrap
msgid ""
"dn: cn=homemanagement,dc=example,dc=org\n"
"objectClass: top\n"
"objectClass: posixGroup\n"
"cn: homemanagement\n"
"gidNumber: 121 # required for posixGroup\n"
"memberUid: uid=tuser,ou=people,dc=example,dc=org\n"
"memberUid: uid=user2,ou=people,dc=example,dc=org\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:695
msgid "And then change the permissions attributes in [.filename]#slapd.conf#:"
msgstr ""
#. type: Block title
#: documentation/content/en/articles/ldap-auth/_index.adoc:697
#, no-wrap
msgid "ACLs for a Home Directory Management Group"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:707
#, no-wrap
msgid ""
"access to dn.subtree=\"ou=people,dc=example,dc=org\"\n"
" attr=homeDirectory\n"
" by dn=\"cn=homemanagement,dc=example,dc=org\"\n"
" dnattr=memberUid write\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:712
msgid "Now `tuser` and `user2` can change other users' home directories."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:716
msgid ""
"In this example we have given a subset of administrative power to certain "
"users without giving them power in other domains. The idea is that soon no "
"single user account has the power of a `root` account, but every power root "
"had is had by at least one user. The `root` account then becomes "
"unnecessary and can be removed."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/ldap-auth/_index.adoc:718
#, no-wrap
msgid "Password Storage"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:722
msgid ""
"By default OpenLDAP will store the value of the `userPassword` attribute as "
"it stores any other data: in the clear. Most of the time it is base 64 "
"encoded, which provides enough protection to keep an honest administrator "
"from knowing your password, but little else."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:725
msgid ""
"It is a good idea, then, to store passwords in a more secure format, such as "
"SSHA (salted SHA). This is done by whatever program you use to change "
"users' passwords."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/ldap-auth/_index.adoc:730
#, no-wrap
msgid "Useful Aids"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:733
msgid ""
"There are a few other programs that might be useful, particularly if you "
"have many users and do not want to configure everything manually."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:736
msgid ""
"package:security/pam_mkhomedir[] is a PAM module that always succeeds; its "
"purpose is to create home directories for users which do not have them. If "
"you have dozens of client servers and hundreds of users, it is much easier "
"to use this and set up skeleton directories than to prepare every home "
"directory."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/ldap-auth/_index.adoc:740
msgid ""
-"package:sysutils/cpu[] is a man:pw[8]-like utility that can be used to "
-"manage users in the LDAP directory. You can call it directly, or wrap "
-"scripts around it. It can handle both TLS (with the `-x` flag) and SSL "
-"(directly)."
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:744
-msgid ""
"package:sysutils/ldapvi[] is a great utility for editing LDAP values in an "
"LDIF-like syntax. The directory (or subsection of the directory) is "
"presented in the editor chosen by the `EDITOR` environment variable. This "
"makes it easy to enable large-scale changes in the directory without having "
"to write a custom tool."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:747
+#: documentation/content/en/articles/ldap-auth/_index.adoc:743
msgid ""
"package:security/openssh-portable[] has the ability to contact an LDAP "
"server to verify SSH keys. This is extremely nice if you have many servers "
"and do not want to copy your public keys across all of them."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/ldap-auth/_index.adoc:752
+#: documentation/content/en/articles/ldap-auth/_index.adoc:748
#, no-wrap
msgid "OpenSSL Certificates for LDAP"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:756
+#: documentation/content/en/articles/ldap-auth/_index.adoc:752
msgid ""
"If you are hosting two or more LDAP servers, you will probably not want to "
"use self-signed certificates, since each client will have to be configured "
"to work with each certificate. While this is possible, it is not nearly as "
"simple as creating your own certificate authority, and signing your servers' "
"certificates with that."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:758
+#: documentation/content/en/articles/ldap-auth/_index.adoc:754
msgid ""
"The steps here are presented as they are with very little attempt at "
"explaining what is going on-further explanation can be found in man:"
"openssl[1] and its friends."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:761
+#: documentation/content/en/articles/ldap-auth/_index.adoc:757
msgid ""
"To create a certificate authority, we simply need a self-signed certificate "
"and key. The steps for this again are"
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/ldap-auth/_index.adoc:763
+#: documentation/content/en/articles/ldap-auth/_index.adoc:759
#, no-wrap
msgid "Creating a Certificate"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:772
+#: documentation/content/en/articles/ldap-auth/_index.adoc:768
#, no-wrap
msgid ""
"% openssl genrsa -out root.key 1024\n"
"% openssl req -new -key root.key -out root.csr\n"
"% openssl x509 -req -days 1024 -in root.csr -signkey root.key -out root.crt\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:778
+#: documentation/content/en/articles/ldap-auth/_index.adoc:774
msgid ""
"These will be your root CA key and certificate. You will probably want to "
"encrypt the key and store it in a cool, dry place; anyone with access to it "
"can masquerade as one of your LDAP servers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:781
+#: documentation/content/en/articles/ldap-auth/_index.adoc:777
msgid ""
"Next, using the first two steps above create a key [.filename]#ldap-server-"
"one.key# and certificate signing request [.filename]#ldap-server-one.csr#. "
"Once you sign the signing request with [.filename]#root.key#, you will be "
"able to use [.filename]#ldap-server-one.*# on your LDAP servers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/ldap-auth/_index.adoc:785
+#: documentation/content/en/articles/ldap-auth/_index.adoc:781
msgid ""
"Do not forget to use the fully qualified domain name for the \"common name\" "
"attribute when generating the certificate signing request; otherwise clients "
"will reject a connection with you, and it can be very tricky to diagnose."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:788
+#: documentation/content/en/articles/ldap-auth/_index.adoc:784
msgid "To sign the key, use `-CA` and `-CAkey` instead of `-signkey`:"
msgstr ""
#. type: Block title
-#: documentation/content/en/articles/ldap-auth/_index.adoc:790
+#: documentation/content/en/articles/ldap-auth/_index.adoc:786
#, no-wrap
msgid "Signing as a Certificate Authority"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:799
+#: documentation/content/en/articles/ldap-auth/_index.adoc:795
#, no-wrap
msgid ""
"% openssl x509 -req -days 1024 \\\n"
"-in ldap-server-one.csr -CA root.crt -CAkey root.key \\\n"
"-out ldap-server-one.crt\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:804
+#: documentation/content/en/articles/ldap-auth/_index.adoc:800
msgid ""
"The resulting file will be the certificate that you can use on your LDAP "
"servers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/articles/ldap-auth/_index.adoc:805
+#: documentation/content/en/articles/ldap-auth/_index.adoc:801
msgid ""
"Finally, for clients to trust all your servers, distribute [.filename]#root."
"crt# (the __certificate__, not the key!) to each client, and specify it in "
"the `TLSCACertificateFile` directive in [.filename]#ldap.conf#."
msgstr ""
diff --git a/documentation/content/en/articles/license-guide/_index.po b/documentation/content/en/articles/license-guide/_index.po
index b88072ef2a..db57ca6cec 100644
--- a/documentation/content/en/articles/license-guide/_index.po
+++ b/documentation/content/en/articles/license-guide/_index.po
@@ -1,761 +1,761 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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: title
#: documentation/content/en/articles/license-guide/_index.adoc:1
#, no-wrap
msgid "FreeBSD Licensing Policy"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/license-guide/_index.adoc:9
#, no-wrap
msgid "FreeBSD License Policies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:20
+#: documentation/content/en/articles/license-guide/_index.adoc:40
msgid "'''"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:26
+#: documentation/content/en/articles/license-guide/_index.adoc:46
#, no-wrap
msgid "Preferred License for New Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:32
+#: documentation/content/en/articles/license-guide/_index.adoc:52
msgid ""
"The rest of this section is intended to help you get started. As a rule, "
"when in doubt, ask. It is much easier to receive advice than to fix the "
"source tree. The FreeBSD Project makes use of both explicit licenses (where "
"the verbatim text of the license is reproduced in each file) and detached "
"licenses (where a tag in the file specifies the license, as described in "
"this document)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:34
+#: documentation/content/en/articles/license-guide/_index.adoc:54
msgid "The FreeBSD Project uses this text as the preferred license:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:42
-#: documentation/content/en/articles/license-guide/_index.adoc:138
+#: documentation/content/en/articles/license-guide/_index.adoc:62
+#: documentation/content/en/articles/license-guide/_index.adoc:158
#, no-wrap
msgid ""
"/*-\n"
" * Copyright (c) [year] [your name]\n"
" *\n"
" * SPDX-License-Identifier: BSD-2-Clause\n"
" */\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:48
+#: documentation/content/en/articles/license-guide/_index.adoc:68
msgid ""
"The FreeBSD project does not allow using the \"advertising clause\" in new "
"code. Due to the large number of contributors to the FreeBSD project, "
"complying with this clause for many commercial vendors has become "
"difficult. If you have code in the tree with the advertising clause, please "
"consider switching to a license without it. New contributions to FreeBSD "
"should use the BSD-2-Clause license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:54
+#: documentation/content/en/articles/license-guide/_index.adoc:74
msgid ""
"The FreeBSD project discourages completely new licenses and variations on "
"the standard licenses. New licenses require the approval of {core-email} to "
"reside in the main repository. In the past, non-standard licenses have "
"generated more problems than standard ones. Poor drafting of non-standard "
"licenses often causes more unintended consequences, so they are unlikely to "
"be approved by {core-email}. The FreeBSD project is standardizing on the "
"BSD-2-Clause license, as published by SPDX."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:60
+#: documentation/content/en/articles/license-guide/_index.adoc:80
msgid ""
"In addition, project policy requires that code licensed under some non-BSD "
"licenses must be placed in specific sections of the repository. For some "
"licenses, compilation must be conditional or disabled by default. For "
"example, code in the static part of the GENERIC kernel must be licensed "
"under the BSD or substantially similar licenses. GPL, APSL, CDDL, etc, "
"licensed software must not be compiled into the static GENERIC kernel. Code "
"with these licenses may be used in pre-compiled modules, however."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:64
+#: documentation/content/en/articles/license-guide/_index.adoc:84
msgid ""
"Developers are reminded that, in open source, getting \"open\" correct is "
"just as important as getting \"source\" correct. Improper handling of "
"intellectual property has serious consequences. Any questions or concerns "
"should immediately be brought to the attention of {core-email}."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:66
+#: documentation/content/en/articles/license-guide/_index.adoc:86
#, no-wrap
msgid "Software License Policy"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:72
+#: documentation/content/en/articles/license-guide/_index.adoc:92
msgid ""
"The following sections outline the project's Software License Policies in "
"detail. For the most part we expect developers to read, understand and "
"utilize the sections above this one to apply appropriate licenses to their "
"contributions. The rest of this document details the philosophical "
"background to the policies as well as the policies in great detail. As "
"always, if the text below is confusing or you need help with applying these "
"policies, please reach out to {core-email}."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:73
+#: documentation/content/en/articles/license-guide/_index.adoc:93
#, no-wrap
msgid "Guiding Principles"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:78
+#: documentation/content/en/articles/license-guide/_index.adoc:98
msgid ""
"The FreeBSD Project aims to produce a complete, BSD-licensed operating "
"system allowing consumers of the system to produce derivative products "
"without constraint or further license obligations. We invite and greatly "
"appreciate the contribution of both changes and additions under the two-"
"clause BSD license, and encourage the adoption of this license by other open "
"source projects. Use of the BSD license is key to encouraging the adoption "
"of advanced operating system technology, and on many notable occasions has "
"been pivotal to widespread use of new technology."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:80
+#: documentation/content/en/articles/license-guide/_index.adoc:100
msgid ""
"We accept however that compelling reasons exist to allow differently-"
"licensed software to be included in the FreeBSD source tree."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:83
+#: documentation/content/en/articles/license-guide/_index.adoc:103
msgid ""
"We require software licensed under some non-BSD licenses to be carefully "
"isolated in the source tree so that it cannot contaminate BSD-only "
"components. Such cautious management encourages licensing clarity and "
"facilitates the production of BSD-only derivative products."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:87
+#: documentation/content/en/articles/license-guide/_index.adoc:107
msgid ""
"Unless a special exception is made, no existing BSD-licensed components may "
"be replaced with more restrictively licensed software. We encourage FreeBSD "
"and third party developers to seek the relicensing, dual-licensing, or "
"reimplementing of critical components under the BSD license instead. Such "
"would ease their more integral adoption into the FreeBSD operating system."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:88
+#: documentation/content/en/articles/license-guide/_index.adoc:108
#, no-wrap
msgid "Policy"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:92
+#: documentation/content/en/articles/license-guide/_index.adoc:112
msgid ""
"The import of new software licensed under any licenses other than the BSD "
"license and BSD-Like Licenses (as defined below) requires the prior approval "
"of the FreeBSD Core Team. Requests for import must include:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:94
+#: documentation/content/en/articles/license-guide/_index.adoc:114
msgid ""
"A list of features or bug fixes that the new version or patches contain, "
"along with evidence that our users need those features. PRs or references "
"to mailing list discussions are ideal forms of evidence."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:96
+#: documentation/content/en/articles/license-guide/_index.adoc:116
msgid ""
"This process should be used for all software imports, not just those that "
"require Core Team review. The mere existence of a new version does not "
"justify an import of software to source or ports."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:98
+#: documentation/content/en/articles/license-guide/_index.adoc:118
msgid ""
"A list of FreeBSD branches that may be affected. Expansions of scope "
"require a new request to and approval from the FreeBSD Core Team."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:101
+#: documentation/content/en/articles/license-guide/_index.adoc:121
msgid ""
"The Apache License 2.0 is acceptable for use in some cases. The Core Team "
"must approve the import of new Apache License licensed components or the "
"change of license of existing components to the Apache License."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:102
-#: documentation/content/en/articles/license-guide/_index.adoc:107
-#: documentation/content/en/articles/license-guide/_index.adoc:112
+#: documentation/content/en/articles/license-guide/_index.adoc:122
+#: documentation/content/en/articles/license-guide/_index.adoc:127
+#: documentation/content/en/articles/license-guide/_index.adoc:132
msgid "This license is approved for the following components:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:103
+#: documentation/content/en/articles/license-guide/_index.adoc:123
msgid "LLVM toolchain and (with LLVM Exceptions) runtime components."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:106
+#: documentation/content/en/articles/license-guide/_index.adoc:126
msgid ""
"The BSD+Patent License is acceptable for use in some cases. The Core Team "
"must approve the import of new BSD+Patent License licensed components or the "
"change of license of existing components to the BSD+Patent License."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:108
+#: documentation/content/en/articles/license-guide/_index.adoc:128
msgid "EDK2 derived code related to UEFI functionality"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:111
+#: documentation/content/en/articles/license-guide/_index.adoc:131
msgid ""
"The Common Development and Distribution License (CDDL) is acceptable for use "
"in some cases. The Core Team must approve the import of new CDDL licensed "
"components or the change of license of existing components to the CDDL."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:113
+#: documentation/content/en/articles/license-guide/_index.adoc:133
msgid "DTrace"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:114
+#: documentation/content/en/articles/license-guide/_index.adoc:134
msgid "ZFS filesystem, including kernel support and userland utilities"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:120
+#: documentation/content/en/articles/license-guide/_index.adoc:140
msgid ""
"Historically, the phrase 'All Rights Reserved.' was included in all "
"copyright notices. All the BSD releases had it, to comply with the https://"
"en.wikipedia.org/wiki/Buenos_Aires_Convention[Buenos Aires Convention of "
"1910] in the Americas. With the ratification of the https://en.wikipedia."
"org/wiki/Berne_Convention[Berne Convention] in 2000 by Nicaragua, the Buenos "
"Aires Convention -- and the phrase -- became obsolete. As such, the FreeBSD "
"project recommends that new code omit the phrase and encourages existing "
"copyright holders to remove it. In 2018, the project updated its templates "
"to remove it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:123
+#: documentation/content/en/articles/license-guide/_index.adoc:143
msgid ""
"Initially, many items in the FreeBSD tree were marked with BSD-2-Clause-"
"FreeBSD. However, SPDX has obsoleted the license as a variant; and the SPDX "
"text of the obsolete tag differs enough from the standard FreeBSD license "
"that it shouldn't be used. A review of its current use is ongoing."
msgstr ""
#. type: Title ====
-#: documentation/content/en/articles/license-guide/_index.adoc:124
+#: documentation/content/en/articles/license-guide/_index.adoc:144
#, no-wrap
msgid "Acceptable licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:128
+#: documentation/content/en/articles/license-guide/_index.adoc:148
msgid ""
"The following licenses are considered to be acceptable BSD-Like Licenses for "
"the purpose of this Policy. Deviations or the use of any other license must "
"be approved by the FreeBSD Core Team:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:130
+#: documentation/content/en/articles/license-guide/_index.adoc:150
msgid "The 2 clause version of the BSD license"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:140
+#: documentation/content/en/articles/license-guide/_index.adoc:160
msgid "The 3 clause version of the BSD license"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:148
+#: documentation/content/en/articles/license-guide/_index.adoc:168
#, no-wrap
msgid ""
"/*-\n"
" * Copyright (c) [year] [your name]\n"
" *\n"
" * SPDX-License-Identifier: BSD-3-Clause\n"
" */\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:150
+#: documentation/content/en/articles/license-guide/_index.adoc:170
msgid "The ISC License"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:158
+#: documentation/content/en/articles/license-guide/_index.adoc:178
#, no-wrap
msgid ""
"/*-\n"
" * Copyright (c) [year] [copyright holder]\n"
" *\n"
" * SPDX-License-Identifier: ISC\n"
" */\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:160
+#: documentation/content/en/articles/license-guide/_index.adoc:180
msgid "The MIT License"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:168
+#: documentation/content/en/articles/license-guide/_index.adoc:188
#, no-wrap
msgid ""
"/*-\n"
" * Copyright (c) [year] [copyright holders]\n"
" *\n"
" * SPDX-License-Identifier: MIT\n"
" */\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:169
+#: documentation/content/en/articles/license-guide/_index.adoc:189
#, no-wrap
msgid "Software Collection License"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:174
+#: documentation/content/en/articles/license-guide/_index.adoc:194
msgid ""
"The FreeBSD Project licenses its compilation of software as described in [."
"filename]#COPYRIGHT# under the BSD-2-Clause license. This license does not "
"supersede the license of individual files, which is described below. Files "
"that do not have an explicit license are licensed under the BSD-2-Clause "
"license."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:175
+#: documentation/content/en/articles/license-guide/_index.adoc:195
#, no-wrap
msgid "License File Location"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:187
+#: documentation/content/en/articles/license-guide/_index.adoc:207
msgid ""
"To comply with the https://reuse.software/[REUSE Software] standard as much "
"as possible, all license files will be stored in the [.filename]#LICENSES/# "
"directory of the repository. There are three subdirectories under this top "
"level directory. The [.filename]#LICENSES/text/# subdirectory contains, in "
"detached form, the text of all the licenses that are allowed in the FreeBSD "
"software collection. These files are stored using the SPDX-License-"
"Identifier name followed by .txt. The [.filename]#LICENSES/exceptions/# "
"subdirectory has the text of all exceptions that are allowed in detached "
"form in the FreeBSD software collection. These files are stored using the "
"exception identifier name followed by .txt. The [.filename]#LICENSES/other/"
"# contains, in detached form, the license files references in SPDX-License-"
"Identifier expressions, but aren't otherwise allowed as detached licenses. "
"All such files must appear at least once in the FreeBSD software collection, "
"and should be removed when the last file that references them is removed. "
"Licenses that have no adequate SPDX matching license must be in [."
"filename]#LICENSES/other/# and have a filename that starts with LicenseRef- "
"followed by a unique idstring. No such files have currently been "
"identified, but if they are, a full list will appear here."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:191
+#: documentation/content/en/articles/license-guide/_index.adoc:211
msgid ""
"The FreeBSD Project currently does not make use of the `DEP5` files "
"described in the `REUSE Software` standard. The FreeBSD Project has not "
"marked all the files in the tree yet in accordance with this standard, as "
"described later in this document. The FreeBSD Project has not yet included "
"these files in its repositories since this policy is still evolving."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:193
+#: documentation/content/en/articles/license-guide/_index.adoc:213
#, no-wrap
msgid "Individual Files License"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:197
+#: documentation/content/en/articles/license-guide/_index.adoc:217
msgid ""
"Each individual file in the FreeBSD software collection has its own "
"copyright and license. How they are marked varies and is described in this "
"section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:201
+#: documentation/content/en/articles/license-guide/_index.adoc:221
msgid ""
"A copyright notice identifies who claims the legal copyright to a file. "
"These are provided on a best effort basis by the project. Because "
"copyrights may be legally transferred, the current copyright holder may "
"differ from what is listed in the file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:210
+#: documentation/content/en/articles/license-guide/_index.adoc:230
msgid ""
"A license is a legal document between the contributor and the users of the "
"software granting permission to use the copyrighted portions of the "
"software, subject to certain terms and conditions set forth in the license. "
"Licenses can be expressed in one of two ways in the FreeBSD software "
"collection. Licenses can be explicit in a file. When a license grant is "
"explicit in the file, that file may be used, copied, and modified in "
"accordance with that license. Licenses can also be expressed indirectly, "
"where the text of the license is elsewhere. The project uses the Software "
"Package Data Exchange (SPDX) license identifiers for this purpose, as "
"described in the following subsections. SPDX license identifiers are "
"managed by the SPDX Workgroup at the Linux Foundation, and have been agreed "
"on by partners throughout the industry, tool vendors, and legal teams. For "
"further information see https://spdx.org/ and the following sections for how "
"the FreeBSD Project uses them."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:213
+#: documentation/content/en/articles/license-guide/_index.adoc:233
msgid ""
"Entities that contribute fixes and enhancements to the software collection "
"without an explicit license agree to license those changes under the terms "
"that apply to the modified file(s). Project policy, in line with industry "
"practice, only includes a copyright notice from significant contributors to "
"the files in the collection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:215
+#: documentation/content/en/articles/license-guide/_index.adoc:235
msgid "There are four types of files in the FreeBSD software collection:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:217
+#: documentation/content/en/articles/license-guide/_index.adoc:237
msgid "Files that have only an explicit copyright notice and license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:218
+#: documentation/content/en/articles/license-guide/_index.adoc:238
msgid ""
"Files that have both an explicit copyright notice and license, and a SPDX-"
"License-Identifier tag."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:219
+#: documentation/content/en/articles/license-guide/_index.adoc:239
msgid ""
"Files that have only a copyright notice and an SPDX-License-Identifier tag, "
"but no explicit license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:220
+#: documentation/content/en/articles/license-guide/_index.adoc:240
msgid "Files that lack any copyright or license at all."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:221
+#: documentation/content/en/articles/license-guide/_index.adoc:241
#, no-wrap
msgid "Only Copyright and License"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:225
+#: documentation/content/en/articles/license-guide/_index.adoc:245
msgid ""
"Many files in the FreeBSD software collection have both a copyright notice "
"and an explicit license contained in the file. In these cases, the license "
"contained in the file governs."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:226
+#: documentation/content/en/articles/license-guide/_index.adoc:246
#, no-wrap
msgid "Copyright and License with SPDX-License-Identifier expression"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:232
+#: documentation/content/en/articles/license-guide/_index.adoc:252
msgid ""
"Some files in the FreeBSD software collection contain a copyright statement, "
"an SPDX-License-Identifier tag and an explicit license. The explicit "
"license takes precedence over the SPDX-License-Identifier tag. The SPDX-"
"License-Identifier tag is the project's best effort attempt to characterize "
"the license, but is only informative for automated tools. See <<expressions,"
"SPDX-License-Identifier Expressions>> for how to interpret the expression."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:233
+#: documentation/content/en/articles/license-guide/_index.adoc:253
#, no-wrap
msgid "Only Copyright and SPDX-License-Identifier expression."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:239
+#: documentation/content/en/articles/license-guide/_index.adoc:259
msgid ""
"Some files in the tree contain detached licenses. These files contain only "
"a copyright notice and an SPDX-License-Identifier expression, but no "
"explicit license. See <<expressions,SPDX-License-Identifier Expressions>> "
"for how to interpret the expression. Note: the expressions allowed for "
"detached licenses by the project are a subset of the expressions used "
"informationally or that are defined by the standard."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:241
+#: documentation/content/en/articles/license-guide/_index.adoc:261
msgid ""
"The license for files containing only the SPDX-License-Identifier should be "
"construed to be"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:244
+#: documentation/content/en/articles/license-guide/_index.adoc:264
msgid ""
"Start the license with the copyright notice from the file. Include all the "
"copyright holders."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:247
+#: documentation/content/en/articles/license-guide/_index.adoc:267
msgid ""
"For each sub-expression, copy the license text from [.filename]#LICENSE/text/"
"`id`.txt#. When exceptions are present, append them from [.filename]#src/"
"share/license/exceptions/`id`.txt#. SPDX-License-Identifier expressions "
"should be construed as described in the SPDX standard."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:250
+#: documentation/content/en/articles/license-guide/_index.adoc:270
msgid ""
"Where `id` is the SPDX short license identifier from the `Identifier` column "
"of https://spdx.org/licenses/[SPDX Identifiers] or https://spdx.org/licenses/"
"exceptions-index.html[license exception]. If there is no file in [."
"filename]#LICENSE/#, then that license or exception cannot be specified as a "
"detached license under this section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:252
+#: documentation/content/en/articles/license-guide/_index.adoc:272
msgid ""
"When reading the license text that is detached from a file, a number of "
"considerations must be taken to make the detached license make sense."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:255
+#: documentation/content/en/articles/license-guide/_index.adoc:275
msgid ""
"Any reference to a copyright notice shall refer to the copyright notice "
"constructed from the licensed file, not from any copyright notice in the "
"license text file itself. Many SPDX files have sample copyright notices "
"that are understood to be examples only."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:258
+#: documentation/content/en/articles/license-guide/_index.adoc:278
msgid ""
"When names of entities are referred to in the license text, they shall be "
"construed to apply to the list of all copyright holders listed in the "
"copyright notices of the licensed file. For example, the BSD-4-clause "
"license contains the phrase \"This product includes software developed by "
"the organization\". The phrase 'the organization' should be replaced by the "
"copyright holders."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:260
+#: documentation/content/en/articles/license-guide/_index.adoc:280
msgid ""
"When the SPDX offers variations of the license, it is understood the license "
"in the [.filename]#LICENSE/# file represents the exact version of the "
"license selected. The SPDX standard exists to match families of licenses "
"and these variations help match similar licenses that the SPDX organization "
"believes to be legally identical."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:264
+#: documentation/content/en/articles/license-guide/_index.adoc:284
msgid ""
"For licenses that have slight variations in text, the SPDX has guidelines to "
"match them. These guidelines are not relevant here. Contributors wishing "
"to license under a variant of a SPDX license not contained verbatim in [."
"filename]#LICENSE/# cannot use the detached option and must specify the "
"license explicitly."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:265
+#: documentation/content/en/articles/license-guide/_index.adoc:285
#, no-wrap
msgid "Files without Copyright or any License Marking"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:270
+#: documentation/content/en/articles/license-guide/_index.adoc:290
msgid ""
"Some files cannot have suitable comments added to them. In such cases, a "
"license may be found in [.filename]#file.ext.license#. For example, a file "
"named [.filename]#foo.jpg# may have a license in [.filename]#foo.jpg."
"license#, following the REUSE Software conventions."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:273
+#: documentation/content/en/articles/license-guide/_index.adoc:293
msgid ""
"Files created by the project that lack a copyright notice are understood to "
"fall under the blanket copyright and licensing in [.filename]#COPYRIGHT#. "
"Either the file is a mere recitation of facts, not protectable by Copyright "
"Law, or the content is so trivial as to not warrant the overhead of an "
"explicit license."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:276
+#: documentation/content/en/articles/license-guide/_index.adoc:296
msgid ""
"Files that lack marking and have more than a trivial amount of copyrightable "
"material, or whose author believes them to be improperly marked, should be "
"brought to the attention of the FreeBSD core team. It is the strong policy "
"of the FreeBSD Project to comply with all appropriate licenses."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:278
+#: documentation/content/en/articles/license-guide/_index.adoc:298
msgid ""
"In the future, all such files will be marked explicitly, or follow the REUSE "
"Software [.filename]#.license# convention."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:280
+#: documentation/content/en/articles/license-guide/_index.adoc:300
#, no-wrap
msgid "SPDX-License-Identifier Expressions"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:287
+#: documentation/content/en/articles/license-guide/_index.adoc:307
msgid ""
"An 'SPDX License expression' is used in two contexts in the FreeBSD software "
"collection. First, its full form is used for files that have explicit "
"license statements contained within the file as well as a summarizing SPDX-"
"License-Identifier expression. In this context, the full power of these "
"expressions may be used. Second, in a restricted form described above, it "
"is used to denote the actual license for a given file. In the second "
"context, only a subset of this expression is allowed by the project."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:291
+#: documentation/content/en/articles/license-guide/_index.adoc:311
msgid ""
"An `SPDX License sub-expression` is either an SPDX short form license "
"identifier from the https://spdx.org/licenses/[SPDX License List], or the "
"combination of two SPDX short form license identifiers separated by \"WITH\" "
"when a https://spdx.org/licenses/exceptions-index.html[license exception] "
"applies. When multiple licenses apply, an expression consists of keywords "
"\"AND\", \"OR\" separating sub-expressions and surrounded by \"(\", \")\" . "
"The https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/"
"[full specification of expressions] spells out all the details and takes "
"precedence when it conflicts with the simplified treatment of this section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:299
+#: documentation/content/en/articles/license-guide/_index.adoc:319
msgid ""
"Some license identifiers, like [L]GPL, have the option to use only that "
"version, or any later version. SPDX defines the suffix `-or-later` to mean "
"that version of the license or a later version. It defines `-only` to mean "
"only that specific version of the file. There is an old convention to have "
"no suffix (which means what the new '-only' suffix means, but which people "
"confuse for `-or-later`). In addition, affixing a `+` suffix was meant to "
"mean `-or-later`. New files in FreeBSD should not use these two "
"conventions. Old files that use this convention should be converted as "
"appropriate."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:304
+#: documentation/content/en/articles/license-guide/_index.adoc:324
#, no-wrap
msgid ""
" // SPDX-License-Identifier: GPL-2.0-only\n"
" // SPDX-License-Identifier: LGPL-2.1-or-later\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:308
+#: documentation/content/en/articles/license-guide/_index.adoc:328
msgid ""
"`WITH` should be used when a license modifier is needed. In the FreeBSD "
"project, a number of files from LLVM have an exception to the Apache 2.0 "
"license:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:312
+#: documentation/content/en/articles/license-guide/_index.adoc:332
#, no-wrap
msgid " // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:316
+#: documentation/content/en/articles/license-guide/_index.adoc:336
msgid ""
"https://spdx.org/licenses/exceptions-index.html[Exception tags] are managed "
"by SPDX. License exceptions can only be applied to certain licenses, as "
"specified in the exception."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:319
+#: documentation/content/en/articles/license-guide/_index.adoc:339
msgid ""
"`OR` should be used if the file has a choice of license and one license is "
"selected. For example, some dtsi files are available under dual licenses:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:323
+#: documentation/content/en/articles/license-guide/_index.adoc:343
#, no-wrap
msgid " // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:327
+#: documentation/content/en/articles/license-guide/_index.adoc:347
msgid ""
"`AND` should be used if the file has multiple licenses whose terms all apply "
"to use the file. For example, if code has been incorporated by several "
"projects, each with their own license:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:331
+#: documentation/content/en/articles/license-guide/_index.adoc:351
#, no-wrap
msgid " // SPDX-License-Identifier: BSD-2-Clause AND MIT\n"
msgstr ""
diff --git a/documentation/content/en/articles/pgpkeys/_index.po b/documentation/content/en/articles/pgpkeys/_index.po
index 7275554130..654d055bdd 100644
--- a/documentation/content/en/articles/pgpkeys/_index.po
+++ b/documentation/content/en/articles/pgpkeys/_index.po
@@ -1,2866 +1,2878 @@
# 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: 2023-06-19 21:08-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/pgpkeys/_index.adoc:1
#, no-wrap
msgid "List of OpenPGP keys that can be used to verify a signature or send encrypted email to FreeBSD.org officers or developers."
msgstr ""
#. type: Title =
#: documentation/content/en/articles/pgpkeys/_index.adoc:1
#: documentation/content/en/articles/pgpkeys/_index.adoc:7
#, no-wrap
msgid "OpenPGP Keys"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/pgpkeys/_index.adoc:45
msgid "'''"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/pgpkeys/_index.adoc:50
msgid ""
"These OpenPGP keys can be used to verify a signature or send encrypted email "
"to `FreeBSD.org` officers or developers. The complete keyring can be "
"downloaded at link:https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt[pgpkeyring."
"txt]."
msgstr ""
#
#
#. Do not edit this file except as instructed by the addkey.sh script.
#. See the README file in /data/pgpkeys for instructions.
#. This article contains all the keys. The officer keys are also
#. shown in the Handbook PGP keys chapter.
#. type: Title ==
#: documentation/content/en/articles/pgpkeys/_index.adoc:61
#, no-wrap
msgid "Officers"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:63
#, no-wrap
msgid "{security-officer-name} `<{security-officer-email}>`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:66
#, no-wrap
msgid "{core-secretary-name} `<{core-secretary-email}>`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:69
#, no-wrap
msgid "{portmgr-secretary-name} `<{portmgr-secretary-email}>`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:72
#, no-wrap
msgid "{doceng-secretary-name} `<{doceng-secretary-email}>`"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/pgpkeys/_index.adoc:76
#, no-wrap
msgid "Core Team Members"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:78
-#: documentation/content/en/articles/pgpkeys/_index.adoc:342
+#: documentation/content/en/articles/pgpkeys/_index.adoc:345
#, no-wrap
msgid "`{bapt}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:81
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1092
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1095
#, no-wrap
msgid "`{bcr}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:84
-#: documentation/content/en/articles/pgpkeys/_index.adoc:762
+#: documentation/content/en/articles/pgpkeys/_index.adoc:765
#, no-wrap
msgid "`{grog}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:87
#: documentation/content/en/articles/pgpkeys/_index.adoc:171
#, no-wrap
msgid "`{jhb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:90
-#: documentation/content/en/articles/pgpkeys/_index.adoc:579
+#: documentation/content/en/articles/pgpkeys/_index.adoc:582
#, no-wrap
msgid "`{lwhsu}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:93
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1353
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1356
#, no-wrap
msgid "`{manu}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:96
#: documentation/content/en/articles/pgpkeys/_index.adoc:198
#, no-wrap
msgid "`{tcberner}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:99
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1044
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1047
#, no-wrap
msgid "`{0mp}`"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/pgpkeys/_index.adoc:103
#, no-wrap
msgid "Developers"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:105
#, no-wrap
msgid "`{jgh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:108
#, no-wrap
msgid "`{ariff}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:111
#, no-wrap
msgid "`{tabthorpe}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:114
#, no-wrap
msgid "`{eadler}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:117
#, no-wrap
msgid "`{pauamma}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:120
#, no-wrap
msgid "`{shaun}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:123
#, no-wrap
msgid "`{brix}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:126
#, no-wrap
msgid "`{mandree}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:129
#, no-wrap
msgid "`{will}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:132
#, no-wrap
msgid "`{dim}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:135
#, no-wrap
msgid "`{anholt}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:138
#, no-wrap
msgid "`{fernape}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:141
#, no-wrap
msgid "`{mva}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:144
#, no-wrap
msgid "`{araujo}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:147
#, no-wrap
msgid "`{mat}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:150
#, no-wrap
msgid "`{syuu}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:153
#, no-wrap
msgid "`{asami}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:156
#, no-wrap
msgid "`{jsa}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:159
#, no-wrap
msgid "`{jadawin}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:162
#, no-wrap
msgid "`{jwb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:165
#, no-wrap
msgid "`{dbaio}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:168
#, no-wrap
msgid "`{timur}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:174
#, no-wrap
msgid "`{gjb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:177
#, no-wrap
msgid "`{snb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:180
#, no-wrap
msgid "`{barner}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:183
#, no-wrap
msgid "`{lbartoletti}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:186
#, no-wrap
msgid "`{art}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:189
#, no-wrap
msgid "`{tobez}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:192
#, no-wrap
msgid "`{damien}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:195
#, no-wrap
msgid "`{bdragon}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:201
#, no-wrap
msgid "`{tdb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:204
#, no-wrap
msgid "`{mbr}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:207
#, no-wrap
msgid "`{bvs}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:210
#, no-wrap
-msgid "`{novel}`"
+msgid "`{jbo}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:213
#, no-wrap
-msgid "`{garga}`"
+msgid "`{novel}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:216
#, no-wrap
-msgid "`{kbowling}`"
+msgid "`{garga}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:219
#, no-wrap
-msgid "`{alexbl}`"
+msgid "`{kbowling}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:222
#, no-wrap
-msgid "`{ebrandi}`"
+msgid "`{alexbl}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:225
#, no-wrap
-msgid "`{harti}`"
+msgid "`{ebrandi}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:228
#, no-wrap
-msgid "`{obraun}`"
+msgid "`{harti}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:231
#, no-wrap
-msgid "`{makc}`"
+msgid "`{obraun}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:234
#, no-wrap
-msgid "`{jmb}`"
+msgid "`{makc}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:237
#, no-wrap
-msgid "`{antoine}`"
+msgid "`{jmb}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:240
#, no-wrap
-msgid "`{db}`"
+msgid "`{antoine}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:243
#, no-wrap
-msgid "`{brueffer}`"
+msgid "`{db}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:246
#, no-wrap
-msgid "`{markus}`"
+msgid "`{brueffer}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:249
#, no-wrap
-msgid "`{br}`"
+msgid "`{markus}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:252
#, no-wrap
-msgid "`{jch}`"
+msgid "`{br}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:255
#, no-wrap
-msgid "`{jchandra}`"
+msgid "`{jch}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:258
#, no-wrap
-msgid "`{jcamou}`"
+msgid "`{jchandra}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:261
#, no-wrap
-msgid "`{acm}`"
+msgid "`{jcamou}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:264
#, no-wrap
-msgid "`{gahr}`"
+msgid "`{acm}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:267
#, no-wrap
-msgid "`{dchagin}`"
+msgid "`{gahr}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:270
#, no-wrap
-msgid "`{perky}`"
+msgid "`{dchagin}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:273
#, no-wrap
-msgid "`{jon}`"
+msgid "`{perky}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:276
#, no-wrap
-msgid "`{jonathan}`"
+msgid "`{jon}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:279
#, no-wrap
-msgid "`{loader}`"
+msgid "`{jonathan}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:282
#, no-wrap
-msgid "`{luoqi}`"
+msgid "`{loader}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:285
#, no-wrap
-msgid "`{ache}`"
+msgid "`{luoqi}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:288
#, no-wrap
-msgid "`{melifaro}`"
+msgid "`{ache}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:291
#, no-wrap
-msgid "`{cjh}`"
+msgid "`{melifaro}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:294
#, no-wrap
-msgid "`{davidch}`"
+msgid "`{cjh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:297
#, no-wrap
-msgid "`{milki}`"
+msgid "`{davidch}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:300
#, no-wrap
-msgid "`{cjc}`"
+msgid "`{milki}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:303
#, no-wrap
-msgid "`{marcus}`"
+msgid "`{cjc}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:306
#, no-wrap
-msgid "`{fuz}`"
+msgid "`{marcus}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:309
#, no-wrap
-msgid "`{nik}`"
+msgid "`{fuz}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:312
#, no-wrap
-msgid "`{benjsc}`"
+msgid "`{nik}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:315
#, no-wrap
-msgid "`{lcook}`"
+msgid "`{benjsc}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:318
#, no-wrap
-msgid "`{ngie}`"
+msgid "`{lcook}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:321
#, no-wrap
-msgid "`{rakuco}`"
+msgid "`{ngie}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:324
#, no-wrap
-msgid "`{alc}`"
+msgid "`{rakuco}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:327
#, no-wrap
-msgid "`{olivier}`"
+msgid "`{alc}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:330
#, no-wrap
-msgid "`{bcran}`"
+msgid "`{olivier}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:333
#, no-wrap
-msgid "`{cc}`"
+msgid "`{bcran}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:336
#, no-wrap
-msgid "`{culot}`"
+msgid "`{cc}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:339
#, no-wrap
-msgid "`{alfredo}`"
+msgid "`{culot}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:345
+#: documentation/content/en/articles/pgpkeys/_index.adoc:342
#, no-wrap
-msgid "`{ceri}`"
+msgid "`{alfredo}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:348
#, no-wrap
-msgid "`{edavis}`"
+msgid "`{ceri}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:351
#, no-wrap
-msgid "`{alexey}`"
+msgid "`{edavis}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:354
#, no-wrap
-msgid "`{bsd}`"
+msgid "`{alexey}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:357
#, no-wrap
-msgid "`{carl}`"
+msgid "`{bsd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:360
#, no-wrap
-msgid "`{carlavilla}`"
+msgid "`{carl}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:363
#, no-wrap
-msgid "`{vd}`"
+msgid "`{carlavilla}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:366
#, no-wrap
-msgid "`{rdivacky}`"
+msgid "`{vd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:369
#, no-wrap
-msgid "`{danfe}`"
+msgid "`{rdivacky}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:372
#, no-wrap
-msgid "`{dd}`"
+msgid "`{danfe}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:375
#, no-wrap
-msgid "`{bdrewery}`"
+msgid "`{dd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:378
#, no-wrap
-msgid "`{gad}`"
+msgid "`{bdrewery}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:381
#, no-wrap
-msgid "`{kd}`"
+msgid "`{gad}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:384
#, no-wrap
-msgid "`{olivierd}`"
+msgid "`{kd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:387
#, no-wrap
-msgid "`{bruno}`"
+msgid "`{olivierd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:390
#, no-wrap
-msgid "`{ale}`"
+msgid "`{bruno}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:393
#, no-wrap
-msgid "`{nemysis}`"
+msgid "`{ale}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:396
#, no-wrap
-msgid "`{peadar}`"
+msgid "`{nemysis}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:399
#, no-wrap
-msgid "`{deischen}`"
+msgid "`{peadar}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:402
#, no-wrap
-msgid "`{diizzy}`"
+msgid "`{deischen}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:405
#, no-wrap
-msgid "`{ue}`"
+msgid "`{diizzy}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:408
#, no-wrap
-msgid "`{madpilot}`"
+msgid "`{ue}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:411
#, no-wrap
-msgid "`{rafan}`"
+msgid "`{madpilot}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:414
#, no-wrap
-msgid "`{kami}`"
+msgid "`{rafan}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:417
#, no-wrap
-msgid "`{farrokhi}`"
+msgid "`{kami}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:420
#, no-wrap
-msgid "`{jedgar}`"
+msgid "`{farrokhi}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:423
#, no-wrap
-msgid "`{mfechner}`"
+msgid "`{jedgar}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:426
#, no-wrap
-msgid "`{feld}`"
+msgid "`{mfechner}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:429
#, no-wrap
-msgid "`{green}`"
+msgid "`{feld}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:432
#, no-wrap
-msgid "`{fanf}`"
+msgid "`{green}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:435
#, no-wrap
-msgid "`{blackend}`"
+msgid "`{fanf}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:438
#, no-wrap
-msgid "`{petef}`"
+msgid "`{blackend}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:441
#, no-wrap
-msgid "`{decke}`"
+msgid "`{petef}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:444
#, no-wrap
-msgid "`{landonf}`"
+msgid "`{decke}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:447
#, no-wrap
-msgid "`{billf}`"
+msgid "`{landonf}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:450
#, no-wrap
-msgid "`{grembo}`"
+msgid "`{billf}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:453
#, no-wrap
-msgid "`{sgalabov}`"
+msgid "`{grembo}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:456
#, no-wrap
-msgid "`{avg}`"
+msgid "`{sgalabov}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:459
#, no-wrap
-msgid "`{beat}`"
+msgid "`{avg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:462
#, no-wrap
-msgid "`{sjg}`"
+msgid "`{beat}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:465
#, no-wrap
-msgid "`{gibbs}`"
+msgid "`{sjg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:468
#, no-wrap
-msgid "`{pfg}`"
+msgid "`{gibbs}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:471
#, no-wrap
-msgid "`{girgen}`"
+msgid "`{pfg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:474
#, no-wrap
-msgid "`{eugen}`"
+msgid "`{girgen}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:477
#, no-wrap
-msgid "`{pgollucci}`"
+msgid "`{eugen}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:480
#, no-wrap
-msgid "`{trociny}`"
+msgid "`{pgollucci}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:483
#, no-wrap
-msgid "`{dmgk}`"
+msgid "`{trociny}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:486
#, no-wrap
-msgid "`{daichi}`"
+msgid "`{dmgk}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:489
#, no-wrap
-msgid "`{grehan}`"
+msgid "`{daichi}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:492
#, no-wrap
-msgid "`{jamie}`"
+msgid "`{grehan}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:495
#, no-wrap
-msgid "`{adridg}`"
+msgid "`{jamie}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:498
#, no-wrap
-msgid "`{wg}`"
+msgid "`{adridg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:501
#, no-wrap
-msgid "`{bar}`"
+msgid "`{wg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:504
#, no-wrap
-msgid "`{jmg}`"
+msgid "`{bar}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:507
#, no-wrap
-msgid "`{mjg}`"
+msgid "`{jmg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:510
#, no-wrap
-msgid "`{jhale}`"
+msgid "`{mjg}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:513
#, no-wrap
-msgid "`{jah}`"
+msgid "`{jhale}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:516
#, no-wrap
-msgid "`{dannyboy}`"
+msgid "`{jah}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:519
#, no-wrap
-msgid "`{dhartmei}`"
+msgid "`{dannyboy}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:522
#, no-wrap
-msgid "`{ohauer}`"
+msgid "`{dhartmei}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:525
#, no-wrap
-msgid "`{ehaupt}`"
+msgid "`{ohauer}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:528
#, no-wrap
-msgid "`{jhay}`"
+msgid "`{ehaupt}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:531
#, no-wrap
-msgid "`{bhd}`"
+msgid "`{jhay}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:534
#, no-wrap
-msgid "`{sheldonh}`"
+msgid "`{bhd}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:537
#, no-wrap
-msgid "`{mikeh}`"
+msgid "`{sheldonh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:540
#, no-wrap
-msgid "`{mheinen}`"
+msgid "`{mikeh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:543
#, no-wrap
-msgid "`{niels}`"
+msgid "`{mheinen}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:546
#, no-wrap
-msgid "`{ghelmer}`"
+msgid "`{niels}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:549
#, no-wrap
-msgid "`{mux}`"
+msgid "`{ghelmer}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:552
#, no-wrap
-msgid "`{wen}`"
+msgid "`{mux}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:555
#, no-wrap
-msgid "`{dhn}`"
+msgid "`{wen}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:558
#, no-wrap
-msgid "`{jhibbits}`"
+msgid "`{dhn}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:561
#, no-wrap
-msgid "`{jhixson}`"
+msgid "`{jhibbits}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:564
#, no-wrap
-msgid "`{pho}`"
+msgid "`{jhixson}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:567
#, no-wrap
-msgid "`{oh}`"
+msgid "`{pho}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:570
#, no-wrap
-msgid "`{mhorne}`"
+msgid "`{oh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:573
#, no-wrap
-msgid "`{bhughes}`"
+msgid "`{mhorne}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:576
#, no-wrap
-msgid "`{sunpoet}`"
+msgid "`{bhughes}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:582
+#: documentation/content/en/articles/pgpkeys/_index.adoc:579
#, no-wrap
-msgid "`{foxfair}`"
+msgid "`{sunpoet}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:585
#, no-wrap
-msgid "`{whu}`"
+msgid "`{foxfair}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:588
#, no-wrap
-msgid "`{chinsan}`"
+msgid "`{whu}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:591
#, no-wrap
-msgid "`{zlei}`"
+msgid "`{chinsan}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:594
#, no-wrap
-msgid "`{davide}`"
+msgid "`{zlei}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:597
#, no-wrap
-msgid "`{jkh}`"
+msgid "`{davide}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:600
#, no-wrap
-msgid "`{versus}`"
+msgid "`{jkh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:603
#, no-wrap
-msgid "`{pi}`"
+msgid "`{versus}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:606
#, no-wrap
-msgid "`{weongyo}`"
+msgid "`{pi}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:609
#, no-wrap
-msgid "`{peterj}`"
+msgid "`{weongyo}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:612
#, no-wrap
-msgid "`{jinmei}`"
+msgid "`{peterj}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:615
#, no-wrap
-msgid "`{ahze}`"
+msgid "`{jinmei}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:618
#, no-wrap
-msgid "`{markj}`"
+msgid "`{ahze}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:621
#, no-wrap
-msgid "`{trevor}`"
+msgid "`{markj}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:624
#, no-wrap
-msgid "`{erj}`"
+msgid "`{trevor}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:627
#, no-wrap
-msgid "`{allanjude}`"
+msgid "`{erj}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:630
#, no-wrap
-msgid "`{bjk}`"
+msgid "`{allanjude}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:633
#, no-wrap
-msgid "`{phk}`"
+msgid "`{bjk}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:636
#, no-wrap
-msgid "`{pluknet}`"
+msgid "`{phk}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:639
#, no-wrap
-msgid "`{cokane}`"
+msgid "`{pluknet}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:642
#, no-wrap
-msgid "`{karels}`"
+msgid "`{cokane}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:645
#, no-wrap
-msgid "`{kato}`"
+msgid "`{karels}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:648
#, no-wrap
-msgid "`{vkashyap}`"
+msgid "`{kato}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:651
#, no-wrap
-msgid "`{pkubaj}`"
+msgid "`{vkashyap}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:654
#, no-wrap
-msgid "`{kris}`"
+msgid "`{pkubaj}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:657
#, no-wrap
-msgid "`{keramida}`"
+msgid "`{kris}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:660
#, no-wrap
-msgid "`{fjoe}`"
+msgid "`{keramida}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:663
#, no-wrap
-msgid "`{manolis}`"
+msgid "`{fjoe}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:666
#, no-wrap
-msgid "`{stevek}`"
+msgid "`{manolis}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:669
#, no-wrap
-msgid "`{jkim}`"
+msgid "`{stevek}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:672
#, no-wrap
-msgid "`{zack}`"
+msgid "`{jkim}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:675
#, no-wrap
-msgid "`{jceel}`"
+msgid "`{zack}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:678
#, no-wrap
-msgid "`{andreas}`"
+msgid "`{jceel}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:681
#, no-wrap
-msgid "`{kai}`"
+msgid "`{andreas}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:684
#, no-wrap
-msgid "`{corvink}`"
+msgid "`{kai}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:687
#, no-wrap
-msgid "`{jkois}`"
+msgid "`{corvink}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:690
#, no-wrap
-msgid "`{sergei}`"
+msgid "`{jkois}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:693
#, no-wrap
-msgid "`{maxim}`"
+msgid "`{sergei}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:696
#, no-wrap
-msgid "`{taras}`"
+msgid "`{maxim}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:699
#, no-wrap
-msgid "`{tobik}`"
+msgid "`{taras}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:702
#, no-wrap
-msgid "`{jkoshy}`"
+msgid "`{tobik}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:705
#, no-wrap
-msgid "`{wkoszek}`"
+msgid "`{jkoshy}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:708
#, no-wrap
-msgid "`{ak}`"
+msgid "`{wkoszek}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:711
#, no-wrap
-msgid "`{gabor}`"
+msgid "`{ak}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:714
#, no-wrap
-msgid "`{anchie}`"
+msgid "`{gabor}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:717
#, no-wrap
-msgid "`{rushani}`"
+msgid "`{anchie}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:720
#, no-wrap
-msgid "`{kuriyama}`"
+msgid "`{rushani}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:723
#, no-wrap
-msgid "`{rene}`"
+msgid "`{kuriyama}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:726
#, no-wrap
-msgid "`{jlaffaye}`"
+msgid "`{rene}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:729
#, no-wrap
-msgid "`{clement}`"
+msgid "`{jlaffaye}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:732
#, no-wrap
-msgid "`{mlaier}`"
+msgid "`{clement}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:735
#, no-wrap
-msgid "`{martymac}`"
+msgid "`{mlaier}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:738
#, no-wrap
-msgid "`{glarkin}`"
+msgid "`{martymac}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:741
#, no-wrap
-msgid "`{dru}`"
+msgid "`{glarkin}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:744
#, no-wrap
-msgid "`{lawrance}`"
+msgid "`{dru}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:747
#, no-wrap
-msgid "`{njl}`"
+msgid "`{lawrance}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:750
#, no-wrap
-msgid "`{jlh}`"
+msgid "`{njl}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:753
#, no-wrap
-msgid "`{leeym}`"
+msgid "`{jlh}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:756
#, no-wrap
-msgid "`{sam}`"
+msgid "`{leeym}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/pgpkeys/_index.adoc:759
#, no-wrap
+msgid "`{sam}`"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/articles/pgpkeys/_index.adoc:762
+#, no-wrap
msgid "`{jylefort}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:765
+#: documentation/content/en/articles/pgpkeys/_index.adoc:768
#, no-wrap
msgid "`{oliver}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:768
+#: documentation/content/en/articles/pgpkeys/_index.adoc:771
#, no-wrap
msgid "`{netchild}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:771
+#: documentation/content/en/articles/pgpkeys/_index.adoc:774
#, no-wrap
msgid "`{leitao}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:774
+#: documentation/content/en/articles/pgpkeys/_index.adoc:777
#, no-wrap
msgid "`{ae}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:777
+#: documentation/content/en/articles/pgpkeys/_index.adoc:780
#, no-wrap
msgid "`{lesi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:780
+#: documentation/content/en/articles/pgpkeys/_index.adoc:783
#, no-wrap
msgid "`{achim}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:783
+#: documentation/content/en/articles/pgpkeys/_index.adoc:786
#, no-wrap
msgid "`{cel}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:786
+#: documentation/content/en/articles/pgpkeys/_index.adoc:789
#, no-wrap
msgid "`{glewis}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:789
+#: documentation/content/en/articles/pgpkeys/_index.adoc:792
#, no-wrap
msgid "`{vishwin}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:792
+#: documentation/content/en/articles/pgpkeys/_index.adoc:795
#, no-wrap
msgid "`{delphij}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:795
+#: documentation/content/en/articles/pgpkeys/_index.adoc:798
#, no-wrap
msgid "`{avatar}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:798
+#: documentation/content/en/articles/pgpkeys/_index.adoc:801
#, no-wrap
msgid "`{ijliao}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:801
+#: documentation/content/en/articles/pgpkeys/_index.adoc:804
#, no-wrap
msgid "`{rlibby}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:804
+#: documentation/content/en/articles/pgpkeys/_index.adoc:807
#, no-wrap
msgid "`{pclin}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:807
+#: documentation/content/en/articles/pgpkeys/_index.adoc:810
#, no-wrap
msgid "`{yzlin}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:810
+#: documentation/content/en/articles/pgpkeys/_index.adoc:813
#, no-wrap
msgid "`{linimon}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:813
+#: documentation/content/en/articles/pgpkeys/_index.adoc:816
#, no-wrap
msgid "`{arved}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:816
+#: documentation/content/en/articles/pgpkeys/_index.adoc:819
#, no-wrap
msgid "`{dryice}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:819
+#: documentation/content/en/articles/pgpkeys/_index.adoc:822
#, no-wrap
msgid "`{nemoliu}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:822
+#: documentation/content/en/articles/pgpkeys/_index.adoc:825
#, no-wrap
msgid "`{kevlo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:825
+#: documentation/content/en/articles/pgpkeys/_index.adoc:828
#, no-wrap
msgid "`{zml}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:828
+#: documentation/content/en/articles/pgpkeys/_index.adoc:831
#, no-wrap
msgid "`{nox}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:831
+#: documentation/content/en/articles/pgpkeys/_index.adoc:834
#, no-wrap
msgid "`{avl}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:834
+#: documentation/content/en/articles/pgpkeys/_index.adoc:837
#, no-wrap
msgid "`{scottl}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:837
+#: documentation/content/en/articles/pgpkeys/_index.adoc:840
#, no-wrap
msgid "`{rmacklem}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:840
+#: documentation/content/en/articles/pgpkeys/_index.adoc:843
#, no-wrap
msgid "`{vmaffione}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:843
+#: documentation/content/en/articles/pgpkeys/_index.adoc:846
#, no-wrap
msgid "`{bmah}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:846
+#: documentation/content/en/articles/pgpkeys/_index.adoc:849
#, no-wrap
msgid "`{rm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:849
+#: documentation/content/en/articles/pgpkeys/_index.adoc:852
#, no-wrap
msgid "`{mtm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:852
+#: documentation/content/en/articles/pgpkeys/_index.adoc:855
#, no-wrap
msgid "`{dwmalone}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:855
+#: documentation/content/en/articles/pgpkeys/_index.adoc:858
#, no-wrap
msgid "`{christos}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:858
+#: documentation/content/en/articles/pgpkeys/_index.adoc:861
#, no-wrap
msgid "`{marino}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:861
+#: documentation/content/en/articles/pgpkeys/_index.adoc:864
#, no-wrap
msgid "`{cherry}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:864
+#: documentation/content/en/articles/pgpkeys/_index.adoc:867
#, no-wrap
msgid "`{matusita}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:867
+#: documentation/content/en/articles/pgpkeys/_index.adoc:870
#, no-wrap
msgid "`{mm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:870
+#: documentation/content/en/articles/pgpkeys/_index.adoc:873
#, no-wrap
msgid "`{sem}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:873
+#: documentation/content/en/articles/pgpkeys/_index.adoc:876
#, no-wrap
msgid "`{mckusick}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:876
+#: documentation/content/en/articles/pgpkeys/_index.adoc:879
#, no-wrap
msgid "`{tmclaugh}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:879
+#: documentation/content/en/articles/pgpkeys/_index.adoc:882
#, no-wrap
msgid "`{jmelo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:882
+#: documentation/content/en/articles/pgpkeys/_index.adoc:885
#, no-wrap
msgid "`{mmel}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:885
+#: documentation/content/en/articles/pgpkeys/_index.adoc:888
#, no-wrap
msgid "`{jmmv}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:888
+#: documentation/content/en/articles/pgpkeys/_index.adoc:891
#, no-wrap
msgid "`{kadesai}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:891
+#: documentation/content/en/articles/pgpkeys/_index.adoc:894
#, no-wrap
msgid "`{ken}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:894
+#: documentation/content/en/articles/pgpkeys/_index.adoc:897
#, no-wrap
msgid "`{markm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:897
+#: documentation/content/en/articles/pgpkeys/_index.adoc:900
#, no-wrap
msgid "`{dinoex}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:900
+#: documentation/content/en/articles/pgpkeys/_index.adoc:903
#, no-wrap
msgid "`{sanpei}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:903
+#: documentation/content/en/articles/pgpkeys/_index.adoc:906
#, no-wrap
msgid "`{rmh}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:906
+#: documentation/content/en/articles/pgpkeys/_index.adoc:909
#, no-wrap
msgid "`{driesm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:909
+#: documentation/content/en/articles/pgpkeys/_index.adoc:912
#, no-wrap
msgid "`{jrm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:912
+#: documentation/content/en/articles/pgpkeys/_index.adoc:915
#, no-wrap
msgid "`{freqlabs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:915
+#: documentation/content/en/articles/pgpkeys/_index.adoc:918
#, no-wrap
msgid "`{mmoll}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:918
+#: documentation/content/en/articles/pgpkeys/_index.adoc:921
#, no-wrap
msgid "`{cmt}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:921
+#: documentation/content/en/articles/pgpkeys/_index.adoc:924
#, no-wrap
msgid "`{stephen}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:924
+#: documentation/content/en/articles/pgpkeys/_index.adoc:927
#, no-wrap
msgid "`{marcel}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:927
+#: documentation/content/en/articles/pgpkeys/_index.adoc:930
#, no-wrap
msgid "`{dougm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:930
+#: documentation/content/en/articles/pgpkeys/_index.adoc:933
#, no-wrap
msgid "`{kmoore}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:933
+#: documentation/content/en/articles/pgpkeys/_index.adoc:936
#, no-wrap
msgid "`{marck}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:936
+#: documentation/content/en/articles/pgpkeys/_index.adoc:939
#, no-wrap
msgid "`{mav}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:939
+#: documentation/content/en/articles/pgpkeys/_index.adoc:942
#, no-wrap
msgid "`{rich}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:942
+#: documentation/content/en/articles/pgpkeys/_index.adoc:945
#, no-wrap
msgid "`{knu}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:945
+#: documentation/content/en/articles/pgpkeys/_index.adoc:948
#, no-wrap
msgid "`{tmm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:948
+#: documentation/content/en/articles/pgpkeys/_index.adoc:951
#, no-wrap
msgid "`{max}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:951
+#: documentation/content/en/articles/pgpkeys/_index.adoc:954
#, no-wrap
msgid "`{maho}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:954
+#: documentation/content/en/articles/pgpkeys/_index.adoc:957
#, no-wrap
msgid "`{yoichi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:957
+#: documentation/content/en/articles/pgpkeys/_index.adoc:960
#, no-wrap
msgid "`{bland}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:960
+#: documentation/content/en/articles/pgpkeys/_index.adoc:963
#, no-wrap
msgid "`{gnn}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:963
+#: documentation/content/en/articles/pgpkeys/_index.adoc:966
#, no-wrap
msgid "`{khng}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:966
+#: documentation/content/en/articles/pgpkeys/_index.adoc:969
#, no-wrap
msgid "`{simon}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:969
+#: documentation/content/en/articles/pgpkeys/_index.adoc:972
#, no-wrap
msgid "`{rnoland}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:972
+#: documentation/content/en/articles/pgpkeys/_index.adoc:975
#, no-wrap
msgid "`{anders}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:975
+#: documentation/content/en/articles/pgpkeys/_index.adoc:978
#, no-wrap
msgid "`{lofi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:978
+#: documentation/content/en/articles/pgpkeys/_index.adoc:981
#, no-wrap
msgid "`{obrien}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:981
+#: documentation/content/en/articles/pgpkeys/_index.adoc:984
#, no-wrap
msgid "`{olgeni}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:984
+#: documentation/content/en/articles/pgpkeys/_index.adoc:987
#, no-wrap
msgid "`{philip}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:987
+#: documentation/content/en/articles/pgpkeys/_index.adoc:990
#, no-wrap
msgid "`{jpaetzel}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:990
+#: documentation/content/en/articles/pgpkeys/_index.adoc:993
#, no-wrap
msgid "`{zirias}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:993
+#: documentation/content/en/articles/pgpkeys/_index.adoc:996
#, no-wrap
msgid "`{hiren}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:996
+#: documentation/content/en/articles/pgpkeys/_index.adoc:999
#, no-wrap
msgid "`{hmp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:999
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1002
#, no-wrap
msgid "`{fluffy}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1002
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1005
#, no-wrap
msgid "`{sat}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1005
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1008
#, no-wrap
msgid "`{np}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1008
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1011
#, no-wrap
msgid "`{royger}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1011
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1014
#, no-wrap
msgid "`{rpaulo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1014
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1017
#, no-wrap
msgid "`{misha}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1017
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1020
#, no-wrap
msgid "`{rpokala}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1020
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1023
#, no-wrap
msgid "`{mp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1023
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1026
#, no-wrap
msgid "`{roam}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1026
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1029
#, no-wrap
msgid "`{den}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1029
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1032
#, no-wrap
msgid "`{csjp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1032
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1035
#, no-wrap
msgid "`{grahamperrin}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1035
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1038
#, no-wrap
msgid "`{gerald}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1038
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1041
#, no-wrap
msgid "`{scottph}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1041
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1044
#, no-wrap
msgid "`{jacula}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1047
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1050
#, no-wrap
msgid "`{jdp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1050
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1053
#, no-wrap
msgid "`{krion}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1053
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1056
#, no-wrap
msgid "`{sepotvin}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1056
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1059
#, no-wrap
msgid "`{cpm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1059
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1062
#, no-wrap
msgid "`{markp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1062
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1065
#, no-wrap
msgid "`{alepulver}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1065
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1068
#, no-wrap
msgid "`{kp}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1068
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1071
#, no-wrap
msgid "`{thomas}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1071
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1074
#, no-wrap
msgid "`{hq}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1074
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1077
#, no-wrap
msgid "`{bofh}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1077
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1080
#, no-wrap
msgid "`{fox}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1080
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1083
#, no-wrap
msgid "`{lbr}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1083
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1086
#, no-wrap
msgid "`{crees}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1086
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1089
#, no-wrap
msgid "`{rees}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1089
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1092
#, no-wrap
msgid "`{mr}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1095
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1098
#, no-wrap
msgid "`{trhodes}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1098
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1101
#, no-wrap
msgid "`{benno}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1101
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1104
#, no-wrap
msgid "`{beech}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1104
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1107
#, no-wrap
msgid "`{roberto}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1107
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1110
#, no-wrap
msgid "`{rodrigc}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1110
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1113
#, no-wrap
msgid "`{ler}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1113
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1116
#, no-wrap
msgid "`{leres}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1116
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1119
#, no-wrap
msgid "`{robak}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1119
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1122
#, no-wrap
msgid "`{guido}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1122
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1125
#, no-wrap
msgid "`{rea}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1125
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1128
#, no-wrap
msgid "`{ray}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1128
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1131
#, no-wrap
msgid "`{niklas}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1131
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1134
#, no-wrap
msgid "`{salvadore}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1134
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1137
#, no-wrap
msgid "`{bsam}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1137
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1140
#, no-wrap
msgid "`{marks}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1140
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1143
#, no-wrap
msgid "`{bschmidt}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1143
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1146
#, no-wrap
msgid "`{wosch}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1146
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1149
#, no-wrap
msgid "`{cy}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1149
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1152
#, no-wrap
msgid "`{das}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1152
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1155
#, no-wrap
msgid "`{scheidell}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1155
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1158
#, no-wrap
msgid "`{matthew}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1158
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1161
#, no-wrap
msgid "`{tmseck}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1161
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1164
#, no-wrap
msgid "`{johans}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1164
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1167
#, no-wrap
msgid "`{bakul}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1167
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1170
#, no-wrap
msgid "`{gshapiro}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1170
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1173
#, no-wrap
msgid "`{wxs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1173
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1176
#, no-wrap
msgid "`{nork}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1176
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1179
#, no-wrap
msgid "`{syrinx}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1179
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1182
#, no-wrap
msgid "`{vanilla}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1182
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1185
#, no-wrap
msgid "`{ashish}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1185
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1188
#, no-wrap
msgid "`{asiciliano}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1188
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1191
#, no-wrap
msgid "`{chs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1191
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1194
#, no-wrap
msgid "`{bms}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1194
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1197
#, no-wrap
msgid "`{demon}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1197
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1200
#, no-wrap
msgid "`{jesper}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1200
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1203
#, no-wrap
msgid "`{scop}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1203
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1206
#, no-wrap
msgid "`{anray}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1206
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1209
#, no-wrap
msgid "`{flo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1209
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1212
#, no-wrap
msgid "`{glebius}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1212
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1215
#, no-wrap
msgid "`{kensmith}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1215
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1218
#, no-wrap
msgid "`{ben}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1218
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1221
#, no-wrap
msgid "`{des}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1221
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1224
#, no-wrap
msgid "`{sobomax}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1224
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1227
#, no-wrap
msgid "`{asomers}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1227
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1230
#, no-wrap
msgid "`{brian}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1230
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1233
#, no-wrap
msgid "`{sson}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1233
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1236
#, no-wrap
msgid "`{nsouch}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1236
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1239
#, no-wrap
msgid "`{ssouhlal}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1239
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1242
#, no-wrap
msgid "`{loos}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1242
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1245
#, no-wrap
msgid "`{brnrd}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1245
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1248
#, no-wrap
msgid "`{rink}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1248
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1251
#, no-wrap
msgid "`{vsevolod}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1251
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1254
#, no-wrap
msgid "`{pstef}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1254
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1257
#, no-wrap
msgid "`{zi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1257
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1260
#, no-wrap
msgid "`{lstewart}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1260
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1263
#, no-wrap
msgid "`{murray}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1263
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1266
#, no-wrap
msgid "`{vs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1266
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1269
#, no-wrap
msgid "`{xride}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1269
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1272
#, no-wrap
msgid "`{marius}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1272
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1275
#, no-wrap
msgid "`{cs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1275
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1278
#, no-wrap
msgid "`{clsung}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1278
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1281
#, no-wrap
msgid "`{gsutter}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1281
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1284
#, no-wrap
msgid "`{metal}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1284
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1287
#, no-wrap
msgid "`{ryusuke}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1287
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1290
#, no-wrap
msgid "`{nyan}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1290
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1293
#, no-wrap
msgid "`{sahil}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1293
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1296
#, no-wrap
msgid "`{tota}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1296
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1299
#, no-wrap
msgid "`{romain}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1299
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1302
#, no-wrap
msgid "`{eduardo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1302
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1305
#, no-wrap
msgid "`{sylvio}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1305
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1308
#, no-wrap
msgid "`{itetcu}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1308
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1311
#, no-wrap
msgid "`{mi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1311
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1314
#, no-wrap
msgid "`{gordon}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1314
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1317
#, no-wrap
msgid "`{lth}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1317
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1320
#, no-wrap
msgid "`{fabient}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1320
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1323
#, no-wrap
msgid "`{thierry}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1323
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1326
#, no-wrap
msgid "`{thompsa}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1326
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1329
#, no-wrap
msgid "`{flz}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1329
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1332
#, no-wrap
msgid "`{jilles}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1332
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1335
#, no-wrap
msgid "`{ganbold}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1335
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1338
#, no-wrap
msgid "`{tuexen}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1338
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1341
#, no-wrap
msgid "`{gonzo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1341
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1344
#, no-wrap
msgid "`{ume}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1344
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1347
#, no-wrap
msgid "`{ups}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1347
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1350
#, no-wrap
msgid "`{fsu}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1350
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1353
#, no-wrap
msgid "`{mikael}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1356
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1359
#, no-wrap
msgid "`{ram}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1359
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1362
#, no-wrap
msgid "`{bryanv}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1362
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1365
#, no-wrap
msgid "`{nectar}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1365
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1368
#, no-wrap
msgid "`{avilla}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1368
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1371
#, no-wrap
msgid "`{nivit}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1371
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1374
#, no-wrap
msgid "`{ivoras}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1374
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1377
#, no-wrap
msgid "`{stefan}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1377
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1380
#, no-wrap
msgid "`{kaiw}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1380
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1383
#, no-wrap
msgid "`{adamw}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1383
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1386
#, no-wrap
msgid "`{naddy}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1386
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1389
#, no-wrap
msgid "`{peter}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1389
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1392
#, no-wrap
msgid "`{nwhitehorn}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1392
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1395
#, no-wrap
msgid "`{miwi}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1395
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1398
#, no-wrap
msgid "`{nate}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1398
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1401
#, no-wrap
msgid "`{twinterg}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1401
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1404
#, no-wrap
msgid "`{def}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1404
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1407
#, no-wrap
msgid "`{wollman}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1407
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1410
#, no-wrap
msgid "`{joerg}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1410
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1413
#, no-wrap
msgid "`{ygy}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1413
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1416
#, no-wrap
msgid "`{emax}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1416
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1419
#, no-wrap
msgid "`{oshogbo}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1419
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1422
#, no-wrap
msgid "`{riggs}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1422
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1425
#, no-wrap
msgid "`{egypcio}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1425
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1428
#, no-wrap
msgid "`{bz}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1428
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1431
#, no-wrap
msgid "`{dsl}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1431
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1434
#, no-wrap
msgid "`{zeising}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1434
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1437
#, no-wrap
msgid "`{phantom}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1437
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1440
#, no-wrap
msgid "`{tz}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1440
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1443
#, no-wrap
msgid "`{rigoletto}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1443
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1446
#, no-wrap
msgid "`{kaktus}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1446
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1449
#, no-wrap
msgid "`{samm}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1449
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1452
#, no-wrap
msgid "`{arrowd}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1452
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1455
#, no-wrap
msgid "`{ronald}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1455
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1458
#, no-wrap
msgid "`{meta}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1458
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1461
#, no-wrap
msgid "`{rnagy}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1461
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1464
#, no-wrap
msgid "`{vvd}`"
msgstr ""
+#. type: Title ===
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1467
+#, no-wrap
+msgid "`{gbe}`"
+msgstr ""
+
#. type: Title ==
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1465
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1471
#, no-wrap
msgid "Other Cluster Account Holders"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1467
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1473
#, no-wrap
msgid "`{bk}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1470
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1476
#, no-wrap
msgid "`{deb}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1473
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1479
#, no-wrap
msgid "`{debdrup}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1476
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1482
#, no-wrap
msgid "`{dutchdaemon}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1479
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1485
#, no-wrap
msgid "`{keymaster}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1482
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1488
#, no-wrap
msgid "`{mwlucas}`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/pgpkeys/_index.adoc:1485
+#: documentation/content/en/articles/pgpkeys/_index.adoc:1491
#, no-wrap
msgid "`{dhw}`"
msgstr ""
diff --git a/documentation/content/en/articles/problem-reports/_index.po b/documentation/content/en/articles/problem-reports/_index.po
index 38b3e2e7c7..ccfa3691f2 100644
--- a/documentation/content/en/articles/problem-reports/_index.po
+++ b/documentation/content/en/articles/problem-reports/_index.po
@@ -1,1000 +1,1000 @@
# 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: 2022-10-30 14:39-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/problem-reports/_index.adoc:1
#, no-wrap
msgid "How to best formulate and submit a problem report to the FreeBSD Project"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/problem-reports/_index.adoc:1
#: documentation/content/en/articles/problem-reports/_index.adoc:11
#, no-wrap
msgid "Writing FreeBSD Problem Reports"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:44
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:46
msgid ""
"This article describes how to best formulate and submit a problem report to "
"the FreeBSD Project."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:48
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:52
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:56
msgid ""
"One of the most frustrating experiences one can have as a software user is "
"to submit a problem report only to have it summarily closed with a terse and "
"unhelpful explanation like \"not a bug\" or \"bogus PR\". Similarly, one of "
"the most frustrating experiences as a software developer is to be flooded "
"with problem reports that are not really problem reports but requests for "
"support, or that contain little or no information about what the problem is "
"and how to reproduce it."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:59
msgid ""
"This document attempts to describe how to write good problem reports. What, "
"one asks, is a good problem report? Well, to go straight to the bottom line, "
"a good problem report is one that can be analyzed and dealt with swiftly, to "
"the mutual satisfaction of both user and developer."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:61
msgid ""
"Although the primary focus of this article is on FreeBSD problem reports, "
"most of it should apply quite well to other software projects."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:64
msgid ""
"Note that this article is organized thematically, not chronologically. Read "
"the entire document before submitting a problem report, rather than treating "
"it as a step-by-step tutorial."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:66
#, no-wrap
msgid "When to Submit a Problem Report"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:72
msgid ""
"There are many types of problems, and not all of them should engender a "
"problem report. Of course, nobody is perfect, and there will be times when "
"what seems to be a bug in a program is, in fact, a misunderstanding of the "
"syntax for a command or a typographical error in a configuration file "
"(though that in itself may sometimes be indicative of poor documentation or "
"poor error handling in the application). There are still many cases where "
"submitting a problem report is clearly _not_ the right course of action, and "
"will only serve to frustrate both the submitter and the developers. "
"Conversely, there are cases where it might be appropriate to submit a "
-"problem report about something else than a bug-an enhancement or a new "
+"problem report about something else than a bug—an enhancement or a new "
"feature, for instance."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:76
msgid ""
"So how does one determine what is a bug and what is not? As a simple rule of "
"thumb, the problem is _not_ a bug if it can be expressed as a question "
"(usually of the form \"How do I do X?\" or \"Where can I find Y?\"). It is "
"not always quite so black and white, but the question rule covers a large "
"majority of cases. When looking for an answer, consider posing the question "
"to the {freebsd-questions}."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:78
msgid ""
"Consider these factors when submitting PRs about ports or other software "
"that is not part of FreeBSD itself:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:80
msgid ""
"Please do not submit problem reports that simply state that a newer version "
"of an application is available. Ports maintainers are automatically notified "
"by portscout when a new version of an application becomes available. Actual "
"patches to update a port to the latest version are welcome."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:81
msgid ""
"For unmaintained ports (`MAINTAINER` is `ports@FreeBSD.org`), a PR without "
"an included patch is unlikely to get picked up by a committer. To become the "
"maintainer of an unmaintained port, submit a PR with the request (patch "
"preferred but not required)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:82
msgid ""
"In either case, following the process described in extref:{porters-handbook}"
"upgrading/[Porter's Handbook] will yield the best results. (You might also "
"wish to read extref:{contributing}[Contributing to the FreeBSD Ports "
"Collection, ports-contributing].)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:87
msgid ""
"A bug that cannot be reproduced can rarely be fixed. If the bug only "
"occurred once and you cannot reproduce it, and it does not seem to happen to "
"anybody else, chances are none of the developers will be able to reproduce "
"it or figure out what is wrong. That does not mean it did not happen, but "
"it does mean that the chances of your problem report ever leading to a bug "
"fix are very slim. To make matters worse, often these kinds of bugs are "
-"actually caused by failing hard drives or overheating processors - you "
-"should always try to rule out these causes, whenever possible, before "
-"submitting a PR."
+"actually caused by failing hard drives or overheating processors—you should "
+"always try to rule out these causes, whenever possible, before submitting a "
+"PR."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:89
msgid ""
"Next, to decide to whom you should file your problem report, you need to "
"understand that the software that makes up FreeBSD is composed of several "
"different elements:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:91
msgid ""
"Code in the base system that is written and maintained by FreeBSD "
"contributors, such as the kernel, the C library, and the device drivers "
"(categorized as `kern`); the binary utilities (`bin`); the manual pages and "
"documentation (`docs`); and the web pages (`www`). All bugs in these areas "
"should be reported to the FreeBSD developers."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:92
msgid ""
"Code in the base system that is written and maintained by others, and "
"imported into FreeBSD and adapted. Examples include man:clang[1], and man:"
"sendmail[8]. Most bugs in these areas should be reported to the FreeBSD "
"developers; but in some cases they may need to be reported to the original "
"authors instead if the problems are not FreeBSD-specific."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:93
msgid ""
"Individual applications that are not in the base system but are instead part "
"of the FreeBSD Ports Collection (category `ports`). Most of these "
"applications are not written by FreeBSD developers; what FreeBSD provides is "
"merely a framework for installing the application. Therefore, only report a "
"problem to the FreeBSD developers when the problem is believed to be FreeBSD-"
"specific; otherwise, report it to the authors of the software."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:96
msgid ""
"Then, ascertain whether the problem is timely. There are few things that "
"will annoy a developer more than receiving a problem report about a bug she "
"has already fixed."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:100
msgid ""
"If the problem is in the base system, first read the FAQ section on extref:"
"{faq}[FreeBSD versions, latest-version], if you are not already familiar "
"with the topic. It is not possible for FreeBSD to fix problems in anything "
"other than certain recent branches of the base system, so filing a bug "
"report about an older version will probably only result in a developer "
"advising you to upgrade to a supported version to see if the problem still "
"recurs. The Security Officer team maintains the link:https://www.FreeBSD."
"org/security/[list of supported versions]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:103
msgid ""
"If the problem is in a port, consider filing a bug with the upstream. The "
"FreeBSD Project can not fix all bugs in all software."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:105
#, no-wrap
msgid "Preparations"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:111
msgid ""
"A good rule to follow is to always do a background search before submitting "
"a problem report. Maybe the problem has already been reported; maybe it is "
"being discussed on the mailing lists, or recently was; it may even already "
"be fixed in a newer version than what you are running. You should therefore "
"check all the obvious places before submitting your problem report. For "
"FreeBSD, this means:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:113
msgid ""
"The FreeBSD extref:{faq}[Frequently Asked Questions] (FAQ) list. The FAQ "
"attempts to provide answers for a wide range of questions, such as those "
"concerning extref:{faq}[hardware compatibility, hardware], extref:{faq}[user "
"applications, applications], and extref:{faq}[kernel configuration, "
"kernelconfig]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:114
msgid ""
-"The extref:{handbook}eresources/[mailing lists, eresources-mail]-if you are "
+"The extref:{handbook}eresources/[mailing lists, eresources-mail]. If you are "
"not subscribed, use https://www.FreeBSD.org/search/#mailinglists[the "
"searchable archives] on the FreeBSD web site. If the problem has not been "
"discussed on the lists, you might try posting a message about it and waiting "
"a few days to see if someone can spot something that has been overlooked."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:115
msgid ""
"Optionally, the entire web-use your favorite search engine to locate any "
"references to the problem. You may even get hits from archived mailing lists "
"or newsgroups you did not know of or had not thought to search through."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:116
msgid ""
"Next, the searchable https://bugs.freebsd.org/bugzilla/query.cgi[FreeBSD PR "
"database] (Bugzilla). Unless the problem is recent or obscure, there is a "
"fair chance it has already been reported."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:117
msgid ""
"Most importantly, attempt to see if existing documentation in the source "
"base addresses your problem."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:120
msgid ""
"For the base FreeBSD code, you should carefully study the contents of [."
"filename]#/usr/src/UPDATING# on your system or the latest version at https://"
"cgit.freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/"
"UPDATING]. (This is vital information if you are upgrading from one version "
-"to another-especially if you are upgrading to the FreeBSD-CURRENT branch)."
+"to another, especially if you are upgrading to the FreeBSD-CURRENT branch)."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:123
msgid ""
"However, if the problem is in something that was installed as a part of the "
"FreeBSD Ports Collection, you should refer to [.filename]#/usr/ports/"
"UPDATING# (for individual ports) or [.filename]#/usr/ports/CHANGES# (for "
"changes that affect the entire Ports Collection). https://cgit.freebsd.org/"
"ports/tree/UPDATING[https://cgit.freebsd.org/ports/tree/UPDATING] and "
"https://cgit.freebsd.org/ports/tree/CHANGES[https://cgit.freebsd.org/ports/"
"tree/CHANGES] are also available via cgit."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:125
#, no-wrap
msgid "Writing the Problem Report"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:129
msgid ""
"Now that you have decided that your issue merits a problem report, and that "
"it is a FreeBSD problem, it is time to write the actual problem report. "
"Before we get into the mechanics of the program used to generate and submit "
"PRs, here are some tips and tricks to help make sure that your PR will be "
"most effective."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:131
#, no-wrap
msgid "Tips and Tricks for Writing a Good Problem Report"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:134
msgid ""
"_Do not leave the \"Summary\" line empty._ The PRs go both onto a mailing "
"list that goes all over the world (where the \"Summary\" is used for the "
"`Subject:` line), but also into a database. Anyone who comes along later and "
"browses the database by synopsis, and finds a PR with a blank subject line, "
"tends just to skip over it. Remember that PRs stay in this database until "
"they are closed by someone; an anonymous one will usually just disappear in "
"the noise."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:135
msgid ""
"_Avoid using a weak \"Summary\" line._ You should not assume that anyone "
"reading your PR has any context for your submission, so the more you "
"provide, the better. For instance, what part of the system does the problem "
"apply to? Do you only see the problem while installing, or while running? To "
"illustrate, instead of `Summary: portupgrade is broken`, see how much more "
"informative this seems: `Summary: port ports-mgmt/portupgrade coredumps on -"
"current`. (In the case of ports, it is especially helpful to have both the "
"category and portname in the \"Summary\" line.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:137
msgid ""
"_If you have a patch, say so._ The presence of a patch makes it much easier "
"to progress a report."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:138
msgid "Do not use the `patch` or `patch-ready` keywords – they are deprecated."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:139
msgid ""
"_If you are a maintainer, say so._ If you are maintaining a part of the "
"source code (for instance, an existing port), you definitely should set the "
"\"Class\" of your PR to `maintainer-update`. This way any committer that "
"handles your PR will not have to check."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:140
msgid ""
"_Be specific._ The more information you supply about what problem you are "
"having, the better your chance of getting a response."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:142
msgid ""
"Include the version of FreeBSD you are running (there is a place to put "
"that, see below) and on which architecture. You should include whether you "
"are running from a release (e.g., from a CD-ROM or download), or from a "
"system maintained by Git (and, if so, what hash and branch you are at). If "
"you are tracking the FreeBSD-CURRENT branch, that is the very first thing "
"someone will ask, because fixes (especially for high-profile problems) tend "
"to get committed very quickly, and FreeBSD-CURRENT users are expected to "
"keep up."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:143
msgid ""
"Include which global options you have specified in your [.filename]#make."
"conf#, [.filename]#src.conf#, and [.filename]#src-env.conf#. Given the "
"infinite number of options, not every combination may be fully supported."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:144
msgid ""
"If the problem can be reproduced easily, include information that will help "
"a developer to reproduce it themselves. If a problem can be demonstrated "
"with specific input then include an example of that input if possible, and "
"include both the actual and the expected output. If this data is large or "
"cannot be made public, then do try to create a minimal file that exhibits "
"the same issue and that can be included within the PR."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:145
msgid ""
"If this is a kernel problem, then be prepared to supply the following "
"information. (You do not have to include these by default, which only tends "
"to fill up the database, but you should include excerpts that you think "
"might be relevant):"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:147
msgid ""
"your kernel configuration (including which hardware devices you have "
"installed)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:148
msgid ""
"whether or not you have debugging options enabled (such as `WITNESS`), and "
"if so, whether the problem persists when you change the sense of that option"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:149
msgid ""
"the full text of any backtrace, panic or other console output, or entries in "
"[.filename]#/var/log/messages#, if any were generated"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:150
msgid ""
"the output of `pciconf -l` and relevant parts of your `dmesg` output if your "
"problem relates to a specific piece of hardware"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:151
msgid ""
"the fact that you have read [.filename]#src/UPDATING# and that your problem "
"is not listed there (someone is guaranteed to ask)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:152
msgid ""
"whether or not you can run any other kernel as a fallback (this is to rule "
"out hardware-related issues such as failing disks and overheating CPUs, "
"which can masquerade as kernel problems)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:154
msgid ""
"If this is a ports problem, then be prepared to supply the following "
"information. (You do not have to include these by default, which only tends "
"to fill up the database, but you should include excerpts that you think "
"might be relevant):"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:156
msgid "which ports you have installed"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:157
msgid ""
"any environment variables that override the defaults in [.filename]#bsd.port."
"mk#, such as `PORTSDIR`"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:158
msgid ""
"the fact that you have read [.filename]#ports/UPDATING# and that your "
"problem is not listed there (someone is guaranteed to ask)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:160
msgid ""
"_Avoid vague requests for features._ PRs of the form \"someone should really "
"implement something that does so-and-so\" are less likely to get results "
"than very specific requests. Remember, the source is available to everyone, "
"so if you want a feature, the best way to ensure it being included is to get "
"to work! Also consider the fact that many things like this would make a "
"better topic for discussion on `freebsd-questions` than an entry in the PR "
"database, as discussed above."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:161
msgid ""
"_Make sure no one else has already submitted a similar PR._ Although this "
"has already been mentioned above, it bears repeating here. It only take a "
"minute or two to use the web-based search engine at https://bugs.freebsd.org/"
"bugzilla/query.cgi[https://bugs.freebsd.org/bugzilla/query.cgi]. (Of course, "
"everyone is guilty of forgetting to do this now and then.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:162
msgid ""
"_Report only one issue per Problem Report._ Avoid including two or more "
"problems within the same report unless they are related. When submitting "
"patches, avoid adding multiple features or fixing multiple bugs in the same "
"PR unless they are closely related-such PRs often take longer to resolve."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:163
msgid ""
"_Avoid controversial requests._ If your PR addresses an area that has been "
"controversial in the past, you should probably be prepared to not only offer "
"patches, but also justification for why the patches are \"The Right Thing To "
"Do\". As noted above, a careful search of the mailing lists using the "
"archives at https://www.FreeBSD.org/search/#mailinglists[https://www.FreeBSD."
"org/search/#mailinglists] is always good preparation."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:164
msgid ""
"_Be polite._ Almost anyone who would potentially work on your PR is a "
"volunteer. No one likes to be told that they have to do something when they "
"are already doing it for some motivation other than monetary gain. This is a "
"good thing to keep in mind at all times on Open Source projects."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:166
#, no-wrap
msgid "Before Beginning"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:170
msgid ""
"Similar considerations apply to use of the https://bugs.freebsd.org/bugzilla/"
"enter_bug.cgi[web-based PR submission form]. Be careful of cut-and-paste "
"operations that might change whitespace or other text formatting."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:172
msgid ""
"Finally, if the submission is lengthy, prepare the work offline so that "
"nothing will be lost if there is a problem submitting it."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:174
#, no-wrap
msgid "Attaching Patches or Files"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:182
msgid ""
"In general, we recommend using `git format-patch` to generate one or a "
"series of unified diff against the base branch (e.g. `origin/main`). "
"Patches generated this way would include the Git hashes and will include "
"your name and email address, making it easier for committers to apply your "
"patch and properly credit you as the author (using `git am`). For minor "
"changes where you prefer not to use git, please be sure to use man:diff[1] "
"with the `-u` option to create a unified diff, as this would give developers "
"more context and are more readable than other diff formats."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:185
msgid ""
"For problems with the kernel or the base utilities, a patch against FreeBSD-"
"CURRENT (the main Git branch) is preferred since all new code should be "
"applied and tested there first. After appropriate or substantial testing "
"has been done, the code will be merged/migrated to the FreeBSD-STABLE branch."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:187
msgid ""
"If you attach a patch inline, instead of as an attachment, note that the "
"most common problem by far is the tendency of some email programs to render "
"tabs as spaces, which will completely ruin anything intended to be part of a "
"Makefile."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:190
msgid ""
"Do not send patches as attachments using `Content-Transfer-Encoding: quoted-"
"printable`. These will perform character escaping and the entire patch will "
"be useless."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:195
msgid ""
-"Also note that while including small patches in a PR is generally all right-"
+"Also note that while including small patches in a PR is generally all right—"
"particularly when they fix the problem described in the PR-large patches and "
"especially new code which may require substantial review before committing "
"should be placed on a web or ftp server, and the URL should be included in "
"the PR instead of the patch. Patches in email tend to get mangled, and the "
"larger the patch, the harder it will be for interested parties to unmangle "
"it. Also, posting a patch on the web allows you to modify it without having "
"to resubmit the entire patch in a followup to the original PR. Finally, "
"large patches simply increase the size of the database, since closed PRs are "
"not actually deleted but instead kept and simply marked as complete."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:197
msgid ""
"You should also take note that unless you explicitly specify otherwise in "
"your PR or in the patch itself, any patches you submit will be assumed to be "
"licensed under the same terms as the original file you modified."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:199
#, no-wrap
msgid "Filling out the Form"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/problem-reports/_index.adoc:206
msgid ""
"The email address you use will become public information and may become "
"available to spammers. You should either have spam handling procedures in "
"place, or use a temporary email account. However, please note that if you "
"do not use a valid email account at all, we will not be able to ask you "
"questions about your PR."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:209
msgid "When you file a bug, you will find the following fields:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:211
msgid ""
"_Summary:_ Fill this out with a short and accurate description of the "
"problem. The synopsis is used as the subject of the problem report email, "
"and is used in problem report listings and summaries; problem reports with "
"obscure synopses tend to get ignored."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:212
msgid ""
"_Severity:_ One of `Affects only me`, `Affects some people` or `Affects many "
"people`. Do not overreact; refrain from labeling your problem `Affects many "
"people` unless it really does. FreeBSD developers will not necessarily work "
"on your problem faster if you inflate its importance since there are so many "
"other people who have done exactly that."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:213
msgid "_Category:_ Choose an appropriate category."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:218
msgid ""
"The first thing you need to do is to decide what part of the system your "
"problem lies in. Remember, FreeBSD is a complete operating system, which "
"installs both a kernel, the standard libraries, many peripheral drivers, and "
"a large number of utilities (the \"base system\"). However, there are "
"thousands of additional applications in the Ports Collection. You'll first "
"need to decide if the problem is in the base system or something installed "
"via the Ports Collection."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:220
msgid "Here is a description of the major categories:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:222
msgid ""
"If a problem is with the kernel, the libraries (such as standard C library "
"`libc`), or a peripheral driver in the base system, in general you will use "
"the `kern` category. (There are a few exceptions; see below). In general "
"these are things that are described in section 2, 3, or 4 of the manual "
"pages."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:223
msgid ""
"If a problem is with a binary program such as man:sh[1] or man:mount[8], you "
"will first need to determine whether these programs are in the base system "
"or were added via the Ports Collection. If you are unsure, you can do "
"`whereis _programname_`. FreeBSD's convention for the Ports Collection is to "
"install everything underneath [.filename]#/usr/local#, although this can be "
"overridden by a system administrator. For these, you will use the `ports` "
"category (yes, even if the port's category is `www`; see below). If the "
"location is [.filename]#/bin#, [.filename]#/usr/bin#, [.filename]#/sbin#, or "
"[.filename]#/usr/sbin#, it is part of the base system, and you should use "
"the `bin` category. These are all things that are described in section 1 or "
"8 of the manual pages."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:224
msgid ""
"If you believe that the error is in the startup `(rc)` scripts, or in some "
"kind of other non-executable configuration file, then the right category is "
"`conf` (configuration). These are things that are described in section 5 of "
"the manual pages."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:225
msgid ""
"If you have found a problem in the documentation set (articles, books, man "
"pages) or website the correct choice is `docs`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/problem-reports/_index.adoc:229
msgid ""
"if you are having a problem with something from a port named `www/"
"_someportname_`, this nevertheless goes in the `ports` category."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:232
msgid "There are a few more specialized categories."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:234
msgid ""
"If the problem would otherwise be filed in `kern` but has to do with the USB "
"subsystem, the correct choice is `usb`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:235
msgid ""
"If the problem would otherwise be filed in `kern` but has to do with the "
"threading libraries, the correct choice is `threads`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:236
msgid ""
"If the problem would otherwise be in the base system, but has to do with our "
"adherence to standards such as POSIX(R), the correct choice is `standards`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:237
msgid ""
"If you are convinced that the problem will only occur under the processor "
"architecture you are using, select one of the architecture-specific "
"categories: commonly `i386` for Intel-compatible machines in 32-bit mode; "
"`amd64` for AMD machines running in 64-bit mode (this also includes Intel-"
"compatible machines running in EMT64 mode); and less commonly `arm` or "
"`powerpc`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/problem-reports/_index.adoc:241
msgid ""
"These categories are quite often misused for \"I do not know\" problems. "
"Rather than guessing, please just use `misc`."
msgstr ""
#. type: Block title
#: documentation/content/en/articles/problem-reports/_index.adoc:243
#, no-wrap
msgid "Correct Use of Arch-Specific Category"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/problem-reports/_index.adoc:247
msgid ""
"You have a common PC-based machine, and think you have encountered a problem "
"specific to a particular chipset or a particular motherboard: `i386` is the "
"right category."
msgstr ""
#. type: Block title
#: documentation/content/en/articles/problem-reports/_index.adoc:249
#, no-wrap
msgid "Incorrect Use of Arch-Specific Category"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/problem-reports/_index.adoc:253
msgid ""
"You are having a problem with an add-in peripheral card on a commonly seen "
"bus, or a problem with a particular type of hard disk drive: in this case, "
"it probably applies to more than one architecture, and `kern` is the right "
"category."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:255
msgid ""
"If you really do not know where the problem lies (or the explanation does "
"not seem to fit into the ones above), use the `misc` category. Before you do "
"so, you may wish to ask for help on the {freebsd-questions} first. You may "
"be advised that one of the existing categories really is a better choice."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:256
msgid ""
"_Environment:_ This should describe, as accurately as possible, the "
"environment in which the problem has been observed. This includes the "
"operating system version, the version of the specific program or file that "
"contains the problem, and any other relevant items such as system "
-"configuration, other installed software that influences the problem, etc.-"
+"configuration, other installed software that influences the problem, etc.—"
"quite simply everything a developer needs to know to reconstruct the "
"environment in which the problem occurs."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:257
msgid ""
-"__Description:__A complete and accurate description of the problem you are "
+"_Description:_ A complete and accurate description of the problem you are "
"experiencing. Try to avoid speculating about the causes of the problem "
"unless you are certain that you are on the right track, as it may mislead a "
"developer into making incorrect assumptions about the problem. It should "
"include the actions you need to take to reproduce the problem. If you know "
"any workaround, include it. It not only helps other people with the same "
"problem work around it, but may also help a developer understand the cause "
"for the problem."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:259
#, no-wrap
msgid "Follow-up"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:264
msgid ""
"Once the problem report has been filed, you will receive a confirmation by "
"email which will include the tracking number that was assigned to your "
"problem report and a URL you can use to check its status. With a little "
"luck, someone will take an interest in your problem and try to address it, "
"or, as the case may be, explain why it is not a problem. You will be "
"automatically notified of any change of status, and you will receive copies "
"of any comments or patches someone may attach to your problem report's audit "
"trail."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:268
msgid ""
"If someone requests additional information from you, or you remember or "
"discover something you did not mention in the initial report, please submit "
"a follow up. The number one reason for a bug not getting fixed is lack of "
"communication with the originator. The easiest way is to use the comment "
"option on the individual PR's web page, which you can reach from the https://"
"bugs.freebsd.org/bugzilla/query.cgi[PR search page]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:270
msgid ""
"If the problem report remains open after the problem has gone away, just add "
"a comment saying that the problem report can be closed, and, if possible, "
"explaining how or when the problem was fixed."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:274
msgid ""
"Sometimes there is a delay of a week or two where the problem report remains "
"untouched, not assigned or commented on by anyone. This can happen when "
"there is an increased problem report backlog or during a holiday season. "
"When a problem report has not received attention after several weeks, it is "
"worth finding a committer particularly interested in working on it."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:276
msgid ""
"There are a few ways to do so, ideally in the following order, with a few "
"days between attempting each communication channel:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:278
msgid ""
"Send an e-mail to extref:{handbook}eresources/[the relevant list, eresources-"
"summary] seeking comments on the report."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:279
msgid ""
"Join the relevant IRC channels. A partial listing is here: https://wiki."
-"freebsd.org/IrcChannels[]. Inform the people in that channel about the "
+"freebsd.org/IRC/Channels[]. Inform the people in that channel about the "
"problem report and ask for assistance. Be patient and stay in the channel "
"after posting, so that the people from different time zones around the world "
"have a chance to catch up."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:280
msgid ""
"Find committers interested in the problem that was reported. If the problem "
"was in a particular tool, binary, port, document, or source file, check the "
"https://cgit.FreeBSD.org[Git Repository]. Locate the last few committers who "
"made substantive changes to the file, and try to reach them via IRC or "
"email. A list of committers and their emails can be found in the extref:"
"{contributors}[Contributors to FreeBSD] article."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:284
msgid ""
"Remember that these people are volunteers, just like maintainers and users, "
"so they might not be immediately available to assist with the problem "
"report. Patience and consistency in the follow-ups is highly advised and "
"appreciated. With enough care and effort dedicated to that follow-up "
"process, finding a committer to take care of the problem report is just a "
"matter of time."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:286
#, no-wrap
msgid "If There Are Problems"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:290
msgid ""
"If you found an issue with the bug system, file a bug! There is a category "
"for exactly this purpose. If you are unable to do so, contact the bug "
"wranglers at mailto:bugmeister@FreeBSD.org[bugmeister@FreeBSD.org]."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/problem-reports/_index.adoc:292
#, no-wrap
msgid "Further Reading"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:296
msgid ""
"This is a list of resources relevant to the proper writing and processing of "
"problem reports. It is by no means complete."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:298
msgid ""
"https://github.com/smileytechguy/reporting-bugs-effectively/blob/master/"
-"ENGLISH.md[How to Report Bugs Effectively]-an excellent essay by Simon G. "
+"ENGLISH.md[How to Report Bugs Effectively]: An excellent essay by Simon G. "
"Tatham on composing useful (non-FreeBSD-specific) problem reports."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/problem-reports/_index.adoc:298
msgid ""
-"extref:{pr-guidelines}[Problem Report Handling Guidelines]-valuable insight "
+"extref:{pr-guidelines}[Problem Report Handling Guidelines]: Valuable insight "
"into how problem reports are handled by the FreeBSD developers."
msgstr ""
diff --git a/documentation/content/en/articles/releng/_index.po b/documentation/content/en/articles/releng/_index.po
index fa85524656..52639b0634 100644
--- a/documentation/content/en/articles/releng/_index.po
+++ b/documentation/content/en/articles/releng/_index.po
@@ -1,1253 +1,1253 @@
# 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: 2022-10-01 10:13-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/releng/_index.adoc:1
#, no-wrap
msgid "This paper describes the approach previously used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/articles/releng/_index.adoc:1
#, no-wrap
msgid "Legacy FreeBSD Release Engineering"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/releng/_index.adoc:12
#, no-wrap
msgid "FreeBSD Release Engineering"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:45
msgid "Abstract"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/releng/_index.adoc:51
msgid ""
"This document is outdated and does not accurately describe the current "
"release procedures of the FreeBSD Release Engineering team. It is retained "
"for historical purposes. The current procedures used by the FreeBSD Release "
"Engineering team are available in the extref:{freebsd-releng}[FreeBSD "
"Release Engineering] article."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:55
msgid ""
"This paper describes the approach used by the FreeBSD release engineering "
"team to make production quality releases of the FreeBSD Operating System. "
"It details the methodology used for the official FreeBSD releases and "
"describes the tools available for those interested in producing customized "
"FreeBSD releases for corporate rollouts or commercial productization."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:57
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:61
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:71
msgid ""
"The development of FreeBSD is a very open process. FreeBSD is comprised of "
"contributions from thousands of people around the world. The FreeBSD "
"Project provides Subversion footnote:[Subversion, http://subversion.apache."
"org] access to the general public so that others can have access to log "
"messages, diffs (patches) between development branches, and other "
"productivity enhancements that formal source code management provides. This "
"has been a huge help in attracting more talented developers to FreeBSD. "
"However, I think everyone would agree that chaos would soon manifest if "
"write access to the main repository was opened up to everyone on the "
"Internet. Therefore only a \"select\" group of nearly 300 people are given "
"write access to the Subversion repository. These extref:{contributors}"
"[FreeBSD committers, staff-committers]footnote:[extref:{contributors}"
"[FreeBSD committers, staff-committers]] are usually the people who do the "
"bulk of FreeBSD development. An elected link:https://www.FreeBSD.org/"
"administration/#t-core[Core Team]footnote:[link:https://www.FreeBSD.org/"
"administration/#t-core[FreeBSD Core Team]] of developers provide some level "
"of direction over the project."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:76
msgid ""
"The rapid pace of `FreeBSD` development makes the main development branch "
"unsuitable for the everyday use by the general public. In particular, "
"stabilizing efforts are required for polishing the development system into a "
"production quality release. To solve this conflict, development continues "
"on several parallel tracks. The main development branch is the _HEAD_ or "
"_trunk_ of our Subversion tree, known as \"FreeBSD-CURRENT\" or \"-CURRENT\" "
"for short."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:82
msgid ""
"A set of more stable branches are maintained, known as \"FreeBSD-STABLE\" or "
"\"-STABLE\" for short. All branches live in a master Subversion repository "
"maintained by the FreeBSD Project. FreeBSD-CURRENT is the \"bleeding-edge\" "
"of FreeBSD development where all new changes first enter the system. "
"FreeBSD-STABLE is the development branch from which major releases are "
"made. Changes go into this branch at a different pace, and with the general "
"assumption that they have first gone into FreeBSD-CURRENT and have been "
"thoroughly tested by our user community."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:87
msgid ""
"The term _stable_ in the name of the branch refers to the presumed "
"Application Binary Interface stability, which is promised by the project. "
"This means that a user application compiled on an older version of the "
"system from the same branch works on a newer system from the same branch. "
"The ABI stability has improved greatly from the compared to previous "
"releases. In most cases, binaries from the older _STABLE_ systems run "
"unmodified on newer systems, including __HEAD__, assuming that the system "
"management interfaces are not used."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:90
msgid ""
"In the interim period between releases, weekly snapshots are built "
"automatically by the FreeBSD Project build machines and made available for "
-"download from `ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/`. The "
-"widespread availability of binary release snapshots, and the tendency of our "
-"user community to keep up with -STABLE development with Subversion and "
-"\"`make buildworld`\" footnote:[extref:{handbook}[Rebuilding world, "
-"makeworld]] helps to keep FreeBSD-STABLE in a very reliable condition even "
-"before the quality assurance activities ramp up pending a major release."
+"download from `https:/download.FreeBSD.org/snapshots/`. The widespread "
+"availability of binary release snapshots, and the tendency of our user "
+"community to keep up with -STABLE development with Subversion and \"`make "
+"buildworld`\" footnote:[extref:{handbook}[Rebuilding world, makeworld]] "
+"helps to keep FreeBSD-STABLE in a very reliable condition even before the "
+"quality assurance activities ramp up pending a major release."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:93
msgid ""
"In addition to installation ISO snapshots, weekly virtual machine images are "
"also provided for use with VirtualBox, qemu, or other popular emulation "
-"software. The virtual machine images can be downloaded from `ftp://ftp."
-"FreeBSD.org/pub/FreeBSD/snapshots/VM-IMAGES/`."
+"software. The virtual machine images can be downloaded from `https://"
+"download.FreeBSD.org/snapshots/VM-IMAGES/`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:95
msgid ""
"The virtual machine images are approximately 150MB man:xz[1] compressed, and "
"contain a 10GB sparse filesystem when attached to a virtual machine."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:98
msgid ""
"Bug reports and feature requests are continuously submitted by users "
"throughout the release cycle. Problems reports are entered into our "
"Bugzilla database through the web interface provided at https://www.freebsd."
"org/support/bugreports/[https://www.freebsd.org/support/bugreports/]."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:103
msgid ""
"To service our most conservative users, individual release branches were "
"introduced with FreeBSD 4.3. These release branches are created shortly "
"before a final release is made. After the release goes out, only the most "
"critical security fixes and additions are merged onto the release branch. "
"In addition to source updates via Subversion, binary patchkits are available "
"to keep systems on the _releng/X.Y_ branches updated."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:104
#, no-wrap
msgid "What This Article Describes"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:107
msgid "The following sections of this article describe:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:108
#, no-wrap
msgid "<<release-proc>>"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:110
msgid ""
"The different phases of the release engineering process leading up to the "
"actual system build."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:111
#, no-wrap
msgid "<<release-build>>"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:113
msgid "The actual build process."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:114
#, no-wrap
msgid "<<extensibility>>"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:116
msgid "How the base release may be extended by third parties."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:117
#, no-wrap
msgid "<<lessons-learned>>"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:119
msgid "Some of the lessons learned through the release of FreeBSD 4.4."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:120
#, no-wrap
msgid "<<future>>"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:122
msgid "Future directions of development."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:124
#, no-wrap
msgid "Release Process"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:129
msgid ""
"New releases of FreeBSD are released from the -STABLE branch at "
"approximately four month intervals. The FreeBSD release process begins to "
"ramp up 70-80 days before the anticipated release date when the release "
"engineer sends an email to the development mailing lists to remind "
"developers that they only have 15 days to integrate new changes before the "
"code freeze. During this time, many developers perform what have become "
"known as \"MFC sweeps\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:133
msgid ""
"MFC stands for \"Merge From CURRENT\" and it describes the process of "
"merging a tested change from our -CURRENT development branch to our -STABLE "
"branch. Project policy requires any change to be first applied to trunk, "
"and merged to the -STABLE branches after sufficient external testing was "
"done by -CURRENT users (developers are expected to extensively test the "
"change before committing to -CURRENT, but it is impossible for a person to "
"exercise all usages of the general-purpose operating system). Minimal MFC "
"period is 3 days, which is typically used only for trivial or critical "
"bugfixes."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:134
#, no-wrap
msgid "Code Review"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:140
msgid ""
"Sixty days before the anticipated release, the source repository enters a "
"\"code freeze\". During this time, all commits to the -STABLE branch must "
"be approved by `{re}`. The approval process is technically enforced by a "
"pre-commit hook. The kinds of changes that are allowed during this period "
"include:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:142
msgid "Bug fixes."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:143
msgid "Documentation updates."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:144
msgid "Security-related fixes of any kind."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:145
msgid "Minor changes to device drivers, such as adding new Device IDs."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:146
msgid "Driver updates from the vendors."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:147
msgid ""
"Any additional change that the release engineering team feels is justified, "
"given the potential risk."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:151
msgid ""
"Shortly after the code freeze is started, a _BETA1_ image is built and "
"released for widespread testing. During the code freeze, at least one beta "
"image or release candidate is released every two weeks until the final "
"release is ready. During the days preceding the final release, the release "
"engineering team is in constant communication with the security-officer "
"team, the documentation maintainers, and the port maintainers to ensure that "
"all of the different components required for a successful release are "
"available."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:154
msgid ""
"After the quality of the BETA images is satisfying enough, and no large and "
"potentially risky changes are planned, the release branch is created and "
"_Release Candidate_ (RC) images are built from the release branch, instead "
"of the BETA images from the STABLE branch. Also, the freeze on the STABLE "
"branch is lifted and release branch enters a \"hard code freeze\" where it "
"becomes much harder to justify new changes to the system unless a serious "
"bug-fix or security issue is involved."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:155
#, no-wrap
msgid "Final Release Checklist"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:158
msgid ""
"When several BETA images have been made available for widespread testing and "
"all major issues have been resolved, the final release \"polishing\" can "
"begin."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:160
#, no-wrap
msgid "Creating the Release Branch"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/releng/_index.adoc:165
msgid ""
"In all examples below, `$FSVN` refers to the location of the FreeBSD "
"Subversion repository, `svn+ssh://svn.FreeBSD.org/base/`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:169
msgid ""
"The layout of FreeBSD branches in Subversion is described in the extref:"
"{committers-guide}[Committer's Guide, subversion-primer-base-layout]. The "
"first step in creating a branch is to identify the revision of the `stable/"
"_X_` sources that you want to branch _from_."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:173
#, no-wrap
msgid "# svn log -v $FSVN/stable/9\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:176
msgid "The next step is to create the _release branch_"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:180
#, no-wrap
msgid "# svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:183
msgid "This branch can be checked out:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:187
#, no-wrap
msgid "# svn co $FSVN/releng/9.2 src\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/releng/_index.adoc:192
msgid ""
"Creating the `releng` branch and `release` tags is done by the link:https://"
"www.FreeBSD.org/administration/#t-re[Release Engineering Team]."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:194
#, no-wrap
msgid "FreeBSD Development Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:194
#, no-wrap
msgid "branches-head.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:196
#, no-wrap
msgid "FreeBSD 3.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:196
#, no-wrap
msgid "branches-releng3.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:198
#, no-wrap
msgid "FreeBSD 4.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:198
#, no-wrap
msgid "branches-releng4.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:200
#, no-wrap
msgid "FreeBSD 5.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:200
#, no-wrap
msgid "branches-releng5.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:202
#, no-wrap
msgid "FreeBSD 6.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:202
#, no-wrap
msgid "branches-releng6.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:204
#, no-wrap
msgid "FreeBSD 7.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:204
#, no-wrap
msgid "branches-releng7.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:206
#, no-wrap
msgid "FreeBSD 8.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:206
#, no-wrap
msgid "branches-releng8.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/articles/releng/_index.adoc:208
#, no-wrap
msgid "FreeBSD 9.x STABLE Branch"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/articles/releng/_index.adoc:208
#, no-wrap
msgid "branches-releng9.png"
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:211
#, no-wrap
msgid "Bumping up the Version Number"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:214
msgid ""
"Before the final release can be tagged, built, and released, the following "
"files need to be modified to reflect the correct version of FreeBSD:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:216
msgid "[.filename]#doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:217
msgid "[.filename]#doc/en_US.ISO8859-1/books/porters-handbook/book.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:218
msgid "[.filename]#doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:219
msgid "[.filename]#ports/Tools/scripts/release/config#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:220
msgid "[.filename]#doc/shared/xml/freebsd.ent#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:221
msgid "[.filename]#src/Makefile.inc1#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:222
msgid "[.filename]#src/UPDATING#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:223
msgid "[.filename]#src/gnu/usr.bin/groff/tmac/mdoc.local#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:224
msgid "[.filename]#src/release/Makefile#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:225
msgid "[.filename]#src/release/doc/en_US.ISO8859-1/shared/xml/release.dsl#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:226
msgid "[.filename]#src/release/doc/shared/examples/Makefile.relnotesng#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:227
msgid "[.filename]#src/release/doc/shared/xml/release.ent#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:228
msgid "[.filename]#src/sys/conf/newvers.sh#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:229
msgid "[.filename]#src/sys/sys/param.h#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:230
msgid "[.filename]#src/usr.sbin/pkg_install/add/main.c#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:231
msgid "[.filename]#doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:233
msgid ""
"The release notes and errata files also need to be adjusted for the new "
"release (on the release branch) and truncated appropriately (on the stable/"
"current branch):"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:235
msgid "[.filename]#src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:236
msgid "[.filename]#src/release/doc/en_US.ISO8859-1/errata/article.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:240
msgid ""
"Sysinstall should be updated to note the number of available ports and the "
"amount of disk space required for the Ports Collection. footnote:[FreeBSD "
"Ports Collection https://www.FreeBSD.org/ports] This information is "
"currently kept in [.filename]#src/usr.sbin/bsdinstall/dist.c#."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:243
msgid ""
"After the release has been built, a number of files should be updated to "
"announce the release to the world. These files are relative to `head/` "
"within the `doc/` subversion tree."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:245
msgid "[.filename]#share/images/articles/releng/branches-relengX.pic#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:246
msgid "[.filename]#head/shared/xml/release.ent#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:247
msgid "[.filename]#en_US.ISO8859-1/htdocs/releases/*#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:248
msgid "[.filename]#en_US.ISO8859-1/htdocs/releng/index.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:249
msgid "[.filename]#share/xml/news.xml#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:251
msgid "Additionally, update the \"BSD Family Tree\" file:"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:253
msgid "[.filename]#src/shared/misc/bsd-family-tree#"
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:254
#, no-wrap
msgid "Creating the Release Tag"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:257
msgid ""
"When the final release is ready, the following command will create the "
"`release/9.2.0` tag."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:261
#, no-wrap
msgid "# svn cp $FSVN/releng/9.2 $FSVN/release/9.2.0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:264
msgid ""
"The Documentation and Ports managers are responsible for tagging their "
"respective trees with the `tags/RELEASE_9_2_0` tag."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:267
msgid ""
"When the Subversion `svn cp` command is used to create a __release tag__, "
"this identifies the source at a specific point in time. By creating tags, "
"we ensure that future release builders will always be able to use the exact "
"same source we used to create the official FreeBSD Project releases."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:269
#, no-wrap
msgid "Release Building"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:280
msgid ""
"FreeBSD \"releases\" can be built by anyone with a fast machine and access "
"to a source repository. (That should be everyone, since we offer Subversion "
"access! See the extref:{handbook}[Subversion section in the Handbook, svn] "
"for details.) The _only_ special requirement is that the man:md[4] device "
"must be available. If the device is not loaded into your kernel, then the "
"kernel module should be automatically loaded when man:mdconfig[8] is "
"executed during the boot media creation phase. All of the tools necessary "
"to build a release are available from the Subversion repository in [."
"filename]#src/release#. These tools aim to provide a consistent way to "
"build FreeBSD releases. A complete release can actually be built with only "
"a single command, including the creation of ISO images suitable for burning "
"to CDROM or DVD, and an FTP install directory. man:release[7] fully "
"documents the `src/release/generate-release.sh` script which is used to "
"build a release. `generate-release.sh` is a wrapper around the Makefile "
"target: `make release`."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:281
#, no-wrap
msgid "Building a Release"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:285
msgid ""
"man:release[7] documents the exact commands required to build a FreeBSD "
"release. The following sequences of commands can build an 9.2.0 release:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:290
#, no-wrap
msgid ""
"# cd /usr/src/release\n"
"# sh generate-release.sh release/9.2.0 /local3/release\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:293
msgid ""
"After running these commands, all prepared release files are available in [."
"filename]#/local3/release/R# directory."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:295
msgid ""
"The release [.filename]#Makefile# can be broken down into several distinct "
"steps."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:297
msgid ""
"Creation of a sanitized system environment in a separate directory hierarchy "
"with \"`make installworld`\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:298
msgid ""
"Checkout from Subversion of a clean version of the system source, "
"documentation, and ports into the release build hierarchy."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:299
msgid ""
"Population of [.filename]#/etc# and [.filename]#/dev# in the chrooted "
"environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:300
msgid ""
"chroot into the release build hierarchy, to make it harder for the outside "
"environment to taint this build."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:301
msgid "`make world` in the chrooted environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:302
msgid "Build of Kerberos-related binaries."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:303
msgid "Build [.filename]#GENERIC# kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:304
msgid ""
"Creation of a staging directory tree where the binary distributions will be "
"built and packaged."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:305
msgid ""
"Build and installation of the documentation toolchain needed to convert the "
"documentation source (SGML) into HTML and text documents that will accompany "
"the release."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:306
msgid ""
"Build and installation of the actual documentation (user manuals, tutorials, "
"release notes, hardware compatibility lists, and so on.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:307
msgid "Package up distribution tarballs of the binaries and sources."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:308
msgid "Create FTP installation hierarchy."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:309
msgid "_(optionally)_ Create ISO images for CDROM/DVD media."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:311
msgid ""
"For more information about the release build infrastructure, please see man:"
"release[7]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/articles/releng/_index.adoc:316
msgid ""
"It is important to remove any site-specific settings from [.filename]#/etc/"
"make.conf#. For example, it would be unwise to distribute binaries that "
"were built on a system with `CPUTYPE` set to a specific processor."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:318
#, no-wrap
msgid "Contributed Software (\"ports\")"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:322
msgid ""
"The https://www.FreeBSD.org/ports[FreeBSD Ports collection] is a collection "
"of over {numports} third-party software packages available for FreeBSD. The "
"`{portmgr}` is responsible for maintaining a consistent ports tree that can "
"be used to create the binary packages that accompany official FreeBSD "
"releases."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:323
#, no-wrap
msgid "Release ISOs"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:328
msgid ""
"Starting with FreeBSD 4.4, the FreeBSD Project decided to release all four "
"ISO images that were previously sold on the _BSDi/Wind River Systems/FreeBSD "
"Mall_ \"official\" CDROM distributions. Each of the four discs must contain "
"a [.filename]#README.TXT# file that explains the contents of the disc, a [."
"filename]#CDROM.INF# file that provides meta-data for the disc so that man:"
"bsdinstall[8] can validate and use the contents, and a [.filename]#filename."
"txt# file that provides a manifest for the disc. This _manifest_ can be "
"created with a simple command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/articles/releng/_index.adoc:332
#, no-wrap
msgid "/stage/cdrom# find . -type f | sed -e 's/^\\.\\///' | sort > filename.txt\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:335
msgid "The specific requirements of each CD are outlined below."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:336
#, no-wrap
msgid "Disc 1"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:342
msgid ""
"The first disc is almost completely created by `make release`. The only "
"changes that should be made to the [.filename]#disc1# directory are the "
"addition of a [.filename]#tools# directory, and as many popular third party "
"software packages as will fit on the disc. The [.filename]#tools# directory "
"contains software that allow users to create installation floppies from "
"other operating systems. This disc should be made bootable so that users of "
"modern PCs do not need to create installation floppy disks."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:347
msgid ""
"If a custom kernel of FreeBSD is to be included, then man:bsdinstall[8] and "
"man:release[7] must be updated to include installation instructions. The "
"relevant code is contained in [.filename]#src/release# and [.filename]#src/"
"usr.sbin/bsdinstall#. Specifically, the file [.filename]#src/release/"
"Makefile#, and [.filename]#dist.c#, [.filename]#dist.h#, [.filename]#menus."
"c#, [.filename]#install.c#, and [.filename]#Makefile# will need to be "
"updated under [.filename]#src/usr.sbin/bsdinstall#. Optionally, you may "
"choose to update [.filename]#bsdinstall.8#."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:348
#, no-wrap
msgid "Disc 2"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:353
msgid ""
"The second disc is also largely created by `make release`. This disc "
"contains a \"live filesystem\" that can be used from man:bsdinstall[8] to "
"troubleshoot a FreeBSD installation. This disc should be bootable and "
"should also contain a compressed copy of the CVS repository in the [."
"filename]#CVSROOT# directory and commercial software demos in the [."
"filename]#commerce# directory."
msgstr ""
#. type: Title ====
#: documentation/content/en/articles/releng/_index.adoc:354
#, no-wrap
msgid "Multi-volume Support"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:360
msgid ""
"Sysinstall supports multiple volume package installations. This requires "
"that each disc have an [.filename]#INDEX# file containing all of the "
"packages on all volumes of a set, along with an extra field that indicates "
"which volume that particular package is on. Each volume in the set must "
"also have the `CD_VOLUME` variable set in the [.filename]#cdrom.inf# file so "
"that bsdinstall can tell which volume is which. When a user attempts to "
"install a package that is not on the current disc, bsdinstall will prompt "
"the user to insert the appropriate one."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:362
#, no-wrap
msgid "Distribution"
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:365
#, no-wrap
msgid "FTP Sites"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:371
msgid ""
"When the release has been thoroughly tested and packaged for distribution, "
"the master FTP site must be updated. The official FreeBSD public FTP sites "
"are all mirrors of a master server that is open only to other FTP sites. "
"This site is known as `ftp-master`. When the release is ready, the "
"following files must be modified on `ftp-master`:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:372
#, no-wrap
msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:374
msgid "The installable FTP directory as output from `make release`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:375
#, no-wrap
msgid "[.filename]#/pub/FreeBSD/ports/arch/packages-X.Y-release/#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:377
msgid "The complete package build for this release."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:378
#, no-wrap
msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/tools#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:380
msgid "A symlink to [.filename]#../../../tools#."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:381
#, no-wrap
msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/packages#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:383
msgid "A symlink to [.filename]#../../../ports/arch/packages-X.Y-release#."
msgstr ""
#. type: Labeled list
#: documentation/content/en/articles/releng/_index.adoc:384
#, no-wrap
msgid "[.filename]#/pub/FreeBSD/releases/arch/ISO-IMAGES/X.Y/X.Y-RELEASE-arch-*.iso#"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:387
msgid ""
"The ISO images. The \"*\" is [.filename]#disc1#, [.filename]#disc2#, etc. "
"Only if there is a [.filename]#disc1# and there is an alternative first "
"installation CD (for example a stripped-down install with no windowing "
"system) there may be a [.filename]#mini# as well."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:389
msgid ""
"For more information about the distribution mirror architecture of the "
"FreeBSD FTP sites, please see the extref:{hubs}[Mirroring FreeBSD] article."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:397
msgid ""
"It may take many hours to two days after updating `ftp-master` before a "
"majority of the Tier-1 FTP sites have the new software depending on whether "
"or not a package set got loaded at the same time. It is imperative that the "
"release engineers coordinate with the {mirror-announce} before announcing "
"the general availability of new software on the FTP sites. Ideally the "
"release package set should be loaded at least four days prior to release "
"day. The release bits should be loaded between 24 and 48 hours before the "
"planned release time with \"other\" file permissions turned off. This will "
"allow the mirror sites to download it but the general public will not be "
"able to download it from the mirror sites. Mail should be sent to {mirror-"
"announce} at the time the release bits get posted saying the release has "
"been staged and giving the time that the mirror sites should begin allowing "
"access. Be sure to include a time zone with the time, for example make it "
"relative to GMT."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:399
#, no-wrap
msgid "CD-ROM Replication"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:402
msgid ""
"Coming soon: Tips for sending FreeBSD ISOs to a replicator and quality "
"assurance measures to be taken."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:404
#, no-wrap
msgid "Extensibility"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:411
msgid ""
"Although FreeBSD forms a complete operating system, there is nothing that "
"forces you to use the system exactly as we have packaged it up for "
"distribution. We have tried to design the system to be as extensible as "
"possible so that it can serve as a platform that other commercial products "
"can be built on top of. The only \"rule\" we have about this is that if you "
"are going to distribute FreeBSD with non-trivial changes, we encourage you "
"to document your enhancements! The FreeBSD community can only help support "
"users of the software we provide. We certainly encourage innovation in the "
"form of advanced installation and administration tools, for example, but we "
"cannot be expected to answer questions about it."
msgstr ""
#. type: Title ===
#: documentation/content/en/articles/releng/_index.adoc:412
#, no-wrap
msgid "Scripting `bsdinstall`"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:416
msgid ""
"The FreeBSD system installation and configuration tool, man:bsdinstall[8], "
"can be scripted to provide automated installs for large sites. This "
"functionality can be used in conjunction with Intel(R) PXE footnote:[extref:"
"{handbook}[Diskless Operation with PXE, network-diskless]] to bootstrap "
"systems from the network."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:418
#, no-wrap
msgid "Lessons Learned from FreeBSD 4.4"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:425
msgid ""
"The release engineering process for 4.4 formally began on August 1st, 2001. "
"After that date all commits to the `RELENG_4` branch of FreeBSD had to be "
"explicitly approved by the `{re}`. The first release candidate for the x86 "
"architecture was released on August 16, followed by 4 more release "
"candidates leading up to the final release on September 18th. The security "
"officer was very involved in the last week of the process as several "
"security issues were found in the earlier release candidates. A total of "
"over _500_ emails were sent to the `{re}` in little over a month."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:429
msgid ""
"Our user community has made it very clear that the security and stability of "
"a FreeBSD release should not be sacrificed for any self-imposed deadlines or "
"target release dates. The FreeBSD Project has grown tremendously over its "
"lifetime and the need for standardized release engineering procedures has "
"never been more apparent. This will become even more important as FreeBSD "
"is ported to new platforms."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:431
#, no-wrap
msgid "Future Directions"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:435
msgid ""
"It is imperative for our release engineering activities to scale with our "
"growing userbase. Along these lines we are working very hard to document "
"the procedures involved in producing FreeBSD releases."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:437
msgid ""
"_Parallelism_ - Certain portions of the release build are actually "
"\"embarrassingly parallel\". Most of the tasks are very I/O intensive, so "
"having multiple high-speed disk drives is actually more important than using "
"multiple processors in speeding up the `make release` process. If multiple "
"disks are used for different hierarchies in the man:chroot[2] environment, "
"then the CVS checkout of the [.filename]#ports# and [.filename]#doc# trees "
"can be happening simultaneously as the `make world` on another disk. Using a "
"RAID solution (hardware or software) can significantly decrease the overall "
"build time."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:438
msgid ""
"_Cross-building releases_ - Building IA-64 or Alpha release on x86 hardware? "
"`make TARGET=ia64 release`."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:439
msgid ""
"_Regression Testing_ - We need better automated correctness testing for "
"FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:440
msgid ""
"_Installation Tools_ - Our installation program has long since outlived its "
"intended life span. Several projects are under development to provide a more "
"advanced installation mechanism. The libh project was one such project that "
"aimed to provide an intelligent new package framework and GUI installation "
"program."
msgstr ""
#. type: Title ==
#: documentation/content/en/articles/releng/_index.adoc:442
#, no-wrap
msgid "Acknowledgements"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/releng/_index.adoc:447
msgid ""
"I would like to thank Jordan Hubbard for giving me the opportunity to take "
"on some of the release engineering responsibilities for FreeBSD 4.4 and also "
"for all of his work throughout the years making FreeBSD what it is today. "
"Of course the release would not have been possible without all of the "
"release-related work done by `{asami}`, `{steve}`, `{bmah}`, `{nik}`, "
"`{obrien}`, `{kris}`, `{jhb}` and the rest of the FreeBSD development "
"community. I would also like to thank `{rgrimes}`, `{phk}`, and others who "
"worked on the release engineering tools in the very early days of FreeBSD. "
"This article was influenced by release engineering documents from the CSRG "
"footnote:[Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic: link:"
"http://docs.FreeBSD.org/44doc/papers/releng.html[The Release Engineering of "
"4.3BSD]] , the NetBSD Project, footnote:[NetBSD Developer Documentation: "
"Release Engineering http://www.NetBSD.org/developers/releng/index.html] , "
"and John Baldwin's proposed release engineering process notes. footnote:"
"[John Baldwin's FreeBSD Release Engineering Proposal https://people.FreeBSD."
"org/~jhb/docs/releng.txt]"
msgstr ""
diff --git a/documentation/content/en/articles/vm-design/_index.po b/documentation/content/en/articles/vm-design/_index.po
index efe522cb4f..c9d38532d6 100644
--- a/documentation/content/en/articles/vm-design/_index.po
+++ b/documentation/content/en/articles/vm-design/_index.po
@@ -1,1012 +1,1017 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/articles/vm-design/_index.adoc:1
#, no-wrap
msgid "An easy to follow description of the design of the FreeBSD virtual memory system"
msgstr ""
#. type: Title =
#: documentation/content/en/articles/vm-design/_index.adoc:1
#: documentation/content/en/articles/vm-design/_index.adoc:11
#, no-wrap
msgid "Design elements of the FreeBSD VM system"
msgstr ""
#. type: Plain text
#: documentation/content/en/articles/vm-design/_index.adoc:44
msgid "Abstract"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:51
+#: documentation/content/en/articles/vm-design/_index.adoc:46
+msgid "Matthew Dillon <dillon@apollo.backplane.com>"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/articles/vm-design/_index.adoc:53
msgid ""
"The title is really just a fancy way of saying that I am going to attempt to "
"describe the whole VM enchilada, hopefully in a way that everyone can "
"follow. For the last year I have concentrated on a number of major kernel "
"subsystems within FreeBSD, with the VM and Swap subsystems being the most "
"interesting and NFS being \"a necessary chore\". I rewrote only small "
"portions of the code. In the VM arena the only major rewrite I have done is "
"to the swap subsystem. Most of my work was cleanup and maintenance, with "
"only moderate code rewriting and no major algorithmic adjustments within the "
"VM subsystem. The bulk of the VM subsystem's theoretical base remains "
"unchanged and a lot of the credit for the modernization effort in the last "
"few years belongs to John Dyson and David Greenman. Not being a historian "
"like Kirk I will not attempt to tag all the various features with peoples "
"names, since I will invariably get it wrong."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:53
+#: documentation/content/en/articles/vm-design/_index.adoc:55
msgid "'''"
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:57
+#: documentation/content/en/articles/vm-design/_index.adoc:59
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:73
+#: documentation/content/en/articles/vm-design/_index.adoc:75
msgid ""
"Before moving along to the actual design let's spend a little time on the "
"necessity of maintaining and modernizing any long-living codebase. In the "
"programming world, algorithms tend to be more important than code and it is "
"precisely due to BSD's academic roots that a great deal of attention was "
"paid to algorithm design from the beginning. More attention paid to the "
"design generally leads to a clean and flexible codebase that can be fairly "
"easily modified, extended, or replaced over time. While BSD is considered "
"an \"old\" operating system by some people, those of us who work on it tend "
"to view it more as a \"mature\" codebase which has various components "
"modified, extended, or replaced with modern code. It has evolved, and "
"FreeBSD is at the bleeding edge no matter how old some of the code might "
"be. This is an important distinction to make and one that is unfortunately "
"lost to many people. The biggest error a programmer can make is to not "
"learn from history, and this is precisely the error that many other modern "
"operating systems have made. Windows NT(R) is the best example of this, and "
"the consequences have been dire. Linux also makes this mistake to some "
"degree-enough that we BSD folk can make small jokes about it every once in a "
"while, anyway. Linux's problem is simply one of a lack of experience and "
"history to compare ideas against, a problem that is easily and rapidly being "
"addressed by the Linux community in the same way it has been addressed in "
"the BSD community-by continuous code development. The Windows NT(R) folk, "
"on the other hand, repeatedly make the same mistakes solved by UNIX(R) "
"decades ago and then spend years fixing them. Over and over again. They "
"have a severe case of \"not designed here\" and \"we are always right "
"because our marketing department says so\". I have little tolerance for "
"anyone who cannot learn from history."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:78
+#: documentation/content/en/articles/vm-design/_index.adoc:80
msgid ""
"Much of the apparent complexity of the FreeBSD design, especially in the VM/"
"Swap subsystem, is a direct result of having to solve serious performance "
"issues that occur under various conditions. These issues are not due to bad "
"algorithmic design but instead rise from environmental factors. In any "
"direct comparison between platforms, these issues become most apparent when "
"system resources begin to get stressed. As I describe FreeBSD's VM/Swap "
"subsystem the reader should always keep two points in mind:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:80
+#: documentation/content/en/articles/vm-design/_index.adoc:82
msgid ""
"The most important aspect of performance design is what is known as "
"\"Optimizing the Critical Path\". It is often the case that performance "
"optimizations add a little bloat to the code to make the critical path "
"perform better."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:81
+#: documentation/content/en/articles/vm-design/_index.adoc:83
msgid ""
"A solid, generalized design outperforms a heavily-optimized design over the "
"long run. While a generalized design may end up being slower than an heavily-"
"optimized design when they are first implemented, the generalized design "
"tends to be easier to adapt to changing conditions and the heavily-optimized "
"design winds up having to be thrown away."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:85
+#: documentation/content/en/articles/vm-design/_index.adoc:87
msgid ""
"Any codebase that will survive and be maintainable for years must therefore "
"be designed properly from the beginning even if it costs some performance. "
"Twenty years ago people were still arguing that programming in assembly was "
"better than programming in a high-level language because it produced code "
"that was ten times as fast. Today, the fallibility of that argument is "
"obvious - as are the parallels to algorithmic design and code generalization."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:87
+#: documentation/content/en/articles/vm-design/_index.adoc:89
#, no-wrap
msgid "VM Objects"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:97
+#: documentation/content/en/articles/vm-design/_index.adoc:99
msgid ""
"The best way to begin describing the FreeBSD VM system is to look at it from "
"the perspective of a user-level process. Each user process sees a single, "
"private, contiguous VM address space containing several types of memory "
"objects. These objects have various characteristics. Program code and "
"program data are effectively a single memory-mapped file (the binary file "
"being run), but program code is read-only while program data is copy-on-"
"write. Program BSS is just memory allocated and filled with zeros on "
"demand, called demand zero page fill. Arbitrary files can be memory-mapped "
"into the address space as well, which is how the shared library mechanism "
"works. Such mappings can require modifications to remain private to the "
"process making them. The fork system call adds an entirely new dimension to "
"the VM management problem on top of the complexity already given."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:103
+#: documentation/content/en/articles/vm-design/_index.adoc:105
msgid ""
"A program binary data page (which is a basic copy-on-write page) illustrates "
"the complexity. A program binary contains a preinitialized data section "
"which is initially mapped directly from the program file. When a program is "
"loaded into a process's VM space, this area is initially memory-mapped and "
"backed by the program binary itself, allowing the VM system to free/reuse "
"the page and later load it back in from the binary. The moment a process "
"modifies this data, however, the VM system must make a private copy of the "
"page for that process. Since the private copy has been modified, the VM "
"system may no longer free it, because there is no longer any way to restore "
"it later on."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:110
+#: documentation/content/en/articles/vm-design/_index.adoc:112
msgid ""
"You will notice immediately that what was originally a simple file mapping "
"has become much more complex. Data may be modified on a page-by-page basis "
"whereas the file mapping encompasses many pages at once. The complexity "
"further increases when a process forks. When a process forks, the result is "
"two processes-each with their own private address spaces, including any "
"modifications made by the original process prior to the call to `fork()`. "
"It would be silly for the VM system to make a complete copy of the data at "
"the time of the `fork()` because it is quite possible that at least one of "
"the two processes will only need to read from that page from then on, "
"allowing the original page to continue to be used. What was a private page "
"is made copy-on-write again, since each process (parent and child) expects "
"their own personal post-fork modifications to remain private to themselves "
"and not affect the other."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:119
+#: documentation/content/en/articles/vm-design/_index.adoc:121
msgid ""
"FreeBSD manages all of this with a layered VM Object model. The original "
"binary program file winds up being the lowest VM Object layer. A copy-on-"
"write layer is pushed on top of that to hold those pages which had to be "
"copied from the original file. If the program modifies a data page "
"belonging to the original file the VM system takes a fault and makes a copy "
"of the page in the higher layer. When a process forks, additional VM Object "
"layers are pushed on. This might make a little more sense with a fairly "
"basic example. A `fork()` is a common operation for any *BSD system, so "
"this example will consider a program that starts up, and forks. When the "
"process starts, the VM system creates an object layer, let's call this A:"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
-#: documentation/content/en/articles/vm-design/_index.adoc:120
+#: documentation/content/en/articles/vm-design/_index.adoc:122
#, no-wrap
msgid "A picture"
msgstr ""
#. type: Target for macro image
-#: documentation/content/en/articles/vm-design/_index.adoc:120
+#: documentation/content/en/articles/vm-design/_index.adoc:122
#, no-wrap
msgid "fig1.png"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:125
+#: documentation/content/en/articles/vm-design/_index.adoc:127
msgid ""
"A represents the file-pages may be paged in and out of the file's physical "
"media as necessary. Paging in from the disk is reasonable for a program, "
"but we really do not want to page back out and overwrite the executable. "
"The VM system therefore creates a second layer, B, that will be physically "
"backed by swap space:"
msgstr ""
#. type: Target for macro image
-#: documentation/content/en/articles/vm-design/_index.adoc:126
+#: documentation/content/en/articles/vm-design/_index.adoc:128
#, no-wrap
msgid "fig2.png"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:131
+#: documentation/content/en/articles/vm-design/_index.adoc:133
msgid ""
"On the first write to a page after this, a new page is created in B, and its "
"contents are initialized from A. All pages in B can be paged in or out to a "
"swap device. When the program forks, the VM system creates two new object "
"layers-C1 for the parent, and C2 for the child-that rest on top of B:"
msgstr ""
#. type: Target for macro image
-#: documentation/content/en/articles/vm-design/_index.adoc:132
+#: documentation/content/en/articles/vm-design/_index.adoc:134
#, no-wrap
msgid "fig3.png"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:143
+#: documentation/content/en/articles/vm-design/_index.adoc:145
msgid ""
"In this case, let's say a page in B is modified by the original parent "
"process. The process will take a copy-on-write fault and duplicate the page "
"in C1, leaving the original page in B untouched. Now, let's say the same "
"page in B is modified by the child process. The process will take a copy-on-"
"write fault and duplicate the page in C2. The original page in B is now "
"completely hidden since both C1 and C2 have a copy and B could theoretically "
"be destroyed if it does not represent a \"real\" file; however, this sort of "
"optimization is not trivial to make because it is so fine-grained. FreeBSD "
"does not make this optimization. Now, suppose (as is often the case) that "
"the child process does an `exec()`. Its current address space is usually "
"replaced by a new address space representing a new file. In this case, the "
"C2 layer is destroyed:"
msgstr ""
#. type: Target for macro image
-#: documentation/content/en/articles/vm-design/_index.adoc:144
+#: documentation/content/en/articles/vm-design/_index.adoc:146
#, no-wrap
msgid "fig4.png"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:150
+#: documentation/content/en/articles/vm-design/_index.adoc:152
msgid ""
"In this case, the number of children of B drops to one, and all accesses to "
"B now go through C1. This means that B and C1 can be collapsed together. "
"Any pages in B that also exist in C1 are deleted from B during the "
"collapse. Thus, even though the optimization in the previous step could not "
"be made, we can recover the dead pages when either of the processes exit or "
"`exec()`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:157
+#: documentation/content/en/articles/vm-design/_index.adoc:159
msgid ""
"This model creates a number of potential problems. The first is that you "
"can wind up with a relatively deep stack of layered VM Objects which can "
"cost scanning time and memory when you take a fault. Deep layering can "
"occur when processes fork and then fork again (either parent or child). The "
"second problem is that you can wind up with dead, inaccessible pages deep in "
"the stack of VM Objects. In our last example if both the parent and child "
"processes modify the same page, they both get their own private copies of "
"the page and the original page in B is no longer accessible by anyone. That "
"page in B can be freed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:168
+#: documentation/content/en/articles/vm-design/_index.adoc:170
msgid ""
"FreeBSD solves the deep layering problem with a special optimization called "
"the \"All Shadowed Case\". This case occurs if either C1 or C2 take "
"sufficient COW faults to completely shadow all pages in B. Lets say that C1 "
"achieves this. C1 can now bypass B entirely, so rather then have C1->B->A "
"and C2->B->A we now have C1->A and C2->B->A. But look what also happened-"
"now B has only one reference (C2), so we can collapse B and C2 together. "
"The end result is that B is deleted entirely and we have C1->A and C2->A. "
"It is often the case that B will contain a large number of pages and neither "
"C1 nor C2 will be able to completely overshadow it. If we fork again and "
"create a set of D layers, however, it is much more likely that one of the D "
"layers will eventually be able to completely overshadow the much smaller "
"dataset represented by C1 or C2. The same optimization will work at any "
"point in the graph and the grand result of this is that even on a heavily "
"forked machine VM Object stacks tend to not get much deeper then 4. This is "
"true of both the parent and the children and true whether the parent is "
"doing the forking or whether the children cascade forks."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:172
+#: documentation/content/en/articles/vm-design/_index.adoc:174
msgid ""
"The dead page problem still exists in the case where C1 or C2 do not "
"completely overshadow B. Due to our other optimizations this case does not "
"represent much of a problem and we simply allow the pages to be dead. If "
"the system runs low on memory it will swap them out, eating a little swap, "
"but that is it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:176
+#: documentation/content/en/articles/vm-design/_index.adoc:178
msgid ""
"The advantage to the VM Object model is that `fork()` is extremely fast, "
"since no real data copying need take place. The disadvantage is that you "
"can build a relatively complex VM Object layering that slows page fault "
"handling down a little, and you spend memory managing the VM Object "
"structures. The optimizations FreeBSD makes proves to reduce the problems "
"enough that they can be ignored, leaving no real disadvantage."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:178
+#: documentation/content/en/articles/vm-design/_index.adoc:180
#, no-wrap
msgid "SWAP Layers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:186
+#: documentation/content/en/articles/vm-design/_index.adoc:188
msgid ""
"Private data pages are initially either copy-on-write or zero-fill pages. "
"When a change, and therefore a copy, is made, the original backing object "
"(usually a file) can no longer be used to save a copy of the page when the "
"VM system needs to reuse it for other purposes. This is where SWAP comes "
"in. SWAP is allocated to create backing store for memory that does not "
"otherwise have it. FreeBSD allocates the swap management structure for a VM "
"Object only when it is actually needed. However, the swap management "
"structure has had problems historically:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:188
+#: documentation/content/en/articles/vm-design/_index.adoc:190
msgid ""
"Under FreeBSD 3.X the swap management structure preallocates an array that "
"encompasses the entire object requiring swap backing store-even if only a "
"few pages of that object are swap-backed. This creates a kernel memory "
"fragmentation problem when large objects are mapped, or processes with large "
"runsizes (RSS) fork."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:189
+#: documentation/content/en/articles/vm-design/_index.adoc:191
msgid ""
"Also, to keep track of swap space, a \"list of holes\" is kept in kernel "
"memory, and this tends to get severely fragmented as well. Since the \"list "
"of holes\" is a linear list, the swap allocation and freeing performance is "
"a non-optimal O(n)-per-page."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:190
+#: documentation/content/en/articles/vm-design/_index.adoc:192
msgid ""
"It requires kernel memory allocations to take place during the swap freeing "
"process, and that creates low memory deadlock problems."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:191
+#: documentation/content/en/articles/vm-design/_index.adoc:193
msgid ""
"The problem is further exacerbated by holes created due to the interleaving "
"algorithm."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:192
+#: documentation/content/en/articles/vm-design/_index.adoc:194
msgid ""
"Also, the swap block map can become fragmented fairly easily resulting in "
"non-contiguous allocations."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:193
+#: documentation/content/en/articles/vm-design/_index.adoc:195
msgid ""
"Kernel memory must also be allocated on the fly for additional swap "
"management structures when a swapout occurs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:196
+#: documentation/content/en/articles/vm-design/_index.adoc:198
msgid ""
"It is evident from that list that there was plenty of room for improvement. "
"For FreeBSD 4.X, I completely rewrote the swap subsystem:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:198
+#: documentation/content/en/articles/vm-design/_index.adoc:200
msgid ""
"Swap management structures are allocated through a hash table rather than a "
"linear array giving them a fixed allocation size and much finer granularity."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:199
+#: documentation/content/en/articles/vm-design/_index.adoc:201
msgid ""
"Rather then using a linearly linked list to keep track of swap space "
"reservations, it now uses a bitmap of swap blocks arranged in a radix tree "
"structure with free-space hinting in the radix node structures. This "
"effectively makes swap allocation and freeing an O(1) operation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:200
+#: documentation/content/en/articles/vm-design/_index.adoc:202
msgid ""
"The entire radix tree bitmap is also preallocated to avoid having to "
"allocate kernel memory during critical low memory swapping operations. After "
"all, the system tends to swap when it is low on memory so we should avoid "
"allocating kernel memory at such times to avoid potential deadlocks."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:201
+#: documentation/content/en/articles/vm-design/_index.adoc:203
msgid ""
"To reduce fragmentation the radix tree is capable of allocating large "
"contiguous chunks at once, skipping over smaller fragmented chunks."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:203
+#: documentation/content/en/articles/vm-design/_index.adoc:205
msgid ""
"I did not take the final step of having an \"allocating hint pointer\" that "
"would trundle through a portion of swap as allocations were made to further "
"guarantee contiguous allocations or at least locality of reference, but I "
"ensured that such an addition could be made."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:205
+#: documentation/content/en/articles/vm-design/_index.adoc:207
#, no-wrap
msgid "When to free a page"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:210
+#: documentation/content/en/articles/vm-design/_index.adoc:212
msgid ""
"Since the VM system uses all available memory for disk caching, there are "
"usually very few truly-free pages. The VM system depends on being able to "
"properly choose pages which are not in use to reuse for new allocations. "
"Selecting the optimal pages to free is possibly the single-most important "
"function any VM system can perform because if it makes a poor selection, the "
"VM system may be forced to unnecessarily retrieve pages from disk, seriously "
"degrading system performance."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:213
+#: documentation/content/en/articles/vm-design/_index.adoc:215
msgid ""
"How much overhead are we willing to suffer in the critical path to avoid "
"freeing the wrong page? Each wrong choice we make will cost us hundreds of "
"thousands of CPU cycles and a noticeable stall of the affected processes, so "
"we are willing to endure a significant amount of overhead to be sure that "
"the right page is chosen. This is why FreeBSD tends to outperform other "
"systems when memory resources become stressed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:216
+#: documentation/content/en/articles/vm-design/_index.adoc:218
msgid ""
"The free page determination algorithm is built upon a history of the use of "
"memory pages. To acquire this history, the system takes advantage of a page-"
"used bit feature that most hardware page tables have."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:222
+#: documentation/content/en/articles/vm-design/_index.adoc:224
msgid ""
"In any case, the page-used bit is cleared and at some later point the VM "
"system comes across the page again and sees that the page-used bit has been "
"set. This indicates that the page is still being actively used. If the bit "
"is still clear it is an indication that the page is not being actively "
"used. By testing this bit periodically, a use history (in the form of a "
"counter) for the physical page is developed. When the VM system later needs "
"to free up some pages, checking this history becomes the cornerstone of "
"determining the best candidate page to reuse."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:227
+#: documentation/content/en/articles/vm-design/_index.adoc:229
msgid ""
"For those platforms that do not have this feature, the system actually "
"emulates a page-used bit. It unmaps or protects a page, forcing a page "
"fault if the page is accessed again. When the page fault is taken, the "
"system simply marks the page as having been used and unprotects the page so "
"that it may be used. While taking such page faults just to determine if a "
"page is being used appears to be an expensive proposition, it is much less "
"expensive than reusing the page for some other purpose only to find that a "
"process needs it back and then have to go to disk."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:237
+#: documentation/content/en/articles/vm-design/_index.adoc:239
msgid ""
"FreeBSD makes use of several page queues to further refine the selection of "
"pages to reuse as well as to determine when dirty pages must be flushed to "
"their backing store. Since page tables are dynamic entities under FreeBSD, "
"it costs virtually nothing to unmap a page from the address space of any "
"processes using it. When a page candidate has been chosen based on the page-"
"use counter, this is precisely what is done. The system must make a "
"distinction between clean pages which can theoretically be freed up at any "
"time, and dirty pages which must first be written to their backing store "
"before being reusable. When a page candidate has been found it is moved to "
"the inactive queue if it is dirty, or the cache queue if it is clean. A "
"separate algorithm based on the dirty-to-clean page ratio determines when "
"dirty pages in the inactive queue must be flushed to disk. Once this is "
"accomplished, the flushed pages are moved from the inactive queue to the "
"cache queue. At this point, pages in the cache queue can still be "
"reactivated by a VM fault at relatively low cost. However, pages in the "
"cache queue are considered to be \"immediately freeable\" and will be reused "
"in an LRU (least-recently used) fashion when the system needs to allocate "
"new memory."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:241
+#: documentation/content/en/articles/vm-design/_index.adoc:243
msgid ""
"It is important to note that the FreeBSD VM system attempts to separate "
"clean and dirty pages for the express reason of avoiding unnecessary flushes "
"of dirty pages (which eats I/O bandwidth), nor does it move pages between "
"the various page queues gratuitously when the memory subsystem is not being "
"stressed. This is why you will see some systems with very low cache queue "
"counts and high active queue counts when doing a `systat -vm` command. As "
"the VM system becomes more stressed, it makes a greater effort to maintain "
"the various page queues at the levels determined to be the most effective."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:245
+#: documentation/content/en/articles/vm-design/_index.adoc:247
msgid ""
"An urban myth has circulated for years that Linux did a better job avoiding "
"swapouts than FreeBSD, but this in fact is not true. What was actually "
"occurring was that FreeBSD was proactively paging out unused pages to make "
"room for more disk cache while Linux was keeping unused pages in core and "
"leaving less memory available for cache and process pages. I do not know "
"whether this is still true today."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:247
+#: documentation/content/en/articles/vm-design/_index.adoc:249
#, no-wrap
msgid "Pre-Faulting and Zeroing Optimizations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:257
+#: documentation/content/en/articles/vm-design/_index.adoc:259
msgid ""
"Taking a VM fault is not expensive if the underlying page is already in core "
"and can simply be mapped into the process, but it can become expensive if "
"you take a whole lot of them on a regular basis. A good example of this is "
"running a program such as man:ls[1] or man:ps[1] over and over again. If "
"the program binary is mapped into memory but not mapped into the page table, "
"then all the pages that will be accessed by the program will have to be "
"faulted in every time the program is run. This is unnecessary when the "
"pages in question are already in the VM Cache, so FreeBSD will attempt to "
"pre-populate a process's page tables with those pages that are already in "
"the VM Cache. One thing that FreeBSD does not yet do is pre-copy-on-write "
"certain pages on exec. For example, if you run the man:ls[1] program while "
"running `vmstat 1` you will notice that it always takes a certain number of "
"page faults, even when you run it over and over again. These are zero-fill "
"faults, not program code faults (which were pre-faulted in already). Pre-"
"copying pages on exec or fork is an area that could use more study."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:266
+#: documentation/content/en/articles/vm-design/_index.adoc:268
msgid ""
"A large percentage of page faults that occur are zero-fill faults. You can "
"usually see this by observing the `vmstat -s` output. These occur when a "
"process accesses pages in its BSS area. The BSS area is expected to be "
"initially zero but the VM system does not bother to allocate any memory at "
"all until the process actually accesses it. When a fault occurs the VM "
"system must not only allocate a new page, it must zero it as well. To "
"optimize the zeroing operation the VM system has the ability to pre-zero "
"pages and mark them as such, and to request pre-zeroed pages when zero-fill "
"faults occur. The pre-zeroing occurs whenever the CPU is idle but the "
"number of pages the system pre-zeros is limited to avoid blowing away the "
"memory caches. This is an excellent example of adding complexity to the VM "
"system to optimize the critical path."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:268
+#: documentation/content/en/articles/vm-design/_index.adoc:270
#, no-wrap
msgid "Page Table Optimizations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:278
+#: documentation/content/en/articles/vm-design/_index.adoc:280
msgid ""
"The page table optimizations make up the most contentious part of the "
"FreeBSD VM design and they have shown some strain with the advent of serious "
"use of `mmap()`. I think this is actually a feature of most BSDs though I "
"am not sure when it was first introduced. There are two major "
"optimizations. The first is that hardware page tables do not contain "
"persistent state but instead can be thrown away at any time with only a "
"minor amount of management overhead. The second is that every active page "
"table entry in the system has a governing `pv_entry` structure which is tied "
"into the `vm_page` structure. FreeBSD can simply iterate through those "
"mappings that are known to exist while Linux must check all page tables that "
"_might_ contain a specific mapping to see if it does, which can achieve "
"O(n^2) overhead in certain situations. It is because of this that FreeBSD "
"tends to make better choices on which pages to reuse or swap when memory is "
"stressed, giving it better performance under load. However, FreeBSD "
"requires kernel tuning to accommodate large-shared-address-space situations "
"such as those that can occur in a news system because it may run out of "
"`pv_entry` structures."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:283
+#: documentation/content/en/articles/vm-design/_index.adoc:285
msgid ""
"Both Linux and FreeBSD need work in this area. FreeBSD is trying to "
"maximize the advantage of a potentially sparse active-mapping model (not all "
"processes need to map all pages of a shared library, for example), whereas "
"Linux is trying to simplify its algorithms. FreeBSD generally has the "
"performance advantage here at the cost of wasting a little extra memory, but "
"FreeBSD breaks down in the case where a large file is massively shared "
"across hundreds of processes. Linux, on the other hand, breaks down in the "
"case where many processes are sparsely-mapping the same shared library and "
"also runs non-optimally when trying to determine whether a page can be "
"reused or not."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:285
+#: documentation/content/en/articles/vm-design/_index.adoc:287
#, no-wrap
msgid "Page Coloring"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:295
+#: documentation/content/en/articles/vm-design/_index.adoc:297
msgid ""
"We will end with the page coloring optimizations. Page coloring is a "
"performance optimization designed to ensure that accesses to contiguous "
"pages in virtual memory make the best use of the processor cache. In "
"ancient times (i.e. 10+ years ago) processor caches tended to map virtual "
"memory rather than physical memory. This led to a huge number of problems "
"including having to clear the cache on every context switch in some cases, "
"and problems with data aliasing in the cache. Modern processor caches map "
"physical memory precisely to solve those problems. This means that two side-"
"by-side pages in a processes address space may not correspond to two side-by-"
"side pages in the cache. In fact, if you are not careful side-by-side pages "
"in virtual memory could wind up using the same page in the processor cache-"
"leading to cacheable data being thrown away prematurely and reducing CPU "
"performance. This is true even with multi-way set-associative caches "
"(though the effect is mitigated somewhat)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:302
+#: documentation/content/en/articles/vm-design/_index.adoc:304
msgid ""
"FreeBSD's memory allocation code implements page coloring optimizations, "
"which means that the memory allocation code will attempt to locate free "
"pages that are contiguous from the point of view of the cache. For example, "
"if page 16 of physical memory is assigned to page 0 of a process's virtual "
"memory and the cache can hold 4 pages, the page coloring code will not "
"assign page 20 of physical memory to page 1 of a process's virtual memory. "
"It would, instead, assign page 21 of physical memory. The page coloring "
"code attempts to avoid assigning page 20 because this maps over the same "
"cache memory as page 16 and would result in non-optimal caching. This code "
"adds a significant amount of complexity to the VM memory allocation "
"subsystem as you can well imagine, but the result is well worth the effort. "
"Page Coloring makes VM memory as deterministic as physical memory in regards "
"to cache performance."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:304
+#: documentation/content/en/articles/vm-design/_index.adoc:306
#, no-wrap
msgid "Conclusion"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:309
+#: documentation/content/en/articles/vm-design/_index.adoc:311
msgid ""
"Virtual memory in modern operating systems must address a number of "
"different issues efficiently and for many different usage patterns. The "
"modular and algorithmic approach that BSD has historically taken allows us "
"to study and understand the current implementation as well as relatively "
"cleanly replace large sections of the code. There have been a number of "
"improvements to the FreeBSD VM system in the last several years, and work is "
"ongoing."
msgstr ""
#. type: Title ==
-#: documentation/content/en/articles/vm-design/_index.adoc:311
+#: documentation/content/en/articles/vm-design/_index.adoc:313
#, no-wrap
msgid "Bonus QA session by Allen Briggs"
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/vm-design/_index.adoc:313
+#: documentation/content/en/articles/vm-design/_index.adoc:315
#, no-wrap
msgid "What is the interleaving algorithm that you refer to in your listing of the ills of the FreeBSD 3.X swap arrangements?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:319
+#: documentation/content/en/articles/vm-design/_index.adoc:321
msgid ""
"FreeBSD uses a fixed swap interleave which defaults to 4. This means that "
"FreeBSD reserves space for four swap areas even if you only have one, two, "
"or three. Since swap is interleaved the linear address space representing "
"the \"four swap areas\" will be fragmented if you do not actually have four "
"swap areas. For example, if you have two swap areas A and B FreeBSD's "
"address space representation for that swap area will be interleaved in "
"blocks of 16 pages:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/articles/vm-design/_index.adoc:322
+#: documentation/content/en/articles/vm-design/_index.adoc:324
#, no-wrap
msgid "A B C D A B C D A B C D A B C D\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:329
+#: documentation/content/en/articles/vm-design/_index.adoc:331
msgid ""
"FreeBSD 3.X uses a \"sequential list of free regions\" approach to "
"accounting for the free swap areas. The idea is that large blocks of free "
"linear space can be represented with a single list node ([.filename]#kern/"
"subr_rlist.c#). But due to the fragmentation the sequential list winds up "
"being insanely fragmented. In the above example, completely unused swap "
"will have A and B shown as \"free\" and C and D shown as \"all allocated\". "
"Each A-B sequence requires a list node to account for because C and D are "
"holes, so the list node cannot be combined with the next A-B sequence."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:331
+#: documentation/content/en/articles/vm-design/_index.adoc:333
msgid ""
"Why do we interleave our swap space instead of just tack swap areas onto the "
"end and do something fancier? It is a whole lot easier to allocate linear "
"swaths of an address space and have the result automatically be interleaved "
"across multiple disks than it is to try to put that sophistication elsewhere."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:336
+#: documentation/content/en/articles/vm-design/_index.adoc:338
msgid ""
"The fragmentation causes other problems. Being a linear list under 3.X, and "
"having such a huge amount of inherent fragmentation, allocating and freeing "
"swap winds up being an O(N) algorithm instead of an O(1) algorithm. "
"Combined with other factors (heavy swapping) and you start getting into "
"O(N^2) and O(N^3) levels of overhead, which is bad. The 3.X system may also "
"need to allocate KVM during a swap operation to create a new list node which "
"can lead to a deadlock if the system is trying to pageout pages in a low-"
"memory situation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:341
+#: documentation/content/en/articles/vm-design/_index.adoc:343
msgid ""
"Under 4.X we do not use a sequential list. Instead we use a radix tree and "
"bitmaps of swap blocks rather than ranged list nodes. We take the hit of "
"preallocating all the bitmaps required for the entire swap area up front but "
"it winds up wasting less memory due to the use of a bitmap (one bit per "
"block) instead of a linked list of nodes. The use of a radix tree instead "
"of a sequential list gives us nearly O(1) performance no matter how "
"fragmented the tree becomes."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/vm-design/_index.adoc:342
+#: documentation/content/en/articles/vm-design/_index.adoc:344
#, no-wrap
msgid "How is the separation of clean and dirty (inactive) pages related to the situation where you see low cache queue counts and high active queue counts in systat -vm? Do the systat stats roll the active and dirty pages together for the active queue count?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:347
+#: documentation/content/en/articles/vm-design/_index.adoc:349
msgid ""
"Yes, that is confusing. The relationship is \"goal\" verses \"reality\". "
"Our goal is to separate the pages but the reality is that if we are not in a "
"memory crunch, we do not really have to."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:349
+#: documentation/content/en/articles/vm-design/_index.adoc:351
msgid ""
"What this means is that FreeBSD will not try very hard to separate out dirty "
"pages (inactive queue) from clean pages (cache queue) when the system is not "
"being stressed, nor will it try to deactivate pages (active queue -> "
"inactive queue) when the system is not being stressed, even if they are not "
"being used."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/vm-design/_index.adoc:350
+#: documentation/content/en/articles/vm-design/_index.adoc:352
#, no-wrap
msgid "In man:ls[1] the / vmstat 1 example, would not some of the page faults be data page faults (COW from executable file to private page)? I.e., I would expect the page faults to be some zero-fill and some program data. Or are you implying that FreeBSD does do pre-COW for the program data?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:356
+#: documentation/content/en/articles/vm-design/_index.adoc:358
msgid ""
"A COW fault can be either zero-fill or program-data. The mechanism is the "
"same either way because the backing program-data is almost certainly already "
"in the cache. I am indeed lumping the two together. FreeBSD does not pre-"
"COW program data or zero-fill, but it _does_ pre-map pages that exist in its "
"cache."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/vm-design/_index.adoc:357
+#: documentation/content/en/articles/vm-design/_index.adoc:359
#, no-wrap
msgid "In your section on page table optimizations, can you give a little more detail about pv_entry and vm_page (or should vm_page be vm_pmap-as in 4.4, cf. pp. 180-181 of McKusick, Bostic, Karel, Quarterman)? Specifically, what kind of operation/reaction would require scanning the mappings?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:361
+#: documentation/content/en/articles/vm-design/_index.adoc:363
msgid ""
"A `vm_page` represents an (object,index#) tuple. A `pv_entry` represents a "
"hardware page table entry (pte). If you have five processes sharing the "
"same physical page, and three of those processes's page tables actually map "
"the page, that page will be represented by a single `vm_page` structure and "
"three `pv_entry` structures."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:364
+#: documentation/content/en/articles/vm-design/_index.adoc:366
msgid ""
"`pv_entry` structures only represent pages mapped by the MMU (one `pv_entry` "
"represents one pte). This means that when we need to remove all hardware "
"references to a `vm_page` (to reuse the page for something else, page it "
"out, clear it, dirty it, and so forth) we can simply scan the linked list of "
"pv_entry's associated with that vm_page to remove or modify the pte's from "
"their page tables."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:371
+#: documentation/content/en/articles/vm-design/_index.adoc:373
msgid ""
"Under Linux there is no such linked list. To remove all the hardware page "
"table mappings for a `vm_page` linux must index into every VM object that "
"_might_ have mapped the page. For example, if you have 50 processes all "
"mapping the same shared library and want to get rid of page X in that "
"library, you need to index into the page table for each of those 50 "
"processes even if only 10 of them have actually mapped the page. So Linux "
"is trading off the simplicity of its design against performance. Many VM "
"algorithms which are O(1) or (small N) under FreeBSD wind up being O(N), "
"O(N^2), or worse under Linux. Since the pte's representing a particular "
"page in an object tend to be at the same offset in all the page tables they "
"are mapped in, reducing the number of accesses into the page tables at the "
"same pte offset will often avoid blowing away the L1 cache line for that "
"offset, which can lead to better performance."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:373
+#: documentation/content/en/articles/vm-design/_index.adoc:375
msgid ""
"FreeBSD has added complexity (the `pv_entry` scheme) to increase performance "
"(to limit page table accesses to _only_ those pte's that need to be "
"modified)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:377
+#: documentation/content/en/articles/vm-design/_index.adoc:379
msgid ""
"But FreeBSD has a scaling problem that Linux does not in that there are a "
"limited number of `pv_entry` structures and this causes problems when you "
"have massive sharing of data. In this case you may run out of `pv_entry` "
"structures even though there is plenty of free memory available. This can "
"be fixed easily enough by bumping up the number of `pv_entry` structures in "
"the kernel config, but we really need to find a better way to do it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:381
+#: documentation/content/en/articles/vm-design/_index.adoc:383
msgid ""
"In regards to the memory overhead of a page table verses the `pv_entry` "
"scheme: Linux uses \"permanent\" page tables that are not throw away, but "
"does not need a `pv_entry` for each potentially mapped pte. FreeBSD uses "
"\"throw away\" page tables but adds in a `pv_entry` structure for each "
"actually-mapped pte. I think memory utilization winds up being about the "
"same, giving FreeBSD an algorithmic advantage with its ability to throw away "
"page tables at will with very low overhead."
msgstr ""
#. type: Title ===
-#: documentation/content/en/articles/vm-design/_index.adoc:382
+#: documentation/content/en/articles/vm-design/_index.adoc:384
#, no-wrap
msgid "Finally, in the page coloring section, it might help to have a little more description of what you mean here. I did not quite follow it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:387
+#: documentation/content/en/articles/vm-design/_index.adoc:389
msgid ""
"Do you know how an L1 hardware memory cache works? I will explain: Consider "
"a machine with 16MB of main memory but only 128K of L1 cache. Generally the "
"way this cache works is that each 128K block of main memory uses the _same_ "
"128K of cache. If you access offset 0 in main memory and then offset 128K "
"in main memory you can wind up throwing away the cached data you read from "
"offset 0!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:393
+#: documentation/content/en/articles/vm-design/_index.adoc:395
msgid ""
"Now, I am simplifying things greatly. What I just described is what is "
"called a \"direct mapped\" hardware memory cache. Most modern caches are "
"what are called 2-way-set-associative or 4-way-set-associative caches. The "
"set-associatively allows you to access up to N different memory regions that "
"overlap the same cache memory without destroying the previously cached "
"data. But only N."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:396
+#: documentation/content/en/articles/vm-design/_index.adoc:398
msgid ""
"So if I have a 4-way set associative cache I can access offset 0, offset "
"128K, 256K and offset 384K and still be able to access offset 0 again and "
"have it come from the L1 cache. If I then access offset 512K, however, one "
"of the four previously cached data objects will be thrown away by the cache."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:400
+#: documentation/content/en/articles/vm-design/_index.adoc:402
msgid ""
"It is extremely important... _extremely_ important for most of a processor's "
"memory accesses to be able to come from the L1 cache, because the L1 cache "
"operates at the processor frequency. The moment you have an L1 cache miss "
"and have to go to the L2 cache or to main memory, the processor will stall "
"and potentially sit twiddling its fingers for _hundreds_ of instructions "
"worth of time waiting for a read from main memory to complete. Main memory "
"(the dynamic ram you stuff into a computer) is __slow__, when compared to "
"the speed of a modern processor core."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:404
+#: documentation/content/en/articles/vm-design/_index.adoc:406
msgid ""
"Ok, so now onto page coloring: All modern memory caches are what are known "
"as _physical_ caches. They cache physical memory addresses, not virtual "
"memory addresses. This allows the cache to be left alone across a process "
"context switch, which is very important."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:409
+#: documentation/content/en/articles/vm-design/_index.adoc:411
msgid ""
"But in the UNIX(R) world you are dealing with virtual address spaces, not "
"physical address spaces. Any program you write will see the virtual address "
"space given to it. The actual _physical_ pages underlying that virtual "
"address space are not necessarily physically contiguous! In fact, you might "
"have two pages that are side by side in a processes address space which wind "
"up being at offset 0 and offset 128K in _physical_ memory."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:413
+#: documentation/content/en/articles/vm-design/_index.adoc:415
msgid ""
"A program normally assumes that two side-by-side pages will be optimally "
"cached. That is, that you can access data objects in both pages without "
"having them blow away each other's cache entry. But this is only true if "
"the physical pages underlying the virtual address space are contiguous "
"(insofar as the cache is concerned)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:417
+#: documentation/content/en/articles/vm-design/_index.adoc:419
msgid ""
"This is what Page coloring does. Instead of assigning _random_ physical "
"pages to virtual addresses, which may result in non-optimal cache "
"performance, Page coloring assigns _reasonably-contiguous_ physical pages to "
"virtual addresses. Thus programs can be written under the assumption that "
"the characteristics of the underlying hardware cache are the same for their "
"virtual address space as they would be if the program had been run directly "
"in a physical address space."
msgstr ""
#. type: Plain text
-#: documentation/content/en/articles/vm-design/_index.adoc:421
+#: documentation/content/en/articles/vm-design/_index.adoc:423
msgid ""
"Note that I say \"reasonably\" contiguous rather than simply "
"\"contiguous\". From the point of view of a 128K direct mapped cache, the "
"physical address 0 is the same as the physical address 128K. So two side-by-"
"side pages in your virtual address space may wind up being offset 128K and "
"offset 132K in physical memory, but could also easily be offset 128K and "
"offset 4K in physical memory and still retain the same cache performance "
"characteristics. So page-coloring does _not_ have to assign truly "
"contiguous pages of physical memory to contiguous pages of virtual memory, "
"it just needs to make sure it assigns contiguous pages from the point of "
"view of cache performance and operation."
msgstr ""
diff --git a/documentation/content/en/books/developers-handbook/tools/_index.po b/documentation/content/en/books/developers-handbook/tools/_index.po
index 5e333d24fb..add16f6905 100644
--- a/documentation/content/en/books/developers-handbook/tools/_index.po
+++ b/documentation/content/en/books/developers-handbook/tools/_index.po
@@ -1,3377 +1,3360 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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: Title =
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:16
#, no-wrap
msgid "Programming Tools"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Programming Tools"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:56
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:63
msgid ""
"This chapter is an introduction to using some of the programming tools "
"supplied with FreeBSD, although much of it will be applicable to many other "
"versions of UNIX(R). It does _not_ attempt to describe coding in any "
"detail. Most of the chapter assumes little or no previous programming "
"knowledge, although it is hoped that most programmers will find something of "
"value in it."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:65
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:72
msgid ""
"FreeBSD offers an excellent development environment. Compilers for C and C+"
"+ and an assembler come with the basic system, not to mention classic "
"UNIX(R) tools such as `sed` and `awk`. If that is not enough, there are "
"many more compilers and interpreters in the Ports collection. The following "
"section, <<tools-programming,Introduction to Programming>>, lists some of "
"the available options. FreeBSD is very compatible with standards such as "
"POSIX(R) and ANSI C, as well with its own BSD heritage, so it is possible to "
"write applications that will compile and run with little or no modification "
"on a wide range of platforms."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:76
msgid ""
"However, all this power can be rather overwhelming at first if you have "
"never written programs on a UNIX(R) platform before. This document aims to "
"help you get up and running, without getting too deeply into more advanced "
"topics. The intention is that this document should give you enough of the "
"basics to be able to make some sense of the documentation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:78
msgid ""
"Most of the document requires little or no knowledge of programming, "
"although it does assume a basic competence with using UNIX(R) and a "
"willingness to learn!"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:80
#, no-wrap
msgid "Introduction to Programming"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:86
msgid ""
"A program is a set of instructions that tell the computer to do various "
"things; sometimes the instruction it has to perform depends on what happened "
"when it performed a previous instruction. This section gives an overview of "
"the two main ways in which you can give these instructions, or \"commands\" "
"as they are usually called. One way uses an _interpreter_, the other a "
"_compiler_. As human languages are too difficult for a computer to "
"understand in an unambiguous way, commands are usually written in one or "
"other languages specially designed for the purpose."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:87
#, no-wrap
msgid "Interpreters"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:92
msgid ""
"With an interpreter, the language comes as an environment, where you type in "
"commands at a prompt and the environment executes them for you. For more "
"complicated programs, you can type the commands into a file and get the "
"interpreter to load the file and execute the commands in it. If anything "
"goes wrong, many interpreters will drop you into a debugger to help you "
"track down the problem."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:97
msgid ""
"The advantage of this is that you can see the results of your commands "
"immediately, and mistakes can be corrected readily. The biggest "
"disadvantage comes when you want to share your programs with someone. They "
"must have the same interpreter, or you must have some way of giving it to "
"them, and they need to understand how to use it. Also users may not "
"appreciate being thrown into a debugger if they press the wrong key! From a "
"performance point of view, interpreters can use up a lot of memory, and "
"generally do not generate code as efficiently as compilers."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:102
msgid ""
"In my opinion, interpreted languages are the best way to start if you have "
"not done any programming before. This kind of environment is typically "
"found with languages like Lisp, Smalltalk, Perl and Basic. It could also be "
"argued that the UNIX(R) shell (`sh`, `csh`) is itself an interpreter, and "
"many people do in fact write shell \"scripts\" to help with various "
"\"housekeeping\" tasks on their machine. Indeed, part of the original "
"UNIX(R) philosophy was to provide lots of small utility programs that could "
"be linked together in shell scripts to perform useful tasks."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:103
#, no-wrap
msgid "Interpreters Available with FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:106
msgid ""
"Here is a list of interpreters that are available from the FreeBSD Ports "
"Collection, with a brief discussion of some of the more popular interpreted "
"languages."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:108
msgid ""
"Instructions on how to get and install applications from the Ports "
"Collection can be found in the extref:{handbook}[Ports section, ports-using] "
"of the handbook."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:109
#, no-wrap
msgid "BASIC"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:113
msgid ""
"Short for Beginner's All-purpose Symbolic Instruction Code. Developed in "
"the 1950s for teaching University students to program and provided with "
"every self-respecting personal computer in the 1980s, BASIC has been the "
"first programming language for many programmers. It is also the foundation "
"for Visual Basic."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:115
msgid ""
"The Bywater Basic Interpreter can be found in the Ports Collection as "
"package:lang/bwbasic[] and the Phil Cockroft's Basic Interpreter (formerly "
"Rabbit Basic) is available as package:lang/pbasic[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:116
#, no-wrap
msgid "Lisp"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:120
msgid ""
"A language that was developed in the late 1950s as an alternative to the "
"\"number-crunching\" languages that were popular at the time. Instead of "
"being based on numbers, Lisp is based on lists; in fact, the name is short "
"for \"List Processing\". It is very popular in AI (Artificial Intelligence) "
"circles."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:122
msgid ""
"Lisp is an extremely powerful and sophisticated language, but can be rather "
"large and unwieldy."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:127
msgid ""
"Various implementations of Lisp that can run on UNIX(R) systems are "
"available in the Ports Collection for FreeBSD. GNU Common Lisp can be found "
"as package:lang/gcl[]. CLISP by Bruno Haible and Michael Stoll is available "
"as package:lang/clisp[]. For CMUCL, which includes a highly-optimizing "
"compiler too, or simpler Lisp implementations like SLisp, which implements "
"most of the Common Lisp constructs in a few hundred lines of C code, package:"
"lang/cmucl[] and package:lang/slisp[] are available respectively."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:128
#, no-wrap
msgid "Perl"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:130
msgid ""
"Very popular with system administrators for writing scripts; also often used "
"on World Wide Web servers for writing CGI scripts."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:132
msgid ""
"Perl is available in the Ports Collection as package:lang/perl5.24[] for all "
"FreeBSD releases."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:133
#, no-wrap
msgid "Scheme"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:137
msgid ""
"A dialect of Lisp that is rather more compact and cleaner than Common Lisp. "
"Popular in Universities as it is simple enough to teach to undergraduates as "
"a first language, while it has a high enough level of abstraction to be used "
"in research work."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:140
msgid ""
"Scheme is available from the Ports Collection as package:lang/elk[] for the "
"Elk Scheme Interpreter. The MIT Scheme Interpreter can be found in package:"
"lang/mit-scheme[] and the SCM Scheme Interpreter in package:lang/scm[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:141
#, no-wrap
msgid "Icon"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:144
msgid ""
"Icon is a high-level language with extensive facilities for processing "
"strings and structures. The version of Icon for FreeBSD can be found in the "
"Ports Collection as package:lang/icon[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:145
#, no-wrap
msgid "Logo"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:148
msgid ""
"Logo is a language that is easy to learn, and has been used as an "
"introductory programming language in various courses. It is an excellent "
"tool to work with when teaching programming to smaller age groups, as it "
"makes creation of elaborate geometric shapes an easy task."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:150
msgid ""
"The latest version of Logo for FreeBSD is available from the Ports "
"Collection in package:lang/logo[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:151
#, no-wrap
msgid "Python"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:154
msgid ""
"Python is an Object-Oriented, interpreted language. Its advocates argue "
"that it is one of the best languages to start programming with, since it is "
"relatively easy to start with, but is not limited in comparison to other "
"popular interpreted languages that are used for the development of large, "
"complex applications (Perl and Tcl are two other languages that are popular "
"for such tasks)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:156
msgid ""
"The latest version of Python is available from the Ports Collection in "
"package:lang/python[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:157
#, no-wrap
msgid "Ruby"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:160
msgid ""
"Ruby is an interpreter, pure object-oriented programming language. It has "
"become widely popular because of its easy to understand syntax, flexibility "
"when writing code, and the ability to easily develop and maintain large, "
"complex programs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:162
msgid "Ruby is available from the Ports Collection as package:lang/ruby32[]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:163
#, no-wrap
msgid "Tcl and Tk"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:166
msgid ""
"Tcl is an embeddable, interpreted language, that has become widely used and "
"became popular mostly because of its portability to many platforms. It can "
"be used both for quickly writing small, prototype applications, or (when "
"combined with Tk, a GUI toolkit) fully-fledged, featureful programs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:169
msgid ""
"Various versions of Tcl are available as ports for FreeBSD. The latest "
"version, Tcl 8.5, can be found in package:lang/tcl87[]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:170
#, no-wrap
msgid "Compilers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:177
msgid ""
"Compilers are rather different. First of all, you write your code in a file "
"(or files) using an editor. You then run the compiler and see if it accepts "
"your program. If it did not compile, grit your teeth and go back to the "
"editor; if it did compile and gave you a program, you can run it either at a "
"shell command prompt or in a debugger to see if it works properly.footnote:"
"[If you run it in the shell, you may get a core dump.]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:184
msgid ""
"Obviously, this is not quite as direct as using an interpreter. However it "
"allows you to do a lot of things which are very difficult or even impossible "
"with an interpreter, such as writing code which interacts closely with the "
"operating system-or even writing your own operating system! It is also "
"useful if you need to write very efficient code, as the compiler can take "
"its time and optimize the code, which would not be acceptable in an "
"interpreter. Moreover, distributing a program written for a compiler is "
"usually more straightforward than one written for an interpreter-you can "
"just give them a copy of the executable, assuming they have the same "
"operating system as you."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:188
msgid ""
"As the edit-compile-run-debug cycle is rather tedious when using separate "
"programs, many commercial compiler makers have produced Integrated "
"Development Environments (IDEs for short). FreeBSD does not include an IDE "
"in the base system, but package:devel/kdevelop[] is available in the Ports "
"Collection and many use Emacs for this purpose. Using Emacs as an IDE is "
"discussed in <<emacs>>."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:190
#, no-wrap
msgid "Compiling with `cc`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:195
msgid ""
"This section deals with the clang compiler for C and C++, as it's installed "
"with the FreeBSD base system. Starting with FreeBSD 10.X `clang` is "
"installed as `cc`; the GNU compiler package:lang/gcc[gcc] is available in "
"the Ports Collection. The details of producing a program with an "
"interpreter vary considerably between interpreters, and are usually well "
"covered in the documentation and on-line help for the interpreter."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:198
msgid ""
"Once you have written your masterpiece, the next step is to convert it into "
"something that will (hopefully!) run on FreeBSD. This usually involves "
"several steps, each of which is done by a separate program."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:201
msgid ""
"Pre-process your source code to remove comments and do other tricks like "
"expanding macros in C."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:202
msgid ""
"Check the syntax of your code to see if you have obeyed the rules of the "
"language. If you have not, it will complain!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:203
msgid ""
"Convert the source code into assembly language-this is very close to machine "
"code, but still understandable by humans. Allegedly."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:204
msgid ""
"Convert the assembly language into machine code-yep, we are talking bits and "
"bytes, ones and zeros here."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:205
msgid ""
"Check that you have used things like functions and global variables in a "
"consistent way. For example, if you have called a non-existent function, it "
"will complain."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:206
msgid ""
"If you are trying to produce an executable from several source code files, "
"work out how to fit them all together."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:207
msgid ""
"Work out how to produce something that the system's run-time loader will be "
"able to load into memory and run."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:208
msgid "Finally, write the executable on the filesystem."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:211
msgid ""
"The word _compiling_ is often used to refer to just steps 1 to 4-the others "
"are referred to as _linking_. Sometimes step 1 is referred to as _pre-"
"processing_ and steps 3-4 as _assembling_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:213
msgid ""
"Fortunately, almost all this detail is hidden from you, as `cc` is a front "
"end that manages calling all these programs with the right arguments for "
"you; simply typing"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:217
#, no-wrap
msgid "% cc foobar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:221
msgid ""
"will cause [.filename]#foobar.c# to be compiled by all the steps above. If "
"you have more than one file to compile, just do something like"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:225
#, no-wrap
msgid "% cc foo.c bar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:230
msgid ""
"Note that the syntax checking is just that - checking the syntax. It will "
"not check for any logical mistakes you may have made, like putting the "
"program into an infinite loop, or using a bubble sort when you meant to use "
"a binary sort.footnote:[In case you did not know, a binary sort is an "
"efficient way of sorting things into order and a bubble sort is not.]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:233
msgid ""
"There are lots and lots of options for `cc`, which are all in the manual "
"page. Here are a few of the most important ones, with examples of how to "
"use them."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:234
#, no-wrap
msgid "`-o _filename_`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:236
msgid ""
"The output name of the file. If you do not use this option, `cc` will "
"produce an executable called [.filename]#a.out#.footnote:[The reasons for "
"this are buried in the mists of history.]"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:241
#, no-wrap
msgid ""
"% cc foobar.c executable is a.out\n"
"% cc -o foobar foobar.c executable is foobar\n"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:243
#, no-wrap
msgid "`-c`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:246
msgid ""
"Just compile the file, do not link it. Useful for toy programs where you "
"just want to check the syntax, or if you are using a [.filename]#Makefile#."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:250
#, no-wrap
msgid "% cc -c foobar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:254
msgid ""
"This will produce an _object file_ (not an executable) called [."
"filename]#foobar.o#. This can be linked together with other object files "
"into an executable."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:255
#, no-wrap
msgid "`-g`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:261
msgid ""
"Create a debug version of the executable. This makes the compiler put "
"information into the executable about which line of which source file "
"corresponds to which function call. A debugger can use this information to "
"show the source code as you step through the program, which is _very_ "
"useful; the disadvantage is that all this extra information makes the "
"program much bigger. Normally, you compile with `-g` while you are "
"developing a program and then compile a \"release version\" without `-g` "
"when you are satisfied it works properly."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:266
#, no-wrap
msgid "% cc -g foobar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:269
msgid ""
"This will produce a debug version of the program. footnote:[Note, we did not "
"use the -o flag to specify the executable name, so we will get an executable "
"called a.out. Producing a debug version called foobar is left as an exercise "
"for the reader!]"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:270
#, no-wrap
msgid "`-O`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:274
msgid ""
"Create an optimized version of the executable. The compiler performs "
"various clever tricks to try to produce an executable that runs faster than "
"normal. You can add a number after the `-O` to specify a higher level of "
"optimization, but this often exposes bugs in the compiler's optimizer."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:278
#, no-wrap
msgid "% cc -O -o foobar foobar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:281
msgid "This will produce an optimized version of [.filename]#foobar#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:284
msgid ""
"The following three flags will force `cc` to check that your code complies "
"to the relevant international standard, often referred to as the ANSI "
"standard, though strictly speaking it is an ISO standard."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:285
#, no-wrap
msgid "`-Wall`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:288
msgid ""
"Enable all the warnings which the authors of `cc` believe are worthwhile. "
"Despite the name, it will not enable all the warnings `cc` is capable of."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:289
#, no-wrap
msgid "`-ansi`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:292
msgid ""
"Turn off most, but not all, of the non-ANSI C features provided by `cc`. "
"Despite the name, it does not guarantee strictly that your code will comply "
"to the standard."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:293
#, no-wrap
msgid "`-pedantic`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:295
msgid "Turn off _all_ ``cc``'s non-ANSI C features."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:300
msgid ""
"Without these flags, `cc` will allow you to use some of its non-standard "
"extensions to the standard. Some of these are very useful, but will not "
"work with other compilers - in fact, one of the main aims of the standard is "
"to allow people to write code that will work with any compiler on any "
"system. This is known as _portable code_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:303
msgid ""
"Generally, you should try to make your code as portable as possible, as "
"otherwise you may have to completely rewrite the program later to get it to "
"work somewhere else - and who knows what you may be using in a few years "
"time?"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:307
#, no-wrap
msgid "% cc -Wall -ansi -pedantic -o foobar foobar.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:310
msgid ""
"This will produce an executable [.filename]#foobar# after checking [."
"filename]#foobar.c# for standard compliance."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:311
#, no-wrap
msgid "`-l__library__`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:313
msgid "Specify a function library to be used at link time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:316
msgid ""
"The most common example of this is when compiling a program that uses some "
"of the mathematical functions in C. Unlike most other platforms, these are "
"in a separate library from the standard C one and you have to tell the "
"compiler to add it."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:320
msgid ""
"The rule is that if the library is called [.filename]#libsomething.a#, you "
"give `cc` the argument `-l__something__`. For example, the math library is "
"[.filename]#libm.a#, so you give `cc` the argument `-lm`. A common "
"\"gotcha\" with the math library is that it has to be the last library on "
"the command line."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:324
#, no-wrap
msgid "% cc -o foobar foobar.c -lm\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:327
msgid "This will link the math library functions into [.filename]#foobar#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:330
msgid ""
"If you are compiling C++ code, use {c-plus-plus-command}. {c-plus-plus-"
"command} can also be invoked as {clang-plus-plus-command} on FreeBSD."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:334
#, no-wrap
msgid "% c++ -o foobar foobar.cc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:337
msgid ""
"This will both produce an executable [.filename]#foobar# from the C++ source "
"file [.filename]#foobar.cc#."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:338
#, no-wrap
msgid "Common `cc` Queries and Problems"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:340
#, no-wrap
msgid "I compiled a file called foobar.c and I cannot find an executable called foobar. Where has it gone?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:344
msgid ""
"Remember, `cc` will call the executable [.filename]#a.out# unless you tell "
"it differently. Use the `-o _filename_` option:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:348
#, no-wrap
msgid "% cc -o foobar foobar.c\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:350
#, no-wrap
msgid "OK, I have an executable called foobar, I can see it when I run ls, but when I type in foobar at the command prompt it tells me there is no such file. Why can it not find it?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:354
msgid ""
"Unlike MS-DOS(R), UNIX(R) does not look in the current directory when it is "
"trying to find out which executable you want it to run, unless you tell it "
"to. Type `./foobar`, which means \"run the file called [.filename]#foobar# "
"in the current directory.\""
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:355
#, no-wrap
msgid "I called my executable test, but nothing happens when I run it. What is going on?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:359
msgid ""
"Most UNIX(R) systems have a program called `test` in [.filename]#/usr/bin# "
"and the shell is picking that one up before it gets to checking the current "
"directory. Either type:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:363
#, no-wrap
msgid "% ./test\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:366
msgid "or choose a better name for your program!"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:367
#, no-wrap
msgid "I compiled my program and it seemed to run all right at first, then there was an error and it said something about core dumped. What does that mean?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:371
msgid ""
"The name _core dump_ dates back to the very early days of UNIX(R), when the "
"machines used core memory for storing data. Basically, if the program "
"failed under certain conditions, the system would write the contents of core "
"memory to disk in a file called [.filename]#core#, which the programmer "
"could then pore over to find out what went wrong."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:372
#, no-wrap
msgid "Fascinating stuff, but what I am supposed to do now?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:375
msgid "Use a debugger to analyze the core (see <<debugging>>)."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:376
#, no-wrap
msgid "When my program dumped core, it said something about a segmentation fault. What is that?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:380
msgid ""
"This basically means that your program tried to perform some sort of illegal "
"operation on memory; UNIX(R) is designed to protect the operating system and "
"other programs from rogue programs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:382
msgid "Common causes for this are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:384
msgid "Trying to write to a NULL pointer, eg"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:389
#, no-wrap
msgid ""
"char *foo = NULL;\n"
"strcpy(foo, \"bang!\");\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:392
msgid "Using a pointer that has not been initialized, eg"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:397
#, no-wrap
msgid ""
"char *foo;\n"
"strcpy(foo, \"bang!\");\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:401
msgid ""
"The pointer will have some random value that, with luck, will point into an "
"area of memory that is not available to your program and the kernel will "
"kill your program before it can do any damage. If you are unlucky, it will "
"point somewhere inside your own program and corrupt one of your data "
"structures, causing the program to fail mysteriously."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:402
msgid "Trying to access past the end of an array, eg"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:407
#, no-wrap
msgid ""
"int bar[20];\n"
"bar[27] = 6;\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:410
msgid "Trying to store something in read-only memory, eg"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:415
#, no-wrap
msgid ""
"char *foo = \"My string\";\n"
"strcpy(foo, \"bang!\");\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:418
msgid ""
"UNIX(R) compilers often put string literals like `\"My string\"` into read-"
"only areas of memory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:419
msgid "Doing naughty things with `malloc()` and `free()`, eg"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:424
#, no-wrap
msgid ""
"char bar[80];\n"
"free(bar);\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:427
msgid "or"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:433
#, no-wrap
msgid ""
"char *foo = malloc(27);\n"
"free(foo);\n"
"free(foo);\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:438
msgid ""
"Making one of these mistakes will not always lead to an error, but they are "
"always bad practice. Some systems and compilers are more tolerant than "
"others, which is why programs that ran well on one system can crash when you "
"try them on an another."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:439
#, no-wrap
msgid "Sometimes when I get a core dump it says bus error. It says in my UNIX(R) book that this means a hardware problem, but the computer still seems to be working. Is this true?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:443
msgid ""
"No, fortunately not (unless of course you really do have a hardware "
"problem...). This is usually another way of saying that you accessed memory "
"in a way you should not have."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:444
#, no-wrap
msgid "This dumping core business sounds as though it could be quite useful, if I can make it happen when I want to. Can I do this, or do I have to wait until there is an error?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:447
msgid "Yes, just go to another console or xterm, do"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:451
#, no-wrap
msgid "% ps\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:454
msgid "to find out the process ID of your program, and do"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:458
#, no-wrap
msgid "% kill -ABRT pid\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:461
msgid "where `_pid_` is the process ID you looked up."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:464
msgid ""
"This is useful if your program has got stuck in an infinite loop, for "
"instance. If your program happens to trap SIGABRT, there are several other "
"signals which have a similar effect."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:467
msgid ""
"Alternatively, you can create a core dump from inside your program, by "
"calling the `abort()` function. See the manual page of man:abort[3] to "
"learn more."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:470
msgid ""
"If you want to create a core dump from outside your program, but do not want "
"the process to terminate, you can use the `gcore` program. See the manual "
"page of man:gcore[1] for more information."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:472
#, no-wrap
msgid "Make"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:474
#, no-wrap
msgid "What is `make`?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:477
msgid ""
"When you are working on a simple program with only one or two source files, "
"typing in"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:481
#, no-wrap
msgid "% cc file1.c file2.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:484
msgid ""
"is not too bad, but it quickly becomes very tedious when there are several "
"files-and it can take a while to compile, too."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:487
msgid ""
"One way to get around this is to use object files and only recompile the "
"source file if the source code has changed. So we could have something like:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:491
#, no-wrap
msgid "% cc file1.o file2.o … file37.c …\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:495
msgid ""
"if we had changed [.filename]#file37.c#, but not any of the others, since "
"the last time we compiled. This may speed up the compilation quite a bit, "
"but does not solve the typing problem."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:497
msgid ""
"Or we could write a shell script to solve the typing problem, but it would "
"have to re-compile everything, making it very inefficient on a large project."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:499
msgid ""
"What happens if we have hundreds of source files lying about? What if we are "
"working in a team with other people who forget to tell us when they have "
"changed one of their source files that we use?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:502
msgid ""
"Perhaps we could put the two solutions together and write something like a "
"shell script that would contain some kind of magic rule saying when a source "
"file needs compiling. Now all we need now is a program that can understand "
"these rules, as it is a bit too complicated for the shell."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:507
msgid ""
"This program is called `make`. It reads in a file, called a _makefile_, "
"that tells it how different files depend on each other, and works out which "
"files need to be re-compiled and which ones do not. For example, a rule "
"could say something like \"if [.filename]#fromboz.o# is older than [."
"filename]#fromboz.c#, that means someone must have changed [."
"filename]#fromboz.c#, so it needs to be re-compiled.\" The makefile also has "
"rules telling make _how_ to re-compile the source file, making it a much "
"more powerful tool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:510
msgid ""
"Makefiles are typically kept in the same directory as the source they apply "
"to, and can be called [.filename]#makefile#, [.filename]#Makefile# or [."
"filename]#MAKEFILE#. Most programmers use the name [.filename]#Makefile#, "
"as this puts it near the top of a directory listing, where it can easily be "
"seen.footnote:[They do not use the MAKEFILE form as block capitals are often "
"used for documentation files like README.]"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:511
#, no-wrap
msgid "Example of Using `make`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:514
msgid "Here is a very simple make file:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:519
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:545
#, no-wrap
msgid ""
"foo: foo.c\n"
"\tcc -o foo foo.c\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:522
msgid "It consists of two lines, a dependency line and a creation line."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:529
msgid ""
"The dependency line here consists of the name of the program (known as the "
"_target_), followed by a colon, then whitespace, then the name of the source "
"file. When `make` reads this line, it looks to see if [.filename]#foo# "
"exists; if it exists, it compares the time [.filename]#foo# was last "
"modified to the time [.filename]#foo.c# was last modified. If [."
"filename]#foo# does not exist, or is older than [.filename]#foo.c#, it then "
"looks at the creation line to find out what to do. In other words, this is "
"the rule for working out when [.filename]#foo.c# needs to be re-compiled."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:533
msgid ""
"The creation line starts with a tab (press kbd:[tab]) and then the command "
"you would type to create [.filename]#foo# if you were doing it at a command "
"prompt. If [.filename]#foo# is out of date, or does not exist, `make` then "
"executes this command to create it. In other words, this is the rule which "
"tells make how to re-compile [.filename]#foo.c#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:537
msgid ""
"So, when you type `make`, it will make sure that [.filename]#foo# is up to "
"date with respect to your latest changes to [.filename]#foo.c#. This "
"principle can be extended to [.filename]#Makefile#'s with hundreds of "
"targets-in fact, on FreeBSD, it is possible to compile the entire operating "
"system just by typing `make world` in the appropriate directory!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:540
msgid ""
"Another useful property of makefiles is that the targets do not have to be "
"programs. For instance, we could have a make file that looks like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:548
#, no-wrap
msgid ""
"install:\n"
"\tcp foo /home/me\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:551
msgid "We can tell make which target we want to make by typing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:555
#, no-wrap
msgid "% make target\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:559
msgid ""
"`make` will then only look at that target and ignore any others. For "
"example, if we type `make foo` with the makefile above, make will ignore the "
"`install` target."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:562
msgid ""
"If we just type `make` on its own, make will always look at the first target "
"and then stop without looking at any others. So if we typed `make` here, it "
"will just go to the `foo` target, re-compile [.filename]#foo# if necessary, "
"and then stop without going on to the `install` target."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:566
msgid ""
"Notice that the `install` target does not actually depend on anything! This "
"means that the command on the following line is always executed when we try "
"to make that target by typing `make install`. In this case, it will copy [."
"filename]#foo# into the user's home directory. This is often used by "
"application makefiles, so that the application can be installed in the "
"correct directory when it has been correctly compiled."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:571
msgid ""
"This is a slightly confusing subject to try to explain. If you do not quite "
"understand how `make` works, the best thing to do is to write a simple "
"program like \"hello world\" and a make file like the one above and "
"experiment. Then progress to using more than one source file, or having the "
"source file include a header file. `touch` is very useful here-it changes "
"the date on a file without you having to edit it."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:572
#, no-wrap
msgid "Make and include-files"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:576
msgid ""
"C code often starts with a list of files to include, for example stdio.h. "
"Some of these files are system-include files, some of them are from the "
"project you are now working on:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:581
#, no-wrap
msgid ""
"#include <stdio.h>\n"
"#include \"foo.h\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:583
#, no-wrap
msgid "int main(....\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:586
msgid ""
"To make sure that this file is recompiled the moment [.filename]#foo.h# is "
"changed, you have to add it in your [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:590
#, no-wrap
msgid "foo: foo.c foo.h\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:597
msgid ""
"The moment your project is getting bigger and you have more and more own "
"include-files to maintain, it will be a pain to keep track of all include "
"files and the files which are depending on it. If you change an include-"
"file but forget to recompile all the files which are depending on it, the "
"results will be devastating. `clang` has an option to analyze your files "
"and to produce a list of include-files and their dependencies: `-MM`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:599
msgid "If you add this to your Makefile:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:604
#, no-wrap
msgid ""
"depend:\n"
"\tcc -E -MM *.c > .depend\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:607
msgid ""
"and run `make depend`, the file [.filename]#.depend# will appear with a list "
"of object-files, C-files and the include-files:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:611
#, no-wrap
msgid "foo.o: foo.c foo.h\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:614
msgid ""
"If you change [.filename]#foo.h#, next time you run `make` all files "
"depending on [.filename]#foo.h# will be recompiled."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:616
msgid ""
"Do not forget to run `make depend` each time you add an include-file to one "
"of your files."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:617
#, no-wrap
msgid "FreeBSD Makefiles"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:623
msgid ""
"Makefiles can be rather complicated to write. Fortunately, BSD-based "
"systems like FreeBSD come with some very powerful ones as part of the "
"system. One very good example of this is the FreeBSD ports system. Here is "
"the essential part of a typical ports [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:628
#, no-wrap
msgid ""
"MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/\n"
"DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:630
#, no-wrap
msgid ".include <bsd.port.mk>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:633
msgid ""
"Now, if we go to the directory for this port and type `make`, the following "
"happens:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:636
msgid ""
"A check is made to see if the source code for this port is already on the "
"system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:637
msgid ""
"If it is not, an FTP connection to the URL in MASTER_SITES is set up to "
"download the source."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:638
msgid ""
"The checksum for the source is calculated and compared it with one for a "
"known, good, copy of the source. This is to make sure that the source was "
"not corrupted while in transit."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:639
msgid ""
"Any changes required to make the source work on FreeBSD are applied-this is "
"known as _patching_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:640
msgid ""
"Any special configuration needed for the source is done. (Many UNIX(R) "
"program distributions try to work out which version of UNIX(R) they are "
"being compiled on and which optional UNIX(R) features are present-this is "
"where they are given the information in the FreeBSD ports scenario)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:641
msgid ""
"The source code for the program is compiled. In effect, we change to the "
"directory where the source was unpacked and do `make`-the program's own make "
"file has the necessary information to build the program."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:642
msgid ""
"We now have a compiled version of the program. If we wish, we can test it "
"now; when we feel confident about the program, we can type `make install`. "
"This will cause the program and any supporting files it needs to be copied "
"into the correct location; an entry is also made into a `package database`, "
"so that the port can easily be uninstalled later if we change our mind about "
"it."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:644
msgid ""
"Now I think you will agree that is rather impressive for a four line script!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:648
msgid ""
"The secret lies in the last line, which tells `make` to look in the system "
"makefile called [.filename]#bsd.port.mk#. It is easy to overlook this line, "
"but this is where all the clever stuff comes from-someone has written a "
"makefile that tells `make` to do all the things above (plus a couple of "
"other things I did not mention, including handling any errors that may "
"occur) and anyone can get access to that just by putting a single line in "
"their own make file!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:652
msgid ""
"If you want to have a look at these system makefiles, they are in [."
"filename]#/usr/share/mk#, but it is probably best to wait until you have had "
"a bit of practice with makefiles, as they are very complicated (and if you "
"do look at them, make sure you have a flask of strong coffee handy!)"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/developers-handbook/tools/_index.adoc:653
#, no-wrap
msgid "More Advanced Uses of `make`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:658
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:659
msgid ""
"`Make` is a very powerful tool, and can do much more than the simple example "
"above shows. Unfortunately, there are several different versions of `make`, "
"and they all differ considerably. The best way to learn what they can do is "
"probably to read the documentation-hopefully this introduction will have "
-"given you a base from which you can do this."
+"given you a base from which you can do this. The man:make[1] manual page "
+"offers a comprehensive discussion of variables, arguments, and how to use "
+"make."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:661
-msgid ""
-"The version of make that comes with FreeBSD is the Berkeley make; there is a "
-"tutorial for it in [.filename]#/usr/src/share/doc/psd/12.make#. To view it, "
-"do"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:665
-#, no-wrap
-msgid "% zmore paper.ascii.gz\n"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:668
-msgid "in that directory."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:672
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:663
msgid ""
"Many applications in the ports use GNU make, which has a very good set of "
"\"info\" pages. If you have installed any of these ports, GNU make will "
"automatically have been installed as `gmake`. It is also available as a "
"port and package in its own right."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:675
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:666
msgid ""
"To view the info pages for GNU make, you will have to edit [.filename]#dir# "
"in the [.filename]#/usr/local/info# directory to add an entry for it. This "
"involves adding a line like"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:679
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:670
#, no-wrap
msgid " * Make: (make). The GNU Make utility.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:682
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:673
msgid ""
"to the file. Once you have done this, you can type `info` and then select [."
"guimenuitem]#make# from the menu (or in Emacs, do `C-h i`)."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:684
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:675
#, no-wrap
msgid "Debugging"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:686
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:677
#, no-wrap
msgid "Introduction to Available Debuggers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:692
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:683
msgid ""
"Using a debugger allows running the program under more controlled "
"circumstances. Typically, it is possible to step through the program a line "
"at a time, inspect the value of variables, change them, tell the debugger to "
"run up to a certain point and then stop, and so on. It is also possible to "
"attach to a program that is already running, or load a core file to "
"investigate why the program crashed. It is even possible to debug the "
"kernel, though that is a little trickier than the user applications we will "
"be discussing in this section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:695
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:686
msgid ""
"This section is intended to be a quick introduction to using debuggers and "
"does not cover specialized topics such as debugging the kernel. For more "
"information about that, refer to crossref:kerneldebug[kerneldebug,Kernel "
"Debugging]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:699
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:690
msgid ""
"The standard debugger supplied with FreeBSD {rel121-current} is called "
"`lldb` (LLVM debugger). As it is part of the standard installation for that "
"release, there is no need to do anything special to use it. It has good "
"command help, accessible via the `help` command, as well as https://lldb."
"llvm.org/[a web tutorial and documentation]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:704
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:695
msgid ""
"The `lldb` command is available for FreeBSD {rel113-current} extref:"
-"{handbook}[from ports or packages, ports-using] as package:devel/llvm[]. "
-"This will install the default version of lldb (currently 9.0)."
+"{handbook}ports/[from ports or packages, ports-using] as package:devel/"
+"llvm[]. This will install the default version of lldb (currently 9.0)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:711
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:702
msgid ""
"The other debugger available with FreeBSD is called `gdb` (GNU debugger). "
"Unlike lldb, it is not installed by default on FreeBSD {rel121-current}; to "
"use it, extref:{handbook}#ports-using/[install] package:devel/gdb[] from "
"ports or packages. The version installed by default on FreeBSD {rel113-"
"current} is old; instead, install package:devel/gdb[] there as well. It has "
"quite good on-line help, as well as a set of info pages."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:716
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:707
msgid ""
"Which one to use is largely a matter of taste. If familiar with one only, "
"use that one. People familiar with neither or both but wanting to use one "
"from inside Emacs will need to use `gdb` as `lldb` is unsupported by Emacs. "
"Otherwise, try both and see which one you prefer."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:717
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:708
#, no-wrap
msgid "Using lldb"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:719
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:710
#, no-wrap
msgid "Starting lldb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:722
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:713
msgid "Start up lldb by typing"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:726
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:717
#, no-wrap
msgid "% lldb -- progname\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:728
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:719
#, no-wrap
msgid "Running a Program with lldb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:733
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:724
msgid ""
"Compile the program with `-g` to get the most out of using `lldb`. It will "
"work without, but will only display the name of the function currently "
"running, instead of the source code. If it displays a line like:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:737
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:728
#, no-wrap
msgid "Breakpoint 1: where = temp`main, address = …\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:740
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:731
msgid ""
"(without an indication of source code filename and line number) when setting "
"a breakpoint, this means that the program was not compiled with `-g`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:745
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:736
msgid ""
"Most `lldb` commands have shorter forms that can be used instead. The "
"longer forms are used here for clarity."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:750
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:741
msgid ""
"At the `lldb` prompt, type `breakpoint set -n main`. This will tell the "
"debugger not to display the preliminary set-up code in the program being run "
"and to stop execution at the beginning of the program's code. Now type "
"`process launch` to actually start the program- it will start at the "
"beginning of the set-up code and then get stopped by the debugger when it "
"calls `main()`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:754
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:745
msgid ""
"To step through the program a line at a time, type `thread step-over`. When "
"the program gets to a function call, step into it by typing `thread step-"
"in`. Once in a function call, return from it by typing `thread step-out` or "
"use `up` and `down` to take a quick look at the caller."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:757
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:748
msgid ""
"Here is a simple example of how to spot a mistake in a program with `lldb`. "
"This is our program (with a deliberate mistake):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:761
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1035
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:752
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1026
#, no-wrap
msgid "#include <stdio.h>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:763
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1037
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:754
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1028
#, no-wrap
msgid "int bazz(int anint);\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:766
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1040
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:757
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1031
#, no-wrap
msgid ""
"main() {\n"
"\tint i;\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:771
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1045
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:762
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1036
#, no-wrap
msgid ""
"\tprintf(\"This is my program\\n\");\n"
"\tbazz(i);\n"
"\treturn 0;\n"
"}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:776
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1050
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:767
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1041
#, no-wrap
msgid ""
"int bazz(int anint) {\n"
"\tprintf(\"You gave me %d\\n\", anint);\n"
"\treturn anint;\n"
"}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:779
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1053
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:770
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1044
msgid ""
"This program sets i to be `5` and passes it to a function `bazz()` which "
"prints out the number we gave it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:781
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1055
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:772
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1046
msgid "Compiling and running the program displays"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:788
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:779
#, no-wrap
msgid ""
"% cc -g -o temp temp.c\n"
"% ./temp\n"
"This is my program\n"
"anint = -5360\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:791
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:782
msgid "That is not what was expected! Time to see what is going on!"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:802
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:793
#, no-wrap
msgid ""
"% lldb -- temp\n"
"(lldb) target create \"temp\"\n"
"Current executable set to 'temp' (x86_64).\n"
"(lldb) breakpoint set -n main\t\t\t\tSkip the set-up code\n"
"Breakpoint 1: where = temp`main + 15 at temp.c:8:2, address = 0x00000000002012ef\tlldb puts breakpoint at main()\n"
"(lldb) process launch\t\t\t\t\tRun as far as main()\n"
"Process 9992 launching\n"
"Process 9992 launched: '/home/pauamma/tmp/temp' (x86_64)\tProgram starts running\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:836
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:827
#, no-wrap
msgid ""
"Process 9992 stopped\n"
"* thread #1, name = 'temp', stop reason = breakpoint 1.1\tlldb stops at main()\n"
" frame #0: 0x00000000002012ef temp`main at temp.c:8:2\n"
" 5\tmain() {\n"
" 6\t\tint i;\n"
" 7\n"
"-> 8\t\tprintf(\"This is my program\\n\");\t\t\tIndicates the line where it stopped\n"
" 9\t\tbazz(i);\n"
" 10\t\treturn 0;\n"
" 11\t}\n"
"(lldb) thread step-over\t\t\tGo to next line\n"
"This is my program\t\t\t\t\t\tProgram prints out\n"
"Process 9992 stopped\n"
"* thread #1, name = 'temp', stop reason = step over\n"
" frame #0: 0x0000000000201300 temp`main at temp.c:9:7\n"
" 6\t\tint i;\n"
" 7\n"
" 8\t\tprintf(\"This is my program\\n\");\n"
"-> 9\t\tbazz(i);\n"
" 10\t\treturn 0;\n"
" 11\t}\n"
" 12\n"
"(lldb) thread step-in\t\t\tstep into bazz()\n"
"Process 9992 stopped\n"
"* thread #1, name = 'temp', stop reason = step in\n"
" frame #0: 0x000000000020132b temp`bazz(anint=-5360) at temp.c:14:29\tlldb displays stack frame\n"
" 11\t}\n"
" 12\n"
" 13\tint bazz(int anint) {\n"
"-> 14\t\tprintf(\"You gave me %d\\n\", anint);\n"
" 15\t\treturn anint;\n"
" 16\t}\n"
"(lldb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:839
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:830
msgid ""
"Hang on a minute! How did anint get to be `-5360`? Was it not set to `5` in "
"`main()`? Let us move up to `main()` and have a look."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:853
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:844
#, no-wrap
msgid ""
"(lldb) up\t\tMove up call stack\n"
"frame #1: 0x000000000020130b temp`main at temp.c:9:2\t\tlldb displays stack frame\n"
" 6\t\tint i;\n"
" 7\n"
" 8\t\tprintf(\"This is my program\\n\");\n"
"-> 9\t\tbazz(i);\n"
" 10\t\treturn 0;\n"
" 11\t}\n"
" 12\n"
"(lldb) frame variable i\t\t\tShow us the value of i\n"
"(int) i = -5360\t\t\t\t\t\t\tlldb displays -5360\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:857
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1098
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:848
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1089
msgid ""
"Oh dear! Looking at the code, we forgot to initialize i. We meant to put"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:863
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1104
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:854
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1095
#, no-wrap
msgid ""
"...\n"
"main() {\n"
"\tint i;\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:867
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1108
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:858
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1099
#, no-wrap
msgid ""
"\ti = 5;\n"
"\tprintf(\"This is my program\\n\");\n"
"...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:872
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:863
msgid ""
"but we left the `i=5;` line out. As we did not initialize i, it had "
"whatever number happened to be in that area of memory when the program ran, "
"which in this case happened to be `-5360`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:878
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:869
msgid ""
"The `lldb` command displays the stack frame every time we go into or out of "
"a function, even if we are using `up` and `down` to move around the call "
"stack. This shows the name of the function and the values of its arguments, "
"which helps us keep track of where we are and what is going on. (The stack "
"is a storage area where the program stores information about the arguments "
"passed to functions and where to go when it returns from a function call.)"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:880
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:871
#, no-wrap
msgid "Examining a Core File with lldb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:885
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1126
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:876
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1117
msgid ""
"A core file is basically a file which contains the complete state of the "
"process when it crashed. In \"the good old days\", programmers had to print "
"out hex listings of core files and sweat over machine code manuals, but now "
"life is a bit easier. Incidentally, under FreeBSD and other 4.4BSD systems, "
"a core file is called [.filename]#progname.core# instead of just [."
"filename]#core#, to make it clearer which program a core file belongs to."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:888
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:879
msgid ""
"To examine a core file, specify the name of the core file in addition to the "
"program itself. Instead of starting up `lldb` in the usual way, type `lldb -"
"c _progname_.core \\-- _progname_`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:890
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:881
msgid "The debugger will display something like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:897
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:888
#, no-wrap
msgid ""
"% lldb -c [.filename]#progname.core# -- [.filename]#progname#\n"
"(lldb) target create \"[.filename]#progname#\" --core \"[.filename]#progname#.core\"\n"
"Core file '/home/pauamma/tmp/[.filename]#progname.core#' (x86_64) was loaded.\n"
"(lldb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:903
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:894
msgid ""
"In this case, the program was called [.filename]#progname#, so the core file "
"is called [.filename]#progname.core#. The debugger does not display why the "
"program crashed or where. For this, use `thread backtrace all`. This will "
"also show how the function where the program dumped core was called."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:912
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:903
#, no-wrap
msgid ""
"(lldb) thread backtrace all\n"
"* thread #1, name = 'progname', stop reason = signal SIGSEGV\n"
" * frame #0: 0x0000000000201347 progname`bazz(anint=5) at temp2.c:17:10\n"
" frame #1: 0x0000000000201312 progname`main at temp2.c:10:2\n"
" frame #2: 0x000000000020110f progname`_start(ap=<unavailable>, cleanup=<unavailable>) at crt1.c:76:7\n"
"(lldb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:917
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:908
msgid ""
"`SIGSEGV` indicates that the program tried to access memory (run code or "
"read/write data usually) at a location that does not belong to it, but does "
"not give any specifics. For that, look at the source code at line 10 of "
"file temp2.c, in `bazz()`. The backtrace also says that in this case, "
"`bazz()` was called from `main()`."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:918
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:909
#, no-wrap
msgid "Attaching to a Running Program with lldb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:923
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:914
msgid ""
"One of the neatest features about `lldb` is that it can attach to a program "
"that is already running. Of course, that requires sufficient permissions to "
"do so. A common problem is stepping through a program that forks and "
"wanting to trace the child, but the debugger will only trace the parent."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:925
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:916
msgid ""
"To do that, start up another `lldb`, use `ps` to find the process ID for the "
"child, and do"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:929
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:920
#, no-wrap
msgid "(lldb) process attach -p pid\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:932
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:923
msgid "in `lldb`, and then debug as usual."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:934
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1189
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:925
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1180
msgid ""
"For that to work well, the code that calls `fork` to create the child needs "
"to do something like the following (courtesy of the `gdb` info pages):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:942
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1197
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:933
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1188
#, no-wrap
msgid ""
"...\n"
"if ((pid = fork()) < 0)\t\t/* _Always_ check this */\n"
"\terror();\n"
"else if (pid == 0) {\t\t/* child */\n"
"\tint PauseMode = 1;\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:948
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1203
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:939
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1194
#, no-wrap
msgid ""
"\twhile (PauseMode)\n"
"\t\tsleep(10);\t/* Wait until someone attaches to us */\n"
"\t...\n"
"} else {\t\t\t/* parent */\n"
"\t...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:951
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:942
msgid ""
"Now all that is needed is to attach to the child, set PauseMode to `0` with "
"`expr PauseMode = 0` and wait for the `sleep()` call to return."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:952
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:943
#, no-wrap
msgid "Remote Debugging Using LLDB"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:958
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:949
msgid ""
"The described functionality is available starting with LLDB version 12.0.0. "
"Users of FreeBSD releases containing an earlier LLDB version may wish to use "
"the snapshot available in extref:{handbook}[ports or packages, ports-using], "
"as package:devel/llvm-devel[]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:962
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:953
msgid ""
"Starting with LLDB 12.0.0, remote debugging is supported on FreeBSD. This "
"means that `lldb-server` can be started to debug a program on one host, "
"while the interactive `lldb` client connects to it from another one."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:964
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:955
msgid ""
"To launch a new process to be debugged remotely, run `lldb-server` on the "
"remote server by typing"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:968
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:959
#, no-wrap
msgid "% lldb-server g host:port -- progname\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:971
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:962
msgid ""
"The process will be stopped immediately after launching, and `lldb-server` "
"will wait for the client to connect."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:973
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:964
msgid ""
"Start `lldb` locally and type the following command to connect to the remote "
"server:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:977
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:968
#, no-wrap
msgid "(lldb) gdb-remote host:port\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:981
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:972
msgid ""
"`lldb-server` can also attach to a running process. To do that, type the "
"following on the remote server:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:985
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:976
#, no-wrap
msgid "% lldb-server g host:port --attach pid-or-name\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:987
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:978
#, no-wrap
msgid "Using gdb"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:989
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:980
#, no-wrap
msgid "Starting gdb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:992
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:983
msgid "Start up gdb by typing"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:996
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:987
#, no-wrap
msgid "% gdb progname\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1000
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:991
msgid "although many people prefer to run it inside Emacs. To do this, type:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1004
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:995
#, no-wrap
msgid " M-x gdb RET progname RET\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1007
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:998
msgid ""
"Finally, for those finding its text-based command-prompt style off-putting, "
"there is a graphical front-end for it (package:devel/xxgdb[]) in the Ports "
"Collection."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1008
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:999
#, no-wrap
msgid "Running a Program with gdb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1013
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1004
msgid ""
"Compile the program with `-g` to get the most out of using `gdb`. It will "
"work without, but will only display the name of the function currently "
"running, instead of the source code. A line like:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1017
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1008
#, no-wrap
msgid "... (no debugging symbols found) ...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1020
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1011
msgid "when `gdb` starts up means that the program was not compiled with `-g`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1024
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1015
msgid ""
"At the `gdb` prompt, type `break main`. This will tell the debugger to skip "
"the preliminary set-up code in the program being run and to stop execution "
"at the beginning of the program's code. Now type `run` to start the "
"program- it will start at the beginning of the set-up code and then get "
"stopped by the debugger when it calls `main()`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1028
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1019
msgid ""
"To step through the program a line at a time, press `n`. When at a function "
"call, step into it by pressing `s`. Once in a function call, return from it "
"by pressing `f`, or use `up` and `down` to take a quick look at the caller."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1031
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1022
msgid ""
"Here is a simple example of how to spot a mistake in a program with `gdb`. "
"This is our program (with a deliberate mistake):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1062
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1053
#, no-wrap
msgid ""
"% cc -g -o temp temp.c\n"
"% ./temp\n"
"This is my program\n"
"anint = 4231\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1065
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1056
msgid "That was not what we expected! Time to see what is going on!"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1077
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1068
#, no-wrap
msgid ""
"% gdb temp\n"
"GDB is free software and you are welcome to distribute copies of it\n"
" under certain conditions; type \"show copying\" to see the conditions.\n"
"There is absolutely no warranty for GDB; type \"show warranty\" for details.\n"
"GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.\n"
"(gdb) break main\t\t\t\tSkip the set-up code\n"
"Breakpoint 1 at 0x160f: file temp.c, line 9.\tgdb puts breakpoint at main()\n"
"(gdb) run\t\t\t\t\tRun as far as main()\n"
"Starting program: /home/james/tmp/temp\t\tProgram starts running\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1084
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1075
#, no-wrap
msgid ""
"Breakpoint 1, main () at temp.c:9\t\tgdb stops at main()\n"
"(gdb) n\t\t\t\t\t\tGo to next line\n"
"This is my program\t\t\t\tProgram prints out\n"
"(gdb) s\t\t\t\t\t\tstep into bazz()\n"
"bazz (anint=4231) at temp.c:17\t\t\tgdb displays stack frame\n"
"(gdb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1087
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1078
msgid ""
"Hang on a minute! How did anint get to be `4231`? Was it not set to `5` in "
"`main()`? Let us move up to `main()` and have a look."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1094
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1085
#, no-wrap
msgid ""
"(gdb) up\t\t\t\t\tMove up call stack\n"
"#1 0x1625 in main () at temp.c:11\t\tgdb displays stack frame\n"
"(gdb) p i\t\t\t\t\tShow us the value of i\n"
"$1 = 4231\t\t\t\t\tgdb displays 4231\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1113
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1104
msgid ""
"but we left the `i=5;` line out. As we did not initialize i, it had "
"whatever number happened to be in that area of memory when the program ran, "
"which in this case happened to be `4231`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1119
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1110
msgid ""
"The `gdb` command displays the stack frame every time we go into or out of a "
"function, even if we are using `up` and `down` to move around the call "
"stack. This shows the name of the function and the values of its arguments, "
"which helps us keep track of where we are and what is going on. (The stack "
"is a storage area where the program stores information about the arguments "
"passed to functions and where to go when it returns from a function call.)"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1121
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1112
#, no-wrap
msgid "Examining a Core File with gdb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1129
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1120
msgid ""
"To examine a core file, start up `gdb` in the usual way. Instead of typing "
"`break` or `run`, type"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1133
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1124
#, no-wrap
msgid "(gdb) core progname.core\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1136
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1127
msgid ""
"If the core file is not in the current directory, type `dir /path/to/core/"
"file` first."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1138
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1129
msgid "The debugger should display something like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1152
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1143
#, no-wrap
msgid ""
"% gdb [.filename]#progname#\n"
"GDB is free software and you are welcome to distribute copies of it\n"
" under certain conditions; type \"show copying\" to see the conditions.\n"
"There is absolutely no warranty for GDB; type \"show warranty\" for details.\n"
"GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.\n"
"(gdb) core [.filename]#progname.core#\n"
"Core was generated by `[.filename]#progname#'.\n"
"Program terminated with signal 11, Segmentation fault.\n"
"Cannot access memory at address 0x7020796d.\n"
"#0 0x164a in bazz (anint=0x5) at temp.c:17\n"
"(gdb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1156
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1147
msgid ""
"In this case, the program was called [.filename]#progname#, so the core file "
"is called [.filename]#progname.core#. We can see that the program crashed "
"due to trying to access an area in memory that was not available to it in a "
"function called `bazz`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1160
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1151
msgid ""
"Sometimes it is useful to be able to see how a function was called, as the "
"problem could have occurred a long way up the call stack in a complex "
"program. `bt` causes `gdb` to print out a back-trace of the call stack:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1168
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1159
#, no-wrap
msgid ""
"(gdb) bt\n"
"#0 0x164a in bazz (anint=0x5) at temp.c:17\n"
"#1 0xefbfd888 in end ()\n"
"#2 0x162c in main () at temp.c:11\n"
"(gdb)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1172
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1163
msgid ""
"The `end()` function is called when a program crashes; in this case, the "
"`bazz()` function was called from `main()`."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1173
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1164
#, no-wrap
msgid "Attaching to a Running Program with gdb"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1178
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1169
msgid ""
"One of the neatest features about `gdb` is that it can attach to a program "
"that is already running. Of course, that requires sufficient permissions to "
"do so. A common problem is stepping through a program that forks and "
"wanting to trace the child, but the debugger will only trace the parent."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1180
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1171
msgid ""
"To do that, start up another `gdb`, use `ps` to find the process ID for the "
"child, and do"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1184
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1175
#, no-wrap
msgid "(gdb) attach pid\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1187
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1178
msgid "in `gdb`, and then debug as usual."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1206
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1197
msgid ""
"Now all that is needed is to attach to the child, set PauseMode to `0`, and "
"wait for the `sleep()` call to return!"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1208
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1199
#, no-wrap
msgid "Using Emacs as a Development Environment"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1210
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1201
#, no-wrap
msgid "Emacs"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1214
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1205
msgid ""
"Emacs is a highly customizable editor-indeed, it has been customized to the "
"point where it is more like an operating system than an editor! Many "
"developers and sysadmins do in fact spend practically all their time working "
"inside Emacs, leaving it only to log out."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1216
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1207
msgid ""
"It is impossible even to summarize everything Emacs can do here, but here "
"are some of the features of interest to developers:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1218
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1209
msgid ""
"Very powerful editor, allowing search-and-replace on both strings and "
"regular expressions (patterns), jumping to start/end of block expression, "
"etc, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1219
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1210
msgid "Pull-down menus and online help."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1220
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1211
msgid "Language-dependent syntax highlighting and indentation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1221
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1212
msgid "Completely customizable."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1222
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1213
msgid "You can compile and debug programs within Emacs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1223
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1214
msgid ""
"On a compilation error, you can jump to the offending line of source code."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1224
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1215
msgid ""
"Friendly-ish front-end to the `info` program used for reading GNU hypertext "
"documentation, including the documentation on Emacs itself."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1225
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1216
msgid ""
"Friendly front-end to `gdb`, allowing you to look at the source code as you "
"step through your program."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1227
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1218
msgid "And doubtless many more that have been overlooked."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1229
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1220
msgid ""
"Emacs can be installed on FreeBSD using the package:editors/emacs[] port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1232
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1223
msgid ""
"Once it is installed, start it up and do `C-h t` to read an Emacs tutorial-"
"that means hold down kbd:[control], press kbd:[h], let go of kbd:[control], "
"and then press kbd:[t]. (Alternatively, you can use the mouse to select [."
"guimenuitem]#Emacs Tutorial# from the menu:Help[] menu.)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1237
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1228
msgid ""
"Although Emacs does have menus, it is well worth learning the key bindings, "
"as it is much quicker when you are editing something to press a couple of "
"keys than to try to find the mouse and then click on the right place. And, "
"when you are talking to seasoned Emacs users, you will find they often "
"casually throw around expressions like \"`M-x replace-s RET foo RET bar "
"RET`\" so it is useful to know what they mean. And in any case, Emacs has "
"far too many useful functions for them to all fit on the menu bars."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1241
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1232
msgid ""
"Fortunately, it is quite easy to pick up the key-bindings, as they are "
"displayed next to the menu item. My advice is to use the menu item for, "
"say, opening a file until you understand how it works and feel confident "
"with it, then try doing C-x C-f. When you are happy with that, move on to "
"another menu command."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1244
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1235
msgid ""
"If you cannot remember what a particular combination of keys does, select [."
"guimenuitem]#Describe Key# from the menu:Help[] menu and type it in-Emacs "
"will tell you what it does. You can also use the [.guimenuitem]#Command "
"Apropos# menu item to find out all the commands which contain a particular "
"word in them, with the key binding next to it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1247
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1238
msgid ""
"By the way, the expression above means hold down the kbd:[Meta] key, press "
"kbd:[x], release the kbd:[Meta] key, type `replace-s` (short for `replace-"
"string`-another feature of Emacs is that you can abbreviate commands), press "
"the kbd:[return] key, type `foo` (the string you want replaced), press the "
"kbd:[return] key, type bar (the string you want to replace `foo` with) and "
"press kbd:[return] again. Emacs will then do the search-and-replace "
"operation you have just requested."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1250
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1241
msgid ""
"If you are wondering what on earth kbd:[Meta] is, it is a special key that "
"many UNIX(R) workstations have. Unfortunately, PC's do not have one, so it "
"is usually kbd:[alt] (or if you are unlucky, the kbd:[escape] key)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1254
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1245
msgid ""
"Oh, and to get out of Emacs, do `C-x C-c` (that means hold down the kbd:"
"[control] key, press kbd:[x], press kbd:[c] and release the kbd:[control] "
"key). If you have any unsaved files open, Emacs will ask you if you want to "
"save them. (Ignore the bit in the documentation where it says `C-z` is the "
"usual way to leave Emacs-that leaves Emacs hanging around in the background, "
"and is only really useful if you are on a system which does not have virtual "
"terminals)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1255
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1246
#, no-wrap
msgid "Configuring Emacs"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1258
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1249
msgid ""
"Emacs does many wonderful things; some of them are built in, some of them "
"need to be configured."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1262
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1253
msgid ""
"Instead of using a proprietary macro language for configuration, Emacs uses "
"a version of Lisp specially adapted for editors, known as Emacs Lisp. "
"Working with Emacs Lisp can be quite helpful if you want to go on and learn "
"something like Common Lisp. Emacs Lisp has many features of Common Lisp, "
"although it is considerably smaller (and thus easier to master)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1264
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1255
msgid ""
"The best way to learn Emacs Lisp is to download the link:ftp://ftp.gnu.org/"
"old-gnu/emacs/elisp-manual-19-2.4.tar.gz[Emacs Tutorial]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1269
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1260
msgid ""
"However, there is no need to actually know any Lisp to get started with "
"configuring Emacs, as I have included a sample [.filename]#.emacs#, which "
"should be enough to get you started. Just copy it into your home directory "
"and restart Emacs if it is already running; it will read the commands from "
"the file and (hopefully) give you a useful basic setup."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1270
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1288
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1261
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1279
#, no-wrap
msgid "A Sample [.filename]#.emacs#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1273
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1264
msgid ""
"Unfortunately, there is far too much here to explain it in detail; however "
"there are one or two points worth mentioning."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1275
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1266
msgid "Everything beginning with a `;` is a comment and is ignored by Emacs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1276
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1267
msgid ""
"In the first line, the `-*- Emacs-Lisp -*-` is so that we can edit [."
"filename]#.emacs# itself within Emacs and get all the fancy features for "
"editing Emacs Lisp. Emacs usually tries to guess this based on the filename, "
"and may not get it right for [.filename]#.emacs#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1277
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1268
msgid ""
"The kbd:[tab] key is bound to an indentation function in some modes, so when "
"you press the tab key, it will indent the current line of code. If you want "
"to put a tab character in whatever you are writing, hold the kbd:[control] "
"key down while you are pressing the kbd:[tab] key."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1278
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1269
msgid ""
"This file supports syntax highlighting for C, C++, Perl, Lisp and Scheme, by "
"guessing the language from the filename."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1279
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1270
msgid ""
"Emacs already has a pre-defined function called `next-error`. In a "
"compilation output window, this allows you to move from one compilation "
"error to the next by doing `M-n`; we define a complementary function, "
"`previous-error`, that allows you to go to a previous error by doing `M-p`. "
"The nicest feature of all is that `C-c C-c` will open up the source file in "
"which the error occurred and jump to the appropriate line."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1280
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1271
msgid ""
"We enable Emacs's ability to act as a server, so that if you are doing "
"something outside Emacs and you want to edit a file, you can just type in"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1284
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1275
#, no-wrap
msgid "% emacsclient filename\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1287
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1278
msgid ""
"and then you can edit the file in your Emacs!footnote:[Many Emacs users set "
"their EDITOR environment to emacsclient so this happens every time they need "
"to edit a file.]"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1293
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1284
#, no-wrap
msgid ";; -*-Emacs-Lisp-*-\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1298
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1289
#, no-wrap
msgid ""
";; This file is designed to be re-evaled; use the variable first-time\n"
";; to avoid any problems with this.\n"
"(defvar first-time t\n"
" \"Flag signifying this is the first time that .emacs has been evaled\")\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1306
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1297
#, no-wrap
msgid ""
";; Meta\n"
"(global-set-key \"\\M- \" 'set-mark-command)\n"
"(global-set-key \"\\M-\\C-h\" 'backward-kill-word)\n"
"(global-set-key \"\\M-\\C-r\" 'query-replace)\n"
"(global-set-key \"\\M-r\" 'replace-string)\n"
"(global-set-key \"\\M-g\" 'goto-line)\n"
"(global-set-key \"\\M-h\" 'help-command)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1327
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1318
#, no-wrap
msgid ""
";; Function keys\n"
"(global-set-key [f1] 'manual-entry)\n"
"(global-set-key [f2] 'info)\n"
"(global-set-key [f3] 'repeat-complex-command)\n"
"(global-set-key [f4] 'advertised-undo)\n"
"(global-set-key [f5] 'eval-current-buffer)\n"
"(global-set-key [f6] 'buffer-menu)\n"
"(global-set-key [f7] 'other-window)\n"
"(global-set-key [f8] 'find-file)\n"
"(global-set-key [f9] 'save-buffer)\n"
"(global-set-key [f10] 'next-error)\n"
"(global-set-key [f11] 'compile)\n"
"(global-set-key [f12] 'grep)\n"
"(global-set-key [C-f1] 'compile)\n"
"(global-set-key [C-f2] 'grep)\n"
"(global-set-key [C-f3] 'next-error)\n"
"(global-set-key [C-f4] 'previous-error)\n"
"(global-set-key [C-f5] 'display-faces)\n"
"(global-set-key [C-f8] 'dired)\n"
"(global-set-key [C-f10] 'kill-compilation)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1345
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1336
#, no-wrap
msgid ""
";; Keypad bindings\n"
"(global-set-key [up] \"\\C-p\")\n"
"(global-set-key [down] \"\\C-n\")\n"
"(global-set-key [left] \"\\C-b\")\n"
"(global-set-key [right] \"\\C-f\")\n"
"(global-set-key [home] \"\\C-a\")\n"
"(global-set-key [end] \"\\C-e\")\n"
"(global-set-key [prior] \"\\M-v\")\n"
"(global-set-key [next] \"\\C-v\")\n"
"(global-set-key [C-up] \"\\M-\\C-b\")\n"
"(global-set-key [C-down] \"\\M-\\C-f\")\n"
"(global-set-key [C-left] \"\\M-b\")\n"
"(global-set-key [C-right] \"\\M-f\")\n"
"(global-set-key [C-home] \"\\M-<\")\n"
"(global-set-key [C-end] \"\\M->\")\n"
"(global-set-key [C-prior] \"\\M-<\")\n"
"(global-set-key [C-next] \"\\M->\")\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1348
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1339
#, no-wrap
msgid ""
";; Mouse\n"
"(global-set-key [mouse-3] 'imenu)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1352
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1343
#, no-wrap
msgid ""
";; Misc\n"
"(global-set-key [C-tab] \"\\C-q\\t\")\t; Control tab quotes a tab.\n"
"(setq backup-by-copying-when-mismatch t)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1357
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1348
#, no-wrap
msgid ""
";; Treat 'y' or <CR> as yes, 'n' as no.\n"
"(fset 'yes-or-no-p 'y-or-n-p)\n"
"(define-key query-replace-map [return] 'act)\n"
"(define-key query-replace-map [?\\C-m] 'act)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1361
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1352
#, no-wrap
msgid ""
";; Load packages\n"
"(require 'desktop)\n"
"(require 'tar-mode)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1367
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1358
#, no-wrap
msgid ""
";; Pretty diff mode\n"
"(autoload 'ediff-buffers \"ediff\" \"Intelligent Emacs interface to diff\" t)\n"
"(autoload 'ediff-files \"ediff\" \"Intelligent Emacs interface to diff\" t)\n"
"(autoload 'ediff-files-remote \"ediff\"\n"
" \"Intelligent Emacs interface to diff\")\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1376
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1367
#, no-wrap
msgid ""
"(if first-time\n"
" (setq auto-mode-alist\n"
"\t (append '((\"\\\\.cpp$\" . c++-mode)\n"
"\t\t (\"\\\\.hpp$\" . c++-mode)\n"
"\t\t (\"\\\\.lsp$\" . lisp-mode)\n"
"\t\t (\"\\\\.scm$\" . scheme-mode)\n"
"\t\t (\"\\\\.pl$\" . perl-mode)\n"
"\t\t ) auto-mode-alist)))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1381
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1372
#, no-wrap
msgid ""
";; Auto font lock mode\n"
"(defvar font-lock-auto-mode-list\n"
" (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'lisp-mode 'perl-mode 'scheme-mode)\n"
" \"List of modes to always start in font-lock-mode\")\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1386
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1377
#, no-wrap
msgid ""
"(defvar font-lock-mode-keyword-alist\n"
" '((c++-c-mode . c-font-lock-keywords)\n"
" (perl-mode . perl-font-lock-keywords))\n"
" \"Associations between modes and keywords\")\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1394
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1385
#, no-wrap
msgid ""
"(defun font-lock-auto-mode-select ()\n"
" \"Automatically select font-lock-mode if the current major mode is in font-lock-auto-mode-list\"\n"
" (if (memq major-mode font-lock-auto-mode-list)\n"
" (progn\n"
"\t(font-lock-mode t))\n"
" )\n"
" )\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1396
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1387
#, no-wrap
msgid "(global-set-key [M-f1] 'font-lock-fontify-buffer)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1413
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1404
#, no-wrap
msgid ""
";; New dabbrev stuff\n"
";(require 'new-dabbrev)\n"
"(setq dabbrev-always-check-other-buffers t)\n"
"(setq dabbrev-abbrev-char-regexp \"\\\\sw\\\\|\\\\s_\")\n"
"(add-hook 'emacs-lisp-mode-hook\n"
"\t '(lambda ()\n"
"\t (set (make-local-variable 'dabbrev-case-fold-search) nil)\n"
"\t (set (make-local-variable 'dabbrev-case-replace) nil)))\n"
"(add-hook 'c-mode-hook\n"
"\t '(lambda ()\n"
"\t (set (make-local-variable 'dabbrev-case-fold-search) nil)\n"
"\t (set (make-local-variable 'dabbrev-case-replace) nil)))\n"
"(add-hook 'text-mode-hook\n"
"\t '(lambda ()\n"
"\t (set (make-local-variable 'dabbrev-case-fold-search) t)\n"
"\t (set (make-local-variable 'dabbrev-case-replace) t)))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1425
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1416
#, no-wrap
msgid ""
";; C++ and C mode...\n"
"(defun my-c++-mode-hook ()\n"
" (setq tab-width 4)\n"
" (define-key c++-mode-map \"\\C-m\" 'reindent-then-newline-and-indent)\n"
" (define-key c++-mode-map \"\\C-ce\" 'c-comment-edit)\n"
" (setq c++-auto-hungry-initial-state 'none)\n"
" (setq c++-delete-function 'backward-delete-char)\n"
" (setq c++-tab-always-indent t)\n"
" (setq c-indent-level 4)\n"
" (setq c-continued-statement-offset 4)\n"
" (setq c++-empty-arglist-indent 4))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1439
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1430
#, no-wrap
msgid ""
"(defun my-c-mode-hook ()\n"
" (setq tab-width 4)\n"
" (define-key c-mode-map \"\\C-m\" 'reindent-then-newline-and-indent)\n"
" (define-key c-mode-map \"\\C-ce\" 'c-comment-edit)\n"
" (setq c-auto-hungry-initial-state 'none)\n"
" (setq c-delete-function 'backward-delete-char)\n"
" (setq c-tab-always-indent t)\n"
";; BSD-ish indentation style\n"
" (setq c-indent-level 4)\n"
" (setq c-continued-statement-offset 4)\n"
" (setq c-brace-offset -4)\n"
" (setq c-argdecl-indent 0)\n"
" (setq c-label-offset -4))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1446
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1437
#, no-wrap
msgid ""
";; Perl mode\n"
"(defun my-perl-mode-hook ()\n"
" (setq tab-width 4)\n"
" (define-key c++-mode-map \"\\C-m\" 'reindent-then-newline-and-indent)\n"
" (setq perl-indent-level 4)\n"
" (setq perl-continued-statement-offset 4))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1450
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1441
#, no-wrap
msgid ""
";; Scheme mode...\n"
"(defun my-scheme-mode-hook ()\n"
" (define-key scheme-mode-map \"\\C-m\" 'reindent-then-newline-and-indent))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1456
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1447
#, no-wrap
msgid ""
";; Emacs-Lisp mode...\n"
"(defun my-lisp-mode-hook ()\n"
" (define-key lisp-mode-map \"\\C-m\" 'reindent-then-newline-and-indent)\n"
" (define-key lisp-mode-map \"\\C-i\" 'lisp-indent-line)\n"
" (define-key lisp-mode-map \"\\C-j\" 'eval-print-last-sexp))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1464
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1455
#, no-wrap
msgid ""
";; Add all of the hooks...\n"
"(add-hook 'c++-mode-hook 'my-c++-mode-hook)\n"
"(add-hook 'c-mode-hook 'my-c-mode-hook)\n"
"(add-hook 'scheme-mode-hook 'my-scheme-mode-hook)\n"
"(add-hook 'emacs-lisp-mode-hook 'my-lisp-mode-hook)\n"
"(add-hook 'lisp-mode-hook 'my-lisp-mode-hook)\n"
"(add-hook 'perl-mode-hook 'my-perl-mode-hook)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1470
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1461
#, no-wrap
msgid ""
";; Complement to next-error\n"
"(defun previous-error (n)\n"
" \"Visit previous compilation error message and corresponding source code.\"\n"
" (interactive \"p\")\n"
" (next-error (- n)))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1483
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1474
#, no-wrap
msgid ""
";; Misc...\n"
"(transient-mark-mode 1)\n"
"(setq mark-even-if-inactive t)\n"
"(setq visible-bell nil)\n"
"(setq next-line-add-newlines nil)\n"
"(setq compile-command \"make\")\n"
"(setq suggest-key-bindings nil)\n"
"(put 'eval-expression 'disabled nil)\n"
"(put 'narrow-to-region 'disabled nil)\n"
"(put 'set-goal-column 'disabled nil)\n"
"(if (>= emacs-major-version 21)\n"
"\t(setq show-trailing-whitespace t))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1489
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1480
#, no-wrap
msgid ""
";; Elisp archive searching\n"
"(autoload 'format-lisp-code-directory \"lispdir\" nil t)\n"
"(autoload 'lisp-dir-apropos \"lispdir\" nil t)\n"
"(autoload 'lisp-dir-retrieve \"lispdir\" nil t)\n"
"(autoload 'lisp-dir-verify \"lispdir\" nil t)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1498
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1489
#, no-wrap
msgid ""
";; Font lock mode\n"
"(defun my-make-face (face color &optional bold)\n"
" \"Create a face from a color and optionally make it bold\"\n"
" (make-face face)\n"
" (copy-face 'default face)\n"
" (set-face-foreground face color)\n"
" (if bold (make-face-bold face))\n"
" )\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1511
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1502
#, no-wrap
msgid ""
"(if (eq window-system 'x)\n"
" (progn\n"
" (my-make-face 'blue \"blue\")\n"
" (my-make-face 'red \"red\")\n"
" (my-make-face 'green \"dark green\")\n"
" (setq font-lock-comment-face 'blue)\n"
" (setq font-lock-string-face 'bold)\n"
" (setq font-lock-type-face 'bold)\n"
" (setq font-lock-keyword-face 'bold)\n"
" (setq font-lock-function-name-face 'red)\n"
" (setq font-lock-doc-string-face 'green)\n"
" (add-hook 'find-file-hooks 'font-lock-auto-mode-select)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1519
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1510
#, no-wrap
msgid ""
" (setq baud-rate 1000000)\n"
" (global-set-key \"\\C-cmm\" 'menu-bar-mode)\n"
" (global-set-key \"\\C-cms\" 'scroll-bar-mode)\n"
" (global-set-key [backspace] 'backward-delete-char)\n"
"\t\t\t\t\t; (global-set-key [delete] 'delete-char)\n"
" (standard-display-european t)\n"
" (load-library \"iso-transl\")))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1536
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1527
#, no-wrap
msgid ""
";; X11 or PC using direct screen writes\n"
"(if window-system\n"
" (progn\n"
" ;; (global-set-key [M-f1] 'hilit-repaint-command)\n"
" ;; (global-set-key [M-f2] [?\\C-u M-f1])\n"
" (setq hilit-mode-enable-list\n"
"\t '(not text-mode c-mode c++-mode emacs-lisp-mode lisp-mode\n"
"\t\t scheme-mode)\n"
"\t hilit-auto-highlight nil\n"
"\t hilit-auto-rehighlight 'visible\n"
"\t hilit-inhibit-hooks nil\n"
"\t hilit-inhibit-rebinding t)\n"
" (require 'hilit19)\n"
" (require 'paren))\n"
" (setq baud-rate 2400)\t\t\t; For slow serial connections\n"
" )\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1545
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1536
#, no-wrap
msgid ""
";; TTY type terminal\n"
"(if (and (not window-system)\n"
"\t (not (equal system-type 'ms-dos)))\n"
" (progn\n"
" (if first-time\n"
"\t (progn\n"
"\t (keyboard-translate ?\\C-h ?\\C-?)\n"
"\t (keyboard-translate ?\\C-? ?\\C-h)))))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1551
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1542
#, no-wrap
msgid ""
";; Under UNIX\n"
"(if (not (equal system-type 'ms-dos))\n"
" (progn\n"
" (if first-time\n"
"\t (server-start))))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1559
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1550
#, no-wrap
msgid ""
";; Add any face changes here\n"
"(add-hook 'term-setup-hook 'my-term-setup-hook)\n"
"(defun my-term-setup-hook ()\n"
" (if (eq window-system 'pc)\n"
" (progn\n"
";;\t(set-face-background 'default \"red\")\n"
"\t)))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1565
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1556
#, no-wrap
msgid ""
";; Restore the \"desktop\" - do this as late as possible\n"
"(if first-time\n"
" (progn\n"
" (desktop-load-default)\n"
" (desktop-read)))\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1568
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1559
#, no-wrap
msgid ""
";; Indicate that this file has been read at least once\n"
"(setq first-time nil)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1570
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1561
#, no-wrap
msgid ";; No need to debug anything now\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1572
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1563
#, no-wrap
msgid "(setq debug-on-error nil)\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1575
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1566
#, no-wrap
msgid ""
";; All done\n"
"(message \"All done, %s%s\" (user-login-name) \".\")\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1578
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1569
#, no-wrap
msgid "Extending the Range of Languages Emacs Understands"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1581
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1572
msgid ""
"Now, this is all very well if you only want to program in the languages "
"already catered for in [.filename]#.emacs# (C, C++, Perl, Lisp and Scheme), "
"but what happens if a new language called \"whizbang\" comes out, full of "
"exciting features?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1585
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1576
msgid ""
"The first thing to do is find out if whizbang comes with any files that tell "
"Emacs about the language. These usually end in [.filename]#.el#, short for "
"\"Emacs Lisp\". For example, if whizbang is a FreeBSD port, we can locate "
"these files by doing"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1589
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1580
#, no-wrap
msgid "% find /usr/ports/lang/whizbang -name \"*.el\" -print\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1593
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1584
msgid ""
"and install them by copying them into the Emacs site Lisp directory. On "
"FreeBSD, this is [.filename]#/usr/local/share/emacs/site-lisp#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1595
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1586
msgid "So for example, if the output from the find command was"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1599
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1590
#, no-wrap
msgid "/usr/ports/lang/whizbang/work/misc/whizbang.el\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1602
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1593
msgid "we would do"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1606
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1597
#, no-wrap
msgid "# cp /usr/ports/lang/whizbang/work/misc/whizbang.el /usr/local/share/emacs/site-lisp\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1611
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1602
msgid ""
"Next, we need to decide what extension whizbang source files have. Let us "
"say for the sake of argument that they all end in [.filename]#.wiz#. We "
"need to add an entry to our [.filename]#.emacs# to make sure Emacs will be "
"able to use the information in [.filename]#whizbang.el#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1613
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1604
msgid ""
"Find the auto-mode-alist entry in [.filename]#.emacs# and add a line for "
"whizbang, such as:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1621
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1612
#, no-wrap
msgid ""
"...\n"
"(\"\\\\.lsp$\" . lisp-mode)\n"
"(\"\\\\.wiz$\" . whizbang-mode)\n"
"(\"\\\\.scm$\" . scheme-mode)\n"
"...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1624
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1615
msgid ""
"This means that Emacs will automatically go into `whizbang-mode` when you "
"edit a file ending in [.filename]#.wiz#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1627
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1618
msgid ""
"Just below this, you will find the font-lock-auto-mode-list entry. Add "
"`whizbang-mode` to it like so:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1634
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1625
#, no-wrap
msgid ""
";; Auto font lock mode\n"
"(defvar font-lock-auto-mode-list\n"
" (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)\n"
" \"List of modes to always start in font-lock-mode\")\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1637
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1628
msgid ""
"This means that Emacs will always enable `font-lock-mode` (ie syntax "
"highlighting) when editing a [.filename]#.wiz# file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1640
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1631
msgid ""
"And that is all that is needed. If there is anything else you want done "
"automatically when you open up [.filename]#.wiz#, you can add a `whizbang-"
"mode hook` (see `my-scheme-mode-hook` for a simple example that adds `auto-"
"indent`)."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1642
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1633
#, no-wrap
msgid "Further Reading"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1645
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1636
msgid ""
"For information about setting up a development environment for contributing "
"fixes to FreeBSD itself, please see man:development[7]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1647
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1638
msgid ""
"Brian Harvey and Matthew Wright _Simply Scheme_ MIT 1994. ISBN 0-262-08226-8"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1648
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1639
msgid "Randall Schwartz _Learning Perl_ O'Reilly 1993 ISBN 1-56592-042-2"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1649
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1640
msgid ""
"Patrick Henry Winston and Berthold Klaus Paul Horn _Lisp (3rd Edition)_ "
"Addison-Wesley 1989 ISBN 0-201-08319-1"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1650
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1641
msgid ""
"Brian W. Kernighan and Rob Pike _The Unix Programming Environment_ Prentice-"
"Hall 1984 ISBN 0-13-937681-X"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1651
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1642
msgid ""
"Brian W. Kernighan and Dennis M. Ritchie _The C Programming Language (2nd "
"Edition)_ Prentice-Hall 1988 ISBN 0-13-110362-8"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1652
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1643
msgid ""
"Bjarne Stroustrup _The C++ Programming Language_ Addison-Wesley 1991 ISBN "
"0-201-53992-6"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1653
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1644
msgid ""
"W. Richard Stevens _Advanced Programming in the Unix Environment_ Addison-"
"Wesley 1992 ISBN 0-201-56317-7"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1653
+#: documentation/content/en/books/developers-handbook/tools/_index.adoc:1644
msgid ""
"W. Richard Stevens _Unix Network Programming_ Prentice-Hall 1990 ISBN "
"0-13-949876-1"
msgstr ""
diff --git a/documentation/content/en/books/faq/_index.po b/documentation/content/en/books/faq/_index.po
index f3d4df90d2..3c7504e378 100644
--- a/documentation/content/en/books/faq/_index.po
+++ b/documentation/content/en/books/faq/_index.po
@@ -1,7242 +1,7240 @@
# 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: 2023-06-19 21:07-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/faq/_index.adoc:1
#, no-wrap
msgid "Frequently Asked Questions, and answers, covering all aspects of FreeBSD"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/faq/_index.adoc:1
#, no-wrap
msgid "Frequently Asked Questions for FreeBSD 12.X and 13.X"
msgstr ""
#. type: Title =
#: documentation/content/en/books/faq/_index.adoc:13
#, no-wrap
msgid "Frequently Asked Questions for FreeBSD {rel2-relx} and {rel-relx}"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:58
msgid "Abstract"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:61
msgid ""
"This is the Frequently Asked Questions (FAQ) for FreeBSD versions {rel-relx} "
"and {rel2-relx}. Every effort has been made to make this FAQ as informative "
"as possible; if you have any suggestions as to how it may be improved, send "
"them to the {freebsd-doc}."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:64
msgid ""
"The latest version of this document is always available from the extref:{faq}"
"[FreeBSD website]. It may also be downloaded as one large link:.[HTML] file "
"with HTTP or as a variety of other formats from the https://download.freebsd."
"org/doc/[FreeBSD FTP server]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:66
msgid "'''"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:70
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:73
#, no-wrap
msgid "What is FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:76
msgid ""
"FreeBSD is a modern operating system for desktops, laptops, servers, and "
"embedded systems with support for a large number of https://www.FreeBSD.org/"
"platforms/[platforms]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:79
msgid ""
"It is based on U.C. Berkeley's \"4.4BSD-Lite\" release, with some \"4.4BSD-"
"Lite2\" enhancements. It is also based indirectly on William Jolitz's port "
"of U.C. Berkeley's \"Net/2\" to the i386(TM), known as \"386BSD\", though "
"very little of the 386BSD code remains."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:81
msgid ""
"FreeBSD is used by companies, Internet Service Providers, researchers, "
"computer professionals, students and home users all over the world in their "
"work, education and recreation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:83
msgid ""
"For more detailed information on FreeBSD, refer to the extref:{handbook}"
"[FreeBSD Handbook]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:85
#, no-wrap
msgid "What is the goal of the FreeBSD Project?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:88
msgid ""
"The goal of the FreeBSD Project is to provide a stable and fast general "
"purpose operating system that may be used for any purpose without strings "
"attached."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:90
#, no-wrap
msgid "Does the FreeBSD license have any restrictions?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:95
msgid ""
"Yes. Those restrictions do not control how the code is used, but how to "
"treat the FreeBSD Project itself. The license itself is available at "
"https://www.FreeBSD.org/copyright/freebsd-license/[license] and can be "
"summarized like this:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:97
msgid "Do not claim that you wrote this."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:98
msgid "Do not sue us if it breaks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:99
msgid "Do not remove or modify the license."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:103
msgid ""
"Many of us have a significant investment in the project and would certainly "
"not mind a little financial compensation now and then, but we definitely do "
"not insist on it. We believe that our first and foremost \"mission\" is to "
"provide code to any and all comers, and for whatever purpose, so that the "
"code gets the widest possible use and provides the widest possible benefit. "
"This, we believe, is one of the most fundamental goals of Free Software and "
"one that we enthusiastically support."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:106
msgid ""
"Code in our source tree which falls under the https://www.FreeBSD.org/"
"copyright/COPYING[GNU General Public License (GPL)] or https://www.FreeBSD."
"org/copyright/COPYING.LIB[GNU Library General Public License (LGPL)] comes "
"with slightly more strings attached, though at least on the side of enforced "
"access rather than the usual opposite. Due to the additional complexities "
"that can evolve in the commercial use of GPL software, we do, however, "
"endeavor to replace such software with submissions under the more relaxed "
"https://www.FreeBSD.org/copyright/freebsd-license/[FreeBSD license] whenever "
"possible."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:108
#, no-wrap
msgid "Can FreeBSD replace my current operating system?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:112
msgid ""
"For most people, yes. But this question is not quite that cut-and-dried."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:119
msgid ""
"Most people do not actually use an operating system. They use "
"applications. The applications are what really use the operating system. "
"FreeBSD is designed to provide a robust and full-featured environment for "
"applications. It supports a wide variety of web browsers, office suites, "
"email readers, graphics programs, programming environments, network servers, "
"and much more. Most of these applications can be managed through the "
"https://www.FreeBSD.org/ports/[Ports Collection]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:124
msgid ""
"If an application is only available on one operating system, that operating "
"system cannot just be replaced. Chances are, there is a very similar "
"application on FreeBSD, however. As a solid office or Internet server or a "
"reliable workstation, FreeBSD will almost certainly do everything you need. "
"Many computer users across the world, including both novices and experienced "
"UNIX(R) administrators, use FreeBSD as their only desktop operating system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:129
msgid ""
"Users migrating to FreeBSD from another UNIX(R)-like environment will find "
"FreeBSD to be similar. Windows(R) and Mac OS(R) users may be interested in "
"instead using https://www.ghostbsd.org/[GhostBSD], https://www.midnightbsd."
"org/[MidnightBSD] or https://www.nomadbsd.org/[NomadBSD] three FreeBSD-based "
"desktop distributions. Non-UNIX(R) users should expect to invest some "
"additional time learning the UNIX(R) way of doing things. This FAQ and the "
"extref:{handbook}[FreeBSD Handbook] are excellent places to start."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:131
#, no-wrap
msgid "Why is it called FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:134
msgid "It may be used free of charge, even by commercial users."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:135
msgid ""
"Full source for the operating system is freely available, and the minimum "
"possible restrictions have been placed upon its use, distribution and "
"incorporation into other work (commercial or non-commercial)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:136
msgid ""
"Anyone who has an improvement or bug fix is free to submit their code and "
"have it added to the source tree (subject to one or two obvious provisions)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:139
msgid ""
"It is worth pointing out that the word \"free\" is being used in two ways "
"here: one meaning \"at no cost\" and the other meaning \"do whatever you "
"like\". Apart from one or two things you _cannot_ do with the FreeBSD code, "
"for example pretending you wrote it, you can really do whatever you like "
"with it."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:141
#, no-wrap
msgid "What are the differences between FreeBSD and NetBSD, OpenBSD, and other open source BSD operating systems?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:145
msgid ""
"James Howard wrote a good explanation of the history and differences between "
"the various projects, called https://jameshoward.us/archive/bsd-family-tree/"
"[The BSD Family Tree] which goes a fair way to answering this question. "
"Some of the information is out of date, but the history portion in "
"particular remains accurate."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:148
msgid ""
"Most of the BSDs share patches and code, even today. All of the BSDs have "
"common ancestry."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:151
msgid ""
"The design goals of FreeBSD are described in <<FreeBSD-goals>>, above. The "
"design goals of the other most popular BSDs may be summarized as follows:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:154
msgid ""
"OpenBSD aims for operating system security above all else. The OpenBSD team "
"wrote man:ssh[1] and man:pf[4], which have both been ported to FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:155
msgid "NetBSD aims to be easily ported to other hardware platforms."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:156
msgid ""
"DragonFly BSD is a fork of FreeBSD 4.8 that has since developed many "
"interesting features of its own, including the HAMMER file system and "
"support for user-mode \"vkernels\"."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:158
#, no-wrap
msgid "What is the latest version of FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:162
msgid ""
"At any point in the development of FreeBSD, there can be multiple parallel "
"branches. {rel-relx} releases are made from the {rel-stable} branch, and "
"{rel2-relx} releases are made from the {rel2-stable} branch."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:165
msgid ""
"Up until the release of 12.0, the {rel2-relx} series was the one known as _-"
"STABLE_. However, as of {rel-head-relx}, the {rel2-relx} branch will be "
"designated for an \"extended support\" status and receive only fixes for "
"major problems, such as security-related fixes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:168
msgid ""
"Releases are made <<release-freq,every few months>>. While many people stay "
"more up-to-date with the FreeBSD sources (see the questions on <<current,"
"FreeBSD-CURRENT>> and <<stable,FreeBSD-STABLE>>) than that, doing so is more "
"of a commitment, as the sources are a moving target."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:170
msgid ""
"More information on FreeBSD releases can be found on the https://www.FreeBSD."
"org/releng/#release-build[Release Engineering page] and in man:release[7]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:172
#, no-wrap
msgid "What is _FreeBSD-CURRENT_?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:177
msgid ""
"extref:{handbook}cutting-edge/[FreeBSD-CURRENT, current] is the development "
"version of the operating system, which will in due course become the new "
"FreeBSD-STABLE branch. As such, it is really only of interest to developers "
"working on the system and die-hard hobbyists. See the extref:{handbook}"
"cutting-edge/[relevant section, current] in the extref:{handbook}[Handbook] "
"for details on running _-CURRENT_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:181
msgid ""
"Users not familiar with FreeBSD should not use FreeBSD-CURRENT. This branch "
"sometimes evolves quite quickly and due to mistakes can be un-buildable at "
"times. People that use FreeBSD-CURRENT are expected to be able to analyze, "
"debug, and report problems."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:183
#, no-wrap
msgid "What is the FreeBSD-STABLE concept?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:190
msgid ""
"_FreeBSD-STABLE_ is the development branch from which major releases are "
"made. Changes go into this branch at a slower pace and with the general "
"assumption that they have first been tested in FreeBSD-CURRENT. However, at "
"any given time, the sources for FreeBSD-STABLE may or may not be suitable "
"for general use, as it may uncover bugs and corner cases that were not yet "
"found in FreeBSD-CURRENT. Users who do not have the resources to perform "
"testing should instead run the most recent release of FreeBSD. _FreeBSD-"
"CURRENT_, on the other hand, has been one unbroken line since 2.0 was "
"released."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:192
msgid ""
"For more detailed information on branches see \"extref:{releng}[FreeBSD "
"Release Engineering: Creating the Release Branch, rel-branch]\", the status "
"of the branches and the upcoming release schedule can be found on the "
"https://www.FreeBSD.org/releng[Release Engineering Information] page."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:195
msgid ""
"Version {u-rel123-announce}[{rel123-current}] is the latest release from the "
"{rel2-stable} branch; it was released on {rel123-current-date}. Version {u-"
"rel131-announce}[{rel131-current}] is the latest release from the {rel-"
"stable} branch; it was released on {rel131-current-date}."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:197
#, no-wrap
msgid "When are FreeBSD releases made?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:203
msgid ""
"The {re} releases a new major version of FreeBSD about every 18 months and a "
"new minor version about every 8 months, on average. Release dates are "
"announced well in advance, so that the people working on the system know "
"when their projects need to be finished and tested. A testing period "
"precedes each release, to ensure that the addition of new features does not "
"compromise the stability of the release. Many users regard this caution as "
"one of the best things about FreeBSD, even though waiting for all the latest "
"goodies to reach _-STABLE_ can be a little frustrating."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:205
msgid ""
"More information on the release engineering process (including a schedule of "
"upcoming releases) can be found on the https://www.FreeBSD.org/releng/"
"[release engineering] pages on the FreeBSD Web site."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:207
msgid ""
"For people who need or want a little more excitement, binary snapshots are "
"made weekly as discussed above."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:209
#, no-wrap
msgid "When are FreeBSD snapshots made?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:213
msgid ""
"FreeBSD link:https://www.FreeBSD.org/snapshots/[snapshot] releases are made "
"based on the current state of the _-CURRENT_ and _-STABLE_ branches. The "
"goals behind each snapshot release are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:215
msgid "To test the latest version of the installation software."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:216
msgid ""
"To give people who would like to run _-CURRENT_ or _-STABLE_ but who do not "
"have the time or bandwidth to follow it on a day-to-day basis an easy way of "
"bootstrapping it onto their systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:218
msgid ""
"To preserve a fixed reference point for the code in question, just in case "
"we break something really badly later. (Although Git normally prevents "
"anything horrible like this happening.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:219
msgid ""
"To ensure that all new features and fixes in need of testing have the "
"greatest possible number of potential testers."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:222
msgid ""
"No claims are made that any _-CURRENT_ snapshot can be considered "
"\"production quality\" for any purpose. If a stable and fully tested system "
"is needed, stick to full releases."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:224
msgid ""
"Snapshot releases are directly available from link:https://www.FreeBSD.org/"
"snapshots/[snapshot]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:226
msgid ""
"Official snapshots are generated on a regular basis for all actively "
"developed branches."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:228
#, no-wrap
msgid "Who is responsible for FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:232
msgid ""
"The key decisions concerning the FreeBSD project, such as the overall "
"direction of the project and who is allowed to add code to the source tree, "
"are made by a link:https://www.FreeBSD.org/administration#t-core[core team] "
"of 9 people. There is a much larger team of more than 350 extref:"
"{contributors}[committers, staff-committers] who are authorized to make "
"changes directly to the FreeBSD source tree."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:234
msgid ""
"However, most non-trivial changes are discussed in advance in the <<mailing,"
"mailing lists>>, and there are no restrictions on who may take part in the "
"discussion."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:236
#, no-wrap
msgid "Where can I get FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:239
msgid ""
"Every supported release of FreeBSD is available from the https://www.freebsd."
"org/where/[FreeBSD release locator page]:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:241
msgid ""
"For the latest {rel-stable} release, {rel132-current}-RELEASE, follow the "
"link for link:https://www.freebsd.org/where/#download-rel132[the appropriate "
"architecture and installation mode for {rel132-current}-RELEASE]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:242
msgid ""
"For the latest {rel2-stable} release, {rel124-current}-RELEASE, follow the "
"link for link:https://www.freebsd.org/where/#download-rel124[the appropriate "
"architecture and installation mode for {rel124-current}-RELEASE]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:243
msgid ""
"link:https://www.FreeBSD.org/snapshots/[Snapshot] releases are made monthly "
"for the <<current,-CURRENT>> and <<stable,-STABLE>> branches, these being of "
"service purely to bleeding-edge testers and developers."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:245
msgid ""
"Information about obtaining FreeBSD on CD, DVD, and other media can be found "
"in extref:{handbook}mirrors/[the Handbook, mirrors]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:247
#, no-wrap
msgid "How do I access the Problem Report database?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:250
msgid ""
"The Problem Report database of all user change requests may be queried by "
"using our web-based PR https://bugs.FreeBSD.org/search/[query] interface."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:252
msgid ""
"The link:https://www.FreeBSD.org/support/bugreports[web-based problem report "
"submission interface] can be used to submit problem reports through a web "
"browser."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:254
msgid ""
"Before submitting a problem report, read extref:{problem-reports}[Writing "
"FreeBSD Problem Reports], an article on how to write good problem reports."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:256
#, no-wrap
msgid "Documentation and Support"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:259
#, no-wrap
msgid "What good books are there about FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:262
msgid ""
"The project produces a wide range of documentation, available online from "
"this link: https://www.FreeBSD.org/docs/[https://www.FreeBSD.org/docs/]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:264
#, no-wrap
msgid "Is the documentation available in other formats, such as PDF?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:268
msgid ""
"Yes. link:https://download.freebsd.org/doc/[The documentation is also "
"available in several formats] on the FreeBSD download site."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:270
msgid "Documentation directories are categorized according to:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:272
msgid "The document's name, such as `faq`, or `handbook`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:274
msgid ""
"The document's language, based on the locale names found under [.filename]#/"
"usr/share/locale# on a FreeBSD system, with the encodings removed as all "
"documentation now uses UTF-8. The current languages are:"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:279
#, no-wrap
msgid "Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:281
#: documentation/content/en/books/faq/_index.adoc:357
#, no-wrap
msgid "Meaning"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:282
#, no-wrap
msgid "`en`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:284
#, no-wrap
msgid "English"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:285
#, no-wrap
msgid "`bn-bd`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:287
#, no-wrap
msgid "Bengali or Bangla (Bangladesh)"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:288
#, no-wrap
msgid "`da`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:290
#, no-wrap
msgid "Danish"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:291
#, no-wrap
msgid "`de`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:293
#, no-wrap
msgid "German"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:294
#, no-wrap
msgid "`el`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:296
#, no-wrap
msgid "Greek"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:297
#, no-wrap
msgid "`es`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:299
#, no-wrap
msgid "Spanish"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:300
#, no-wrap
msgid "`fr`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:302
#, no-wrap
msgid "French"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:303
#, no-wrap
msgid "`hu`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:305
#, no-wrap
msgid "Hungarian"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:306
#, no-wrap
msgid "`it`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:308
#, no-wrap
msgid "Italian"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:309
#, no-wrap
msgid "`ja`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:311
#, no-wrap
msgid "Japanese"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:312
#, no-wrap
msgid "`ko`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:314
#, no-wrap
msgid "Korean"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:315
#, no-wrap
msgid "`mn`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:317
#, no-wrap
msgid "Mongolian"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:318
#, no-wrap
msgid "`nl`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:320
#, no-wrap
msgid "Dutch"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:321
#, no-wrap
msgid "`pl`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:323
#, no-wrap
msgid "Polish"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:324
#, no-wrap
msgid "`pt-br`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:326
#, no-wrap
msgid "Portuguese (Brazil)"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:327
#, no-wrap
msgid "`ru`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:329
#, no-wrap
msgid "Russian"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:330
#, no-wrap
msgid "`tr`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:332
#, no-wrap
msgid "Turkish"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:333
#, no-wrap
msgid "`zh-cn`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:335
#, no-wrap
msgid "Simplified Chinese (China)"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:336
#, no-wrap
msgid "`zh-tw`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:337
#, no-wrap
msgid "Traditional Chinese (Taiwan)"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/faq/_index.adoc:342
msgid "Some documents may not be available in all languages."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:350
msgid ""
"The document's format. We produce the documentation in a number of "
"different output formats. Each format has its own advantages and "
"disadvantages. Some formats are better suited for online reading, while "
"others are meant to be aesthetically pleasing when printed on paper. Having "
"the documentation available in any of these formats ensures that our readers "
"will be able to read the parts they are interested in, either on their "
"monitor, or on paper after printing the documents. The currently available "
"formats are:"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:355
#, no-wrap
msgid "Format"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:358
#, no-wrap
msgid "`html`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:360
#, no-wrap
msgid "Depending on the document: one large HTML file containing the entire document or a collection of small linked HTML files, both together with images, stylesheets, and JavaScript"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:361
#, no-wrap
msgid "`pdf`"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:362
#, no-wrap
msgid "Adobe's Portable Document Format"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:364
#, no-wrap
msgid "The compression and packaging scheme.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:366
#, no-wrap
msgid ""
"Where the format is `html`, the files are bundled up using man:tar[1].\n"
"The resulting [.filename]#.tar# is then compressed using man:gzip[1].\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:368
#, no-wrap
msgid ""
"The PDF format generates one file.\n"
"For example, [.filename]#explaining-bsd_en.pdf#, [.filename]#faq_en.pdf#, and so on.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:370
msgid ""
"After choosing the format, download the files, uncompress them if necessary, "
"then copy the appropriate documents into place."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:372
msgid ""
"For example, the HTML version of the FAQ can be found in [.filename]#doc/en/"
"books/faq/faq_en.tar.gz# To download and uncompress that file, type:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:377
#, no-wrap
msgid ""
"% fetch https://download.freebsd.org/doc/en/books/faq/faq_en.tar.gz\n"
"% tar xvf faq_en.tar.gz\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:381
msgid ""
"If the file is compressed, tar will automatically detect the appropriate "
"format and decompress it correctly, resulting in a collection of files. The "
"main one is called [.filename]#index.html#, which will contain the whole "
"document, starting with the table of contents linking to the other parts of "
"the document."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:383
#, no-wrap
msgid "Where do I find info on the FreeBSD mailing lists? What FreeBSD news groups are available?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:386
msgid ""
"Refer to the extref:{handbook}eresources/[Handbook entry on mailing-lists, "
"eresources-mail] and the extref:{handbook}eresources/[Handbook entry on "
"newsgroups, eresources-news]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:388
#, no-wrap
msgid "Are there FreeBSD IRC (Internet Relay Chat) channels?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:391
msgid ""
"Yes, most major IRC networks host a FreeBSD chat channel and the FreeBSD "
"wiki holds an up to date https://wiki.freebsd.org/IRC/Channels[list of IRC "
"channels]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:394
msgid ""
"Each of these channels are distinct and are not connected to each other. "
"Since their chat styles differ, try each to find one suited to your chat "
"style."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:396
#, no-wrap
msgid "Are there any web based forums to discuss FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:399
msgid ""
"The official FreeBSD forums are located at https://forums.FreeBSD.org/"
"[https://forums.FreeBSD.org/]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:401
#, no-wrap
msgid "Where can I get commercial FreeBSD training and support?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:404
msgid ""
"http://www.ixsystems.com[iXsystems, Inc.], parent company of the http://www."
-"freebsdmall.com/[FreeBSD Mall], provides commercial FreeBSD and TrueOS "
-"software http://www.ixsystems.com/support[support], in addition to FreeBSD "
-"development and tuning solutions."
+"freebsdmall.com/[FreeBSD Mall], provides commercial FreeBSD http://www."
+"ixsystems.com/support[support], in addition to FreeBSD development and "
+"tuning solutions."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:407
msgid ""
"BSD Certification Group, Inc. provides system administration certifications "
"for DragonFly BSD, FreeBSD, NetBSD, and OpenBSD. Refer to http://www."
"BSDCertification.org[their site] for more information."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:409
msgid ""
"Any other organizations providing training and support should contact the "
"Project to be listed here."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:411
#, no-wrap
msgid "Installation"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:414
#, no-wrap
msgid "Which platform should I download? I have a 64 bit capable Intel(R) CPU, but I only see amd64."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:420
msgid ""
"amd64 is the term FreeBSD uses for 64-bit compatible x86 architectures (also "
"known as \"x86-64\" or \"x64\"). Most modern computers should use amd64. "
"Older hardware should use i386. When installing on a non-x86-compatible "
"architecture, select the platform which best matches the hardware."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:422
#, no-wrap
msgid "Which file do I download to get FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:425
msgid ""
"On the https://www.freebsd.org/where/[Getting FreeBSD] page, select `[iso]` "
"next to the architecture that matches the hardware."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:427
msgid "Any of the following can be used:"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:432
#, no-wrap
msgid "file"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:434
#, no-wrap
msgid "description"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:435
#, no-wrap
msgid "[.filename]#disc1.iso#"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:437
#, no-wrap
msgid "Contains enough to install FreeBSD and a minimal set of packages."
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:438
#, no-wrap
msgid "[.filename]#dvd1.iso#"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:440
#, no-wrap
msgid "Similar to [.filename]#disc1.iso# but with additional packages."
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:441
#, no-wrap
msgid "[.filename]#memstick.img#"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:443
#, no-wrap
msgid "A bootable image sufficient for writing to a USB stick."
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:444
#, no-wrap
msgid "[.filename]#bootonly.iso#"
msgstr ""
#. type: Table
#: documentation/content/en/books/faq/_index.adoc:445
#, no-wrap
msgid "A minimal image that requires network access during installation to completely install FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:448
msgid ""
"Full instructions on this procedure and a little bit more about installation "
"issues in general can be found in the extref:{handbook}bsdinstall[Handbook "
"entry on installing FreeBSD]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:450
#, no-wrap
msgid "What do I do if the install image does not boot?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:453
msgid ""
"This can be caused by not downloading the image in _binary_ mode when using "
"FTP."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:457
msgid ""
"Some FTP clients default their transfer mode to _ascii_ and attempt to "
"change any end-of-line characters received to match the conventions used by "
"the client's system. This will almost invariably corrupt the boot image. "
"Check the SHA-256 checksum of the downloaded boot image: if it is not "
"_exactly_ that on the server, then the download process is suspect."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:459
msgid ""
"When using a command line FTP client, type _binary_ at the FTP command "
"prompt after getting connected to the server and before starting the "
"download of the image."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:461
#, no-wrap
msgid "Where are the instructions for installing FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:464
msgid ""
"Installation instructions can be found at extref:{handbook}bsdinstall/"
"[Handbook entry on installing FreeBSD]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:466
#, no-wrap
msgid "How can I make my own custom release or install disk?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:470
msgid ""
"Customized FreeBSD installation media can be created by building a custom "
"release. Follow the instructions in the extref:{releng}[Release "
"Engineering] article."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:472
#, no-wrap
msgid "Can Windows(R) co-exist with FreeBSD? (x86-specific)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:478
msgid ""
"If Windows(R) is installed first, then yes. FreeBSD's boot manager will "
"then manage to boot Windows(R) and FreeBSD. If Windows(R) is installed "
"afterwards, it will overwrite the boot manager. If that happens, see the "
"next section."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:480
#, no-wrap
msgid "Another operating system destroyed my Boot Manager. How do I get it back? (x86-specific)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:485
msgid ""
"This depends upon the boot manager. The FreeBSD boot selection menu can be "
"reinstalled using man:boot0cfg[8]. For example, to restore the boot menu "
"onto the disk _ada0_:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:489
#, no-wrap
msgid "# boot0cfg -B ada0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:492
msgid "The non-interactive MBR bootloader can be installed using man:gpart[8]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:496
#, no-wrap
msgid "# gpart bootcode -b /boot/mbr ada0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:499
msgid "For more complex situations, including GPT disks, see man:gpart[8]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:501
#, no-wrap
msgid "Do I need to install the source?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:507
msgid ""
"In general, no. There is nothing in the base system which requires the "
"presence of the source to operate. Some ports, like package:sysutils/"
"lsof[], will not build unless the source is installed. In particular, if "
"the port builds a kernel module or directly operates on kernel structures, "
"the source must be installed."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:509
#, no-wrap
msgid "Do I need to build a kernel?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:515
msgid ""
"Usually not. The supplied `GENERIC` kernel contains the drivers an ordinary "
"computer will need. man:freebsd-update[8], the FreeBSD binary upgrade tool, "
"cannot upgrade custom kernels, another reason to stick with the `GENERIC` "
"kernel when possible. For computers with very limited RAM, such as embedded "
"systems, it may be worthwhile to build a smaller custom kernel containing "
"just the required drivers."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:517
#, no-wrap
msgid "Should I use DES, Blowfish, or MD5 passwords and how do I specify which form my users receive?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:524
msgid ""
"FreeBSD uses _SHA512_ by default. DES passwords are still available for "
"backwards compatibility with operating systems that still use the less "
"secure password format. FreeBSD also supports the Blowfish and MD5 password "
"formats. Which password format to use for new passwords is controlled by "
"the `passwd_format` login capability in [.filename]#/etc/login.conf#, which "
"takes values of `des`, `blf` (if these are available) or `md5`. See the man:"
"login.conf[5] manual page for more information about login capabilities."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:526
#, no-wrap
msgid "What are the limits for FFS file systems?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:531
msgid ""
"For FFS file systems, the largest file system is practically limited by the "
"amount of memory required to man:fsck[8] the file system. man:fsck[8] "
"requires one bit per fragment, which with the default fragment size of 4 KB "
"equates to 32 MB of memory per TB of disk. This does mean that on "
"architectures which limit userland processes to 2 GB (e.g., i386(TM)), the "
"maximum man:fsck[8]'able filesystem is ~60 TB."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:533
msgid ""
"If there was not a man:fsck[8] memory limit the maximum filesystem size "
"would be 2 ^ 64 (blocks) * 32 KB => 16 Exa * 32 KB => 512 ZettaBytes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:538
msgid ""
"The maximum size of a single FFS file is approximately 2 PB with the default "
"block size of 32 KB. Each 32 KB block can point to 4096 blocks. With "
"triple indirect blocks, the calculation is 32 KB * 12 + 32 KB * 4096 + 32 KB "
"* 4096^2 + 32 KB * 4096^3. Increasing the block size to 64 KB will increase "
"the max file size by a factor of 16."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:540
#, no-wrap
msgid "Why do I get an error message, readin failed after compiling and booting a new kernel?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:545
msgid ""
"The world and kernel are out of sync. This is not supported. Be sure to "
"use `make buildworld` and `make buildkernel` to update the kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:547
msgid ""
"Boot the system by specifying the kernel directly at the second stage, "
"pressing any key when the `|` shows up before loader is started."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:549
#, no-wrap
msgid "Is there a tool to perform post-installation configuration tasks?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:553
msgid ""
"Yes. bsdconfig provides a nice interface to configure FreeBSD post-"
"installation."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:555
#, no-wrap
msgid "Hardware Compatibility"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:558
#, no-wrap
msgid "General"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:561
#, no-wrap
msgid "I want to get a piece of hardware for my FreeBSD system. Which model/brand/type is best?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:566
msgid ""
"This is discussed continually on the FreeBSD mailing lists but is to be "
"expected since hardware changes so quickly. Read through the Hardware Notes "
"for FreeBSD link:{u-rel123-hardware}[{rel123-current}] or link:{u-rel131-"
"hardware}[{rel131-current}] and search the https://www.FreeBSD.org/search/"
"#mailinglists[mailing list archives] before asking about the latest and "
"greatest hardware. Chances are a discussion about that type of hardware "
"took place just last week."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:568
msgid ""
"Before purchasing a laptop, check the archives for {freebsd-questions}, or "
"possibly a specific mailing list for a particular hardware type."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:570
#, no-wrap
msgid "What are the limits for memory?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:575
msgid ""
"FreeBSD as an operating system generally supports as much physical memory "
"(RAM) as the platform it is running on does. Keep in mind that different "
"platforms have different limits for memory; for example i386(TM) without PAE "
"supports at most 4 GB of memory (and usually less than that because of PCI "
"address space) and i386(TM) with PAE supports at most 64 GB memory. As of "
"FreeBSD 10, AMD64 platforms support up to 4 TB of physical memory."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:577
#, no-wrap
msgid "Why does FreeBSD report less than 4 GB memory when installed on an i386(TM) machine?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:583
msgid ""
"The total address space on i386(TM) machines is 32-bit, meaning that at most "
"4 GB of memory is addressable (can be accessed). Furthermore, some "
"addresses in this range are reserved by hardware for different purposes, for "
"example for using and controlling PCI devices, for accessing video memory, "
"and so on. Therefore, the total amount of memory usable by the operating "
"system for its kernel and applications is limited to significantly less than "
"4 GB. Usually, 3.2 GB to 3.7 GB is the maximum usable physical memory in "
"this configuration."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:589
msgid ""
"To access more than 3.2 GB to 3.7 GB of installed memory (meaning up to 4 GB "
"but also more than 4 GB), a special tweak called PAE must be used. PAE "
"stands for Physical Address Extension and is a way for 32-bit x86 CPUs to "
"address more than 4 GB of memory. It remaps the memory that would otherwise "
"be overlaid by address reservations for hardware devices above the 4 GB "
"range and uses it as additional physical memory (see man:pae[4]). Using PAE "
"has some drawbacks; this mode of memory access is a little bit slower than "
"the normal (without PAE) mode and loadable modules (see man:kld[4]) are not "
"supported. This means all drivers must be compiled into the kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:594
msgid ""
"The most common way to enable PAE is to build a new kernel with the special "
"ready-provided kernel configuration file called [.filename]#PAE#, which is "
"already configured to build a safe kernel. Note that some entries in this "
"kernel configuration file are too conservative and some drivers marked as "
"unready to be used with PAE are actually usable. A rule of thumb is that if "
"the driver is usable on 64-bit architectures (like AMD64), it is also usable "
"with PAE. When creating a custom kernel configuration file, PAE can be "
"enabled by adding the following line:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:598
#, no-wrap
msgid "options PAE\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:603
msgid ""
"PAE is not much used nowadays because most new x86 hardware also supports "
"running in 64-bit mode, known as AMD64 or Intel(R) 64. It has a much larger "
"address space and does not need such tweaks. FreeBSD supports AMD64 and it "
"is recommended that this version of FreeBSD be used instead of the i386(TM) "
"version if 4 GB or more memory is required."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:605
#, no-wrap
msgid "Architectures and Processors"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:608
#, no-wrap
msgid "Does FreeBSD support architectures other than the x86?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:615
msgid ""
"Yes. FreeBSD divides support into multiple tiers. Tier 1 architectures, "
"such as i386 or amd64; are fully supported. Tiers 2 and 3 are supported on "
"a best-effort basis. A full explanation of the tier system is available in "
"the extref:{committers-guide}[Committer's Guide., archs]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:617
msgid ""
"A complete list of supported architectures can be found on the https://www."
"FreeBSD.org/platforms/[platforms page.]"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:619
#, no-wrap
msgid "Does FreeBSD support Symmetric Multiprocessing (SMP)?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:624
msgid ""
"FreeBSD supports symmetric multi-processor (SMP) on all non-embedded "
"platforms (e.g, i386, amd64, etc.). SMP is also supported in arm and MIPS "
"kernels, although some CPUs may not support this. FreeBSD's SMP "
"implementation uses fine-grained locking, and performance scales nearly "
"linearly with number of CPUs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:626
msgid "man:smp[4] has more details."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:628
#, no-wrap
-msgid "What is microcode? How do I install Intel(R) CPU microcode updates?"
+msgid "What is microcode? How do I install AMD or Intel CPU microcode updates?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:632
msgid ""
"Microcode is a method of programmatically implementing hardware level "
"instructions. This allows for CPU bugs to be fixed without replacing the on "
"board chip."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:634
-msgid "Install package:sysutils/devcpu-data[], then add:"
+msgid "Install package:sysutils/cpu-microcode[], then add:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:638
#, no-wrap
msgid "microcode_update_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:641
msgid "to [.filename]#/etc/rc.conf#"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:643
#, no-wrap
msgid "Peripherals"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:646
#, no-wrap
msgid "What kind of peripherals does FreeBSD support?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:649
msgid ""
"See a list of hardware known to work and any applicable restrictions in the "
"Hardware Notes for FreeBSD link:{u-rel123-hardware}[{rel123-current}] or "
"link:{u-rel131-hardware}[{rel131-current}]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:651
#, no-wrap
msgid "Keyboards and Mice"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:654
#, no-wrap
msgid "Is it possible to use a mouse outside the X Window system?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:658
msgid ""
"The default console driver, man:vt[4], provides the ability to use a mouse "
"pointer in text consoles to cut & paste text. Run the mouse daemon, man:"
"moused[8], and turn on the mouse pointer in the virtual console:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:663
#, no-wrap
msgid ""
"# moused -p /dev/xxxx -t yyyy\n"
"# vidcontrol -m on\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:669
msgid ""
"Where _xxxx_ is the mouse device name and _yyyy_ is a protocol type for the "
"mouse. The mouse daemon can automatically determine the protocol type of "
"most mice, except old serial mice. Specify the `auto` protocol to invoke "
"automatic detection. If automatic detection does not work, see the man:"
"moused[8] manual page for a list of supported protocol types."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:672
msgid ""
"For a PS/2 mouse, add `moused_enable=\"YES\"` to [.filename]#/etc/rc.conf# "
"to start the mouse daemon at boot time. Additionally, to use the mouse "
"daemon on all virtual terminals instead of just the console, add "
"`allscreens_flags=\"-m on\"` to [.filename]#/etc/rc.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:675
msgid ""
"When the mouse daemon is running, access to the mouse must be coordinated "
"between the mouse daemon and other programs such as X Windows. Refer to the "
"FAQ <<x-and-moused,Why does my mouse not work with X?>> for more details on "
"this issue."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:677
#, no-wrap
msgid "How do I cut and paste text with a mouse in the text console?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:684
msgid ""
"It is not possible to remove data using the mouse. However, it is possible "
"to copy and paste. Once the mouse daemon is running as described in the "
"<<moused,previous question>>, hold down button 1 (left button) and move the "
"mouse to select a region of text. Then, press button 2 (middle button) to "
"paste it at the text cursor. Pressing button 3 (right button) will "
"\"extend\" the selected region of text."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:687
msgid ""
"If the mouse does not have a middle button, it is possible to emulate one or "
"remap buttons using mouse daemon options. See the man:moused[8] manual page "
"for details."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:689
#, no-wrap
msgid "My mouse has a fancy wheel and buttons. Can I use them in FreeBSD?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:695
msgid ""
"The answer is, unfortunately, \"It depends\". These mice with additional "
"features require specialized driver in most cases. Unless the mouse device "
"driver or the user program has specific support for the mouse, it will act "
"just like a standard two, or three button mouse."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:697
msgid ""
"For the possible usage of wheels in the X Window environment, refer to <<x-"
"and-wheel,that section>>."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:699
#, no-wrap
msgid "How do I use my delete key in sh and csh?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:703
msgid ""
"For the Bourne Shell, add the following lines to [.filename]#~/.shrc#. See "
"man:sh[1] and man:editrc[5]."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:707
#, no-wrap
msgid "bind ^[[3~ ed-delete-next-char # for xterm\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:711
msgid ""
"For the C Shell, add the following lines to [.filename]#~/.cshrc#. See man:"
"csh[1]."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:715
#, no-wrap
msgid "bindkey ^[[3~ delete-char # for xterm\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:718
#, no-wrap
msgid "Other Hardware"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:721
#, no-wrap
msgid "Workarounds for no sound from my man:pcm[4] sound card?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:725
msgid ""
"Some sound cards set their output volume to 0 at every boot. On FreeBSD 13 "
"and earlier, run the following command every time the machine boots:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:729
#, no-wrap
msgid "# mixer pcm 100 vol 100 cd 100\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:732
msgid "Use the following command on FreeBSD 14 and later:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:736
#, no-wrap
msgid "# mixer pcm.volume=100 vol.volume=100 cd.volume=100\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/faq/_index.adoc:739
#, no-wrap
msgid "Does FreeBSD support power management on my laptop?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:743
msgid ""
"FreeBSD supports the ACPI features found in modern hardware. Further "
"information can be found in man:acpi[4]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:745
#, no-wrap
msgid "Troubleshooting"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:748
#, no-wrap
msgid "Why is FreeBSD finding the wrong amount of memory on i386(TM) hardware?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:751
msgid ""
"The most likely reason is the difference between physical memory addresses "
"and virtual addresses."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:755
msgid ""
"The convention for most PC hardware is to use the memory area between 3.5 GB "
"and 4 GB for a special purpose (usually for PCI). This address space is "
"used to access PCI hardware. As a result real, physical memory cannot be "
"accessed by that address space."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:758
msgid ""
"What happens to the memory that should appear in that location is hardware "
"dependent. Unfortunately, some hardware does nothing and the ability to use "
"that last 500 MB of RAM is entirely lost."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:761
msgid ""
"Luckily, most hardware remaps the memory to a higher location so that it can "
"still be used. However, this can cause some confusion when watching the "
"boot messages."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:765
msgid ""
"On a 32-bit version of FreeBSD, the memory appears lost, since it will be "
"remapped above 4 GB, which a 32-bit kernel is unable to access. In this "
"case, the solution is to build a PAE enabled kernel. See the entry on "
"memory limits for more information."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:769
msgid ""
"On a 64-bit version of FreeBSD, or when running a PAE-enabled kernel, "
"FreeBSD will correctly detect and remap the memory so it is usable. During "
"boot, however, it may seem as if FreeBSD is detecting more memory than the "
"system really has, due to the described remapping. This is normal and the "
"available memory will be corrected as the boot process completes."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:771
#, no-wrap
msgid "Why do my programs occasionally die with Signal 11 errors?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:775
msgid ""
"Signal 11 errors are caused when a process has attempted to access memory "
"which the operating system has not granted it access to. If something like "
"this is happening at seemingly random intervals, start investigating the "
"cause."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:777
msgid "These problems can usually be attributed to either:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:779
msgid ""
"If the problem is occurring only in a specific custom application, it is "
"probably a bug in the code."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:780
msgid ""
"If it is a problem with part of the base FreeBSD system, it may also be "
"buggy code, but more often than not these problems are found and fixed long "
"before us general FAQ readers get to use these bits of code (that is what -"
"CURRENT is for)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:782
msgid ""
"It is probably not a FreeBSD bug if the problem occurs compiling a program, "
"but the activity that the compiler is carrying out changes each time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:786
msgid ""
"For example, if `make buildworld` fails while trying to compile [."
"filename]#ls.c# into [.filename]#ls.o# and, when run again, it fails in the "
"same place, this is a broken build. Try updating source and try again. If "
"the compile fails elsewhere, it is almost certainly due to hardware."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:788
msgid ""
"In the first case, use a debugger such as man:gdb[1] to find the point in "
"the program which is attempting to access a bogus address and fix it."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:790
msgid "In the second case, verify which piece of hardware is at fault."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:792
msgid "Common causes of this include:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:794
msgid ""
"The hard disks might be overheating: Check that the fans are still working, "
"as the disk and other hardware might be overheating."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:797
msgid ""
"The processor running is overheating: This might be because the processor "
"has been overclocked, or the fan on the processor might have died. In "
"either case, ensure that the hardware is running at what it is specified to "
"run at, at least while trying to solve this problem. If it is not, clock it "
"back to the default settings.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:800
msgid ""
"Regarding overclocking, it is far cheaper to have a slow system than a fried "
"system that needs replacing! Also the community is not sympathetic to "
"problems on overclocked systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:801
msgid ""
"Dodgy memory: if multiple memory SIMMS/DIMMS are installed, pull them all "
"out and try running the machine with each SIMM or DIMM individually to "
"narrow the problem down to either the problematic DIMM/SIMM or perhaps even "
"a combination."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:804
msgid ""
"Over-optimistic motherboard settings: the BIOS settings, and some "
"motherboard jumpers, provide options to set various timings. The defaults "
"are often sufficient, but sometimes setting the wait states on RAM too low, "
"or setting the \"RAM Speed: Turbo\" option will cause strange behavior. A "
"possible idea is to set to BIOS defaults, after noting the current settings "
"first."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:808
msgid ""
"Unclean or insufficient power to the motherboard. Remove any unused I/O "
"boards, hard disks, or CD-ROMs, or disconnect the power cable from them, to "
"see if the power supply can manage a smaller load. Or try another power "
"supply, preferably one with a little more power. For instance, if the "
"current power supply is rated at 250 Watts, try one rated at 300 Watts."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:811
msgid ""
"Read the section on <<signal11,Signal 11>> for a further explanation and a "
"discussion on how memory testing software or hardware can still pass faulty "
"memory. There is an extensive FAQ on this at http://www.bitwizard.nl/sig11/"
"[the SIG11 problem FAQ]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:814
msgid ""
"Finally, if none of this has helped, it is possibly a bug in FreeBSD. "
"Follow <<access-pr,these instructions>> to send a problem report."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:816
#, no-wrap
msgid "My system crashes with either Fatal trap 12: page fault in kernel mode, or panic:, and spits out a bunch of information. What should I do?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:823
msgid ""
"The FreeBSD developers are interested in these errors, but need more "
"information than just the error message. Copy the full crash message. Then "
"consult the FAQ section on <<kernel-panic-troubleshooting,kernel panics>>, "
"build a debugging kernel, and get a backtrace. This might sound difficult, "
"but does not require any programming skills. Just follow the instructions."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:825
#, no-wrap
msgid "What is the meaning of the error maxproc limit exceeded by uid %i, please see tuning(7) and login.conf(5)?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:832
msgid ""
"The FreeBSD kernel will only allow a certain number of processes to exist at "
"one time. The number is based on the `kern.maxusers` man:sysctl[8] "
"variable. `kern.maxusers` also affects various other in-kernel limits, such "
"as network buffers. If the machine is heavily loaded, increase `kern."
"maxusers`. This will increase these other system limits in addition to the "
"maximum number of processes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:835
msgid ""
"To adjust the `kern.maxusers` value, see the extref:{handbook}config/[File/"
"Process Limits, kern-maxfiles] section of the Handbook. While that section "
"refers to open files, the same limits apply to processes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:841
msgid ""
"If the machine is lightly loaded but running a very large number of "
"processes, adjust the `kern.maxproc` tunable by defining it in [.filename]#/"
"boot/loader.conf#. The tunable will not get adjusted until the system is "
"rebooted. For more information about tuning tunables, see man:loader."
"conf[5]. If these processes are being run by a single user, adjust `kern."
"maxprocperuid` to be one less than the new `kern.maxproc` value. It must be "
"at least one less because one system program, man:init[8], must always be "
"running."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:843
#, no-wrap
msgid "Why do full screen applications on remote machines misbehave?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:847
msgid ""
"The remote machine may be setting the terminal type to something other than "
"`xterm` which is required by the FreeBSD console. Alternatively the kernel "
"may have the wrong values for the width and height of the terminal."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:850
msgid ""
"Check the value of the `TERM` environment variable is `xterm`. If the "
"remote machine does not support that try `vt100`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:853
msgid ""
"Run `stty -a` to check what the kernel thinks the terminal dimensions are. "
"If they are incorrect, they can be changed by running `stty rows _RR_ cols "
"_CC_`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:855
msgid ""
"Alternatively, if the client machine has package:x11/xterm[] installed, then "
"running `resize` will query the terminal for the correct dimensions and set "
"them."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:857
#, no-wrap
msgid "Why does it take so long to connect to my computer via ssh or telnet?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:860
msgid ""
"The symptom: there is a long delay between the time the TCP connection is "
"established and the time when the client software asks for a password (or, "
"in man:telnet[1]'s case, when a login prompt appears)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:863
msgid ""
"The problem: more likely than not, the delay is caused by the server "
"software trying to resolve the client's IP address into a hostname. Many "
"servers, including the Telnet and SSH servers that come with FreeBSD, do "
"this to store the hostname in a log file for future reference by the "
"administrator."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:866
msgid ""
"The remedy: if the problem occurs whenever connecting the client computer to "
"any server, the problem is with the client. If the problem only occurs when "
"someone connects to the server computer, the problem is with the server."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:870
msgid ""
"If the problem is with the client, the only remedy is to fix the DNS so the "
"server can resolve it. If this is on a local network, consider it a server "
"problem and keep reading. If this is on the Internet, contact your ISP."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:876
msgid ""
"If the problem is with the server on a local network, configure the server "
"to resolve address-to-hostname queries for the local address range. See man:"
"hosts[5] and man:named[8] for more information. If this is on the Internet, "
"the problem may be that the local server's resolver is not functioning "
"correctly. To check, try to look up another host such as `www.yahoo.com`. "
"If it does not work, that is the problem."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:880
msgid ""
"Following a fresh install of FreeBSD, it is also possible that domain and "
"name server information is missing from [.filename]#/etc/resolv.conf#. This "
"will often cause a delay in SSH, as the option `UseDNS` is set to `yes` by "
"default in [.filename]#/etc/ssh/sshd_config#. If this is causing the "
"problem, either fill in the missing information in [.filename]#/etc/resolv."
"conf# or set `UseDNS` to `no` in [.filename]#sshd_config# as a temporary "
"workaround."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:882
#, no-wrap
msgid "Why does file: table is full show up repeatedly in man:dmesg[8]?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:886
msgid ""
"This error message indicates that the number of available file descriptors "
"have been exhausted on the system. Refer to the extref:{handbook}config/"
"[kern.maxfiles, kern-maxfiles] section of the extref:{handbook}config/"
"[Tuning Kernel Limits, configtuning-kernel-limits] section of the Handbook "
"for a discussion and solution."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:888
#, no-wrap
msgid "Why does the clock on my computer keep incorrect time?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:891
msgid ""
"The computer has two or more clocks, and FreeBSD has chosen to use the wrong "
"one."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:894
msgid ""
"Run man:dmesg[8], and check for lines that contain `Timecounter`. The one "
"with the highest quality value that FreeBSD chose."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:902
#, no-wrap
msgid ""
"# dmesg | grep Timecounter\n"
"Timecounter \"i8254\" frequency 1193182 Hz quality 0\n"
"Timecounter \"ACPI-fast\" frequency 3579545 Hz quality 1000\n"
"Timecounter \"TSC\" frequency 2998570050 Hz quality 800\n"
"Timecounters tick every 1.000 msec\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:905
msgid "Confirm this by checking the `kern.timecounter.hardware` man:sysctl[3]."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:910
#, no-wrap
msgid ""
"# sysctl kern.timecounter.hardware\n"
"kern.timecounter.hardware: ACPI-fast\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:914
msgid ""
"It may be a broken ACPI timer. The simplest solution is to disable the ACPI "
"timer in [.filename]#/boot/loader.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:918
#, no-wrap
msgid "debug.acpi.disabled=\"timer\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:921
msgid ""
"Or the BIOS may modify the TSC clock-perhaps to change the speed of the "
"processor when running from batteries, or going into a power saving mode, "
"but FreeBSD is unaware of these adjustments, and appears to gain or lose "
"time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:923
msgid ""
"In this example, the `i8254` clock is also available, and can be selected by "
"writing its name to the `kern.timecounter.hardware` man:sysctl[3]."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:928
#, no-wrap
msgid ""
"# sysctl kern.timecounter.hardware=i8254\n"
"kern.timecounter.hardware: TSC -> i8254\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:931
msgid "The computer should now start keeping more accurate time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:933
msgid ""
"To have this change automatically run at boot time, add the following line "
"to [.filename]#/etc/sysctl.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/faq/_index.adoc:937
#, no-wrap
msgid "kern.timecounter.hardware=i8254\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:940
#, no-wrap
msgid "What does the error swap_pager: indefinite wait buffer: mean?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:946
msgid ""
"This means that a process is trying to page memory from disk, and the page "
"attempt has hung trying to access the disk for more than 20 seconds. It "
"might be caused by bad blocks on the disk drive, disk wiring, cables, or any "
"other disk I/O-related hardware. If the drive itself is bad, disk errors "
"will appear in [.filename]#/var/log/messages# and in the output of `dmesg`. "
"Otherwise, check the cables and connections."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:948
#, no-wrap
msgid "What is a lock order reversal?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:953
msgid ""
"The FreeBSD kernel uses a number of resource locks to arbitrate contention "
"for certain resources. When multiple kernel threads try to obtain multiple "
"resource locks, there's always the potential for a deadlock, where two "
"threads have each obtained one of the locks and blocks forever waiting for "
"the other thread to release one of the other locks. This sort of locking "
"problem can be avoided if all threads obtain the locks in the same order."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:956
msgid ""
"A run-time lock diagnostic system called man:witness[4], enabled in FreeBSD-"
"CURRENT and disabled by default for stable branches and releases, detects "
"the potential for deadlocks due to locking errors, including errors caused "
"by obtaining multiple resource locks with a different order from different "
"parts of the kernel. The man:witness[4] framework tries to detect this "
"problem as it happens, and reports it by printing a message to the system "
"console about a `lock order reversal` (often referred to also as LOR)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:959
msgid ""
"It is possible to get false positives, as man:witness[4] is conservative. A "
"true positive report _does not_ mean that a system is dead-locked; instead "
"it should be understood as a warning that a deadlock could have happened "
"here."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/faq/_index.adoc:963
msgid ""
"Problematic LORs tend to get fixed quickly, so check the {freebsd-current} "
"before posting to it."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:966
#, no-wrap
msgid "What does 'Called ... with the following non-sleepable locks held' mean?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:969
msgid ""
"This means that a function that may sleep was called while a mutex (or other "
"unsleepable) lock was held."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:974
msgid ""
"The reason this is an error is because mutexes are not intended to be held "
"for long periods of time; they are supposed to only be held to maintain "
"short periods of synchronization. This programming contract allows device "
"drivers to use mutexes to synchronize with the rest of the kernel during "
"interrupts. Interrupts (under FreeBSD) may not sleep. Hence it is "
"imperative that no subsystem in the kernel block for an extended period "
"while holding a mutex."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:976
msgid ""
"To catch such errors, assertions may be added to the kernel that interact "
"with the man:witness[4] subsystem to emit a warning or fatal error "
"(depending on the system configuration) when a potentially blocking call is "
"made while holding a mutex."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:978
msgid ""
"In summary, such warnings are non-fatal, however with unfortunate timing "
"they could cause undesirable effects ranging from a minor blip in the "
"system's responsiveness to a complete system lockup."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:980
msgid "For additional information about locking in FreeBSD see man:locking[9]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:982
#, no-wrap
msgid "Why does buildworld/installworld die with the message touch: not found?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:987
msgid ""
"This error does not mean that the man:touch[1] utility is missing. The "
"error is instead probably due to the dates of the files being set sometime "
"in the future. If the CMOS clock is set to local time, run `adjkerntz -i` "
"to adjust the kernel clock when booting into single-user mode."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:989
#, no-wrap
msgid "User Applications"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:992
#, no-wrap
msgid "Where are all the user applications?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:995
msgid ""
"Refer to link:https://www.FreeBSD.org/ports/[the ports page] for info on "
"software packages ported to FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:999
msgid ""
"Most ports should work on all supported versions of FreeBSD. Those that do "
"not are specifically marked as such. Each time a FreeBSD release is made, a "
"snapshot of the ports tree at the time of release is also included in the [."
"filename]#ports/# directory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1002
msgid ""
"FreeBSD supports compressed binary packages to easily install and uninstall "
"ports. Use man:pkg[7] to control the installation of packages."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1004
#, no-wrap
msgid "How do I download the Ports tree? Should I be using Git?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1007
msgid ""
"See extref:{handbook}ports/[Installing the Ports Collection, ports-using-"
"installation-methods]"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1009
#, no-wrap
msgid "Why can I not build this port on my {rel2-relx} -, or {rel-relx} -STABLE machine?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1014
msgid ""
"If the installed FreeBSD version lags significantly behind _-CURRENT_ or _-"
"STABLE_, update the Ports Collection using the instructions in extref:"
"{handbook}ports/[Using the Ports Collection, ports-using]. If the system is "
"up-to-date, someone might have committed a change to the port which works "
"for _-CURRENT_ but which broke the port for _-STABLE_. https://bugs.FreeBSD."
"org/submit/[Submit] a bug report, since the Ports Collection is supposed to "
"work for both the _-CURRENT_ and _-STABLE_ branches."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1016
#, no-wrap
msgid "I just tried to build INDEX using make index, and it failed. Why?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1020
msgid ""
"First, make sure that the Ports Collection is up-to-date. Errors that "
"affect building [.filename]#INDEX# from an up-to-date copy of the Ports "
"Collection are high-visibility and are thus almost always fixed immediately."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1023
msgid ""
"There are rare cases where [.filename]#INDEX# will not build due to odd "
"cases involving `OPTIONS_SET` being set in [.filename]#make.conf#. If you "
"suspect that this is the case, try to make [.filename]#INDEX# with those "
"variables turned off before reporting it to {freebsd-ports}."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1025
#, no-wrap
msgid "I updated the sources, now how do I update my installed ports?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1029
msgid ""
"FreeBSD does not include a port upgrading tool, but it does have some tools "
"to make the upgrade process somewhat easier. Additional tools are available "
"to simplify port handling and are described the extref:{handbook}ports/"
"[Upgrading Ports, ports-using] section in the FreeBSD Handbook."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1031
#, no-wrap
msgid "Do I need to recompile every port each time I perform a major version update?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1035
msgid ""
"Yes! While a recent system will run with software compiled under an older "
"release, things will randomly crash and fail to work once other ports are "
"installed or updated."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1038
msgid ""
"When the system is upgraded, various shared libraries, loadable modules, and "
"other parts of the system will be replaced with newer versions. "
"Applications linked against the older versions may fail to start or, in "
"other cases, fail to function properly."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1040
msgid ""
"For more information, see extref:{handbook}cutting-edge/[the section on "
"upgrades, freebsdupdate-upgrade] in the FreeBSD Handbook."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1042
#, no-wrap
msgid "Do I need to recompile every port each time I perform a minor version update?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1047
msgid ""
"In general, no. FreeBSD developers do their utmost to guarantee binary "
"compatibility across all releases with the same major version number. Any "
"exceptions will be documented in the Release Notes, and advice given there "
"should be followed."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1049
#, no-wrap
msgid "Why is /bin/sh so minimal? Why does FreeBSD not use bash or another shell?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1055
msgid ""
"Many people need to write shell scripts which will be portable across many "
"systems. That is why POSIX(R) specifies the shell and utility commands in "
"great detail. Most scripts are written in Bourne shell (man:sh[1]), and "
"because several important programming interfaces (man:make[1], man:"
"system[3], man:popen[3], and analogues in higher-level scripting languages "
"like Perl and Tcl) are specified to use the Bourne shell to interpret "
"commands. As the Bourne shell is so often and widely used, it is important "
"for it to be quick to start, be deterministic in its behavior, and have a "
"small memory footprint."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1060
msgid ""
"The existing implementation is our best effort at meeting as many of these "
"requirements simultaneously as we can. To keep `/bin/sh` small, we have not "
"provided many of the convenience features that other shells have. That is "
"why other more featureful shells like `bash`, `scsh`, man:tcsh[1], and `zsh` "
"are available. Compare the memory utilization of these shells by looking at "
"the \"VSZ\" and \"RSS\" columns in a `ps -u` listing."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/faq/_index.adoc:1062
#, no-wrap
msgid "Kernel Configuration"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1065
#, no-wrap
msgid "I would like to customize my kernel. Is it difficult?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/faq/_index.adoc:1069
msgid ""
"Not at all! Check out the extref:{handbook}kernelconfig/[kernel config "
"section of the Handbook]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/faq/_index.adoc:1074
msgid ""
"The new [.filename]#kernel# will be installed to the [.filename]#/boot/"
"kernel# directory along with its modules, while the old kernel and its "
"modules will be moved to the [.filename]#/boot/kernel.old# directory. If a "
"mistake is made in the configuration, simply boot the previous version of "
"the kernel."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/faq/_index.adoc:1077
#, no-wrap
msgid "Why is my kernel so big?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1084
+#: documentation/content/en/books/faq/_index.adoc:1083
msgid ""
"`GENERIC` kernels shipped with FreeBSD are compiled in _debug mode_. "
"Kernels built in debug mode contain debug data in separate files that are "
-"used for debugging. FreeBSD releases prior to 11.0 store these debug files "
-"in the same directory as the kernel itself, [.filename]#/boot/kernel/#. In "
-"FreeBSD 11.0 and later the debug files are stored in [.filename]#/usr/lib/"
+"used for debugging. The debug files are stored in [.filename]#/usr/lib/"
"debug/boot/kernel/#. Note that there will be little or no performance loss "
"from running a debug kernel, and it is useful to keep one around in case of "
"a system panic."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1086
+#: documentation/content/en/books/faq/_index.adoc:1085
msgid ""
"When running low on disk space, there are different options to reduce the "
"size of [.filename]#/boot/kernel/# and [.filename]#/usr/lib/debug/#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1088
+#: documentation/content/en/books/faq/_index.adoc:1087
msgid ""
"To not install the symbol files, make sure the following line exists in [."
"filename]#/etc/src.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1092
+#: documentation/content/en/books/faq/_index.adoc:1091
#, no-wrap
msgid "WITHOUT_KERNEL_SYMBOLS=yes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1095
+#: documentation/content/en/books/faq/_index.adoc:1094
msgid "For more information see man:src.conf[5]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1097
+#: documentation/content/en/books/faq/_index.adoc:1096
msgid ""
"If you want to avoid building debug files altogether, make sure that both of "
"the following are true:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1099
+#: documentation/content/en/books/faq/_index.adoc:1098
msgid "This line does not exist in the kernel configuration file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1103
+#: documentation/content/en/books/faq/_index.adoc:1102
#, no-wrap
msgid "makeoptions DEBUG=-g\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1106
+#: documentation/content/en/books/faq/_index.adoc:1105
msgid "Do not run man:config[8] with `-g`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1108
+#: documentation/content/en/books/faq/_index.adoc:1107
msgid ""
"Either of the above settings will cause the kernel to be built in debug mode."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1110
+#: documentation/content/en/books/faq/_index.adoc:1109
msgid ""
"To build and install only the specified modules, list them in [.filename]#/"
"etc/make.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1114
+#: documentation/content/en/books/faq/_index.adoc:1113
#, no-wrap
msgid "MODULES_OVERRIDE= accf_http ipfw\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1120
+#: documentation/content/en/books/faq/_index.adoc:1119
msgid ""
"Replace _accf_httpd ipfw_ with a list of needed modules. Only the listed "
"modules will be built. This reduces the size of the kernel directory and "
"decreases the amount of time needed to build the kernel. For more "
"information, read [.filename]#/usr/share/examples/etc/make.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1123
+#: documentation/content/en/books/faq/_index.adoc:1122
msgid ""
"Unneeded devices can be removed from the kernel to further reduce the size. "
"See <<make-kernel>> for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1125
+#: documentation/content/en/books/faq/_index.adoc:1124
msgid ""
"To put any of these options into effect, follow the instructions to extref:"
"{handbook}kernelconfig/[build and install, kernelconfig-building] the new "
"kernel."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1127
+#: documentation/content/en/books/faq/_index.adoc:1126
msgid ""
"For reference, the FreeBSD 11 amd64 kernel ([.filename]#/boot/kernel/"
"kernel#) is approximately 25 MB."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1129
+#: documentation/content/en/books/faq/_index.adoc:1128
#, no-wrap
msgid "Why does every kernel I try to build fail to compile, even GENERIC?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1132
+#: documentation/content/en/books/faq/_index.adoc:1131
msgid "There are a number of possible causes for this problem:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1135
+#: documentation/content/en/books/faq/_index.adoc:1134
msgid ""
"The source tree is different from the one used to build the currently "
"running system. When attempting an upgrade, read [.filename]#/usr/src/"
"UPDATING#, paying particular attention to the \"COMMON ITEMS\" section at "
"the end."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1137
+#: documentation/content/en/books/faq/_index.adoc:1136
msgid ""
"The `make buildkernel` did not complete successfully. The `make "
"buildkernel` target relies on files generated by the `make buildworld` "
"target to complete its job correctly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1141
+#: documentation/content/en/books/faq/_index.adoc:1140
msgid ""
"Even when building <<stable,FreeBSD-STABLE>>, it is possible that the source "
"tree was fetched at a time when it was either being modified or it was "
"broken. Only releases are guaranteed to be buildable, although <<stable,"
"FreeBSD-STABLE>> builds fine the majority of the time. Try re-fetching the "
"source tree and see if the problem goes away. Try using a different mirror "
"in case the previous one is having problems."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1143
+#: documentation/content/en/books/faq/_index.adoc:1142
#, no-wrap
msgid "Which scheduler is in use on a running system?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1146
+#: documentation/content/en/books/faq/_index.adoc:1145
msgid ""
"The name of the scheduler currently being used is directly available as the "
"value of the `kern.sched.name` sysctl:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1151
+#: documentation/content/en/books/faq/_index.adoc:1150
#, no-wrap
msgid ""
"% sysctl kern.sched.name\n"
"kern.sched.name: ULE\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1154
+#: documentation/content/en/books/faq/_index.adoc:1153
#, no-wrap
msgid "What is kern.sched.quantum?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1157
+#: documentation/content/en/books/faq/_index.adoc:1156
msgid ""
"`kern.sched.quantum` is the maximum number of ticks a process can run "
"without being preempted in the 4BSD scheduler."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:1159
+#: documentation/content/en/books/faq/_index.adoc:1158
#, no-wrap
msgid "Disks, File Systems, and Boot Loaders"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1162
+#: documentation/content/en/books/faq/_index.adoc:1161
#, no-wrap
msgid "How can I add my new hard disk to my FreeBSD system?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1165
+#: documentation/content/en/books/faq/_index.adoc:1164
msgid ""
"See the extref:{handbook}disks/[Adding Disks, disks-adding] section in the "
"FreeBSD Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1167
+#: documentation/content/en/books/faq/_index.adoc:1166
#, no-wrap
msgid "How do I move my system over to my huge new disk?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1173
+#: documentation/content/en/books/faq/_index.adoc:1172
msgid ""
"The best way is to reinstall the operating system on the new disk, then move "
"the user data over. This is highly recommended when tracking _-STABLE_ for "
"more than one release or when updating a release instead of installing a new "
"one. Install booteasy on both disks with man:boot0cfg[8] and dual boot "
"until you are happy with the new configuration. Skip the next paragraph to "
"find out how to move the data after doing this."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1176
+#: documentation/content/en/books/faq/_index.adoc:1175
msgid ""
"Alternatively, partition and label the new disk with either man:sade[8] or "
"man:gpart[8]. If the disks are MBR-formatted, booteasy can be installed on "
"both disks with man:boot0cfg[8] so that the computer can dual boot to the "
"old or new system after the copying is done."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1180
+#: documentation/content/en/books/faq/_index.adoc:1179
msgid ""
"Once the new disk set up, the data cannot just be copied. Instead, use "
"tools that understand device files and system flags, such as man:dump[8]. "
"Although it is recommended to move the data while in single-user mode, it is "
"not required."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1184
+#: documentation/content/en/books/faq/_index.adoc:1183
msgid ""
"When the disks are formatted with UFS, never use anything but man:dump[8] "
"and man:restore[8] to move the root file system. These commands should also "
"be used when moving a single partition to another empty partition. The "
"sequence of steps to use `dump` to move the data from one UFS partitions to "
"a new partition is:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1188
+#: documentation/content/en/books/faq/_index.adoc:1187
msgid "`newfs` the new partition."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1189
+#: documentation/content/en/books/faq/_index.adoc:1188
msgid "`mount` it on a temporary mount point."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1190
+#: documentation/content/en/books/faq/_index.adoc:1189
msgid "`cd` to that directory."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1191
+#: documentation/content/en/books/faq/_index.adoc:1190
msgid "`dump` the old partition, piping output to the new one."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1194
+#: documentation/content/en/books/faq/_index.adoc:1193
msgid ""
"For example, to move [.filename]#/dev/ada1s1a# with [.filename]#/mnt# as the "
"temporary mount point, type:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1201
+#: documentation/content/en/books/faq/_index.adoc:1200
#, no-wrap
msgid ""
"# newfs /dev/ada1s1a\n"
"# mount /dev/ada1s1a /mnt\n"
"# cd /mnt\n"
"# dump 0af - / | restore rf -\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1205
+#: documentation/content/en/books/faq/_index.adoc:1204
msgid ""
"Rearranging partitions with `dump` takes a bit more work. To merge a "
"partition like [.filename]#/var# into its parent, create the new partition "
"large enough for both, move the parent partition as described above, then "
"move the child partition into the empty directory that the first move "
"created:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1214
+#: documentation/content/en/books/faq/_index.adoc:1213
#, no-wrap
msgid ""
"# newfs /dev/ada1s1a\n"
"# mount /dev/ada1s1a /mnt\n"
"# cd /mnt\n"
"# dump 0af - / | restore rf -\n"
"# cd var\n"
"# dump 0af - /var | restore rf -\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1217
+#: documentation/content/en/books/faq/_index.adoc:1216
msgid ""
"To split a directory from its parent, say putting [.filename]#/var# on its "
"own partition when it was not before, create both partitions, then mount the "
"child partition on the appropriate directory in the temporary mount point, "
"then move the old single partition:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1227
+#: documentation/content/en/books/faq/_index.adoc:1226
#, no-wrap
msgid ""
"# newfs /dev/ada1s1a\n"
"# newfs /dev/ada1s1d\n"
"# mount /dev/ada1s1a /mnt\n"
"# mkdir /mnt/var\n"
"# mount /dev/ada1s1d /mnt/var\n"
"# cd /mnt\n"
"# dump 0af - / | restore rf -\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1231
+#: documentation/content/en/books/faq/_index.adoc:1230
msgid ""
"The man:cpio[1] and man:pax[1] utilities are also available for moving user "
"data. These are known to lose file flag information, so use them with "
"caution."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1233
+#: documentation/content/en/books/faq/_index.adoc:1232
#, no-wrap
msgid "Which partitions can safely use Soft Updates? I have heard that Soft Updates on / can cause problems. What about Journaled Soft Updates?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1236
+#: documentation/content/en/books/faq/_index.adoc:1235
msgid ""
"Short answer: Soft Updates can usually be safely used on all partitions."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1241
+#: documentation/content/en/books/faq/_index.adoc:1240
msgid ""
"Long answer: Soft Updates has two characteristics that may be undesirable on "
"certain partitions. First, a Soft Updates partition has a small chance of "
"losing data during a system crash. The partition will not be corrupted as "
"the data will simply be lost. Second, Soft Updates can cause temporary "
"space shortages."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1249
+#: documentation/content/en/books/faq/_index.adoc:1248
msgid ""
"When using Soft Updates, the kernel can take up to thirty seconds to write "
"changes to the physical disk. When a large file is deleted the file still "
"resides on disk until the kernel actually performs the deletion. This can "
"cause a very simple race condition. Suppose one large file is deleted and "
"another large file is immediately created. The first large file is not yet "
"actually removed from the physical disk, so the disk might not have enough "
"room for the second large file. This will produce an error that the "
"partition does not have enough space, even though a large chunk of space has "
"just been released. A few seconds later, the file creation works as "
"expected."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1252
+#: documentation/content/en/books/faq/_index.adoc:1251
msgid ""
"If a system should crash after the kernel accepts a chunk of data for "
"writing to disk, but before that data is actually written out, data could be "
"lost. This risk is extremely small, but generally manageable."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1255
+#: documentation/content/en/books/faq/_index.adoc:1254
msgid ""
"These issues affect all partitions using Soft Updates. So, what does this "
"mean for the root partition?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1260
+#: documentation/content/en/books/faq/_index.adoc:1259
msgid ""
"Vital information on the root partition changes very rarely. If the system "
"crashed during the thirty-second window after such a change is made, it is "
"possible that data could be lost. This risk is negligible for most "
"applications, but be aware that it exists. If the system cannot tolerate "
"this much risk, do not use Soft Updates on the root file system!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1264
+#: documentation/content/en/books/faq/_index.adoc:1263
msgid ""
"[.filename]#/# is traditionally one of the smallest partitions. If [."
"filename]#/tmp# is on [.filename]#/#, there may be intermittent space "
"problems. Symlinking [.filename]#/tmp# to [.filename]#/var/tmp# will solve "
"this problem."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1266
+#: documentation/content/en/books/faq/_index.adoc:1265
msgid ""
"Finally, man:dump[8] does not work in live mode (-L) on a filesystem, with "
"Journaled Soft Updates (SU+J)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1268
+#: documentation/content/en/books/faq/_index.adoc:1267
#, no-wrap
msgid "Can I mount other foreign file systems under FreeBSD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1271
+#: documentation/content/en/books/faq/_index.adoc:1270
msgid "FreeBSD supports a variety of other file systems."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/faq/_index.adoc:1272
+#: documentation/content/en/books/faq/_index.adoc:1271
#, no-wrap
msgid "UFS"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1275
+#: documentation/content/en/books/faq/_index.adoc:1274
msgid ""
"UFS CD-ROMs can be mounted directly on FreeBSD. Mounting disk partitions "
"from Digital UNIX and other systems that support UFS may be more complex, "
"depending on the details of the disk partitioning for the operating system "
"in question."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/faq/_index.adoc:1276
+#: documentation/content/en/books/faq/_index.adoc:1275
#, no-wrap
msgid "ext2/ext3"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1279
+#: documentation/content/en/books/faq/_index.adoc:1278
msgid ""
"FreeBSD supports `ext2fs`, `ext3fs`, and `ext4fs` partitions. See man:"
"ext2fs[5] for more information."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/faq/_index.adoc:1280
+#: documentation/content/en/books/faq/_index.adoc:1279
#, no-wrap
msgid "NTFS"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1283
+#: documentation/content/en/books/faq/_index.adoc:1282
msgid ""
"FUSE based NTFS support is available as a port (package:sysutils/fusefs-"
"ntfs[]). For more information, see man:ntfs-3g[8]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/faq/_index.adoc:1284
+#: documentation/content/en/books/faq/_index.adoc:1283
#, no-wrap
msgid "FAT"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1287
+#: documentation/content/en/books/faq/_index.adoc:1286
msgid ""
"FreeBSD includes a read-write FAT driver. For more information, see man:"
"mount_msdosfs[8]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:1288
-#: documentation/content/en/books/faq/_index.adoc:1526
+#: documentation/content/en/books/faq/_index.adoc:1287
+#: documentation/content/en/books/faq/_index.adoc:1525
#, no-wrap
msgid "ZFS"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1292
+#: documentation/content/en/books/faq/_index.adoc:1291
msgid ""
"FreeBSD includes a port of Sun(TM)'s ZFS driver. The current recommendation "
"is to use it only on amd64 platforms with sufficient memory. For more "
"information, see man:zfs[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1294
+#: documentation/content/en/books/faq/_index.adoc:1293
msgid ""
"FreeBSD includes the Network File System NFS and the FreeBSD Ports "
"Collection provides several FUSE applications to support many other file "
"systems."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1296
+#: documentation/content/en/books/faq/_index.adoc:1295
#, no-wrap
msgid "How do I mount a secondary DOS partition?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1301
+#: documentation/content/en/books/faq/_index.adoc:1300
msgid ""
"The secondary DOS partitions are found after _all_ the primary partitions. "
"For example, if `E` is the second DOS partition on the second SCSI drive, "
"there will be a device file for \"slice 5\" in [.filename]#/dev#. To mount "
"it:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1305
+#: documentation/content/en/books/faq/_index.adoc:1304
#, no-wrap
msgid "# mount -t msdosfs /dev/da1s5 /dos/e\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1308
+#: documentation/content/en/books/faq/_index.adoc:1307
#, no-wrap
msgid "Is there a cryptographic file system for FreeBSD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1312
+#: documentation/content/en/books/faq/_index.adoc:1311
msgid ""
"Yes, man:gbde[8] and man:geli[8]. See the extref:{handbook}disks/"
"[Encrypting Disk Partitions, disks-encrypting] section of the FreeBSD "
"Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1314
+#: documentation/content/en/books/faq/_index.adoc:1313
#, no-wrap
msgid "How do I boot FreeBSD and Linux(R) using GRUB?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1317
+#: documentation/content/en/books/faq/_index.adoc:1316
msgid ""
"To boot FreeBSD using GRUB, add the following to either [.filename]#/boot/"
"grub/menu.lst# or [.filename]#/boot/grub/grub.conf#, depending upon which is "
"used by the Linux(R) distribution."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1323
+#: documentation/content/en/books/faq/_index.adoc:1322
#, no-wrap
msgid ""
"title FreeBSD 9.1\n"
"\troot (hd0,a)\n"
"\tkernel /boot/loader\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1328
+#: documentation/content/en/books/faq/_index.adoc:1327
msgid ""
"Where _hd0,a_ points to the root partition on the first disk. To specify "
"the slice number, use something like this _(hd0,2,a)_. By default, if the "
"slice number is omitted, GRUB searches the first slice which has the `a` "
"partition."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1330
+#: documentation/content/en/books/faq/_index.adoc:1329
#, no-wrap
msgid "How do I boot FreeBSD and Linux(R) using BootEasy?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1334
+#: documentation/content/en/books/faq/_index.adoc:1333
msgid ""
"Install LILO at the start of the Linux(R) boot partition instead of in the "
"Master Boot Record. Then boot LILO from BootEasy."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1336
+#: documentation/content/en/books/faq/_index.adoc:1335
msgid ""
"This is recommended when running Windows(R) and Linux(R) as it makes it "
"simpler to get Linux(R) booting again if Windows(R) is reinstalled."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1338
+#: documentation/content/en/books/faq/_index.adoc:1337
#, no-wrap
msgid "How do I change the boot prompt from ??? to something more meaningful?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1342
+#: documentation/content/en/books/faq/_index.adoc:1341
msgid ""
"This cannot be accomplished with the standard boot manager without rewriting "
"it. There are a number of other boot managers in the [.filename]#sysutils# "
"category of the Ports Collection."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1344
+#: documentation/content/en/books/faq/_index.adoc:1343
#, no-wrap
msgid "How do I use a new removable drive?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1347
+#: documentation/content/en/books/faq/_index.adoc:1346
msgid "If the drive already has a file system on it, use a command like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1351
+#: documentation/content/en/books/faq/_index.adoc:1350
#, no-wrap
msgid "# mount -t msdosfs /dev/da0s1 /mnt\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1356
+#: documentation/content/en/books/faq/_index.adoc:1355
msgid ""
"If the drive will only be used with FreeBSD systems, partition it with UFS "
"or ZFS. This will provide long filename support, improvement in "
"performance, and stability. If the drive will be used by other operating "
"systems, a more portable choice, such as msdosfs, is better."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1362
+#: documentation/content/en/books/faq/_index.adoc:1361
#, no-wrap
msgid ""
"# dd if=/dev/zero of=/dev/da0 count=2\n"
"# gpart create -s GPT /dev/da0\n"
"# gpart add -t freebsd-ufs /dev/da0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1365
+#: documentation/content/en/books/faq/_index.adoc:1364
msgid "Finally, create a new file system:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1369
+#: documentation/content/en/books/faq/_index.adoc:1368
#, no-wrap
msgid "# newfs /dev/da0p1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1372
+#: documentation/content/en/books/faq/_index.adoc:1371
msgid "and mount it:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1376
+#: documentation/content/en/books/faq/_index.adoc:1375
#, no-wrap
msgid "# mount /dev/da0s1 /mnt\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1379
+#: documentation/content/en/books/faq/_index.adoc:1378
msgid ""
"It is a good idea to add a line to [.filename]#/etc/fstab# (see man:"
"fstab[5]) so you can just type `mount /mnt` in the future:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1383
+#: documentation/content/en/books/faq/_index.adoc:1382
#, no-wrap
msgid "/dev/da0p1 /mnt ufs rw,noauto 0 0\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1386
+#: documentation/content/en/books/faq/_index.adoc:1385
#, no-wrap
msgid "Why do I get Incorrect super block when mounting a CD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1390
+#: documentation/content/en/books/faq/_index.adoc:1389
msgid ""
"The type of device to mount must be specified. This is described in the "
"Handbook section on extref:{handbook}disks/[Using Data CDs, mounting-cd]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1392
+#: documentation/content/en/books/faq/_index.adoc:1391
#, no-wrap
msgid "Why do I get Device not configured when mounting a CD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1396
+#: documentation/content/en/books/faq/_index.adoc:1395
msgid ""
"This generally means that there is no CD in the drive, or the drive is not "
"visible on the bus. Refer to the extref:{handbook}disks/[Using Data CDs, "
"mounting-cd] section of the Handbook for a detailed discussion of this issue."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1398
+#: documentation/content/en/books/faq/_index.adoc:1397
#, no-wrap
msgid "Why do all non-English characters in filenames show up as ? on my CDs when mounted in FreeBSD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1402
+#: documentation/content/en/books/faq/_index.adoc:1401
msgid ""
"The CD probably uses the \"Joliet\" extension for storing information about "
"files and directories. This is discussed in the Handbook section on extref:"
"{handbook}disks/[Using Data CD-ROMs, mounting-cd]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1404
+#: documentation/content/en/books/faq/_index.adoc:1403
#, no-wrap
msgid "A CD burned under FreeBSD cannot be read under any other operating system. Why?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1408
+#: documentation/content/en/books/faq/_index.adoc:1407
msgid ""
"This means a raw file was burned to the CD, rather than creating an ISO 9660 "
"file system. Take a look at the Handbook section on extref:{handbook}disks/"
"[Using Data CDs]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1410
+#: documentation/content/en/books/faq/_index.adoc:1409
#, no-wrap
msgid "How can I create an image of a data CD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1414
+#: documentation/content/en/books/faq/_index.adoc:1413
msgid ""
"This is discussed in the Handbook section on extref:{handbook}disks/[Writing "
"Data to an ISO File System, mkisofs]. For more on working with CD-ROMs, see "
"the extref:{handbook}disks/[Creating CDs Section, creating-cds] in the "
"Storage chapter in the Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1416
+#: documentation/content/en/books/faq/_index.adoc:1415
#, no-wrap
msgid "Why can I not mount an audio CD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1422
+#: documentation/content/en/books/faq/_index.adoc:1421
msgid ""
"Trying to mount an audio CD will produce an error like `cd9660: /dev/cd0: "
"Invalid argument`. This is because `mount` only works on file systems. "
"Audio CDs do not have file systems; they just have data. Instead, use a "
"program that reads audio CDs, such as the package:audio/xmcd[] package or "
"port."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1424
+#: documentation/content/en/books/faq/_index.adoc:1423
#, no-wrap
msgid "How do I mount a multi-session CD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1429
+#: documentation/content/en/books/faq/_index.adoc:1428
msgid ""
"By default, man:mount[8] will attempt to mount the last data track (session) "
"of a CD. To load an earlier session, use the `-s` command line argument. "
"Refer to man:mount_cd9660[8] for specific examples."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1431
+#: documentation/content/en/books/faq/_index.adoc:1430
#, no-wrap
msgid "How do I let ordinary users mount CD-ROMs, DVDs, USB drives, and other removable media?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1434
+#: documentation/content/en/books/faq/_index.adoc:1433
msgid "As `root` set the sysctl variable `vfs.usermount` to `1`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1438
+#: documentation/content/en/books/faq/_index.adoc:1437
#, no-wrap
msgid "# sysctl vfs.usermount=1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1441
+#: documentation/content/en/books/faq/_index.adoc:1440
msgid ""
"To make this persist across reboots, add the line `vfs.usermount=1` to [."
"filename]#/etc/sysctl.conf# so that it is reset at system boot time."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1444
+#: documentation/content/en/books/faq/_index.adoc:1443
msgid ""
"Users can only mount devices they have read permissions to. To allow users "
"to mount a device permissions must be set in [.filename]#/etc/devfs.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1446
+#: documentation/content/en/books/faq/_index.adoc:1445
msgid "For example, to allow users to mount the first USB drive add:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1452
+#: documentation/content/en/books/faq/_index.adoc:1451
#, no-wrap
msgid ""
"# Allow all users to mount a USB drive.\n"
"\t own /dev/da0 root:operator\n"
"\t perm /dev/da0 0666\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1455
+#: documentation/content/en/books/faq/_index.adoc:1454
msgid ""
"All users can now mount devices they could read onto a directory that they "
"own:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1460
+#: documentation/content/en/books/faq/_index.adoc:1459
#, no-wrap
msgid ""
"% mkdir ~/my-mount-point\n"
"% mount -t msdosfs /dev/da0 ~/my-mount-point\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1463
+#: documentation/content/en/books/faq/_index.adoc:1462
msgid "Unmounting the device is simple:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1467
+#: documentation/content/en/books/faq/_index.adoc:1466
#, no-wrap
msgid "% umount ~/my-mount-point\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1471
+#: documentation/content/en/books/faq/_index.adoc:1470
msgid ""
"Enabling `vfs.usermount`, however, has negative security implications. A "
"better way to access MS-DOS(R) formatted media is to use the package:"
"emulators/mtools[] package in the Ports Collection."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1475
+#: documentation/content/en/books/faq/_index.adoc:1474
msgid ""
"The device name used in the previous examples must be changed according to "
"the configuration."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1478
+#: documentation/content/en/books/faq/_index.adoc:1477
#, no-wrap
msgid "The du and df commands show different amounts of disk space available. What is going on?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1484
+#: documentation/content/en/books/faq/_index.adoc:1483
msgid ""
"This is due to how these commands actually work. `du` goes through the "
"directory tree, measures how large each file is, and presents the totals. "
"`df` just asks the file system how much space it has left. They seem to be "
"the same thing, but a file without a directory entry will affect `df` but "
"not `du`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1493
+#: documentation/content/en/books/faq/_index.adoc:1492
msgid ""
"When a program is using a file, and the file is deleted, the file is not "
"really removed from the file system until the program stops using it. The "
"file is immediately deleted from the directory listing, however. As an "
"example, consider a file large enough to affect the output of `du` and "
"`df`. A file being viewed with `more` can be deleted without causing an "
"error. The entry is removed from the directory so no other program or user "
"can access it. However, `du` shows that it is gone as it has walked the "
"directory tree and the file is not listed. `df` shows that it is still "
"there, as the file system knows that `more` is still using that space. Once "
"the `more` session ends, `du` and `df` will agree."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1500
+#: documentation/content/en/books/faq/_index.adoc:1499
msgid ""
"This situation is common on web servers. Many people set up a FreeBSD web "
"server and forget to rotate the log files. The access log fills up [."
"filename]#/var#. The new administrator deletes the file, but the system "
"still complains that the partition is full. Stopping and restarting the web "
"server program would free the file, allowing the system to release the disk "
"space. To prevent this from happening, set up man:newsyslog[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1502
+#: documentation/content/en/books/faq/_index.adoc:1501
msgid ""
"Note that Soft Updates can delay the freeing of disk space and it can take "
"up to 30 seconds for the change to be visible."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1504
+#: documentation/content/en/books/faq/_index.adoc:1503
#, no-wrap
msgid "How can I add more swap space?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1507
+#: documentation/content/en/books/faq/_index.adoc:1506
msgid ""
"This section extref:{handbook}config/[of the Handbook, adding-swap-space] "
"describes how to do this."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1509
+#: documentation/content/en/books/faq/_index.adoc:1508
#, no-wrap
msgid "Why does FreeBSD see my disk as smaller than the manufacturer says it is?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1513
+#: documentation/content/en/books/faq/_index.adoc:1512
msgid ""
"Disk manufacturers calculate gigabytes as a billion bytes each, whereas "
"FreeBSD calculates them as 1,073,741,824 bytes each. This explains why, for "
"example, FreeBSD's boot messages will report a disk that supposedly has 80 "
"GB as holding 76,319 MB."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1515
+#: documentation/content/en/books/faq/_index.adoc:1514
msgid ""
"Also note that FreeBSD will (by default) <<disk-more-than-full,reserve>> 8% "
"of the disk space."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1517
+#: documentation/content/en/books/faq/_index.adoc:1516
#, no-wrap
msgid "How is it possible for a partition to be more than 100% full?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1522
+#: documentation/content/en/books/faq/_index.adoc:1521
msgid ""
"A portion of each UFS partition (8%, by default) is reserved for use by the "
"operating system and the `root` user. man:df[1] does not count that space "
"when calculating the `Capacity` column, so it can exceed 100%. Notice that "
"the `Blocks` column is always greater than the sum of the `Used` and `Avail` "
"columns, usually by a factor of 8%."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1524
+#: documentation/content/en/books/faq/_index.adoc:1523
msgid "For more details, look up `-m` in man:tunefs[8]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1529
+#: documentation/content/en/books/faq/_index.adoc:1528
#, no-wrap
msgid "What is the minimum amount of RAM one should have to run ZFS?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1532
+#: documentation/content/en/books/faq/_index.adoc:1531
msgid ""
"A minimum of 4GB of RAM is required for comfortable usage, but individual "
"workloads can vary widely."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1534
+#: documentation/content/en/books/faq/_index.adoc:1533
#, no-wrap
msgid "What is the ZIL and when does it get used?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1542
+#: documentation/content/en/books/faq/_index.adoc:1541
msgid ""
"The ZIL (ZFS intent log) is a write log used to implement posix write "
"commitment semantics across crashes. Normally writes are bundled up into "
"transaction groups and written to disk when filled (\"Transaction Group "
"Commit\"). However syscalls like man:fsync[2] require a commitment that the "
"data is written to stable storage before returning. The ZIL is needed for "
"writes that have been acknowledged as written but which are not yet on disk "
"as part of a transaction. The transaction groups are timestamped. In the "
"event of a crash the last valid timestamp is found and missing data is "
"merged in from the ZIL."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1544
+#: documentation/content/en/books/faq/_index.adoc:1543
#, no-wrap
msgid "Do I need a SSD for ZIL?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1549
+#: documentation/content/en/books/faq/_index.adoc:1548
msgid ""
"By default, ZFS stores the ZIL in the pool with all the data. If an "
"application has a heavy write load, storing the ZIL in a separate device "
"that has very fast synchronous, sequential write performance can improve "
"overall system performance. For other workloads, a SSD is unlikely to make "
"much of an improvement."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1551
+#: documentation/content/en/books/faq/_index.adoc:1550
#, no-wrap
msgid "What is the L2ARC?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1556
+#: documentation/content/en/books/faq/_index.adoc:1555
msgid ""
"The L2ARC is a read cache stored on a fast device such as an SSD. This "
"cache is not persistent across reboots. Note that RAM is used as the first "
"layer of cache and the L2ARC is only needed if there is insufficient RAM."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1560
+#: documentation/content/en/books/faq/_index.adoc:1559
msgid ""
"L2ARC needs space in the ARC to index it. So, perversely, a working set "
"that fits perfectly in the ARC will not fit perfectly any more if a L2ARC is "
"used because part of the ARC is holding the L2ARC index, pushing part of the "
"working set into the L2ARC which is slower than RAM."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1562
+#: documentation/content/en/books/faq/_index.adoc:1561
#, no-wrap
msgid "Is enabling deduplication advisable?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1565
+#: documentation/content/en/books/faq/_index.adoc:1564
msgid "Generally speaking, no."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1570
+#: documentation/content/en/books/faq/_index.adoc:1569
msgid ""
"Deduplication takes up a significant amount of RAM and may slow down read "
"and write disk access times. Unless one is storing data that is very "
"heavily duplicated, such as virtual machine images or user backups, it is "
"possible that deduplication will do more harm than good. Another "
"consideration is the inability to revert deduplication status. If data is "
"written when deduplication is enabled, disabling dedup will not cause those "
"blocks which were deduplicated to be replicated until they are next modified."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1573
+#: documentation/content/en/books/faq/_index.adoc:1572
msgid ""
"Deduplication can also lead to some unexpected situations. In particular, "
"deleting files may become much slower."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1575
+#: documentation/content/en/books/faq/_index.adoc:1574
#, no-wrap
msgid "I cannot delete or create files on my ZFS pool. How can I fix this?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1580
+#: documentation/content/en/books/faq/_index.adoc:1579
msgid ""
"This could happen because the pool is 100% full. ZFS requires space on the "
"disk to write transaction metadata. To restore the pool to a usable state, "
"truncate the file to delete:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1584
+#: documentation/content/en/books/faq/_index.adoc:1583
#, no-wrap
msgid "% truncate -s 0 unimportant-file\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1587
+#: documentation/content/en/books/faq/_index.adoc:1586
msgid ""
"File truncation works because a new transaction is not started, new spare "
"blocks are created instead."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1591
+#: documentation/content/en/books/faq/_index.adoc:1590
msgid ""
"On systems with additional ZFS dataset tuning, such as deduplication, the "
"space may not be immediately available."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1594
+#: documentation/content/en/books/faq/_index.adoc:1593
#, no-wrap
msgid "Is there TRIM support for ZFS on solid state drives?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1598
+#: documentation/content/en/books/faq/_index.adoc:1597
msgid ""
"ZFS in FreeBSD 12.3 and 12.4: TRIM is enabled by default. To disable TRIM: "
"add the line below to [.filename]#/etc/sysctl.conf#, then restart the system."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1602
+#: documentation/content/en/books/faq/_index.adoc:1601
#, no-wrap
msgid "vfs.zfs.trim.enabled=0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1605
+#: documentation/content/en/books/faq/_index.adoc:1604
msgid ""
"OpenZFS in FreeBSD 13.0 and greater: see man:zpool-trim[8], and `autotrim` "
"in man:zpoolprops[7]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:1607
+#: documentation/content/en/books/faq/_index.adoc:1606
#, no-wrap
msgid "System Administration"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1610
+#: documentation/content/en/books/faq/_index.adoc:1609
#, no-wrap
msgid "Where are the system start-up configuration files?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1616
+#: documentation/content/en/books/faq/_index.adoc:1615
msgid ""
"The primary configuration file is [.filename]#/etc/defaults/rc.conf# which "
"is described in man:rc.conf[5]. System startup scripts such as [.filename]#/"
"etc/rc# and [.filename]#/etc/rc.d#, which are described in man:rc[8], "
"include this file. _Do not edit this file!_ Instead, to edit an entry in [."
"filename]#/etc/defaults/rc.conf#, copy the line into [.filename]#/etc/rc."
"conf# and change it there."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1618
+#: documentation/content/en/books/faq/_index.adoc:1617
msgid "For example, to start man:sshd[8], the included OpenSSH daemon:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1622
+#: documentation/content/en/books/faq/_index.adoc:1621
#, no-wrap
msgid "# echo 'sshd_enable=\"YES\"' >> /etc/rc.conf\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1625
+#: documentation/content/en/books/faq/_index.adoc:1624
msgid "Alternatively, use man:sysrc[8] to modify [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1629
+#: documentation/content/en/books/faq/_index.adoc:1628
#, no-wrap
msgid "# sysrc sshd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1633
+#: documentation/content/en/books/faq/_index.adoc:1632
msgid ""
"To start up local services, place shell scripts in the [.filename]#/usr/"
"local/etc/rc.d# directory. These shell scripts should be set executable, "
"the default file mode is `555`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1635
+#: documentation/content/en/books/faq/_index.adoc:1634
#, no-wrap
msgid "How do I add a user easily?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1638
+#: documentation/content/en/books/faq/_index.adoc:1637
msgid ""
"Use the man:adduser[8] command, or the man:pw[8] command for more "
"complicated situations."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1640
+#: documentation/content/en/books/faq/_index.adoc:1639
msgid ""
"To remove the user, use the man:rmuser[8] command or, if necessary, man:"
"pw[8]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1642
+#: documentation/content/en/books/faq/_index.adoc:1641
#, no-wrap
msgid "Why do I keep getting messages like root: not found after editing /etc/crontab?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1649
+#: documentation/content/en/books/faq/_index.adoc:1648
msgid ""
"This is normally caused by editing the system crontab. This is not the "
"correct way to do things as the system crontab has a different format to the "
"per-user crontabs. The system crontab has an extra field, specifying which "
"user to run the command as. man:cron[8] assumes this user is the first word "
"of the command to execute. Since no such command exists, this error message "
"is displayed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1651
+#: documentation/content/en/books/faq/_index.adoc:1650
msgid "To delete the extra, incorrect crontab:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1655
+#: documentation/content/en/books/faq/_index.adoc:1654
#, no-wrap
msgid "# crontab -r\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1658
+#: documentation/content/en/books/faq/_index.adoc:1657
#, no-wrap
msgid "Why do I get the error, you are not in the correct group to su root when I try to su to root?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1663
+#: documentation/content/en/books/faq/_index.adoc:1662
msgid ""
"This is a security feature. In order to `su` to `root`, or any other "
"account with superuser privileges, the user account must be a member of the "
"`wheel` group. If this feature were not there, anybody with an account on a "
"system who also found out ``root``'s password would be able to gain "
"superuser level access to the system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1665
+#: documentation/content/en/books/faq/_index.adoc:1664
msgid ""
"To allow someone to `su` to `root`, put them in the `wheel` group using `pw`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1669
+#: documentation/content/en/books/faq/_index.adoc:1668
#, no-wrap
msgid "# pw groupmod wheel -m lisa\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1672
+#: documentation/content/en/books/faq/_index.adoc:1671
msgid "The above example will add user `lisa` to the group `wheel`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1674
+#: documentation/content/en/books/faq/_index.adoc:1673
#, no-wrap
msgid "I made a mistake in rc.conf, or another startup file, and now I cannot edit it because the file system is read-only. What should I do?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1680
+#: documentation/content/en/books/faq/_index.adoc:1679
msgid ""
"Restart the system using `boot -s` at the loader prompt to enter single-user "
"mode. When prompted for a shell pathname, press kbd:[Enter] and run `mount -"
"urw /` to re-mount the root file system in read/write mode. You may also "
"need to run `mount -a -t ufs` to mount the file system where your favorite "
"editor is defined. If that editor is on a network file system, either "
"configure the network manually before mounting the network file systems, or "
"use an editor which resides on a local file system, such as man:ed[1]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1682
+#: documentation/content/en/books/faq/_index.adoc:1681
msgid ""
"In order to use a full screen editor such as man:vi[1] or man:emacs[1], run "
"`export TERM=xterm` so that these editors can load the correct data from the "
"man:termcap[5] database."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1685
+#: documentation/content/en/books/faq/_index.adoc:1684
msgid ""
"After performing these steps, edit [.filename]#/etc/rc.conf# to fix the "
"syntax error. The error message displayed immediately after the kernel boot "
"messages should indicate the number of the line in the file which is at "
"fault."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1687
+#: documentation/content/en/books/faq/_index.adoc:1686
#, no-wrap
msgid "Why am I having trouble setting up my printer?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1690
+#: documentation/content/en/books/faq/_index.adoc:1689
msgid ""
"See the extref:{handbook}printing/[Handbook entry on printing] for "
"troubleshooting tips."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1692
+#: documentation/content/en/books/faq/_index.adoc:1691
#, no-wrap
msgid "How can I correct the keyboard mappings for my system?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1695
+#: documentation/content/en/books/faq/_index.adoc:1694
msgid ""
"Refer to the Handbook section on extref:{handbook}l10n/[using localization, "
"using-localization], specifically the section on extref:{handbook}l10n/"
"[console setup, setting-console]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1697
+#: documentation/content/en/books/faq/_index.adoc:1696
#, no-wrap
msgid "Why can I not get user quotas to work properly?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1701
+#: documentation/content/en/books/faq/_index.adoc:1700
msgid ""
"It is possible that the kernel is not configured to use quotas. In this "
"case, add the following line to the kernel configuration file and recompile "
"the kernel:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1705
+#: documentation/content/en/books/faq/_index.adoc:1704
#, no-wrap
msgid "options QUOTA\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1708
+#: documentation/content/en/books/faq/_index.adoc:1707
msgid ""
"Refer to the extref:{handbook}disks/[Handbook entry on quotas, quotas] for "
"full details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1709
+#: documentation/content/en/books/faq/_index.adoc:1708
msgid "Do not turn on quotas on [.filename]#/#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1710
+#: documentation/content/en/books/faq/_index.adoc:1709
msgid ""
"Put the quota file on the file system that the quotas are to be enforced on:"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1715
+#: documentation/content/en/books/faq/_index.adoc:1714
#, no-wrap
msgid "File System"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1717
+#: documentation/content/en/books/faq/_index.adoc:1716
#, no-wrap
msgid "Quota file"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1718
+#: documentation/content/en/books/faq/_index.adoc:1717
#, no-wrap
msgid "[.filename]#/usr#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1720
+#: documentation/content/en/books/faq/_index.adoc:1719
#, no-wrap
msgid "[.filename]#/usr/admin/quotas#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1721
+#: documentation/content/en/books/faq/_index.adoc:1720
#, no-wrap
msgid "[.filename]#/home#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/faq/_index.adoc:1723
+#: documentation/content/en/books/faq/_index.adoc:1722
#, no-wrap
msgid "[.filename]#/home/admin/quotas#"
msgstr ""
#. type: Table
+#: documentation/content/en/books/faq/_index.adoc:1723
#: documentation/content/en/books/faq/_index.adoc:1724
-#: documentation/content/en/books/faq/_index.adoc:1725
#, no-wrap
msgid "..."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1728
+#: documentation/content/en/books/faq/_index.adoc:1727
#, no-wrap
msgid "Does FreeBSD support System V IPC primitives?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1732
+#: documentation/content/en/books/faq/_index.adoc:1731
msgid ""
"Yes, FreeBSD supports System V-style IPC, including shared memory, messages "
"and semaphores, in the [.filename]#GENERIC# kernel. With a custom kernel, "
"support may be loaded with the [.filename]#sysvshm.ko#, [.filename]#sysvsem."
"ko# and [.filename]#sysvmsg.ko# kernel modules, or enabled in the custom "
"kernel by adding the following lines to the kernel configuration file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1738
+#: documentation/content/en/books/faq/_index.adoc:1737
#, no-wrap
msgid ""
"options SYSVSHM # enable shared memory\n"
"options SYSVSEM # enable for semaphores\n"
"options SYSVMSG # enable for messaging\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1741
+#: documentation/content/en/books/faq/_index.adoc:1740
msgid "Recompile and install the kernel."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1743
+#: documentation/content/en/books/faq/_index.adoc:1742
#, no-wrap
msgid "What other mail-server software can I use instead of Sendmail?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1748
+#: documentation/content/en/books/faq/_index.adoc:1747
msgid ""
"The http://www.sendmail.org/[Sendmail] server is the default mail-server "
"software for FreeBSD, but it can be replaced with another MTA installed from "
"the Ports Collection. Available ports include package:mail/exim[], package:"
"mail/postfix[], and package:mail/qmail[]. Search the mailing lists for "
"discussions regarding the advantages and disadvantages of the available MTAs."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1750
+#: documentation/content/en/books/faq/_index.adoc:1749
#, no-wrap
msgid "I have forgotten the root password! What do I do?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1757
+#: documentation/content/en/books/faq/_index.adoc:1756
msgid ""
"Do not panic! Restart the system, type `boot -s` at the `Boot:` prompt to "
"enter single-user mode. At the question about the shell to use, hit kbd:"
"[Enter] which will display a # prompt. Enter `mount -urw /` to remount the "
"root file system read/write, then run `mount -a` to remount all the file "
"systems. Run `passwd root` to change the `root` password then run man:"
"exit[1] to continue booting."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1764
+#: documentation/content/en/books/faq/_index.adoc:1763
msgid ""
"If you are still prompted to give the `root` password when entering the "
"single-user mode, it means that the console has been marked as `insecure` in "
"[.filename]#/etc/ttys#. In this case, it will be required to boot from a "
"FreeBSD installation disk, choose the [.guimenuitem]#Live CD# or [."
"guimenuitem]#Shell# at the beginning of the install process and issue the "
"commands mentioned above. Mount the specific partition in this case and "
"then chroot to it. For example, replace `mount -urw /` with `mount /dev/"
"ada0p1 /mnt; chroot /mnt` for a system on _ada0p1_."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:1770
+#: documentation/content/en/books/faq/_index.adoc:1769
msgid ""
"If the root partition cannot be mounted from single-user mode, it is "
"possible that the partitions are encrypted and it is impossible to mount "
"them without the access keys. For more information see the section about "
"encrypted disks in the FreeBSD extref:{handbook}disks/[Handbook, disks-"
"encrypting]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1773
+#: documentation/content/en/books/faq/_index.adoc:1772
#, no-wrap
msgid "How do I keep kbd:[Control] + kbd:[Alt] + kbd:[Delete] from rebooting the system?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1776
+#: documentation/content/en/books/faq/_index.adoc:1775
msgid ""
"When using man:vt[4], the default console driver, this can be done by "
"setting the following man:sysctl[8]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1780
+#: documentation/content/en/books/faq/_index.adoc:1779
#, no-wrap
msgid "# sysctl kern.vt.kbd_reboot=0\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1783
+#: documentation/content/en/books/faq/_index.adoc:1782
#, no-wrap
msgid "How do I reformat DOS text files to UNIX(R) ones?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1786
+#: documentation/content/en/books/faq/_index.adoc:1785
msgid "Use this man:perl[1] command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1790
+#: documentation/content/en/books/faq/_index.adoc:1789
#, no-wrap
msgid "% perl -i.bak -npe 's/\\r\\n/\\n/g' file(s)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1794
+#: documentation/content/en/books/faq/_index.adoc:1793
msgid ""
"where _file(s)_ is one or more files to process. The modification is done "
"in-place, with the original file stored with a [.filename]#.bak# extension."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1796
+#: documentation/content/en/books/faq/_index.adoc:1795
msgid "Alternatively, use man:tr[1]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1800
+#: documentation/content/en/books/faq/_index.adoc:1799
#, no-wrap
msgid "% tr -d '\\r' < dos-text-file > unix-file\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1804
+#: documentation/content/en/books/faq/_index.adoc:1803
msgid ""
"_dos-text-file_ is the file containing DOS text while _unix-file_ will "
"contain the converted output. This can be quite a bit faster than using "
"`perl`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1807
+#: documentation/content/en/books/faq/_index.adoc:1806
msgid ""
"Yet another way to reformat DOS text files is to use the package:converters/"
"dosunix[] port from the Ports Collection. Consult its documentation about "
"the details."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1809
+#: documentation/content/en/books/faq/_index.adoc:1808
#, no-wrap
msgid "How do I re-read [.filename]#/etc/rc.conf# and re-start [.filename]#/etc/rc# without a reboot?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1812
+#: documentation/content/en/books/faq/_index.adoc:1811
msgid "Go into single-user mode and then back to multi-user mode:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1818
+#: documentation/content/en/books/faq/_index.adoc:1817
#, no-wrap
msgid ""
"# shutdown now\n"
"# return\n"
"# exit\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1821
+#: documentation/content/en/books/faq/_index.adoc:1820
#, no-wrap
msgid "I tried to update my system to the latest _-STABLE_, but got _-BETAx_, _-RC_ or __-PRERELEASE__! What is going on?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1828
+#: documentation/content/en/books/faq/_index.adoc:1827
msgid ""
"Short answer: it is just a name. _RC_ stands for \"Release Candidate\". It "
"signifies that a release is imminent. In FreeBSD, _-PRERELEASE_ is "
"typically synonymous with the code freeze before a release. (For some "
"releases, the _-BETA_ label was used in the same way as _-PRERELEASE_.)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1833
+#: documentation/content/en/books/faq/_index.adoc:1832
msgid ""
"Long answer: FreeBSD derives its releases from one of two places. Major, "
"dot-zero, releases, such as 9.0-RELEASE are branched from the head of the "
"development stream, commonly referred to as <<current,-CURRENT>>. Minor "
"releases, such as 6.3-RELEASE or 5.2-RELEASE, have been snapshots of the "
"active <<stable,-STABLE>> branch. Starting with 4.3-RELEASE, each release "
"also now has its own branch which can be tracked by people requiring an "
"extremely conservative rate of development (typically only security "
"advisories)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1842
+#: documentation/content/en/books/faq/_index.adoc:1841
msgid ""
"When a release is about to be made, the branch from which it will be derived "
"from has to undergo a certain process. Part of this process is a code "
"freeze. When a code freeze is initiated, the name of the branch is changed "
"to reflect that it is about to become a release. For example, if the branch "
"used to be called 6.2-STABLE, its name will be changed to 6.3-PRERELEASE to "
"signify the code freeze and signify that extra pre-release testing should be "
"happening. Bug fixes can still be committed to be part of the release. "
"When the source code is in shape for the release the name will be changed to "
"6.3-RC to signify that a release is about to be made from it. Once in the "
"RC stage, only the most critical bugs found can be fixed. Once the release "
"(6.3-RELEASE in this example) and release branch have been made, the branch "
"will be renamed to 6.3-STABLE."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1844
+#: documentation/content/en/books/faq/_index.adoc:1843
msgid ""
"For more information on version numbers and the various Git branches, refer "
"to the extref:{releng}[Release Engineering] article."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1846
+#: documentation/content/en/books/faq/_index.adoc:1845
#, no-wrap
msgid "I tried to install a new kernel, and the man:chflags[1] failed. How do I get around this?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1850
+#: documentation/content/en/books/faq/_index.adoc:1849
msgid ""
"Short answer: the security level is greater than 0. Reboot directly to "
"single-user mode to install the kernel."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1853
+#: documentation/content/en/books/faq/_index.adoc:1852
msgid ""
"Long answer: FreeBSD disallows changing system flags at security levels "
"greater than 0. To check the current security level:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1857
-#: documentation/content/en/books/faq/_index.adoc:1874
+#: documentation/content/en/books/faq/_index.adoc:1856
+#: documentation/content/en/books/faq/_index.adoc:1873
#, no-wrap
msgid "# sysctl kern.securelevel\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1861
+#: documentation/content/en/books/faq/_index.adoc:1860
msgid ""
"The security level cannot be lowered in multi-user mode, so boot to single-"
"user mode to install the kernel, or change the security level in [."
"filename]#/etc/rc.conf# then reboot. See the man:init[8] manual page for "
"details on `securelevel`, and see [.filename]#/etc/defaults/rc.conf# and the "
"man:rc.conf[5] manual page for more information on [.filename]#rc.conf#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1863
+#: documentation/content/en/books/faq/_index.adoc:1862
#, no-wrap
msgid "I cannot change the time on my system by more than one second! How do I get around this?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1867
+#: documentation/content/en/books/faq/_index.adoc:1866
msgid ""
"Short answer: the system is at a security level greater than 1. Reboot "
"directly to single-user mode to change the date."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1870
+#: documentation/content/en/books/faq/_index.adoc:1869
msgid ""
"Long answer: FreeBSD disallows changing the time by more that one second at "
"security levels greater than 1. To check the security level:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1879
+#: documentation/content/en/books/faq/_index.adoc:1878
msgid ""
"The security level cannot be lowered in multi-user mode. Either boot to "
"single-user mode to change the date or change the security level in [."
"filename]#/etc/rc.conf# and reboot. See the man:init[8] manual page for "
"details on `securelevel`, and see [.filename]#/etc/defaults/rc.conf# and the "
"man:rc.conf[5] manual page for more information on [.filename]#rc.conf#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1881
+#: documentation/content/en/books/faq/_index.adoc:1880
#, no-wrap
msgid "Why is rpc.statd using 256 MB of memory?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1886
+#: documentation/content/en/books/faq/_index.adoc:1885
msgid ""
"No, there is no memory leak, and it is not using 256 MB of memory. For "
"convenience, `rpc.statd` maps a large amount of memory into its address "
"space. There is nothing terribly wrong with this from a technical "
"standpoint; it just throws off things like man:top[1] and man:ps[1]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1888
+#: documentation/content/en/books/faq/_index.adoc:1887
msgid ""
"man:rpc.statd[8] maps its status file ([.filename]#/var/db/statd.status#) "
"into its address space; to save worrying about remapping the status file "
"later when it needs to grow, it maps the status file with a generous size."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1890
+#: documentation/content/en/books/faq/_index.adoc:1889
#, no-wrap
msgid "Why can I not unset the schg file flag?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1895
+#: documentation/content/en/books/faq/_index.adoc:1894
msgid ""
"The system is running at securelevel greater than 0. Lower the securelevel "
"and try again. For more information, see <<securelevel,the FAQ entry on "
"securelevel>> and the man:init[8] manual page."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1897
+#: documentation/content/en/books/faq/_index.adoc:1896
#, no-wrap
msgid "What is vnlru?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1901
+#: documentation/content/en/books/faq/_index.adoc:1900
msgid ""
"`vnlru` flushes and frees vnodes when the system hits the `kern.maxvnodes` "
"limit. This kernel thread sits mostly idle, and only activates when there "
"is a huge amount of RAM and users are accessing tens of thousands of tiny "
"files."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1903
+#: documentation/content/en/books/faq/_index.adoc:1902
#, no-wrap
msgid "What do the various memory states displayed by top mean?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1906
+#: documentation/content/en/books/faq/_index.adoc:1905
msgid "`Active`: pages recently statistically used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1907
+#: documentation/content/en/books/faq/_index.adoc:1906
msgid "`Inactive`: pages recently statistically unused."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1908
+#: documentation/content/en/books/faq/_index.adoc:1907
msgid ""
"`Laundry`: pages recently statistically unused but known to be dirty, that "
"is, whose contents needs to be paged out before they can be reused."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1909
+#: documentation/content/en/books/faq/_index.adoc:1908
msgid "`Free`: pages without data content, which can be immediately reused."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1910
+#: documentation/content/en/books/faq/_index.adoc:1909
msgid ""
"`Wired`: pages that are fixed into memory, usually for kernel purposes, but "
"also sometimes for special use in processes."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1915
+#: documentation/content/en/books/faq/_index.adoc:1914
msgid ""
"Pages are most often written to disk (sort of a VM sync) when they are in "
"the laundry state, but active or inactive pages can also be synced. This "
"depends upon the CPU tracking of the modified bit being available, and in "
"certain situations there can be an advantage for a block of VM pages to be "
"synced, regardless of the queue they belong to. In most common cases, it is "
"best to think of the laundry queue as a queue of relatively unused pages "
"that might or might not be in the process of being written to disk. The "
"inactive queue contains a mix of clean and dirty pages; clean pages near the "
"head of the queue are reclaimed immediately to alleviate a free page "
"shortage, and dirty pages are moved to the laundry queue for deferred "
"processing."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1917
+#: documentation/content/en/books/faq/_index.adoc:1916
msgid ""
"There are some other flags (e.g., busy flag or busy count) that might modify "
"some of the described rules."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1919
+#: documentation/content/en/books/faq/_index.adoc:1918
#, no-wrap
msgid "How much free memory is available?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1927
+#: documentation/content/en/books/faq/_index.adoc:1926
msgid ""
"There are a couple of kinds of \"free memory\". The most common is the "
"amount of memory immediately available without reclaiming memory already in "
"use. That is the size of the free pages queue plus some other reserved "
"pages. This amount is exported by the `vm.stats.vm.v_free_count` man:"
"sysctl[8], shown, for instance, by man:top[1]. Another kind of \"free "
"memory\" is the total amount of virtual memory available to userland "
"processes, which depends on the sum of swap space and usable memory. Other "
"kinds of \"free memory\" descriptions are also possible, but it is "
"relatively useless to define these, but rather it is important to make sure "
"that the paging rate is kept low, and to avoid running out of swap space."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1929
+#: documentation/content/en/books/faq/_index.adoc:1928
#, no-wrap
msgid "What is [.filename]#/var/empty#?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1934
+#: documentation/content/en/books/faq/_index.adoc:1933
msgid ""
"[.filename]#/var/empty# is a directory that the man:sshd[8] program uses "
"when performing privilege separation. The [.filename]#/var/empty# directory "
"is empty, owned by `root` and has the `schg` flag set. This directory "
"should not be deleted."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1936
+#: documentation/content/en/books/faq/_index.adoc:1935
#, no-wrap
msgid "I just changed [.filename]#/etc/newsyslog.conf#. How can I check if it does what I expect?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1939
+#: documentation/content/en/books/faq/_index.adoc:1938
msgid "To see what man:newsyslog[8] will do, use the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1943
+#: documentation/content/en/books/faq/_index.adoc:1942
#, no-wrap
msgid "% newsyslog -nrvv\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1946
+#: documentation/content/en/books/faq/_index.adoc:1945
#, no-wrap
msgid "My time is wrong, how can I change the timezone?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1949
+#: documentation/content/en/books/faq/_index.adoc:1948
msgid "Use man:tzsetup[8]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:1951
+#: documentation/content/en/books/faq/_index.adoc:1950
#, no-wrap
msgid "The X Window System and Virtual Consoles"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1954
+#: documentation/content/en/books/faq/_index.adoc:1953
#, no-wrap
msgid "What is the X Window System?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1958
+#: documentation/content/en/books/faq/_index.adoc:1957
msgid ""
"The X Window System (commonly `X11`) is the most widely available windowing "
"system capable of running on UNIX(R) or UNIX(R) like systems, including "
"FreeBSD. http://www.x.org/wiki/[The X.Org Foundation] administers the "
"http://en.wikipedia.org/wiki/X_Window_System_core_protocol[X protocol "
"standards], with the current reference implementation, version 11 release "
"7.7, so references are often shortened to `X11`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1961
+#: documentation/content/en/books/faq/_index.adoc:1960
msgid ""
"Many implementations are available for different architectures and operating "
"systems. An implementation of the server-side code is properly known as an "
"`X server`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1963
+#: documentation/content/en/books/faq/_index.adoc:1962
#, no-wrap
msgid "I want to run Xorg, how do I go about it?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1966
+#: documentation/content/en/books/faq/_index.adoc:1965
msgid "To install Xorg do one of the following:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1968
+#: documentation/content/en/books/faq/_index.adoc:1967
msgid ""
"Use the package:x11/xorg[] meta-port, which builds and installs every Xorg "
"component."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1970
+#: documentation/content/en/books/faq/_index.adoc:1969
msgid ""
"Use package:x11/xorg-minimal[], which builds and installs only the necessary "
"Xorg components."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1972
+#: documentation/content/en/books/faq/_index.adoc:1971
msgid "Install Xorg from FreeBSD packages:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:1976
+#: documentation/content/en/books/faq/_index.adoc:1975
#, no-wrap
msgid "# pkg install xorg\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1979
+#: documentation/content/en/books/faq/_index.adoc:1978
msgid ""
"After the installation of Xorg, follow the instructions from the extref:"
"{handbook}x11/[X11 Configuration, x-config] section of the FreeBSD Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1981
+#: documentation/content/en/books/faq/_index.adoc:1980
#, no-wrap
msgid "I tried to run X, but I get a 'No devices detected' error when I type startx. What do I do now?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1986
+#: documentation/content/en/books/faq/_index.adoc:1985
msgid ""
"The system is probably running at a raised `securelevel`. It is not "
"possible to start X at a raised `securelevel` because X requires write "
"access to man:io[4]. For more information, see at the man:init[8] manual "
"page."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1988
+#: documentation/content/en/books/faq/_index.adoc:1987
msgid ""
"There are two solutions to the problem: set the `securelevel` back down to "
"zero or run man:xdm[8] (or an alternative display manager) at boot time "
"before the `securelevel` is raised."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1990
+#: documentation/content/en/books/faq/_index.adoc:1989
msgid ""
"See <<xdm-boot>> for more information about running man:xdm[8] at boot time."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:1992
+#: documentation/content/en/books/faq/_index.adoc:1991
#, no-wrap
msgid "Why does my mouse not work with X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:1998
+#: documentation/content/en/books/faq/_index.adoc:1997
msgid ""
"When using man:vt[4], the default console driver, FreeBSD can be configured "
"to support a mouse pointer on each virtual screen. To avoid conflicting "
"with X, man:vt[4] supports a virtual device called [.filename]#/dev/"
"sysmouse#. All mouse events received from the real mouse device are written "
"to the man:sysmouse[4] device via man:moused[8]. To use the mouse on one or "
"more virtual consoles, _and_ use X, see <<moused>> and set up man:moused[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2000
+#: documentation/content/en/books/faq/_index.adoc:1999
msgid ""
"Then edit [.filename]#/etc/X11/xorg.conf# and make sure the following lines "
"exist:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2007
+#: documentation/content/en/books/faq/_index.adoc:2006
#, no-wrap
msgid ""
"Section \"InputDevice\"\n"
" Option \"Protocol\" \"SysMouse\"\n"
" Option \"Device\" \"/dev/sysmouse\"\n"
".....\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2011
+#: documentation/content/en/books/faq/_index.adoc:2010
msgid ""
"Starting with Xorg version 7.4, the `InputDevice` sections in [."
"filename]#xorg.conf# are ignored in favor of autodetected devices. To "
"restore the old behavior, add the following line to the `ServerLayout` or "
"`ServerFlags` section:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2015
+#: documentation/content/en/books/faq/_index.adoc:2014
#, no-wrap
msgid "Option \"AutoAddDevices\" \"false\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2019
+#: documentation/content/en/books/faq/_index.adoc:2018
msgid ""
"Some people prefer to use [.filename]#/dev/mouse# under X. To make this "
"work, [.filename]#/dev/mouse# should be linked to [.filename]#/dev/sysmouse# "
"(see man:sysmouse[4]) by adding the following line to [.filename]#/etc/devfs."
"conf# (see man:devfs.conf[5]):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2023
+#: documentation/content/en/books/faq/_index.adoc:2022
#, no-wrap
msgid "link sysmouse mouse\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2026
+#: documentation/content/en/books/faq/_index.adoc:2025
msgid ""
"This link can be created by restarting man:devfs[5] with the following "
"command (as `root`):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2030
+#: documentation/content/en/books/faq/_index.adoc:2029
#, no-wrap
msgid "# service devfs restart\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2033
+#: documentation/content/en/books/faq/_index.adoc:2032
#, no-wrap
msgid "My mouse has a fancy wheel. Can I use it in X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2037
+#: documentation/content/en/books/faq/_index.adoc:2036
msgid ""
"Yes, if X is configured for a 5 button mouse. To do this, add the lines "
"`Buttons 5` and `ZAxisMapping 4 5` to the \"InputDevice\" section of [."
"filename]#/etc/X11/xorg.conf#, as seen in this example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2048
+#: documentation/content/en/books/faq/_index.adoc:2047
#, no-wrap
msgid ""
"Section \"InputDevice\"\n"
" Identifier \"Mouse1\"\n"
" Driver \"mouse\"\n"
" Option \"Protocol\" \"auto\"\n"
" Option \"Device\" \"/dev/sysmouse\"\n"
" Option \"Buttons\" \"5\"\n"
" Option \"ZAxisMapping\" \"4 5\"\n"
"EndSection\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2051
+#: documentation/content/en/books/faq/_index.adoc:2050
msgid ""
"The mouse can be enabled in Emacs by adding these lines to [.filename]#~/."
"emacs#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2057
+#: documentation/content/en/books/faq/_index.adoc:2056
#, no-wrap
msgid ""
";; wheel mouse\n"
"(global-set-key [mouse-4] 'scroll-down)\n"
"(global-set-key [mouse-5] 'scroll-up)\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2060
+#: documentation/content/en/books/faq/_index.adoc:2059
#, no-wrap
msgid "My laptop has a Synaptics touchpad. Can I use it in X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2063
+#: documentation/content/en/books/faq/_index.adoc:2062
msgid "Yes, after configuring a few things to make it work."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2065
+#: documentation/content/en/books/faq/_index.adoc:2064
msgid ""
"In order to use the Xorg synaptics driver, first remove `moused_enable` from "
"[.filename]#rc.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2067
+#: documentation/content/en/books/faq/_index.adoc:2066
msgid ""
"To enable synaptics, add the following line to [.filename]#/boot/loader."
"conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2071
+#: documentation/content/en/books/faq/_index.adoc:2070
#, no-wrap
msgid "hw.psm.synaptics_support=\"1\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2074
+#: documentation/content/en/books/faq/_index.adoc:2073
msgid "Add the following to [.filename]#/etc/X11/xorg.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2083
+#: documentation/content/en/books/faq/_index.adoc:2082
#, no-wrap
msgid ""
"Section \"InputDevice\"\n"
"Identifier \"Touchpad0\"\n"
"Driver \"synaptics\"\n"
"Option \"Protocol\" \"psm\"\n"
"Option \"Device\" \"/dev/psm0\"\n"
"EndSection\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2086
+#: documentation/content/en/books/faq/_index.adoc:2085
msgid "Add the following into the \"ServerLayout\" section:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2090
+#: documentation/content/en/books/faq/_index.adoc:2089
#, no-wrap
msgid "InputDevice \"Touchpad0\" \"SendCoreEvents\"\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2093
+#: documentation/content/en/books/faq/_index.adoc:2092
#, no-wrap
msgid "How do I use remote X displays?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2096
+#: documentation/content/en/books/faq/_index.adoc:2095
msgid ""
"For security reasons, the default setting is to not allow a machine to "
"remotely open a window."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2098
+#: documentation/content/en/books/faq/_index.adoc:2097
msgid ""
"To enable this feature, start X with the optional `-listen_tcp` argument:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2102
+#: documentation/content/en/books/faq/_index.adoc:2101
#, no-wrap
msgid "% startx -listen_tcp\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2105
+#: documentation/content/en/books/faq/_index.adoc:2104
#, no-wrap
msgid "What is a virtual console and how do I make more?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2108
+#: documentation/content/en/books/faq/_index.adoc:2107
msgid ""
"Virtual consoles provide several simultaneous sessions on the same machine "
"without doing anything complicated like setting up a network or running X."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2111
+#: documentation/content/en/books/faq/_index.adoc:2110
msgid ""
"When the system starts, it will display a login prompt on the monitor after "
"displaying all the boot messages. Type in your login name and password to "
"start working on the first virtual console."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2115
+#: documentation/content/en/books/faq/_index.adoc:2114
msgid ""
"To start another session, perhaps to look at documentation for a program or "
"to read mail while waiting for an FTP transfer to finish, hold down kbd:"
"[Alt] and press kbd:[F2]. This will display the login prompt for the second "
"virtual console. To go back to the original session, press kbd:[Alt+F1]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2118
+#: documentation/content/en/books/faq/_index.adoc:2117
msgid ""
"The default FreeBSD installation has eight virtual consoles enabled. kbd:"
"[Alt+F1], kbd:[Alt+F2], kbd:[Alt+F3], and so on will switch between these "
"virtual consoles."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2120
+#: documentation/content/en/books/faq/_index.adoc:2119
msgid ""
"To enable more of virtual consoles, edit [.filename]#/etc/ttys# (see man:"
"ttys[5]) and add entries for [.filename]#ttyv8# to [.filename]#ttyvc#, after "
"the comment on \"Virtual terminals\":"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2129
+#: documentation/content/en/books/faq/_index.adoc:2128
#, no-wrap
msgid ""
"# Edit the existing entry for ttyv8 in /etc/ttys and change\n"
"# \"off\" to \"on\".\n"
"ttyv8 \"/usr/libexec/getty Pc\" xterm on secure\n"
"ttyv9 \"/usr/libexec/getty Pc\" xterm on secure\n"
"ttyva \"/usr/libexec/getty Pc\" xterm on secure\n"
"ttyvb \"/usr/libexec/getty Pc\" xterm on secure\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2134
+#: documentation/content/en/books/faq/_index.adoc:2133
msgid ""
"The more virtual terminals, the more resources that are used. This can be "
"problematic on systems with 8 MB RAM or less. Consider changing `secure` to "
"`insecure`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2139
+#: documentation/content/en/books/faq/_index.adoc:2138
msgid ""
"In order to run an X server, at least one virtual terminal must be left to "
"`off` for it to use. This means that only eleven of the Alt-function keys "
"can be used as virtual consoles so that one is left for the X server."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2142
+#: documentation/content/en/books/faq/_index.adoc:2141
msgid ""
"For example, to run X and eleven virtual consoles, the setting for virtual "
"terminal 12 should be:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2146
+#: documentation/content/en/books/faq/_index.adoc:2145
#, no-wrap
msgid "ttyvb \"/usr/libexec/getty Pc\" xterm off secure\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2149
+#: documentation/content/en/books/faq/_index.adoc:2148
msgid "The easiest way to activate the virtual consoles is to reboot."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2151
+#: documentation/content/en/books/faq/_index.adoc:2150
#, no-wrap
msgid "How do I access the virtual consoles from X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2155
+#: documentation/content/en/books/faq/_index.adoc:2154
msgid ""
"Use kbd:[Ctrl+Alt+Fn] to switch back to a virtual console. Press kbd:"
"[Ctrl+Alt+F1] to return to the first virtual console."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2157
+#: documentation/content/en/books/faq/_index.adoc:2156
msgid "Once at a text console, use kbd:[Alt+Fn] to move between them."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2161
+#: documentation/content/en/books/faq/_index.adoc:2160
msgid ""
"To return to the X session, switch to the virtual console running X. If X "
"was started from the command line using `startx`, the X session will attach "
"to the next unused virtual console, not the text console from which it was "
"invoked. For eight active virtual terminals, X will run on the ninth, so "
"use kbd:[Alt+F9]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2163
+#: documentation/content/en/books/faq/_index.adoc:2162
#, no-wrap
msgid "How do I start XDM on boot?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2169
+#: documentation/content/en/books/faq/_index.adoc:2168
msgid ""
"There are two schools of thought on how to start man:xdm[8]. One school "
"starts `xdm` from [.filename]#/etc/ttys# (see man:ttys[5]) using the "
"supplied example, while the other sets `xdm_enable=yes` in [.filename]#/etc/"
"rc.conf#. Both are equally valid, and one may work in situations where the "
"other does not. In both cases the result is the same: X will pop up a "
"graphical login prompt."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2172
+#: documentation/content/en/books/faq/_index.adoc:2171
msgid ""
"The man:ttys[5] method has the advantage of documenting which vty X will "
"start on and passing the responsibility of restarting the X server on logout "
"to man:init[8]. The man:rc[8] method makes it easy to `kill xdm` if there "
"is a problem starting the X server."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2174
+#: documentation/content/en/books/faq/_index.adoc:2173
msgid ""
"When using the man:rc[8] method, `xdm_tty` (default `ttyv8`) can be set in [."
"filename]#/etc/rc.conf# to choose which vty man:xdm[8] opens on."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2176
+#: documentation/content/en/books/faq/_index.adoc:2175
#, no-wrap
msgid "Why do I get Couldn't open console when I run xconsole?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2179
+#: documentation/content/en/books/faq/_index.adoc:2178
msgid ""
"When X is started with `startx`, the permissions on [.filename]#/dev/"
"console# will _not_ get changed, resulting in things like `xterm -C` and "
"`xconsole` not working."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2183
+#: documentation/content/en/books/faq/_index.adoc:2182
msgid ""
"This is because of the way console permissions are set by default. On a "
"multi-user system, one does not necessarily want just any user to be able to "
"write on the system console. For users who are logging directly onto a "
"machine with a VTY, the man:fbtab[5] file exists to solve such problems."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2185
+#: documentation/content/en/books/faq/_index.adoc:2184
msgid ""
"In a nutshell, make sure an uncommented line of the form is in [.filename]#/"
"etc/fbtab# (see man:fbtab[5]):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2189
+#: documentation/content/en/books/faq/_index.adoc:2188
#, no-wrap
msgid "/dev/ttyv0 0600 /dev/console\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2192
+#: documentation/content/en/books/faq/_index.adoc:2191
msgid ""
"It will ensure that whomever logs in on [.filename]#/dev/ttyv0# will own the "
"console."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2194
+#: documentation/content/en/books/faq/_index.adoc:2193
#, no-wrap
msgid "Why does my PS/2 mouse misbehave under X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2198
+#: documentation/content/en/books/faq/_index.adoc:2197
msgid ""
"The mouse and the mouse driver may have become out of synchronization. In "
"rare cases, the driver may also erroneously report synchronization errors:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2202
+#: documentation/content/en/books/faq/_index.adoc:2201
#, no-wrap
msgid "psmintr: out of sync (xxxx != yyyy)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2206
+#: documentation/content/en/books/faq/_index.adoc:2205
msgid ""
"If this happens, disable the synchronization check code by setting the "
"driver flags for the PS/2 mouse driver to `0x100`. This can be easiest "
"achieved by adding `hint.psm.0.flags=\"0x100\"` to [.filename]#/boot/loader."
"conf# and rebooting."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2208
+#: documentation/content/en/books/faq/_index.adoc:2207
#, no-wrap
msgid "How do I reverse the mouse buttons?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2212
+#: documentation/content/en/books/faq/_index.adoc:2211
msgid ""
"Type `xmodmap -e \"pointer = 3 2 1\"`. Add this command to [.filename]#~/."
"xinitrc# or [.filename]#~/.xsession# to make it happen automatically."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2214
+#: documentation/content/en/books/faq/_index.adoc:2213
#, no-wrap
msgid "How do I install a splash screen and where do I find them?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2217
+#: documentation/content/en/books/faq/_index.adoc:2216
msgid ""
"The detailed answer for this question can be found in the extref:{handbook}"
"[Boot Time Splash Screens, boot-splash] section of the FreeBSD Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2219
+#: documentation/content/en/books/faq/_index.adoc:2218
#, no-wrap
msgid "Can I use the kbd:[Windows] keys on my keyboard in X?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2223
+#: documentation/content/en/books/faq/_index.adoc:2222
msgid ""
"Yes. Use man:xmodmap[1] to define which functions the keys should perform."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2225
+#: documentation/content/en/books/faq/_index.adoc:2224
msgid ""
"Assuming all Windows keyboards are standard, the keycodes for these three "
"keys are the following:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2227
+#: documentation/content/en/books/faq/_index.adoc:2226
msgid ""
"115 - kbd:[Windows] key, between the left-hand kbd:[Ctrl] and kbd:[Alt] keys"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2228
+#: documentation/content/en/books/faq/_index.adoc:2227
msgid "116 - kbd:[Windows] key, to the right of kbd:[AltGr]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2229
+#: documentation/content/en/books/faq/_index.adoc:2228
msgid "117 - kbd:[Menu], to the left of the right-hand kbd:[Ctrl]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2231
+#: documentation/content/en/books/faq/_index.adoc:2230
msgid "To have the left kbd:[Windows] key print a comma, try this."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2235
+#: documentation/content/en/books/faq/_index.adoc:2234
#, no-wrap
msgid "# xmodmap -e \"keycode 115 = comma\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2238
+#: documentation/content/en/books/faq/_index.adoc:2237
msgid ""
"To have the kbd:[Windows] key-mappings enabled automatically every time X is "
"started, either put the `xmodmap` commands in [.filename]#~/.xinitrc# or, "
"preferably, create a [.filename]#~/.xmodmaprc# and include the `xmodmap` "
"options, one per line, then add the following line to [.filename]#~/."
"xinitrc#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2242
+#: documentation/content/en/books/faq/_index.adoc:2241
#, no-wrap
msgid "xmodmap $HOME/.xmodmaprc\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2246
+#: documentation/content/en/books/faq/_index.adoc:2245
msgid ""
"For example, to map the 3 keys to be kbd:[F13], kbd:[F14], and kbd:[F15], "
"respectively. This would make it easy to map them to useful functions "
"within applications or the window manager."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2248
+#: documentation/content/en/books/faq/_index.adoc:2247
msgid "To do this, put the following in [.filename]#~/.xmodmaprc#."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2254
+#: documentation/content/en/books/faq/_index.adoc:2253
#, no-wrap
msgid ""
"keycode 115 = F13\n"
"keycode 116 = F14\n"
"keycode 117 = F15\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2257
+#: documentation/content/en/books/faq/_index.adoc:2256
msgid ""
"For the package:x11-wm/fvwm2[] desktop manager, one could map the keys so "
"that kbd:[F13] iconifies or de-iconifies the window the cursor is in, kbd:"
"[F14] brings the window the cursor is in to the front or, if it is already "
"at the front, pushes it to the back, and kbd:[F15] pops up the main "
"Workplace menu even if the cursor is not on the desktop, which is useful "
"when no part of the desktop is visible."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2259
+#: documentation/content/en/books/faq/_index.adoc:2258
msgid ""
"The following entries in [.filename]#~/.fvwmrc# implement the aforementioned "
"setup:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2265
+#: documentation/content/en/books/faq/_index.adoc:2264
#, no-wrap
msgid ""
"Key F13 FTIWS A Iconify\n"
"Key F14 FTIWS A RaiseLower\n"
"Key F15 A A Menu Workplace Nop\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2268
+#: documentation/content/en/books/faq/_index.adoc:2267
#, no-wrap
msgid "How can I get 3D hardware acceleration for OpenGL(R)?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2272
+#: documentation/content/en/books/faq/_index.adoc:2271
msgid ""
"The availability of 3D acceleration depends on the version of Xorg and the "
"type of video chip. For an nVidia chip, use the binary drivers provided for "
"FreeBSD by installing one of the following ports:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2274
+#: documentation/content/en/books/faq/_index.adoc:2273
msgid ""
"The latest versions of nVidia cards are supported by the package:x11/nvidia-"
"driver[] port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2276
+#: documentation/content/en/books/faq/_index.adoc:2275
msgid "Older drivers are available as:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2278
+#: documentation/content/en/books/faq/_index.adoc:2277
msgid "package:x11/nvidia-driver-390[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2279
+#: documentation/content/en/books/faq/_index.adoc:2278
msgid "package:x11/nvidia-driver-340[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2280
+#: documentation/content/en/books/faq/_index.adoc:2279
msgid "package:x11/nvidia-driver-304[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2282
+#: documentation/content/en/books/faq/_index.adoc:2281
msgid ""
"nVidia provides detailed information on which card is supported by which "
"driver on their web site: http://www.nvidia.com/object/IO_32667.html[http://"
"www.nvidia.com/object/IO_32667.html]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2284
+#: documentation/content/en/books/faq/_index.adoc:2283
msgid ""
"For Matrox G200/G400, check the package:x11-drivers/xf86-video-mga[] port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2286
+#: documentation/content/en/books/faq/_index.adoc:2285
msgid ""
"For ATI Rage 128 and Radeon see man:ati[4], man:r128[4] and man:radeon[4]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2288
+#: documentation/content/en/books/faq/_index.adoc:2287
#, no-wrap
msgid "Networking"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2291
+#: documentation/content/en/books/faq/_index.adoc:2290
#, no-wrap
msgid "Where can I get information on diskless booting?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2295
+#: documentation/content/en/books/faq/_index.adoc:2294
msgid ""
"\"Diskless booting\" means that the FreeBSD box is booted over a network, "
"and reads the necessary files from a server instead of its hard disk. For "
"full details, see extref:{handbook}advanced-networking/[the Handbook entry "
"on diskless booting, network-diskless]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2297
+#: documentation/content/en/books/faq/_index.adoc:2296
#, no-wrap
msgid "Can a FreeBSD box be used as a dedicated network router?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2302
+#: documentation/content/en/books/faq/_index.adoc:2301
msgid ""
"Yes. Refer to the Handbook entry on extref:{handbook}advanced-networking/"
"[advanced networking, advanced-networking], specifically the section on "
"extref:{handbook}advanced-networking/[routing and gateways, network-routing]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2304
+#: documentation/content/en/books/faq/_index.adoc:2303
#, no-wrap
msgid "Does FreeBSD support NAT or Masquerading?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2309
+#: documentation/content/en/books/faq/_index.adoc:2308
msgid ""
"Yes. For instructions on how to use NAT over a PPP connection, see the "
"extref:{handbook}ppp-and-slip/[Handbook entry on PPP, userppp]. To use NAT "
"over some other sort of network connection, look at the extref:{handbook}"
"[natd, network-natd] section of the Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2311
+#: documentation/content/en/books/faq/_index.adoc:2310
#, no-wrap
msgid "How can I set up Ethernet aliases?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2314
+#: documentation/content/en/books/faq/_index.adoc:2313
msgid ""
"If the alias is on the same subnet as an address already configured on the "
"interface, add `netmask 0xffffffff` to this command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2318
+#: documentation/content/en/books/faq/_index.adoc:2317
#, no-wrap
msgid "# ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2321
+#: documentation/content/en/books/faq/_index.adoc:2320
msgid "Otherwise, specify the network address and netmask as usual:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2325
+#: documentation/content/en/books/faq/_index.adoc:2324
#, no-wrap
msgid "# ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2328
+#: documentation/content/en/books/faq/_index.adoc:2327
msgid ""
"More information can be found in the FreeBSD extref:{handbook}config/"
"[Handbook, configtuning-virtual-hosts]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2330
+#: documentation/content/en/books/faq/_index.adoc:2329
#, no-wrap
msgid "Why can I not NFS-mount from a Linux(R) box?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2333
+#: documentation/content/en/books/faq/_index.adoc:2332
msgid ""
"Some versions of the Linux(R) NFS code only accept mount requests from a "
"privileged port; try to issue the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2337
+#: documentation/content/en/books/faq/_index.adoc:2336
#, no-wrap
msgid "# mount -o -P linuxbox:/blah /mnt\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2340
+#: documentation/content/en/books/faq/_index.adoc:2339
#, no-wrap
msgid "Why does mountd keep telling me it can't change attributes and that I have a bad exports list on my FreeBSD NFS server?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2344
+#: documentation/content/en/books/faq/_index.adoc:2343
msgid ""
"The most frequent problem is not understanding the correct format of [."
"filename]#/etc/exports#. Review man:exports[5] and the extref:{handbook}"
"network-servers/[NFS, network-nfs] entry in the Handbook, especially the "
"section on extref:{handbook}[configuring NFS, configuring-nfs]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2346
+#: documentation/content/en/books/faq/_index.adoc:2345
#, no-wrap
msgid "How do I enable IP multicast support?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2349
+#: documentation/content/en/books/faq/_index.adoc:2348
msgid ""
"Install the package:net/mrouted[] package or port and add "
"`mrouted_enable=\"YES\"` to [.filename]#/etc/rc.conf# start this service at "
"boot time."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2351
+#: documentation/content/en/books/faq/_index.adoc:2350
#, no-wrap
msgid "Why do I have to use the FQDN for hosts on my site?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2354
+#: documentation/content/en/books/faq/_index.adoc:2353
msgid ""
"See the answer in the FreeBSD extref:{handbook}mail/[Handbook, mail-trouble]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2356
+#: documentation/content/en/books/faq/_index.adoc:2355
#, no-wrap
msgid "Why do I get an error, Permission denied, for all networking operations?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2359
+#: documentation/content/en/books/faq/_index.adoc:2358
msgid ""
"If the kernel is compiled with the `IPFIREWALL` option, be aware that the "
"default policy is to deny all packets that are not explicitly allowed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2361
+#: documentation/content/en/books/faq/_index.adoc:2360
msgid ""
"If the firewall is unintentionally misconfigured, restore network "
"operability by typing the following as `root`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2365
+#: documentation/content/en/books/faq/_index.adoc:2364
#, no-wrap
msgid "# ipfw add 65534 allow all from any to any\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2368
+#: documentation/content/en/books/faq/_index.adoc:2367
msgid "Consider setting `firewall_type=\"open\"` in [.filename]#/etc/rc.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2370
+#: documentation/content/en/books/faq/_index.adoc:2369
msgid ""
"For further information on configuring this firewall, see the extref:"
"{handbook}firewalls/[Handbook chapter, firewalls-ipfw]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2372
+#: documentation/content/en/books/faq/_index.adoc:2371
#, no-wrap
msgid "Why is my `ipfw` “fwd” rule to redirect a service to another machine not working?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2377
+#: documentation/content/en/books/faq/_index.adoc:2376
msgid ""
"Possibly because network address translation (NAT) is needed instead of just "
"forwarding packets. A \"fwd\" rule only forwards packets, it does not "
"actually change the data inside the packet. Consider this rule:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2381
+#: documentation/content/en/books/faq/_index.adoc:2380
#, no-wrap
msgid "01000 fwd 10.0.0.1 from any to foo 21\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2388
+#: documentation/content/en/books/faq/_index.adoc:2387
msgid ""
"When a packet with a destination address of _foo_ arrives at the machine "
"with this rule, the packet is forwarded to _10.0.0.1_, but it still has the "
"destination address of _foo_. The destination address of the packet is not "
"changed to _10.0.0.1_. Most machines would probably drop a packet that they "
"receive with a destination address that is not their own. Therefore, using "
"a \"fwd\" rule does not often work the way the user expects. This behavior "
"is a feature and not a bug."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2390
+#: documentation/content/en/books/faq/_index.adoc:2389
msgid ""
"See the <<service-redirect,FAQ about redirecting services>>, the man:natd[8] "
"manual, or one of the several port redirecting utilities in the link:https://"
"www.FreeBSD.org/ports/[Ports Collection] for a correct way to do this."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2392
+#: documentation/content/en/books/faq/_index.adoc:2391
#, no-wrap
msgid "How can I redirect service requests from one machine to another?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2396
+#: documentation/content/en/books/faq/_index.adoc:2395
msgid ""
"FTP and other service requests can be redirected with the package:sysutils/"
"socket[] package or port. Replace the entry for the service in [.filename]#/"
"etc/inetd.conf# to call `socket`, as seen in this example for ftpd:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2400
+#: documentation/content/en/books/faq/_index.adoc:2399
#, no-wrap
msgid "ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2403
+#: documentation/content/en/books/faq/_index.adoc:2402
msgid ""
"where _ftp.example.com_ and _ftp_ are the host and port to redirect to, "
"respectively."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2405
+#: documentation/content/en/books/faq/_index.adoc:2404
#, no-wrap
msgid "Where can I get a bandwidth management tool?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2411
+#: documentation/content/en/books/faq/_index.adoc:2410
msgid ""
"There are three bandwidth management tools available for FreeBSD. man:"
"dummynet[4] is integrated into FreeBSD as part of man:ipfw[4]. http://www."
"sonycsl.co.jp/person/kjc/programs.html[ALTQ] has been integrated into "
"FreeBSD as part of man:pf[4]. Bandwidth Manager from http://www.etinc.com/"
"[Emerging Technologies] is a commercial product."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2413
+#: documentation/content/en/books/faq/_index.adoc:2412
#, no-wrap
msgid "Why do I get /dev/bpf0: device not configured?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2417
+#: documentation/content/en/books/faq/_index.adoc:2416
msgid ""
"The running application requires the Berkeley Packet Filter (man:bpf[4]), "
"but it was removed from a custom kernel. Add this to the kernel config file "
"and build a new kernel:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2421
+#: documentation/content/en/books/faq/_index.adoc:2420
#, no-wrap
msgid "device bpf # Berkeley Packet Filter\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2424
+#: documentation/content/en/books/faq/_index.adoc:2423
#, no-wrap
msgid "How do I mount a disk from a Windows(R) machine that is on my network, like smbmount in Linux(R)?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2429
+#: documentation/content/en/books/faq/_index.adoc:2428
msgid ""
"Use the SMBFS toolset. It includes a set of kernel modifications and a set "
"of userland programs. The programs and information are available as man:"
"mount_smbfs[8] in the base system."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2431
+#: documentation/content/en/books/faq/_index.adoc:2430
#, no-wrap
msgid "What are these messages about: Limiting icmp/open port/closed port response in my log files?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2437
+#: documentation/content/en/books/faq/_index.adoc:2436
msgid ""
"This kernel message indicates that some activity is provoking it to send a "
"large amount of ICMP or TCP reset (RST) responses. ICMP responses are often "
"generated as a result of attempted connections to unused UDP ports. TCP "
"resets are generated as a result of attempted connections to unopened TCP "
"ports. Among others, these are the kinds of activities which may cause "
"these messages:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2439
+#: documentation/content/en/books/faq/_index.adoc:2438
msgid ""
"Brute-force denial of service (DoS) attacks (as opposed to single-packet "
"attacks which exploit a specific vulnerability)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2440
+#: documentation/content/en/books/faq/_index.adoc:2439
msgid ""
"Port scans which attempt to connect to a large number of ports (as opposed "
"to only trying a few well-known ports)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2444
+#: documentation/content/en/books/faq/_index.adoc:2443
msgid ""
"The first number in the message indicates how many packets the kernel would "
"have sent if the limit was not in place, and the second indicates the "
"limit. This limit is controlled using `net.inet.icmp.icmplim`. This "
"example sets the limit to `300` packets per second:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2448
+#: documentation/content/en/books/faq/_index.adoc:2447
#, no-wrap
msgid "# sysctl net.inet.icmp.icmplim=300\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2451
+#: documentation/content/en/books/faq/_index.adoc:2450
msgid ""
"To disable these messages without disabling response limiting, use `net.inet."
"icmp.icmplim_output` to disable the output:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2455
+#: documentation/content/en/books/faq/_index.adoc:2454
#, no-wrap
msgid "# sysctl net.inet.icmp.icmplim_output=0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2459
+#: documentation/content/en/books/faq/_index.adoc:2458
msgid ""
"Finally, to disable response limiting completely, set `net.inet.icmp."
"icmplim` to `0`. Disabling response limiting is discouraged for the reasons "
"listed above."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2461
+#: documentation/content/en/books/faq/_index.adoc:2460
#, no-wrap
msgid "What are these arp: unknown hardware address format error messages?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2467
+#: documentation/content/en/books/faq/_index.adoc:2466
msgid ""
"This means that some device on the local Ethernet is using a MAC address in "
"a format that FreeBSD does not recognize. This is probably caused by "
"someone experimenting with an Ethernet card somewhere else on the network. "
"This is most commonly seen on cable modem networks. It is harmless, and "
"should not affect the performance of the FreeBSD system."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2469
+#: documentation/content/en/books/faq/_index.adoc:2468
#, no-wrap
msgid "Why do I keep seeing messages like: 192.168.0.10 is on fxp1 but got reply from 00:15:17:67:cf:82 on rl0, and how do I disable it?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2473
+#: documentation/content/en/books/faq/_index.adoc:2472
msgid ""
"A packet is coming from outside the network unexpectedly. To disable them, "
"set `net.link.ether.inet.log_arp_wrong_iface` to `0`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2475
+#: documentation/content/en/books/faq/_index.adoc:2474
#, no-wrap
msgid "How do I compile an IPv6 only kernel?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2478
+#: documentation/content/en/books/faq/_index.adoc:2477
msgid "Configure your kernel with these settings:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2486
+#: documentation/content/en/books/faq/_index.adoc:2485
#, no-wrap
msgid ""
"include GENERIC\n"
"ident GENERIC-IPV6ONLY\n"
"makeoptions MKMODULESENV+=\"WITHOUT_INET_SUPPORT=\"\n"
"nooptions INET\n"
"nodevice gre\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2489
+#: documentation/content/en/books/faq/_index.adoc:2488
#, no-wrap
msgid "Security"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2492
+#: documentation/content/en/books/faq/_index.adoc:2491
#, no-wrap
msgid "What is a sandbox?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2496
+#: documentation/content/en/books/faq/_index.adoc:2495
msgid "\"Sandbox\" is a security term. It can mean two things:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2498
+#: documentation/content/en/books/faq/_index.adoc:2497
msgid ""
"A process which is placed inside a set of virtual walls that are designed to "
"prevent someone who breaks into the process from being able to break into "
"the wider system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2501
+#: documentation/content/en/books/faq/_index.adoc:2500
msgid ""
"The process is only able to run inside the walls. Since nothing the process "
"does in regards to executing code is supposed to be able to breach the "
"walls, a detailed audit of its code is not needed in order to be able to say "
"certain things about its security."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2504
+#: documentation/content/en/books/faq/_index.adoc:2503
msgid ""
"The walls might be a user ID, for example. This is the definition used in "
"the man:security[7] and man:named[8] man pages."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2509
+#: documentation/content/en/books/faq/_index.adoc:2508
msgid ""
"Take the `ntalk` service, for example (see man:inetd[8]). This service used "
"to run as user ID `root`. Now it runs as user ID `tty`. The `tty` user is "
"a sandbox designed to make it more difficult for someone who has "
"successfully hacked into the system via `ntalk` from being able to hack "
"beyond that user ID."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2511
+#: documentation/content/en/books/faq/_index.adoc:2510
msgid ""
"A process which is placed inside a simulation of the machine. It means that "
"someone who is able to break into the process may believe that he can break "
"into the wider machine but is, in fact, only breaking into a simulation of "
"that machine and not modifying any real data."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2513
+#: documentation/content/en/books/faq/_index.adoc:2512
msgid ""
"The most common way to accomplish this is to build a simulated environment "
"in a subdirectory and then run the processes in that directory chrooted so "
"that [.filename]#/# for that process is this directory, not the real [."
"filename]#/# of the system)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2516
+#: documentation/content/en/books/faq/_index.adoc:2515
msgid ""
"Another common use is to mount an underlying file system read-only and then "
"create a file system layer on top of it that gives a process a seemingly "
"writeable view into that file system. The process may believe it is able to "
"write to those files, but only the process sees the effects - other "
"processes in the system do not, necessarily."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2518
+#: documentation/content/en/books/faq/_index.adoc:2517
msgid ""
"An attempt is made to make this sort of sandbox so transparent that the user "
"(or hacker) does not realize that he is sitting in it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2521
+#: documentation/content/en/books/faq/_index.adoc:2520
msgid ""
"UNIX(R) implements two core sandboxes. One is at the process level, and one "
"is at the userid level."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2524
+#: documentation/content/en/books/faq/_index.adoc:2523
msgid ""
"Every UNIX(R) process is completely firewalled off from every other UNIX(R) "
"process. One process cannot modify the address space of another."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2528
+#: documentation/content/en/books/faq/_index.adoc:2527
msgid ""
"A UNIX(R) process is owned by a particular userid. If the user ID is not "
"the `root` user, it serves to firewall the process off from processes owned "
"by other users. The user ID is also used to firewall off on-disk data."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2530
+#: documentation/content/en/books/faq/_index.adoc:2529
#, no-wrap
msgid "What is securelevel?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2536
+#: documentation/content/en/books/faq/_index.adoc:2535
msgid ""
"`securelevel` is a security mechanism implemented in the kernel. When the "
"securelevel is positive, the kernel restricts certain tasks; not even the "
"superuser (`root`) is allowed to do them. The securelevel mechanism limits "
"the ability to:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2538
+#: documentation/content/en/books/faq/_index.adoc:2537
msgid "Unset certain file flags, such as `schg` (the system immutable flag)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2539
+#: documentation/content/en/books/faq/_index.adoc:2538
msgid ""
"Write to kernel memory via [.filename]#/dev/mem# and [.filename]#/dev/kmem#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2540
+#: documentation/content/en/books/faq/_index.adoc:2539
msgid "Load kernel modules."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2541
+#: documentation/content/en/books/faq/_index.adoc:2540
msgid "Alter firewall rules."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2543
+#: documentation/content/en/books/faq/_index.adoc:2542
msgid "To check the status of the securelevel on a running system:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2547
+#: documentation/content/en/books/faq/_index.adoc:2546
#, no-wrap
msgid "# sysctl -n kern.securelevel\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2551
+#: documentation/content/en/books/faq/_index.adoc:2550
msgid ""
"The output contains the current value of the securelevel. If it is greater "
"than 0, at least some of the securelevel's protections are enabled."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2554
+#: documentation/content/en/books/faq/_index.adoc:2553
msgid ""
"The securelevel of a running system cannot be lowered as this would defeat "
"its purpose. If a task requires that the securelevel be non-positive, "
"change the `kern_securelevel` and `kern_securelevel_enable` variables in [."
"filename]#/etc/rc.conf# and reboot."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2556
+#: documentation/content/en/books/faq/_index.adoc:2555
msgid ""
"For more information on securelevel and the specific things all the levels "
"do, consult man:init[8]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2561
+#: documentation/content/en/books/faq/_index.adoc:2560
msgid ""
"Securelevel is not a silver bullet; it has many known deficiencies. More "
"often than not, it provides a false sense of security."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2565
+#: documentation/content/en/books/faq/_index.adoc:2564
msgid ""
"One of its biggest problems is that in order for it to be at all effective, "
"all files used in the boot process up until the securelevel is set must be "
"protected. If an attacker can get the system to execute their code prior to "
"the securelevel being set (which happens quite late in the boot process "
"since some things the system must do at start-up cannot be done at an "
"elevated securelevel), its protections are invalidated. While this task of "
"protecting all files used in the boot process is not technically impossible, "
"if it is achieved, system maintenance will become a nightmare since one "
"would have to take the system down, at least to single-user mode, to modify "
"a configuration file."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2569
+#: documentation/content/en/books/faq/_index.adoc:2568
msgid ""
"This point and others are often discussed on the mailing lists, particularly "
"the {freebsd-security}. Search the archives link:https://www.FreeBSD.org/"
"search/[here] for an extensive discussion. A more fine-grained mechanism is "
"preferred."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2572
+#: documentation/content/en/books/faq/_index.adoc:2571
#, no-wrap
msgid "What is this UID 0 toor account? Have I been compromised?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2579
+#: documentation/content/en/books/faq/_index.adoc:2578
msgid ""
"Do not worry. `toor` is an \"alternative\" superuser account, where toor is "
"root spelled backwards. It is intended to be used with a non-standard shell "
"so the default shell for `root` does not need to change. This is important "
"as shells which are not part of the base distribution, but are instead "
"installed from ports or packages, are installed in [.filename]#/usr/local/"
"bin# which, by default, resides on a different file system. If ``root``'s "
"shell is located in [.filename]#/usr/local/bin# and the file system "
"containing [.filename]#/usr/local/bin#) is not mounted, `root` will not be "
"able to log in to fix a problem and will have to reboot into single-user "
"mode in order to enter the path to a shell."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2582
+#: documentation/content/en/books/faq/_index.adoc:2581
msgid ""
"Some people use `toor` for day-to-day `root` tasks with a non-standard "
"shell, leaving `root`, with a standard shell, for single-user mode or "
"emergencies. By default, a user cannot log in using `toor` as it does not "
"have a password, so log in as `root` and set a password for `toor` before "
"using it to login."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2584
+#: documentation/content/en/books/faq/_index.adoc:2583
#, no-wrap
msgid "Serial Communications"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2587
+#: documentation/content/en/books/faq/_index.adoc:2586
msgid ""
"This section answers common questions about serial communications with "
"FreeBSD."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2589
+#: documentation/content/en/books/faq/_index.adoc:2588
#, no-wrap
msgid "How do I get the boot: prompt to show on the serial console?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2592
+#: documentation/content/en/books/faq/_index.adoc:2591
msgid ""
"See extref:{handbook}serialcomms/[this section of the Handbook, "
"serialconsole-setup]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2594
+#: documentation/content/en/books/faq/_index.adoc:2593
#, no-wrap
msgid "How do I tell if FreeBSD found my serial ports or modem cards?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2598
+#: documentation/content/en/books/faq/_index.adoc:2597
msgid ""
"As the FreeBSD kernel boots, it will probe for the serial ports for which "
"the kernel is configured. Either watch the boot messages closely or run "
"this command after the system is up and running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2605
+#: documentation/content/en/books/faq/_index.adoc:2604
#, no-wrap
msgid ""
"% grep -E '^(sio|uart)[0-9]' < /var/run/dmesg.boot\n"
"uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0\n"
"uart0: console (115200,n,8,1)\n"
"uart1: <16550 or compatible> port 0x2f8-2x3ff irq 3 on acpi0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2611
+#: documentation/content/en/books/faq/_index.adoc:2610
msgid ""
"This example shows two serial ports. The first is on IRQ4, port address "
"`0x3f8`, and has a 16550-type UART chip. The second uses the same kind of "
"chip but is on IRQ3 and is at port address `0x2f8`. Internal modem cards "
"are treated just like serial ports, except that they always have a modem "
"attached to the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2614
+#: documentation/content/en/books/faq/_index.adoc:2613
msgid ""
"The [.filename]#GENERIC# kernel includes support for two serial ports using "
"the same IRQ and port address settings in the above example. If these "
"settings are not right for the system, or if there are more modem cards or "
"serial ports than the kernel is configured for, reconfigure using the "
"instructions in <<make-kernel,building a kernel>> for more details."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2616
+#: documentation/content/en/books/faq/_index.adoc:2615
#, no-wrap
msgid "How do I access the serial ports on FreeBSD? (x86-specific)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2620
+#: documentation/content/en/books/faq/_index.adoc:2619
msgid ""
"The third serial port, [.filename]#sio2#, or [.filename]#COM3#, is on [."
"filename]#/dev/cuad2# for dial-out devices, and on [.filename]#/dev/ttyd2# "
"for dial-in devices. What is the difference between these two classes of "
"devices?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2626
+#: documentation/content/en/books/faq/_index.adoc:2625
msgid ""
"When opening [.filename]#/dev/ttydX# in blocking mode, a process will wait "
"for the corresponding [.filename]#cuadX# device to become inactive, and then "
"wait for the carrier detect line to go active. When the [.filename]#cuadX# "
"device is opened, it makes sure the serial port is not already in use by the "
"[.filename]#ttydX# device. If the port is available, it steals it from the "
"[.filename]#ttydX# device. Also, the [.filename]#cuadX# device does not "
"care about carrier detect. With this scheme and an auto-answer modem, "
"remote users can log in and local users can still dial out with the same "
"modem and the system will take care of all the conflicts."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2628
+#: documentation/content/en/books/faq/_index.adoc:2627
#, no-wrap
msgid "How do I enable support for a multi-port serial card?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2636
+#: documentation/content/en/books/faq/_index.adoc:2635
msgid ""
"The section on kernel configuration provides information about configuring "
"the kernel. For a multi-port serial card, place an man:sio[4] line for each "
"serial port on the card in the man:device.hints[5] file. But place the IRQ "
"specifiers on only one of the entries. All of the ports on the card should "
"share one IRQ. For consistency, use the last serial port to specify the "
"IRQ. Also, specify the following option in the kernel configuration file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2640
+#: documentation/content/en/books/faq/_index.adoc:2639
#, no-wrap
msgid "options COM_MULTIPORT\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2643
+#: documentation/content/en/books/faq/_index.adoc:2642
msgid ""
"The following [.filename]#/boot/device.hints# example is for an AST 4-port "
"serial card on IRQ 12:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2659
+#: documentation/content/en/books/faq/_index.adoc:2658
#, no-wrap
msgid ""
"hint.sio.4.at=\"isa\"\n"
"hint.sio.4.port=\"0x2a0\"\n"
"hint.sio.4.flags=\"0x701\"\n"
"hint.sio.5.at=\"isa\"\n"
"hint.sio.5.port=\"0x2a8\"\n"
"hint.sio.5.flags=\"0x701\"\n"
"hint.sio.6.at=\"isa\"\n"
"hint.sio.6.port=\"0x2b0\"\n"
"hint.sio.6.flags=\"0x701\"\n"
"hint.sio.7.at=\"isa\"\n"
"hint.sio.7.port=\"0x2b8\"\n"
"hint.sio.7.flags=\"0x701\"\n"
"hint.sio.7.irq=\"12\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2662
+#: documentation/content/en/books/faq/_index.adoc:2661
msgid ""
"The flags indicate that the master port has minor number `7` (`0x700`), and "
"all the ports share an IRQ (`0x001`)."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2664
+#: documentation/content/en/books/faq/_index.adoc:2663
#, no-wrap
msgid "Can I set the default serial parameters for a port?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2667
+#: documentation/content/en/books/faq/_index.adoc:2666
msgid ""
"See the extref:{handbook}serialcomms/[Serial Communications, serial-hw-"
"config] section in the FreeBSD Handbook."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2669
+#: documentation/content/en/books/faq/_index.adoc:2668
#, no-wrap
msgid "Why can I not run tip or cu?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2673
+#: documentation/content/en/books/faq/_index.adoc:2672
msgid ""
"The built-in man:tip[1] and man:cu[1] utilities can only access the [."
"filename]#/var/spool/lock# directory via user `uucp` and group `dialer`. "
"Use the `dialer` group to control who has access to the modem or remote "
"systems by adding user accounts to `dialer`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2675
+#: documentation/content/en/books/faq/_index.adoc:2674
msgid ""
"Alternatively, everyone can be configured to run man:tip[1] and man:cu[1] by "
"typing:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2680
+#: documentation/content/en/books/faq/_index.adoc:2679
#, no-wrap
msgid ""
"# chmod 4511 /usr/bin/cu\n"
"# chmod 4511 /usr/bin/tip\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2683
+#: documentation/content/en/books/faq/_index.adoc:2682
#, no-wrap
msgid "Miscellaneous Questions"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2686
+#: documentation/content/en/books/faq/_index.adoc:2685
#, no-wrap
msgid "FreeBSD uses a lot of swap space even when the computer has free memory left. Why?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2690
+#: documentation/content/en/books/faq/_index.adoc:2689
msgid ""
"FreeBSD will proactively move entirely idle, unused pages of main memory "
"into swap in order to make more main memory available for active use. This "
"heavy use of swap is balanced by using the extra free memory for caching."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2693
+#: documentation/content/en/books/faq/_index.adoc:2692
msgid ""
"Note that while FreeBSD is proactive in this regard, it does not arbitrarily "
"decide to swap pages when the system is truly idle. Thus, the system will "
"not be all paged out after leaving it idle overnight."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2695
+#: documentation/content/en/books/faq/_index.adoc:2694
#, no-wrap
msgid "Why does top show very little free memory even when I have very few programs running?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2702
+#: documentation/content/en/books/faq/_index.adoc:2701
msgid ""
"The simple answer is that free memory is wasted memory. Any memory that "
"programs do not actively allocate is used within the FreeBSD kernel as disk "
"cache. The values shown by man:top[1] labeled as `Inact` and `Laundry` are "
"cached data at different aging levels. This cached data means the system "
"does not have to access a slow disk again for data it has accessed recently, "
"thus increasing overall performance. In general, a low value shown for "
"`Free` memory in man:top[1] is good, provided it is not _very_ low."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2704
+#: documentation/content/en/books/faq/_index.adoc:2703
#, no-wrap
msgid "Why will `chmod` not change the permissions on symlinks?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2708
+#: documentation/content/en/books/faq/_index.adoc:2707
msgid ""
"Symlinks do not have permissions, and by default, man:chmod[1] will follow "
"symlinks to change the permissions on the source file, if possible. For the "
"file, [.filename]#foo# with a symlink named [.filename]#bar#, this command "
"will always succeed."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2712
+#: documentation/content/en/books/faq/_index.adoc:2711
#, no-wrap
msgid "% chmod g-w bar\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2715
+#: documentation/content/en/books/faq/_index.adoc:2714
msgid "However, the permissions on [.filename]#bar# will not have changed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2718
+#: documentation/content/en/books/faq/_index.adoc:2717
msgid ""
"When changing modes of the file hierarchies rooted in the files instead of "
"the files themselves, use either `-H` or `-L` together with `-R` to make "
"this work. See man:chmod[1] and man:symlink[7] for more information."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2725
+#: documentation/content/en/books/faq/_index.adoc:2724
msgid ""
"`-R` does a _recursive_ man:chmod[1]. Be careful about specifying "
"directories or symlinks to directories to man:chmod[1]. To change the "
"permissions of a directory referenced by a symlink, use man:chmod[1] without "
"any options and follow the symlink with a trailing slash ([.filename]#/#). "
"For example, if [.filename]#foo# is a symlink to directory [.filename]#bar#, "
"to change the permissions of [.filename]#foo# (actually [.filename]#bar#), "
"do something like:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:2729
+#: documentation/content/en/books/faq/_index.adoc:2728
#, no-wrap
msgid "% chmod 555 foo/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2732
+#: documentation/content/en/books/faq/_index.adoc:2731
msgid ""
"With the trailing slash, man:chmod[1] will follow the symlink, [."
"filename]#foo#, to change the permissions of the directory, [.filename]#bar#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2735
+#: documentation/content/en/books/faq/_index.adoc:2734
#, no-wrap
msgid "Can I run DOS binaries under FreeBSD?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2739
+#: documentation/content/en/books/faq/_index.adoc:2738
msgid ""
"Yes. A DOS emulation program, package:emulators/doscmd[], is available in "
"the FreeBSD Ports Collection."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2742
+#: documentation/content/en/books/faq/_index.adoc:2741
msgid ""
"If doscmd will not suffice, package:emulators/pcemu[] emulates an 8088 and "
"enough BIOS services to run many DOS text-mode applications. It requires "
"the X Window System."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2745
+#: documentation/content/en/books/faq/_index.adoc:2744
msgid ""
"The Ports Collection also has package:emulators/dosbox[]. The main focus of "
"this application is emulating old DOS games using the local file system for "
"files."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2747
+#: documentation/content/en/books/faq/_index.adoc:2746
#, no-wrap
msgid "What do I need to do to translate a FreeBSD document into my native language?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2750
+#: documentation/content/en/books/faq/_index.adoc:2749
msgid ""
"See the extref:{fdp-primer}[Translation FAQ, translations] in the FreeBSD "
"Documentation Project Primer."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2752
+#: documentation/content/en/books/faq/_index.adoc:2751
#, no-wrap
msgid "Why does my email to any address at FreeBSD.org bounce?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2756
+#: documentation/content/en/books/faq/_index.adoc:2755
msgid ""
"The `FreeBSD.org` mail system implements some Postfix checks on incoming "
"mail and rejects mail that is either from misconfigured relays or otherwise "
"appears likely to be spam. Some of the specific requirements are:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2758
+#: documentation/content/en/books/faq/_index.adoc:2757
msgid ""
"The IP address of the SMTP client must \"reverse-resolve\" to a forward "
"confirmed hostname."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2759
+#: documentation/content/en/books/faq/_index.adoc:2758
msgid ""
"The fully-qualified hostname given in the SMTP conversation (either HELO or "
"EHLO) must resolve to the IP address of the client."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2761
+#: documentation/content/en/books/faq/_index.adoc:2760
msgid "Other advice to help mail reach its destination include:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2763
+#: documentation/content/en/books/faq/_index.adoc:2762
msgid ""
"Mail should be sent in plain text, and messages sent to mailing lists should "
"generally be no more than 200KB in length."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2765
+#: documentation/content/en/books/faq/_index.adoc:2764
msgid ""
"Avoid excessive cross posting. Choose _one_ mailing list which seems most "
"relevant and send it there."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2769
+#: documentation/content/en/books/faq/_index.adoc:2768
msgid ""
"If you still have trouble with email infrastructure at `FreeBSD.org`, send a "
"note with the details to mailto:postmaster@freebsd.org[postmaster@freebsd."
"org]; Include a date/time interval so that logs may be reviewed - and note "
"that we only keep one week's worth of mail logs. (Be sure to specify the "
"time zone or offset from UTC.)"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2771
+#: documentation/content/en/books/faq/_index.adoc:2770
#, no-wrap
msgid "Where can I find a free FreeBSD account?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2775
+#: documentation/content/en/books/faq/_index.adoc:2774
msgid ""
"While FreeBSD does not provide open access to any of their servers, others "
"do provide open access UNIX(R) systems. The charge varies and limited "
"services may be available."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2782
+#: documentation/content/en/books/faq/_index.adoc:2781
msgid ""
"http://www.arbornet.org/[Arbornet, Inc], also known as _M-Net_, has been "
"providing open access to UNIX(R) systems since 1983. Starting on an Altos "
"running System III, the site switched to BSD/OS in 1991. In June of 2000, "
"the site switched again to FreeBSD. _M-Net_ can be accessed via telnet and "
"SSH and provides basic access to the entire FreeBSD software suite. "
"However, network access is limited to members and patrons who donate to the "
"system, which is run as a non-profit organization. _M-Net_ also provides an "
"bulletin board system and interactive chat."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2784
+#: documentation/content/en/books/faq/_index.adoc:2783
#, no-wrap
msgid "What is the cute little red guy's name?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2789
+#: documentation/content/en/books/faq/_index.adoc:2788
msgid ""
"He does not have one, and is just called \"the BSD daemon\". If you insist "
"upon using a name, call him \"beastie\". Note that \"beastie\" is "
"pronounced \"BSD\"."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2791
+#: documentation/content/en/books/faq/_index.adoc:2790
msgid ""
"More about the BSD daemon is available on his http://www.mckusick.com/"
"beastie/index.html[home page]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2793
+#: documentation/content/en/books/faq/_index.adoc:2792
#, no-wrap
msgid "Can I use the BSD daemon image?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2798
+#: documentation/content/en/books/faq/_index.adoc:2797
msgid ""
"Perhaps. The BSD daemon is copyrighted by Marshall Kirk McKusick. Check "
"his http://www.mckusick.com/beastie/mainpage/copyright.html[Statement on the "
"Use of the BSD Daemon Figure] for detailed usage terms."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2802
+#: documentation/content/en/books/faq/_index.adoc:2801
msgid ""
"In summary, the image can be used in a tasteful manner, for personal use, so "
"long as appropriate credit is given. Before using the logo commercially, "
"contact {mckusick} for permission. More details are available on the http://"
"www.mckusick.com/beastie/index.html[BSD Daemon's home page]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2804
+#: documentation/content/en/books/faq/_index.adoc:2803
#, no-wrap
msgid "Do you have any BSD daemon images I could use?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2807
+#: documentation/content/en/books/faq/_index.adoc:2806
msgid ""
"Xfig and eps drawings are available under [.filename]#/usr/share/examples/"
"BSD_daemon/#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2809
+#: documentation/content/en/books/faq/_index.adoc:2808
#, no-wrap
msgid "I have seen an acronym or other term on the mailing lists and I do not understand what it means. Where should I look?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2812
+#: documentation/content/en/books/faq/_index.adoc:2811
msgid "Refer to the extref:{handbook}glossary/[FreeBSD Glossary]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2814
+#: documentation/content/en/books/faq/_index.adoc:2813
#, no-wrap
msgid "Why should I care what color the bikeshed is?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2820
+#: documentation/content/en/books/faq/_index.adoc:2819
msgid ""
"The really, really short answer is that you should not. The somewhat longer "
"answer is that just because you are capable of building a bikeshed does not "
"mean you should stop others from building one just because you do not like "
"the color they plan to paint it. This is a metaphor indicating that you "
"need not argue about every little feature just because you know enough to do "
"so. Some people have commented that the amount of noise generated by a "
"change is inversely proportional to the complexity of the change."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:2823
+#: documentation/content/en/books/faq/_index.adoc:2822
msgid ""
"The longer and more complete answer is that after a very long argument about "
"whether man:sleep[1] should take fractional second arguments, {phk} posted a "
"long message entitled link:http://www.bikeshed.com[A bike shed (any color "
"will do) on greener grass...]. The appropriate portions of that message are "
"quoted below."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2826
+#: documentation/content/en/books/faq/_index.adoc:2825
msgid "“What is it about this bike shed?” some of you have asked me."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2830
+#: documentation/content/en/books/faq/_index.adoc:2829
msgid ""
"It is a long story, or rather it is an old story, but it is quite short "
"actually. C. Northcote Parkinson wrote a book in the early 1960s, called "
"“Parkinson's Law”, which contains a lot of insight into the dynamics of "
"management."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2834
+#: documentation/content/en/books/faq/_index.adoc:2833
msgid ""
"In the specific example involving the bike shed, the other vital component "
"is an atomic power-plant, I guess that illustrates the age of the book."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2836
+#: documentation/content/en/books/faq/_index.adoc:2835
msgid ""
"Parkinson shows how you can go into the board of directors and get approval "
"for building a multi-million or even billion dollar atomic power plant, but "
"if you want to build a bike shed you will be tangled up in endless "
"discussions."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2839
+#: documentation/content/en/books/faq/_index.adoc:2838
msgid ""
"Parkinson explains that this is because an atomic plant is so vast, so "
"expensive and so complicated that people cannot grasp it, and rather than "
"try, they fall back on the assumption that somebody else checked all the "
"details before it got this far. Richard P. Feynmann gives a couple of "
"interesting, and very much to the point, examples relating to Los Alamos in "
"his books."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2844
+#: documentation/content/en/books/faq/_index.adoc:2843
msgid ""
"A bike shed on the other hand. Anyone can build one of those over a "
"weekend, and still have time to watch the game on TV. So no matter how well "
"prepared, no matter how reasonable you are with your proposal, somebody will "
"seize the chance to show that he is doing his job, that he is paying "
"attention, that he is here."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2850
+#: documentation/content/en/books/faq/_index.adoc:2849
msgid ""
"In Denmark we call it “setting your fingerprint”. It is about personal "
"pride and prestige, it is about being able to point somewhere and say "
"“There! I did that.”. It is a strong trait in politicians, but present in "
"most people given the chance. Just think about footsteps in wet cement."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/faq/_index.adoc:2852
+#: documentation/content/en/books/faq/_index.adoc:2851
msgid ""
"--Poul-Henning Kamp <phk@FreeBSD.org> on freebsd-hackers, October 2, 1999"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2855
+#: documentation/content/en/books/faq/_index.adoc:2854
#, no-wrap
msgid "The FreeBSD Funnies"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2858
+#: documentation/content/en/books/faq/_index.adoc:2857
#, no-wrap
msgid "How cool is FreeBSD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2863
+#: documentation/content/en/books/faq/_index.adoc:2862
msgid ""
"_Q._ Has anyone done any temperature testing while running FreeBSD? I know "
"Linux(R) runs cooler than DOS, but have never seen a mention of FreeBSD. It "
"seems to run really hot."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2870
+#: documentation/content/en/books/faq/_index.adoc:2869
msgid ""
"_A._ No, but we have done numerous taste tests on blindfolded volunteers who "
"have also had 250 micrograms of LSD-25 administered beforehand. 35% of the "
"volunteers said that FreeBSD tasted sort of orange, whereas Linux(R) tasted "
"like purple haze. Neither group mentioned any significant variances in "
"temperature. We eventually had to throw the results of this survey out "
"entirely anyway when we found that too many volunteers were wandering out of "
"the room during the tests, thus skewing the results. We think most of the "
"volunteers are at Apple now, working on their new \"scratch and sniff\" "
"GUI. It is a funny old business we are in!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2873
+#: documentation/content/en/books/faq/_index.adoc:2872
msgid ""
"Seriously, FreeBSD uses the HLT (halt) instruction when the system is idle "
"thus lowering its energy consumption and therefore the heat it generates. "
"Also if you have ACPI (Advanced Configuration and Power Interface) "
"configured, then FreeBSD can also put the CPU into a low power mode."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2875
+#: documentation/content/en/books/faq/_index.adoc:2874
#, no-wrap
msgid "Who is scratching in my memory banks??"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2879
+#: documentation/content/en/books/faq/_index.adoc:2878
msgid ""
"_Q._ Is there anything \"odd\" that FreeBSD does when compiling the kernel "
"which would cause the memory to make a scratchy sound? When compiling (and "
"for a brief moment after recognizing the floppy drive upon startup, as "
"well), a strange scratchy sound emanates from what appears to be the memory "
"banks."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2883
+#: documentation/content/en/books/faq/_index.adoc:2882
msgid ""
"_A._ Yes! You will see frequent references to \"daemons\" in the BSD "
"documentation, and what most people do not know is that this refers to "
"genuine, non-corporeal entities that now possess your computer. The "
"scratchy sound coming from your memory is actually high-pitched whispering "
"exchanged among the daemons as they best decide how to deal with various "
"system administration tasks."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2888
+#: documentation/content/en/books/faq/_index.adoc:2887
msgid ""
"If the noise gets to you, a good `fdisk /mbr` from DOS will get rid of them, "
"but do not be surprised if they react adversely and try to stop you. In "
"fact, if at any point during the exercise you hear the satanic voice of Bill "
"Gates coming from the built-in speaker, take off running and do not ever "
"look back! Freed from the counterbalancing influence of the BSD daemons, the "
"twin demons of DOS and Windows(R) are often able to re-assert total control "
"over your machine to the eternal damnation of your soul. Now that you know, "
"given a choice you would probably prefer to get used to the scratchy noises, "
"no?"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2890
+#: documentation/content/en/books/faq/_index.adoc:2889
#, no-wrap
msgid "How many FreeBSD hackers does it take to change a lightbulb?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2893
+#: documentation/content/en/books/faq/_index.adoc:2892
msgid "One thousand, one hundred and sixty-nine:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2895
+#: documentation/content/en/books/faq/_index.adoc:2894
msgid "Twenty-three to complain to -CURRENT about the lights being out;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2897
+#: documentation/content/en/books/faq/_index.adoc:2896
msgid ""
"Four to claim that it is a configuration problem, and that such matters "
"really belong on -questions;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2899
+#: documentation/content/en/books/faq/_index.adoc:2898
msgid ""
"Three to submit PRs about it, one of which is misfiled under doc and "
"consists only of \"it's dark\";"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2901
+#: documentation/content/en/books/faq/_index.adoc:2900
msgid ""
"One to commit an untested lightbulb which breaks buildworld, then back it "
"out five minutes later;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2903
+#: documentation/content/en/books/faq/_index.adoc:2902
msgid ""
"Eight to flame the PR originators for not including patches in their PRs;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2905
+#: documentation/content/en/books/faq/_index.adoc:2904
msgid "Five to complain about buildworld being broken;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2907
+#: documentation/content/en/books/faq/_index.adoc:2906
msgid ""
"Thirty-one to answer that it works for them, and they must have updated at a "
"bad time;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2909
+#: documentation/content/en/books/faq/_index.adoc:2908
msgid "One to post a patch for a new lightbulb to -hackers;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2911
+#: documentation/content/en/books/faq/_index.adoc:2910
msgid ""
"One to complain that he had patches for this three years ago, but when he "
"sent them to -CURRENT they were just ignored, and he has had bad experiences "
"with the PR system; besides, the proposed new lightbulb is non-reflexive;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2913
+#: documentation/content/en/books/faq/_index.adoc:2912
msgid ""
"Thirty-seven to scream that lightbulbs do not belong in the base system, "
"that committers have no right to do things like this without consulting the "
"Community, and WHAT IS -CORE DOING ABOUT IT!?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2915
+#: documentation/content/en/books/faq/_index.adoc:2914
msgid "Two hundred to complain about the color of the bicycle shed;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2917
+#: documentation/content/en/books/faq/_index.adoc:2916
msgid "Three to point out that the patch breaks man:style[9];"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2919
+#: documentation/content/en/books/faq/_index.adoc:2918
msgid "Seventeen to complain that the proposed new lightbulb is under GPL;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2921
+#: documentation/content/en/books/faq/_index.adoc:2920
msgid ""
"Five hundred and eighty-six to engage in a flame war about the comparative "
"advantages of the GPL, the BSD license, the MIT license, the NPL, and the "
"personal hygiene of unnamed FSF founders;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2923
+#: documentation/content/en/books/faq/_index.adoc:2922
msgid "Seven to move various portions of the thread to -chat and -advocacy;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2925
+#: documentation/content/en/books/faq/_index.adoc:2924
msgid ""
"One to commit the suggested lightbulb, even though it shines dimmer than the "
"old one;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2927
+#: documentation/content/en/books/faq/_index.adoc:2926
msgid ""
"Two to back it out with a furious flame of a commit message, arguing that "
"FreeBSD is better off in the dark than with a dim lightbulb;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2929
+#: documentation/content/en/books/faq/_index.adoc:2928
msgid ""
"Forty-six to argue vociferously about the backing out of the dim lightbulb "
"and demanding a statement from -core;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2931
+#: documentation/content/en/books/faq/_index.adoc:2930
msgid ""
"Eleven to request a smaller lightbulb so it will fit their Tamagotchi if we "
"ever decide to port FreeBSD to that platform;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2933
+#: documentation/content/en/books/faq/_index.adoc:2932
msgid ""
"Seventy-three to complain about the SNR on -hackers and -chat and "
"unsubscribe in protest;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2935
+#: documentation/content/en/books/faq/_index.adoc:2934
msgid ""
"Thirteen to post \"unsubscribe\", \"How do I unsubscribe?\", or \"Please "
"remove me from the list\", followed by the usual footer;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2937
+#: documentation/content/en/books/faq/_index.adoc:2936
msgid ""
"One to commit a working lightbulb while everybody is too busy flaming "
"everybody else to notice;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2939
+#: documentation/content/en/books/faq/_index.adoc:2938
msgid ""
"Thirty-one to point out that the new lightbulb would shine 0.364% brighter "
"if compiled with TenDRA (although it will have to be reshaped into a cube), "
"and that FreeBSD should therefore switch to TenDRA instead of GCC;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2941
+#: documentation/content/en/books/faq/_index.adoc:2940
msgid "One to complain that the new lightbulb lacks fairings;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2943
+#: documentation/content/en/books/faq/_index.adoc:2942
msgid "Nine (including the PR originators) to ask \"what is MFC?\";"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2945
+#: documentation/content/en/books/faq/_index.adoc:2944
msgid ""
"Fifty-seven to complain about the lights being out two weeks after the bulb "
"has been changed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2947
+#: documentation/content/en/books/faq/_index.adoc:2946
msgid "_{nik} adds:_"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2949
+#: documentation/content/en/books/faq/_index.adoc:2948
msgid "_I was laughing quite hard at this._"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2951
+#: documentation/content/en/books/faq/_index.adoc:2950
msgid ""
"_And then I thought, \"Hang on, shouldn't there be '1 to document it.' in "
"that list somewhere?\"_"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2953
+#: documentation/content/en/books/faq/_index.adoc:2952
msgid "_And then I was enlightened :-)_"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2955
+#: documentation/content/en/books/faq/_index.adoc:2954
msgid ""
"_{tabthorpe}_ says: \"None, _real_ FreeBSD hackers are not afraid of the "
"dark!\""
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2957
+#: documentation/content/en/books/faq/_index.adoc:2956
#, no-wrap
msgid "Where does data written to [.filename]#/dev/null# go?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2963
+#: documentation/content/en/books/faq/_index.adoc:2962
msgid ""
"It goes into a special data sink in the CPU where it is converted to heat "
"which is vented through the heatsink / fan assembly. This is why CPU "
"cooling is increasingly important; as people get used to faster processors, "
"they become careless with their data and more and more of it ends up in [."
"filename]#/dev/null#, overheating their CPUs. If you delete [.filename]#/"
"dev/null# (which effectively disables the CPU data sink) your CPU may run "
"cooler but your system will quickly become constipated with all that excess "
"data and start to behave erratically. If you have a fast network connection "
"you can cool down your CPU by reading data out of [.filename]#/dev/random# "
"and sending it off somewhere; however you run the risk of overheating your "
"network connection and [.filename]#/# or angering your ISP, as most of the "
"data will end up getting converted to heat by their equipment, but they "
"generally have good cooling, so if you do not overdo it you should be OK."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2965
+#: documentation/content/en/books/faq/_index.adoc:2964
msgid "_Paul Robinson adds:_"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2971
+#: documentation/content/en/books/faq/_index.adoc:2970
msgid ""
"There are other methods. As every good sysadmin knows, it is part of "
"standard practice to send data to the screen of interesting variety to keep "
"all the pixies that make up your picture happy. Screen pixies (commonly mis-"
"typed or re-named as \"pixels\") are categorized by the type of hat they "
"wear (red, green or blue) and will hide or appear (thereby showing the color "
"of their hat) whenever they receive a little piece of food. Video cards "
"turn data into pixie-food, and then send them to the pixies - the more "
"expensive the card, the better the food, so the better behaved the pixies "
"are. They also need constant stimulation - this is why screen savers exist."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2975
+#: documentation/content/en/books/faq/_index.adoc:2974
msgid ""
"To take your suggestions further, you could just throw the random data to "
"console, thereby letting the pixies consume it. This causes no heat to be "
"produced at all, keeps the pixies happy and gets rid of your data quite "
"quickly, even if it does make things look a bit messy on your screen."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2979
+#: documentation/content/en/books/faq/_index.adoc:2978
msgid ""
"Incidentally, as an ex-admin of a large ISP who experienced many problems "
"attempting to maintain a stable temperature in a server room, I would "
"strongly discourage people sending the data they do not want out to the "
"network. The fairies who do the packet switching and routing get annoyed by "
"it as well."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2981
+#: documentation/content/en/books/faq/_index.adoc:2980
#, no-wrap
msgid "My colleague sits at the computer too much, how can I prank her?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2984
+#: documentation/content/en/books/faq/_index.adoc:2983
msgid "Install package:games/sl[] and wait for her to mistype `sl` for `ls`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:2986
+#: documentation/content/en/books/faq/_index.adoc:2985
#, no-wrap
msgid "Advanced Topics"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2989
+#: documentation/content/en/books/faq/_index.adoc:2988
#, no-wrap
msgid "How can I learn more about FreeBSD's internals?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2992
+#: documentation/content/en/books/faq/_index.adoc:2991
msgid "See the extref:{arch-handbook}[FreeBSD Architecture Handbook]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:2994
+#: documentation/content/en/books/faq/_index.adoc:2993
msgid ""
"Additionally, much general UNIX(R) knowledge is directly applicable to "
"FreeBSD."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:2996
+#: documentation/content/en/books/faq/_index.adoc:2995
#, no-wrap
msgid "How can I contribute to FreeBSD? What can I do to help?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3000
+#: documentation/content/en/books/faq/_index.adoc:2999
msgid ""
"We accept all types of contributions: documentation, code, and even art. "
"See the article on extref:{contributing}[Contributing to FreeBSD] for "
"specific advice on how to do this."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3002
+#: documentation/content/en/books/faq/_index.adoc:3001
msgid "And thanks for the thought!"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:3004
+#: documentation/content/en/books/faq/_index.adoc:3003
#, no-wrap
msgid "What are snapshots and releases?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3008
+#: documentation/content/en/books/faq/_index.adoc:3007
msgid ""
"There are currently {rel-numbranch} active/semi-active branches in the "
"FreeBSD http://cgit.FreeBSD.org/src/[Git Repository]. (Earlier branches are "
"only changed very rarely, which is why there are only {rel-numbranch} active "
"branches of development):"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3010
+#: documentation/content/en/books/faq/_index.adoc:3009
msgid "{rel2-releng} AKA {rel2-stable}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3011
+#: documentation/content/en/books/faq/_index.adoc:3010
msgid "{rel-releng} AKA {rel-stable}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3012
+#: documentation/content/en/books/faq/_index.adoc:3011
msgid "{rel-head-releng} AKA _-CURRENT_ AKA {rel-head}"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3014
+#: documentation/content/en/books/faq/_index.adoc:3013
msgid ""
"Right now, _-CURRENT_ is the {rel-head-relx} development stream; the {rel-"
"stable} branch, {rel-releng}, forked off from _-CURRENT_ in {rel-relengdate} "
"and the {rel2-stable} branch, {rel2-releng}, forked off from _-CURRENT_ in "
"{rel2-relengdate}."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:3016
+#: documentation/content/en/books/faq/_index.adoc:3015
#, no-wrap
msgid "How can I make the most of the data I see when my kernel panics?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3019
+#: documentation/content/en/books/faq/_index.adoc:3018
msgid "Here is typical kernel panic:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3035
+#: documentation/content/en/books/faq/_index.adoc:3034
#, no-wrap
msgid ""
"Fatal trap 12: page fault while in kernel mode\n"
"fault virtual address = 0x40\n"
"fault code = supervisor read, page not present\n"
"instruction pointer = 0x8:0xf014a7e5\n"
"stack pointer = 0x10:0xf4ed6f24\n"
"frame pointer = 0x10:0xf4ed6f28\n"
"code segment = base 0x0, limit 0xfffff, type 0x1b\n"
" = DPL 0, pres 1, def32 1, gran 1\n"
"processor eflags = interrupt enabled, resume, IOPL = 0\n"
"current process = 80 (mount)\n"
"interrupt mask =\n"
"trap number = 12\n"
"panic: page fault\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3040
+#: documentation/content/en/books/faq/_index.adoc:3039
msgid ""
"This message is not enough. While the instruction pointer value is "
"important, it is also configuration dependent as it varies depending on the "
"kernel image. If it is a [.filename]#GENERIC# kernel image from one of the "
"snapshots, it is possible for somebody else to track down the offending "
"function, but for a custom kernel, only you can tell us where the fault "
"occurred."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3042
+#: documentation/content/en/books/faq/_index.adoc:3041
msgid "To proceed:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3047
+#: documentation/content/en/books/faq/_index.adoc:3046
msgid ""
"Write down the instruction pointer value. Note that the `0x8:` part at the "
"beginning is not significant in this case: it is the `0xf0xxxxxx` part that "
"we want."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3048
+#: documentation/content/en/books/faq/_index.adoc:3047
msgid "When the system reboots, do the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3052
+#: documentation/content/en/books/faq/_index.adoc:3051
#, no-wrap
msgid "% nm -n kernel.that.caused.the.panic | grep f0xxxxxx\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3057
+#: documentation/content/en/books/faq/_index.adoc:3056
msgid ""
"where `f0xxxxxx` is the instruction pointer value. The odds are you will "
"not get an exact match since the symbols in the kernel symbol table are for "
"the entry points of functions and the instruction pointer address will be "
"somewhere inside a function, not at the start. If you do not get an exact "
"match, omit the last digit from the instruction pointer value and try again:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3061
+#: documentation/content/en/books/faq/_index.adoc:3060
#, no-wrap
msgid "% nm -n kernel.that.caused.the.panic | grep f0xxxxx\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3067
+#: documentation/content/en/books/faq/_index.adoc:3066
msgid ""
"If that does not yield any results, chop off another digit. Repeat until "
"there is some sort of output. The result will be a possible list of "
"functions which caused the panic. This is a less than exact mechanism for "
"tracking down the point of failure, but it is better than nothing."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3071
+#: documentation/content/en/books/faq/_index.adoc:3070
msgid ""
"However, the best way to track down the cause of a panic is by capturing a "
"crash dump, then using man:kgdb[1] to generate a stack trace on the crash "
"dump."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3073
+#: documentation/content/en/books/faq/_index.adoc:3072
msgid "In any case, the method is this:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3077
+#: documentation/content/en/books/faq/_index.adoc:3076
msgid ""
"Make sure that the following line is included in the kernel configuration "
"file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3081
+#: documentation/content/en/books/faq/_index.adoc:3080
#, no-wrap
msgid "makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3084
+#: documentation/content/en/books/faq/_index.adoc:3083
msgid "Change to the [.filename]#/usr/src# directory:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3088
+#: documentation/content/en/books/faq/_index.adoc:3087
#, no-wrap
msgid "# cd /usr/src\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3091
+#: documentation/content/en/books/faq/_index.adoc:3090
msgid "Compile the kernel:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3095
+#: documentation/content/en/books/faq/_index.adoc:3094
#, no-wrap
msgid "# make buildkernel KERNCONF=MYKERNEL\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3098
+#: documentation/content/en/books/faq/_index.adoc:3097
msgid "Wait for man:make[1] to finish compiling."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3102
+#: documentation/content/en/books/faq/_index.adoc:3101
#, no-wrap
msgid "# make installkernel KERNCONF=MYKERNEL\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3105
+#: documentation/content/en/books/faq/_index.adoc:3104
msgid "Reboot."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3110
+#: documentation/content/en/books/faq/_index.adoc:3109
msgid ""
"If `KERNCONF` is not included, the [.filename]#GENERIC# kernel will instead "
"be built and installed."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3115
+#: documentation/content/en/books/faq/_index.adoc:3114
msgid ""
"The man:make[1] process will have built two kernels. [.filename]#/usr/obj/"
"usr/src/sys/MYKERNEL/kernel# and [.filename]#/usr/obj/usr/src/sys/MYKERNEL/"
"kernel.debug#. [.filename]#kernel# was installed as [.filename]#/boot/"
"kernel/kernel#, while [.filename]#kernel.debug# can be used as the source of "
"debugging symbols for man:kgdb[1]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3120
+#: documentation/content/en/books/faq/_index.adoc:3119
msgid ""
"To capture a crash dump, edit [.filename]#/etc/rc.conf# and set `dumpdev` to "
"point to either the swap partition or `AUTO`. This will cause the man:rc[8] "
"scripts to use the man:dumpon[8] command to enable crash dumps. This "
"command can also be run manually. After a panic, the crash dump can be "
"recovered using man:savecore[8]; if `dumpdev` is set in [.filename]#/etc/rc."
"conf#, the man:rc[8] scripts will run man:savecore[8] automatically and put "
"the crash dump in [.filename]#/var/crash#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3128
+#: documentation/content/en/books/faq/_index.adoc:3127
msgid ""
"FreeBSD crash dumps are usually the same size as physical RAM. Therefore, "
"make sure there is enough space in [.filename]#/var/crash# to hold the "
"dump. Alternatively, run man:savecore[8] manually and have it recover the "
"crash dump to another directory with more room. It is possible to limit the "
"size of the crash dump by using `options MAXMEM=N` where _N_ is the size of "
"kernel's memory usage in KBs. For example, for 1 GB of RAM, limit the "
"kernel's memory usage to 128 MB, so that the crash dump size will be 128 MB "
"instead of 1 GB."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3131
+#: documentation/content/en/books/faq/_index.adoc:3130
msgid "Once the crash dump has been recovered , get a stack trace as follows:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3136
+#: documentation/content/en/books/faq/_index.adoc:3135
#, no-wrap
msgid ""
"% kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0\n"
"(kgdb) backtrace\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3143
+#: documentation/content/en/books/faq/_index.adoc:3142
msgid ""
"Note that there may be several screens worth of information. Ideally, use "
"man:script[1] to capture all of them. Using the unstripped kernel image "
"with all the debug symbols should show the exact line of kernel source code "
"where the panic occurred. The stack trace is usually read from the bottom "
"up to trace the exact sequence of events that lead to the crash. man:"
"kgdb[1] can also be used to print out the contents of various variables or "
"structures to examine the system state at the time of the crash."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3147
+#: documentation/content/en/books/faq/_index.adoc:3146
msgid ""
"If a second computer is available, man:kgdb[1] can be configured to do "
"remote debugging, including setting breakpoints and single-stepping through "
"the kernel code."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/faq/_index.adoc:3154
+#: documentation/content/en/books/faq/_index.adoc:3153
msgid ""
"If `DDB` is enabled and the kernel drops into the debugger, a panic and a "
"crash dump can be forced by typing `panic` at the `ddb` prompt. It may stop "
"in the debugger again during the panic phase. If it does, type `continue` "
"and it will finish the crash dump."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:3157
+#: documentation/content/en/books/faq/_index.adoc:3156
#, no-wrap
msgid "Why has dlsym() stopped working for ELF executables?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3161
+#: documentation/content/en/books/faq/_index.adoc:3160
msgid ""
"The ELF toolchain does not, by default, make the symbols defined in an "
"executable visible to the dynamic linker. Consequently `dlsym()` searches "
"on handles obtained from calls to `dlopen(NULL, flags)` will fail to find "
"such symbols."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3163
+#: documentation/content/en/books/faq/_index.adoc:3162
msgid ""
"To search, using `dlsym()`, for symbols present in the main executable of a "
"process, link the executable using the `--export-dynamic` option to the ELF "
"linker (man:ld[1])."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/faq/_index.adoc:3165
+#: documentation/content/en/books/faq/_index.adoc:3164
#, no-wrap
msgid "How can I increase or reduce the kernel address space on i386?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3169
+#: documentation/content/en/books/faq/_index.adoc:3168
msgid ""
"By default, the kernel address space is 1 GB (2 GB for PAE) for i386. When "
"running a network-intensive server or using ZFS, this will probably not be "
"enough."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3171
+#: documentation/content/en/books/faq/_index.adoc:3170
msgid ""
"Add the following line to the kernel configuration file to increase "
"available space and rebuild the kernel:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/faq/_index.adoc:3175
+#: documentation/content/en/books/faq/_index.adoc:3174
#, no-wrap
msgid "options KVA_PAGES=N\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3179
+#: documentation/content/en/books/faq/_index.adoc:3178
msgid ""
"To find the correct value of _N_, divide the desired address space size (in "
"megabytes) by four. (For example, it is `512` for 2 GB.)"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/faq/_index.adoc:3181
+#: documentation/content/en/books/faq/_index.adoc:3180
#, no-wrap
msgid "Acknowledgments"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3185
+#: documentation/content/en/books/faq/_index.adoc:3184
msgid ""
"This innocent little Frequently Asked Questions document has been written, "
"rewritten, edited, folded, spindled, mutilated, eviscerated, contemplated, "
"discombobulated, cogitated, regurgitated, rebuilt, castigated, and "
"reinvigorated over the last decade, by a cast of hundreds if not thousands. "
"Repeatedly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/faq/_index.adoc:3186
+#: documentation/content/en/books/faq/_index.adoc:3185
msgid ""
"We wish to thank every one of the people responsible, and we encourage you "
"to extref:{contributing}[join them] in making this FAQ even better."
msgstr ""
diff --git a/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.po b/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.po
index 5151b8ab47..9444617d72 100644
--- a/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.po
+++ b/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.po
@@ -1,442 +1,442 @@
# 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: 2022-02-01 09:20-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/fdp-primer/asciidoctor-primer/_index.adoc:1
#, no-wrap
-msgid "A brief introduction to AsciiDoctor"
+msgid "A brief introduction to Asciidoctor"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:1
#, no-wrap
-msgid "Chapter 6. AsciiDoctor Primer"
+msgid "Chapter 6. Asciidoctor Primer"
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:13
#, no-wrap
-msgid "AsciiDoctor Primer"
+msgid "Asciidoctor Primer"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:54
msgid ""
"Most FDP documentation is written with AsciiDoc. This chapter explains what "
"that means, how to read and understand the documentation source, and the "
-"techniques used. To get a complete reference of the AsciiDoctor "
+"techniques used. To get a complete reference of the Asciidoctor "
"capabilities please consult the link:https://docs.asciidoctor.org/home/"
"[Asciidoctor documentation]. Some of the examples used in this chapter have "
"been taken from the link:https://docs.asciidoctor.org/asciidoc/latest/syntax-"
"quick-reference[AsciiDoc Syntax Quick Reference]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:56
#, no-wrap
msgid "Overview"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:62
msgid ""
"In the original days of computers, electronic text was simple. There were a "
"few character sets like ASCII or EBCDIC, but that was about it. Text was "
"text, and what you saw really was what you got. No frills, no formatting, "
"no intelligence."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:67
msgid ""
"Inevitably, this was not enough. When text is in a machine-usable format, "
"machines are expected to be able to use and manipulate it intelligently. "
"Authors want to indicate that certain phrases should be emphasized, or added "
"to a glossary, or made into hyperlinks. Filenames could be shown in a "
"“typewriter” style font for viewing on screen, but as “italics” when "
"printed, or any of a myriad of other options for presentation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:71
msgid ""
"It was once hoped that Artificial Intelligence (AI) would make this easy. "
"The computer would read the document and automatically identify key phrases, "
"filenames, text that the reader should type in, examples, and more. "
"Unfortunately, real life has not happened quite like that, and computers "
"still require assistance before they can meaningfully process text."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:74
msgid ""
"More precisely, they need help identifying what is what. Consider this text:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:76
msgid "To remove [.filename]#/tmp/foo#, use man:rm[1]."
msgstr ""
#. type: delimited block - 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:80
#, no-wrap
msgid "% rm /tmp/foo\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:85
msgid ""
"It is easy for the reader to see which parts are filenames, which are "
"commands to be typed in, which parts are references to manual pages, and so "
"on. But the computer processing the document cannot reliably determine "
"this. For this we need markup."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:87
msgid ""
"The previous example is actually represented in this document like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:90
#, no-wrap
msgid "To remove */tmp/foo*, use man:rm[1].\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:95
#, no-wrap
msgid ""
"[source,shell]\n"
"----\n"
"% rm /tmp/foo\n"
"----\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:98
#, no-wrap
msgid "Headings"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:103
msgid ""
-"AsciiDoctor supports six headings levels. If the document type is `article` "
+"Asciidoctor supports six headings levels. If the document type is `article` "
"only one level 0 (`=`) can be used. If the document type is `book` then "
"there can be multiple level 0 (`=`) headings."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:105
msgid "This is an example of headings in an `article`."
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:107
#, no-wrap
msgid "Document Title (Level 0)"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:109
#, no-wrap
msgid "Level 1 Section Title"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:111
#, no-wrap
msgid "Level 2 Section Title"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:113
#, no-wrap
msgid "Level 3 Section Title"
msgstr ""
#. type: Title =====
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:115
#, no-wrap
msgid "Level 4 Section Title"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:118
msgid "====== Level 5 Section Title"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:119
#, no-wrap
msgid "Another Level 1 Section Title"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:125
msgid "Section levels cannot be skipped when nesting sections."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:127
msgid "The following syntax is not correct."
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:129
#, no-wrap
msgid "Document Title"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:131
#, no-wrap
msgid "Level 2"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:133
#, no-wrap
msgid "Level 4"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:138
#, no-wrap
msgid "Paragraphs"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:143
msgid ""
"Paragraphs don't require special markup in AsciiDoc. A paragraph is defined "
"by one or more consecutive lines of text. To create a new paragraph leave "
"one blank line."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:145
msgid "For example, this is a heading with two paragraphs."
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:147
#, no-wrap
msgid "This is the heading"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:151
msgid "This is the first paragraph. This is also the first paragraph."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:153
msgid "And this is the second paragraph."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:156
#, no-wrap
msgid "Lists"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:160
msgid ""
-"AsciiDoctor supports a few types of lists, the most common are `ordered` and "
+"Asciidoctor supports a few types of lists, the most common are `ordered` and "
"`unordered`. To get more information about lists, see link:https://docs."
"asciidoctor.org/asciidoc/latest/syntax-quick-reference/#lists[AsciiDoc "
"Syntax Quick Reference]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:162
#, no-wrap
msgid "Ordered lists"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:165
msgid "To create an ordered list use the `.` character."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:167
msgid "For example, this is an ordered list."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:173
#, no-wrap
msgid ""
". First item\n"
". Second item\n"
".. Subsecond item\n"
". Third item\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:176
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:197
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:240
msgid "And this would be rendered as."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:178
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:199
msgid "First item"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:179
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:200
msgid "Second item"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:180
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:201
msgid "Subsecond item"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:181
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:202
msgid "Third item"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:183
#, no-wrap
msgid "Unordered lists"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:186
msgid "To create an unordered list use the `*` character."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:188
msgid "For example, this is an unordered list."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:194
#, no-wrap
msgid ""
"* First item\n"
"* Second item\n"
"** Subsecond item\n"
"* Third item\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:204
#, no-wrap
msgid "Links"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:207
#, no-wrap
msgid "External links"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:210
msgid "To point to another website the `link` macro should be used."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:213
#, no-wrap
msgid "link:https://www.FreeBSD.org[FreeBSD]\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:219
msgid ""
-"As the AsciiDoctor documentation describes, the `link` macro is not required "
+"As the Asciidoctor documentation describes, the `link` macro is not required "
"when the target starts with a URL scheme like `https`. However, it is a "
-"good practice to do this anyway to ensure that AsciiDoctor renders the link "
+"good practice to do this anyway to ensure that Asciidoctor renders the link "
"correctly, especially in non-latin languages like Japanese."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:222
#, no-wrap
msgid "Internal link"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:226
msgid ""
-"To point to another book or article the AsciiDoctor variables should be "
+"To point to another book or article the Asciidoctor variables should be "
"used. For example, if we are in the `cups` article and we want to point to "
"`ipsec-must` these steps should be used."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:228
msgid ""
"Include the [.filename]#urls.adoc# file from [.filename]#~/doc/shared# "
"folder."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:231
#, no-wrap
msgid "\\include::shared/{lang}/urls.adoc[]\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:234
msgid ""
-"Then create a link using the AsciiDoctor variable to the `ipsec-must` "
+"Then create a link using the Asciidoctor variable to the `ipsec-must` "
"article."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:237
#, no-wrap
msgid "extref:{ipsec-must}[IPSec-Must article]\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:242
msgid "extref:{ipsec-must}[IPSec-Must article]"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:244
#, no-wrap
msgid "Conclusion"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:247
msgid ""
-"This is the conclusion of this AsciiDoctor primer. For reasons of space and "
+"This is the conclusion of this Asciidoctor primer. For reasons of space and "
"complexity, several things have not been covered in depth (or at all)."
msgstr ""
diff --git a/documentation/content/en/books/fdp-primer/doc-build/_index.po b/documentation/content/en/books/fdp-primer/doc-build/_index.po
index 406f5cdc09..40be7f74c0 100644
--- a/documentation/content/en/books/fdp-primer/doc-build/_index.po
+++ b/documentation/content/en/books/fdp-primer/doc-build/_index.po
@@ -1,1205 +1,1205 @@
# 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: 2023-01-24 17:44-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/fdp-primer/doc-build/_index.adoc:1
#, no-wrap
msgid "Describes the FreeBSD Documentation Build Process"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:1
#, no-wrap
msgid "Chapter 5. The FreeBSD Documentation Build Process"
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:13
#, no-wrap
msgid "The FreeBSD Documentation Build Process"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:51
msgid ""
"This chapter covers organization of the documentation build process and how "
"man:make[1] is used to control it."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:53
#, no-wrap
msgid "Rendering AsciiDoc into Output"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:56
msgid ""
"Different types of output can be produced from a single AsciiDoc source file."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:60
#, no-wrap
msgid "Formats"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:61
#, no-wrap
msgid "File Type"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:63
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:64
#, no-wrap
msgid "`html`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:65
#, no-wrap
msgid "HTML"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:67
#, no-wrap
msgid "An `article` or `book` chapter."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:68
#, no-wrap
msgid "`pdf`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:69
#, no-wrap
msgid "PDF"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:71
#, no-wrap
msgid "Portable Document Format."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:72
#, no-wrap
msgid "`epub`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:73
#, no-wrap
msgid "EPUB"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:75
#, no-wrap
msgid ""
"Electronic Publication.\n"
"ePub file format."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:78
#, no-wrap
msgid "Rendering to html"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:81
msgid ""
"To render the documentation and the website to `html` use one of the "
"following examples."
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:83
#, no-wrap
msgid "Build the documentation"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:90
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:94
#, no-wrap
msgid "Build the website"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:101
#, no-wrap
msgid ""
"% cd ~/doc/website\n"
"% make\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:105
#, no-wrap
msgid "Build the entire documentation project"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:112
#, no-wrap
msgid ""
"% cd ~/doc\n"
"% make -j2\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:116
msgid "Advanced build examples are given below:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:118
#, no-wrap
msgid "Build English and Spanish documentation with verbose and debug messages"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:125
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make DOC_LANG=\"en es\" HUGO_ARGS=\"--verbose --debug\"\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:129
#, no-wrap
msgid "Build and serve the content with Hugo’s internal webserver"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:136
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make run\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:138
msgid "This webserver runs on `localhost`, port `1313` by default."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:140
msgid ""
"To serve the content with Hugo’s internal webserver binding a specific IP "
-"address:"
+"address and port:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:144
#, no-wrap
-msgid "% make run BIND=192.168.15.10\n"
+msgid "% make run BIND=192.168.15.10 HUGO_ARGS=\"-p 8080\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:147
msgid "A `hostname` can also be set as base url to Hugo’s internal webserver:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:151
#, no-wrap
msgid "% make run BIND=192.168.15.10 HOSTNAME=example.com\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:155
#, no-wrap
msgid "Build documentation in html for offline usage"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:162
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make html\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:165
msgid "To compress the html output, add `DOC_HTML_ARCHIVE=1`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:170
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% DOC_HTML_ARCHIVE=1 make html\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:174
#, no-wrap
msgid "Rendering to pdf"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:177
msgid ""
"To render the documentation to `pdf`, use one of the following examples."
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:179
#, no-wrap
msgid "Build all documents in pdf"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:186
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make pdf\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:190
#, no-wrap
msgid "Build all articles in pdf"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:197
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make pdf-articles\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:201
#, no-wrap
msgid "Build all books in pdf"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:208
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make pdf-books\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:212
#, no-wrap
msgid "Build documents in pdf for specific languages"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:219
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make DOC_LANG=\"en\" pdf\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:221
msgid "This will build all English documents in pdf."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:226
#, no-wrap
msgid ""
"% cd ~/doc/documentation\n"
"% make DOC_LANG=\"en fr\" pdf-books\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:228
msgid "This will build all English and French books in pdf."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:231
#, no-wrap
msgid "The FreeBSD Documentation Build Toolset"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:234
msgid "These are the tools used to build and install the FDP documentation."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:236
msgid "The primary build tool is man:make[1], specifically Berkeley Make."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:237
msgid "Hugo"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:238
msgid "AsciiDoctor"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:239
msgid "Git"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:241
#, no-wrap
msgid "Understanding the Makefile in the Documentation Tree"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:244
msgid ""
"There are three [.filename]#Makefile# files for building some or all of the "
"documentation project."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:246
msgid ""
"The [.filename]#Makefile# in the [.filename]#documentation# directory will "
"build only the documentation."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:247
msgid ""
"The [.filename]#Makefile# in the [.filename]#website# directory will build "
"only the website."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:248
msgid ""
"The [.filename]#Makefile# at the top of the tree will build both the "
"documentation and the website."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:251
msgid ""
"The [.filename]#Makefile# appearing in subdirectories also support `make "
"run` to serve built content with Hugo's internal webserver. This webserver "
"runs on port 1313 by default."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:253
#, no-wrap
msgid "Documentation Makefile"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:256
msgid "This [.filename]#Makefile# takes the following form:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:281
#, no-wrap
msgid ""
"# Generate the FreeBSD documentation\n"
"#\n"
"# Copyright (c) 2020-2021, The FreeBSD Documentation Project\n"
"# Copyright (c) 2020-2021, Sergio Carlavilla <carlavilla@FreeBSD.org>\n"
"#\n"
"# Targets intended for use on the command line\n"
"#\n"
"# all (default)\t-\tgenerate the books TOC and compile all the documentation\n"
"# clean\t\t- \tremoves generated files\n"
"# run\t\t-\tserves the built documentation site for local browsing\n"
"# pdf\t\t-\tbuild PDF versions of the articles and books.\n"
"# html\t\t-\tbuild HTML versions of the articles and books for\n"
"#\t\t\toffline use.\n"
"#\t\t\tIf variable DOC_HTML_ARCHIVE is set, all documents will be\n"
"#\t\t\tarchived/compressed, and only these files will be kept in the public\n"
"#\t\t\tdirectory.\n"
"# epub\t\t-\tbuild EPUB versions of the articles and books (Experimental).\n"
"#\n"
"# The run target uses hugo's built-in webserver to make the documentation site\n"
"# available for local browsing. The documentation should have been built prior\n"
"# to attempting to use the `run` target. By default, hugo will start its\n"
"# webserver on port 1313.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:283
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:565
#, no-wrap
msgid "MAINTAINER=carlavilla@FreeBSD.org <.>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:288
#, no-wrap
msgid ""
"# List of languages without book translations\n"
"ARTICLEONLY_LANGS=\tbn-bd da ko tr\n"
"# List of languages without article translations\n"
"BOOKONLY_LANGS=\t\tmn\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:291
#, no-wrap
msgid ""
"# List of all languages we have content for\n"
"ALL_LANGUAGES=\tbn-bd da de el en es fr hu it ja ko mn nl pl pt-br ru tr zh-cn zh-tw <.>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:293
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:570
#, no-wrap
msgid "LOCALBASE?=\t/usr/local\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:300
#, no-wrap
msgid ""
"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n"
"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n"
"HUGO_ARGS?=\t--verbose --minify\n"
"HUGO_OFFLINE_ARGS?= \t--environment offline --verbose --minify\n"
"ASCIIDOCTOR_CMD=\t${LOCALBASE}/bin/asciidoctor\n"
"ASCIIDOCTORPDF_CMD=\t${LOCALBASE}/bin/asciidoctor-pdf\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:310
#, no-wrap
msgid ""
".if defined(DOC_LANG) && !empty(DOC_LANG)\n"
"LANGUAGES=\t${DOC_LANG:S/,/ /g}\n"
".if ${LANGUAGES:Men} == \"\" && ${.TARGETS:Mpdf*} == \"\" && ${.TARGETS:Mhtml*} == \"\"\n"
".warning \"Warning: cannot skip 'en'; adding it back\"\n"
"LANGUAGES+=\ten\n"
".endif\n"
".else\n"
"LANGUAGES=\t${ALL_LANGUAGES}\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:313
#, no-wrap
msgid ""
"RUBYLIB =\t../shared/lib\n"
".export\tRUBYLIB\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:317
#, no-wrap
msgid ""
"RUN_DEPENDS=\t${HUGO_CMD} \\\n"
"\t\t${LOCALBASE}/bin/asciidoctor \\\n"
"\t\t${LOCALBASE}/bin/rougify\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:327
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:586
#, no-wrap
msgid ""
".ifndef HOSTNAME\n"
". ifdef BIND\n"
".HOST=$(BIND)\n"
". else\n"
".HOST=localhost\n"
". endif\n"
".else\n"
".HOST=$(HOSTNAME)\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:334
#, no-wrap
msgid ""
"# Strip the languages with only articles from the list of languages we\n"
"# will use to build books.\n"
"BOOK_LANGS= ${LANGUAGES}\n"
".for a in ${ARTICLEONLY_LANGS}\n"
"BOOK_LANGS:=\t${BOOK_LANGS:N${a}}\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:341
#, no-wrap
msgid ""
"# Strip the languages with only books from the list of languages we\n"
"# will use to build articles.\n"
"ARTICLE_LANGS= ${LANGUAGES}\n"
".for a in ${BOOKONLY_LANGS}\n"
"ARTICLE_LANGS:=\t${ARTICLE_LANGS:N${a}}\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:350
#, no-wrap
msgid ""
"# Take the list of all languages, and take out the ones we have been\n"
"# asked for. We'll feed this to hugo.\n"
"SKIP_LANGS=\n"
".for a in ${ALL_LANGUAGES}\n"
".if ${LANGUAGES:M${a}} == \"\"\n"
"SKIP_LANGS+= ${a}\n"
".endif\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:352
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:607
#, no-wrap
msgid ".ORDER: all run <.>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:357
#, no-wrap
msgid ""
".ORDER: requirements <.>\n"
".ORDER: starting-message\n"
".ORDER: starting-message build\n"
".ORDER: build\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:360
#, no-wrap
msgid ""
"all: requirements starting-message generate-pgpkeys-txt build\n"
"run: requirements starting-message generate-pgpkeys-txt run-local\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:363
#, no-wrap
msgid ""
"# clean does not call pdf-clean as that is a subset of hugo-clean\n"
"clean: hugo-clean pgp-clean\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:370
#, no-wrap
msgid ""
"requirements:\n"
".for dep in ${RUN_DEPENDS}\n"
".if !exists(${dep})\n"
"\t@(echo ${dep} not found, please run 'pkg install docproj'; exit 1)\n"
".endif\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:375
#, no-wrap
msgid ""
"requirements-pdf:\n"
".if !exists(${LOCALBASE}/bin/asciidoctor-pdf)\n"
"\t@(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1)\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:380
#, no-wrap
msgid ""
"requirements-epub:\n"
".if !exists(${LOCALBASE}/bin/asciidoctor-epub3)\n"
"\t@(echo ${LOCALBASE}/bin/asciidoctor-epub3 not found, please run 'pkg install rubygem-asciidoctor-epub3'; exit 1)\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:387
#, no-wrap
msgid ""
"starting-message: .PHONY <.>\n"
"\t@echo ---------------------------------------------------------------\n"
"\t@echo Building the documentation\n"
"\t@echo included languages: ${LANGUAGES}\n"
"\t@echo excluded languages: ${SKIP_LANGS}\n"
"\t@echo ---------------------------------------------------------------\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:389
#, no-wrap
msgid "generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:392
#, no-wrap
msgid ""
"static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key\n"
"\t${RUBY_CMD} ./tools/global-pgpkeys-creator.rb\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:396
#, no-wrap
msgid ""
"run-local: .PHONY <.>\n"
"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n"
"\t\t${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:399
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:641
#, no-wrap
msgid ""
"build: .PHONY <.>\n"
"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_ARGS}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:402
#, no-wrap
msgid ""
"build-offline: .PHONY\n"
"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} ${HUGO_OFFLINE_ARGS}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:405
#, no-wrap
msgid ""
"pgp-clean: .PHONY\n"
"\trm -f static/pgpkeys/pgpkeys.txt\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:408
#, no-wrap
msgid ""
"hugo-clean: .PHONY\n"
"\trm -rf resources public\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:414
#, no-wrap
msgid ""
"#\n"
"# PDF targets\n"
"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" pdf-books\n"
"#\n"
"pdf: pdf-articles pdf-books\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:419
#, no-wrap
msgid ""
"pdf-books: requirements-pdf\n"
".for _lang in ${BOOK_LANGS}\n"
"\t./tools/asciidoctor.sh books ${_lang} pdf\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:424
#, no-wrap
msgid ""
"pdf-articles: requirements-pdf\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\t./tools/asciidoctor.sh articles ${_lang} pdf\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:426
#, no-wrap
msgid "pdf-clean: pdf-articles-clean pdf-books-clean\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:433
#, no-wrap
msgid ""
"pdf-books-clean:\n"
".for _lang in ${BOOK_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/books\n"
"\t-rmdir ${.CURDIR}/public/${_lang}\n"
".endfor\n"
"\t-rmdir ${.CURDIR}/public/\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:442
#, no-wrap
msgid ""
"pdf-articles-clean:\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/articles\n"
".if !exists(${.CURDIR}/public/${_lang}/books)\n"
"\trm -fr ${.CURDIR}/public/${_lang}\n"
".endif\n"
".endfor\n"
"\t-rmdir ${.CURDIR}/public\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:447
#, no-wrap
msgid ""
"#\n"
"# HTML targets\n"
"#\n"
"html: build-offline html-clean-global html-clean-articles html-clean-books html-archive html-archive-clean-files\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:449
#, no-wrap
msgid "html-clean: hugo-clean\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:453
#, no-wrap
msgid ""
"html-clean-global:\n"
"\trm -fr ${.CURDIR}/public/index.html\n"
"\trm -rf pgpkeys js\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:459
#, no-wrap
msgid ""
"html-clean-articles:\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/index.html\n"
"\trm -fr ${.CURDIR}/public/${_lang}/articles/index.html\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:464
#, no-wrap
msgid ""
"html-clean-books:\n"
".for _lang in ${BOOK_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/books/index.html\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:474
#, no-wrap
msgid ""
"html-archive:\n"
".if defined(DOC_HTML_ARCHIVE)\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\t./tools/asciidoctor.sh articles ${_lang} archive\n"
".endfor\n"
".for _lang in ${BOOK_LANGS}\n"
"\t./tools/asciidoctor.sh books ${_lang} archive\n"
".endfor\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:480
#, no-wrap
msgid ""
"html-archive-clean-files:\n"
".if defined(DOC_HTML_ARCHIVE)\n"
"\tfind ${.CURDIR}/public/ ! -name '*.pdf' ! -name '*.tar.gz' -type f -delete\n"
"\tfind ${.CURDIR}/public/ -type d -empty -delete\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:486
#, no-wrap
msgid ""
"#\n"
"# EPUB targets\n"
"# Use DOC_LANG to choose the language, e.g., make DOC_LANG=\"en fr\" epub-books\n"
"#\n"
"epub: epub-articles epub-books\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:499
#, no-wrap
msgid ""
"epub-books: requirements-epub\n"
"\t@echo ---------------------------------------------------------------\n"
"\t@echo !!! EPUB output is experimental !!!\n"
"\t@echo\n"
"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n"
"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n"
"\t@echo gaps where conversion is incomplete or unstyled.\n"
"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n"
"\t@echo ---------------------------------------------------------------\n"
".for _lang in ${BOOK_LANGS}\n"
"\t./tools/asciidoctor.sh books ${_lang} epub\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:512
#, no-wrap
msgid ""
"epub-articles: requirements-epub\n"
"\t@echo ---------------------------------------------------------------\n"
"\t@echo !!! EPUB output is experimental !!!\n"
"\t@echo\n"
"\t@echo Asciidoctor EPUB3 is currently alpha software. Use accordingly. Although the\n"
"\t@echo bulk of AsciiDoc content is converted, there’s still work needed to fill in\n"
"\t@echo gaps where conversion is incomplete or unstyled.\n"
"\t@echo https://docs.asciidoctor.org/epub3-converter/latest/#project-status\n"
"\t@echo ---------------------------------------------------------------\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\t./tools/asciidoctor.sh articles ${_lang} epub\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:514
#, no-wrap
msgid "epub-clean: epub-articles-clean epub-books-clean\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:521
#, no-wrap
msgid ""
"epub-books-clean:\n"
".for _lang in ${BOOK_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/books\n"
"\t-rmdir ${.CURDIR}/public/${_lang}\n"
".endfor\n"
"\t-rmdir ${.CURDIR}/public/\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:530
#, no-wrap
msgid ""
"epub-articles-clean:\n"
".for _lang in ${ARTICLE_LANGS}\n"
"\trm -fr ${.CURDIR}/public/${_lang}/articles\n"
".if !exists(${.CURDIR}/public/${_lang}/books)\n"
"\trm -fr ${.CURDIR}/public/${_lang}\n"
".endif\n"
".endfor\n"
"\t-rmdir ${.CURDIR}/public\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:533
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:655
msgid "The `MAINTAINER` flag specifies who is the maintainer of this Makefile."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:534
msgid ""
"`ALL_LANGUAGES` flag specifies in which languages the table of contents has "
"to be generated."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:535
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:656
msgid "`RUBY_CMD` flag specifies the location of the Ruby binary."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:536
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:657
msgid "`HUGO_CMD` flag specifies the location of the Hugo binary."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:537
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:658
msgid ""
"`.ORDER` directives are used to ensure multiple make jobs may run without "
"problem."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:538
msgid ""
"`all` target builds the documentation and puts the result in *~/doc/"
"documentation/public*."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:539
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:660
msgid ""
"`starting-message` shows a message in the CLI to show the user that the "
"process is running."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:540
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:663
msgid ""
"`run-local` runs hugo webserver on port 1313, or a random free port if that "
"is already in use."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:541
msgid ""
"`build` builds the documentation and puts the result in the *~/doc/"
"documentation/public*."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:543
#, no-wrap
msgid "Website Makefile"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:546
msgid "This [.filename]#Makefile# takes the form of:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:563
#, no-wrap
msgid ""
"# Generate the FreeBSD website\n"
"#\n"
"# Copyright (c) 2020-2021, The FreeBSD Documentation Project\n"
"# Copyright (c) 2020-2021, Sergio Carlavilla <carlavilla@FreeBSD.org>\n"
"#\n"
"# Targets intended for use on the command line\n"
"#\n"
"# all (default)\t-\tgenerate the releases.toml and compile all the website\n"
"# run\t-\t\t\tserves the built website for local browsing\n"
"#\n"
"# The run target uses hugo's built-in webserver to make the built website\n"
"# available for local browsing. The website should have been built prior\n"
"# to attempting to use the `run` target. By default, hugo will start its\n"
"# webserver on port 1313.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:568
#, no-wrap
msgid ""
"# List of all languages we have content for\n"
"ALL_LANGUAGES=\tde el en es fr hu it ja nl ru tr zh-cn zh-tw\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:576
#, no-wrap
msgid ""
"RUBY_CMD =\t${LOCALBASE}/bin/ruby <.>\n"
"HUGO_CMD =\t${LOCALBASE}/bin/hugo <.>\n"
"HUGO_ARGS?=\t--verbose\n"
"RUBYLIB =\t../shared/lib\n"
".export\tRUBYLIB\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:596
#, no-wrap
msgid ""
".if defined(DOC_LANG) && !empty(DOC_LANG)\n"
"LANGUAGES= ${DOC_LANG:S/,/ /g}\n"
".if ${LANGUAGES:Men} == \"\"\n"
".warning \"Warning: cannot skip 'en'; adding it back\"\n"
"LANGUAGES+=\ten\n"
".endif\n"
".else\n"
"LANGUAGES=\t${ALL_LANGUAGES}\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:605
#, no-wrap
msgid ""
"# Take the list of all languages, and take out the ones we have been\n"
"# asked for via DOC_LANG. We'll feed this to hugo.\n"
"SKIP_LANGS=\n"
".for a in ${ALL_LANGUAGES}\n"
".if ${LANGUAGES:M${a}} == \"\"\n"
"SKIP_LANGS+=\t${a}\n"
".endif\n"
".endfor\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:613
#, no-wrap
msgid ""
".ORDER: starting-message generate-releases\n"
".ORDER: starting-message build\n"
".ORDER: generate-releases build\n"
".ORDER: build post-build\n"
".ORDER: post-build end-message\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:617
#, no-wrap
msgid ""
"all: starting-message generate-releases build post-build end-message <.>\n"
"run: starting-message generate-releases run-local\n"
"clean: hugo-clean releases-clean\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:624
#, no-wrap
msgid ""
"starting-message: .PHONY <.>\n"
"\t@echo \"---------------------------------------------------------------\"\n"
"\t@echo \"Building the website started on $$(date)\"\n"
"\t@echo \" included languages: ${LANGUAGES}\"\n"
"\t@echo \" excluded languages: ${SKIP_LANGS}\"\n"
"\t@echo \"---------------------------------------------------------------\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:629
#, no-wrap
msgid ""
"end-message: .PHONY\n"
"\t@echo \"---------------------------------------------------------------\"\n"
"\t@echo \"Building the website completed on $$(date)\"\n"
"\t@echo \"---------------------------------------------------------------\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:631
#, no-wrap
msgid "generate-releases: data/releases.toml <.>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:634
#, no-wrap
msgid ""
"data/releases.toml:\n"
"\t${RUBY_CMD} ./tools/releases-toml.rb\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:638
#, no-wrap
msgid ""
"run-local: .PHONY <.>\n"
"\tHUGO_DISABLELANGUAGES=\"${SKIP_LANGS}\" ${HUGO_CMD} server \\\n"
"\t ${HUGO_ARGS} -D $(BIND:D--bind=$(BIND)) --baseURL=\"http://$(.HOST):1313\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:643
#, no-wrap
msgid "post-build: cgi-permissions\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:646
#, no-wrap
msgid ""
"cgi-permissions:\n"
"\t@chmod 555 ./public/cgi/*.cgi\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:649
#, no-wrap
msgid ""
"hugo-clean:\n"
"\trm -fr public resources\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:652
#, no-wrap
msgid ""
"releases-clean:\n"
"\trm -f data/releases.toml\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:659
msgid ""
"`all` target builds the website and puts the result in *~/doc/website/"
"public*."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:662
msgid ""
"`generate-releases` calls the script used to convert from AsciiDoc variables "
"to TOML variables. With this conversion, the releases variables can be used "
"in AsciiDoc and in the Hugo custom templates."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/doc-build/_index.adoc:663
msgid ""
"`build` builds the website and puts the result in the *~/doc/website/public*."
msgstr ""
diff --git a/documentation/content/en/books/fdp-primer/manual-pages/_index.po b/documentation/content/en/books/fdp-primer/manual-pages/_index.po
index f1ddcf8d3a..07b83863d7 100644
--- a/documentation/content/en/books/fdp-primer/manual-pages/_index.po
+++ b/documentation/content/en/books/fdp-primer/manual-pages/_index.po
@@ -1,1182 +1,1202 @@
# 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: 2023-06-19 21:07-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/fdp-primer/manual-pages/_index.adoc:1
#, no-wrap
msgid "How to work with the FreeBSD Manual Pages"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:1
#, no-wrap
msgid "Chapter 11. Manual Pages"
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:13
#, no-wrap
msgid "Manual Pages"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:51
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:55
msgid ""
"_Manual pages_, commonly shortened to _man pages_, were conceived as readily-"
"available reminders for command syntax, device driver details, or "
"configuration file formats. They have become an extremely valuable quick-"
"reference from the command line for users, system administrators, and "
"programmers."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:57
msgid ""
"Although intended as reference material rather than tutorials, the EXAMPLES "
"sections of manual pages often provide detailed use case."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:61
msgid ""
"Manual pages are generally shown interactively by the man:man[1] command. "
"When the user types `man ls`, a search is performed for a manual page "
"matching `ls`. The first matching result is displayed."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:63
#, no-wrap
msgid "Sections"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:67
msgid ""
"Manual pages are grouped into _sections_. Each section contains manual "
"pages for a specific category of documentation:"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:72
#, no-wrap
msgid "Section Number"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:75
#, no-wrap
msgid "Category"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:76
#, no-wrap
msgid "1"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:78
#, no-wrap
msgid "General Commands"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:79
#, no-wrap
msgid "2"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:81
#, no-wrap
msgid "System Calls"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:82
#, no-wrap
msgid "3"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:84
#, no-wrap
msgid "Library Functions"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:85
#, no-wrap
msgid "4"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:87
#, no-wrap
msgid "Kernel Interfaces"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:88
#, no-wrap
msgid "5"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:90
#, no-wrap
msgid "File Formats"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:91
#, no-wrap
msgid "6"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:93
#, no-wrap
msgid "Games"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:94
#, no-wrap
msgid "7"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:96
#, no-wrap
msgid "Miscellaneous"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:97
#, no-wrap
msgid "8"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:99
#, no-wrap
msgid "System Manager"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:100
#, no-wrap
msgid "9"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:101
#, no-wrap
msgid "Kernel Developer"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:104
#, no-wrap
msgid "Markup"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:112
msgid ""
"Various markup forms and rendering programs have been used for manual "
"pages. FreeBSD has used man:groff[7] and the newer man:mandoc[1]. Most "
"existing FreeBSD manual pages, and all new ones, use the man:mdoc[7] form of "
"markup. This is a simple line-based markup that is reasonably expressive. "
"It is mostly semantic: parts of text are marked up for what they are, rather "
"than for how they should appear when rendered. There is some appearance-"
"based markup which is usually best avoided."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:115
msgid ""
"Manual page source is usually interpreted and displayed to the screen "
"interactively. The source files can be ordinary text files or compressed "
"with man:gzip[1] to save space."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:118
msgid ""
"Manual pages can also be rendered to other formats, including PostScript for "
"printing or PDF generation. See man:man[1]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:120
#, no-wrap
msgid "Manual Page Sections"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:125
msgid ""
"Manual pages are composed of several standard sections. Each section has a "
"title in upper case, and the sections for a particular type of manual page "
"appear in a specific order. For a category 1 General Command manual page, "
"the sections are:"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:130
#, no-wrap
msgid "Section Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:133
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:134
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:136
#, no-wrap
msgid "Name of the command"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:137
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:139
#, no-wrap
msgid "Format of options and arguments"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:140
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:142
#, no-wrap
msgid "Description of purpose and usage"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:143
#, no-wrap
msgid "ENVIRONMENT"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:145
#, no-wrap
msgid "Environment settings that affect operation"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:146
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:148
#, no-wrap
msgid "Error codes returned on exit"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:149
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:151
#, no-wrap
msgid "Examples of usage"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:152
#, no-wrap
msgid "COMPATIBILITY"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:154
#, no-wrap
msgid "Compatibility with other implementations"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:155
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:157
#, no-wrap
msgid "Cross-reference to related manual pages"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:158
#, no-wrap
msgid "STANDARDS"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:160
#, no-wrap
msgid "Compatibility with standards like POSIX"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:161
#, no-wrap
msgid "HISTORY"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:163
#, no-wrap
msgid "History of implementation"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:164
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:166
#, no-wrap
msgid "Known bugs"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:167
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:168
#, no-wrap
msgid "People who created the command or wrote the manual page."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:172
msgid ""
"Some sections are optional, and the combination of sections for a specific "
"type of manual page vary. Examples of the most common types are shown later "
"in this chapter."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:174
#, no-wrap
msgid "Macros"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:179
msgid ""
"man:mdoc[7] markup is based on _macros_. Lines that begin with a dot "
"contain macro commands, each two or three letters long. For example, "
"consider this portion of the man:ls[1] manual page:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:208
#, no-wrap
msgid ""
".Dd December 1, 2015 <.>\n"
".Dt LS 1\n"
".Sh NAME <.>\n"
".Nm ls\n"
".Nd list directory contents\n"
".Sh SYNOPSIS <.>\n"
".Nm <.>\n"
".Op Fl -libxo <.>\n"
".Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1, <.>\n"
".Op Fl D Ar format <.>\n"
".Op Ar <.>\n"
".Sh DESCRIPTION <.>\n"
"For each operand that names a\n"
".Ar file\n"
"of a type other than\n"
"directory,\n"
".Nm\n"
"displays its name as well as any requested,\n"
"associated information.\n"
"For each operand that names a\n"
".Ar file\n"
"of type directory,\n"
".Nm\n"
"displays the names of files contained\n"
"within that directory, as well as any requested, associated\n"
"information.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:211
msgid "A _Document date_ and _Document title_ are defined."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:213
msgid ""
"A _Section header_ for the NAME section is defined. Then the _Name_ of the "
"command and a one-line _Name description_ are defined."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:215
msgid ""
"The SYNOPSIS section begins. This section describes the command-line "
"options and arguments accepted."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:216
msgid ""
"_Name_ (`.Nm`) has already been defined, and repeating it here just displays "
"the defined value in the text."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:218
msgid ""
"An _Optional_ _Flag_ called `-libxo` is shown. The `Fl` macro adds a dash "
"to the beginning of flags, so this appears in the manual page as `--libxo`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:219
msgid "A long list of optional single-character flags are shown."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:223
msgid ""
"An optional `-D` flag is defined. If the `-D` flag is given, it must be "
"followed by an _Argument_. The argument is a _format_, a string that tells "
"man:ls[1] what to display and how to display it. Details on the format "
"string are given later in the manual page."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:225
msgid ""
"A final optional argument is defined. Since no name is specified for the "
"argument, the default of `file ...` is used."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:226
msgid "The _Section header_ for the DESCRIPTION section is defined."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:228
msgid ""
"When rendered with the command `man ls`, the result displayed on the screen "
"looks like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:232
#, no-wrap
msgid "LS(1) FreeBSD General Commands Manual LS(1)\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:235
#, no-wrap
msgid ""
"NAME\n"
" ls - list directory contents\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:239
#, no-wrap
msgid ""
"SYNOPSIS\n"
" ls [--libxo] [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,] [-D format]\n"
" [file ...]\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:246
#, no-wrap
msgid ""
"DESCRIPTION\n"
" For each operand that names a file of a type other than directory, ls\n"
" displays its name as well as any requested, associated information. For\n"
" each operand that names a file of type directory, ls displays the names\n"
" of files contained within that directory, as well as any requested,\n"
" associated information.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:249
msgid "Optional values are shown inside square brackets."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:251
#, no-wrap
msgid "Markup Guidelines"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:255
msgid ""
"The man:mdoc[7] markup language is not very strict. For clarity and "
"consistency, the FreeBSD Documentation project adds some additional style "
"guidelines:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:256
#, no-wrap
msgid "Only the first letter of macros is upper case"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:258
msgid ""
"Always use upper case for the first letter of a macro and lower case for the "
"remaining letters."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:259
#, no-wrap
msgid "Begin new sentences on new lines"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:261
msgid ""
"Start a new sentence on a new line, do not begin it on the same line as an "
"existing sentence."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:262
#, no-wrap
msgid "Update `.Dd` when making non-trivial changes to a manual page"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:266
msgid ""
"The _Document date_ informs the reader about the last time the manual page "
"was updated. It is important to update whenever non-trivial changes are "
"made to the manual pages. Trivial changes like spelling or punctuation "
"fixes that do not affect usage can be made without updating `.Dd`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:267
#, no-wrap
msgid "Give examples"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:272
msgid ""
"Show the reader examples when possible. Even trivial examples are valuable, "
"because what is trivial to the writer is not necessarily trivial to the "
"reader. Three examples are a good goal. A trivial example shows the "
"minimal requirements, a serious example shows actual use, and an in-depth "
"example demonstrates unusual or non-obvious functionality."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:273
#, no-wrap
msgid "Include the BSD license"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:276
msgid ""
"Include the BSD license on new manual pages. The preferred license is "
"available from the extref:{committers-guide}[Committer's Guide]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:278
#, no-wrap
msgid "Markup Tricks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:281
msgid "Add a space before punctuation on a line with macros. Example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:289
#, no-wrap
msgid ""
".Sh SEE ALSO\n"
".Xr geom 4 ,\n"
".Xr boot0cfg 8 ,\n"
".Xr geom 8 ,\n"
".Xr gptboot 8\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:295
msgid ""
"Note how the commas at the end of the `.Xr` lines have been placed after a "
"space. The `.Xr` macro expects two parameters to follow it, the name of an "
"external manual page, and a section number. The space separates the "
"punctuation from the section number. Without the space, the external links "
"would incorrectly point to section `4,` or `8,`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:297
#, no-wrap
msgid "Important Macros"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:302
msgid ""
"Some very common macros will be shown here. For more usage examples, see "
"man:mdoc[7], man:groff_mdoc[7], or search for actual use in [.filename]#/usr/"
"share/man/man*# directories. For example, to search for examples of the `."
"Bd` _Begin display_ macro:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:306
#, no-wrap
msgid "% find /usr/share/man/man* | xargs zgrep '.Bd'\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:309
#, no-wrap
msgid "Organizational Macros"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:312
msgid "Some macros are used to define logical blocks of a manual page."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:317
#, no-wrap
msgid "Organizational Macro"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:320
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:356
#, no-wrap
msgid "Use"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:321
#, no-wrap
msgid "`.Sh`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:325
#, no-wrap
msgid ""
"Section header.\n"
"Followed by the name of the section, traditionally all upper case.\n"
"Think of these as chapter titles."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:326
#, no-wrap
msgid "`.Ss`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:330
#, no-wrap
msgid ""
"Subsection header.\n"
"Followed by the name of the subsection.\n"
"Used to divide a `.Sh` section into subsections."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:331
#, no-wrap
msgid "`.Bl`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:333
#, no-wrap
msgid "Begin list. Start a list of items."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:334
#, no-wrap
msgid "`.El`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:336
#, no-wrap
msgid "End a list."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:337
#, no-wrap
msgid "`.Bd`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:340
#, no-wrap
msgid ""
"Begin display.\n"
"Begin a special area of text, like an indented area."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:341
#, no-wrap
msgid "`.Ed`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:342
#, no-wrap
msgid "End display."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:345
#, no-wrap
msgid "Inline Macros"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:348
msgid "Many macros are used to mark up inline text."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:353
#, no-wrap
msgid "Inline Macro"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:357
#, no-wrap
msgid "`.Nm`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:360
#, no-wrap
msgid ""
"Name.\n"
"Called with a name as a parameter on the first use, then used later without the parameter to display the name that has already been defined."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:361
#, no-wrap
msgid "`.Pa`"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:363
#, no-wrap
msgid ""
"Path to a file.\n"
"Used to mark up filenames and directory paths."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:366
#, no-wrap
msgid "Sample Manual Page Structures"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:369
msgid ""
"This section shows minimal desired man page contents for several common "
"categories of manual pages."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:371
#, no-wrap
msgid "Section 1 or 8 Command"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:374
msgid "The preferred basic structure for a section 1 or 8 command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:395
#, no-wrap
msgid ""
".Dd August 25, 2017\n"
".Dt EXAMPLECMD 8\n"
".Os\n"
".Sh NAME\n"
".Nm examplecmd\n"
".Nd \"command to demonstrate section 1 and 8 man pages\"\n"
".Sh SYNOPSIS\n"
".Nm\n"
".Op Fl v\n"
".Sh DESCRIPTION\n"
"The\n"
".Nm\n"
"utility does nothing except demonstrate a trivial but complete\n"
"manual page for a section 1 or 8 command.\n"
".Sh SEE ALSO\n"
".Xr exampleconf 5\n"
".Sh AUTHORS\n"
".An Firstname Lastname Aq Mt flastname@example.com\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:398
#, no-wrap
msgid "Section 4 Device Driver"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:401
msgid "The preferred basic structure for a section 4 device driver:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:457
#, no-wrap
msgid ""
".Dd August 25, 2017\n"
".Dt EXAMPLEDRIVER 4\n"
".Os\n"
".Sh NAME\n"
".Nm exampledriver\n"
".Nd \"driver to demonstrate section 4 man pages\"\n"
".Sh SYNOPSIS\n"
"To compile this driver into the kernel, add this line to the\n"
"kernel configuration file:\n"
".Bd -ragged -offset indent\n"
".Cd \"device exampledriver\"\n"
".Ed\n"
".Pp\n"
"To load the driver as a module at boot, add this line to\n"
".Xr loader.conf 5 :\n"
".Bd -literal -offset indent\n"
"exampledriver_load=\"YES\"\n"
".Ed\n"
".Sh DESCRIPTION\n"
"The\n"
".Nm\n"
"driver provides an opportunity to show a skeleton or template\n"
"file for section 4 manual pages.\n"
".Sh HARDWARE\n"
"The\n"
".Nm\n"
"driver supports these cards from the aptly-named Nonexistent\n"
"Technologies:\n"
".Pp\n"
".Bl -bullet -compact\n"
".It\n"
"NT X149.2 (single and dual port)\n"
".It\n"
"NT X149.8 (single port)\n"
".El\n"
".Sh DIAGNOSTICS\n"
".Bl -diag\n"
".It \"flashing green light\"\n"
"Something bad happened.\n"
".It \"flashing red light\"\n"
"Something really bad happened.\n"
".It \"solid black light\"\n"
"Power cord is unplugged.\n"
".El\n"
".Sh SEE ALSO\n"
".Xr example 8\n"
".Sh HISTORY\n"
"The\n"
".Nm\n"
"device driver first appeared in\n"
".Fx 49.2 .\n"
".Sh AUTHORS\n"
".An Firstname Lastname Aq Mt flastname@example.com\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:460
#, no-wrap
msgid "Section 5 Configuration File"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:463
msgid "The preferred basic structure for a section 5 configuration file:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:479
#, no-wrap
msgid ""
".Dd August 25, 2017\n"
".Dt EXAMPLECONF 5\n"
".Os\n"
".Sh NAME\n"
".Nm example.conf\n"
".Nd \"config file to demonstrate section 5 man pages\"\n"
".Sh DESCRIPTION\n"
".Nm\n"
"is an example configuration file.\n"
".Sh SEE ALSO\n"
".Xr example 8\n"
".Sh AUTHORS\n"
".An Firstname Lastname Aq Mt flastname@example.com\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:482
#, no-wrap
msgid "Testing"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:489
msgid ""
"Testing a new manual page can be challenging. Fortunately there are some "
"tools that can assist in the task. Some of them, like man:man[1], do not "
"look in the current directory. It is a good idea to prefix the filename "
"with `./` if the new manual page is in the current directory. An absolute "
"path can also be used."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:491
msgid "Use man:mandoc[1]'s linter to check for parsing errors:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:495
#, no-wrap
msgid "% mandoc -T lint ./mynewmanpage.8\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:498
msgid "Use package:textproc/igor[] to proofread the manual page:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:502
#, no-wrap
msgid "% igor ./mynewmanpage.8\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:505
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:507
+msgid ""
+"Another useful tool is package:textproc/vale[]. It does not support the man:"
+"mdoc[7] syntax but the rendered manual page can be read from standard input:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:511
+#, no-wrap
+msgid "% man ls | vale\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:515
+msgid ""
+"package:textproc/vale[] is highly configurable. It is advised to read its "
+"documentation."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:517
msgid "Use man:man[1] to check the final result of your changes:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:509
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:521
#, no-wrap
msgid "% man ./mynewmanpage.8\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:512
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:524
msgid ""
"You can use man:col[1] to filter the output of man:man[1] and get rid of the "
"backspace characters before loading the result in your favorite editor for "
"spell checking:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:516
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:528
#, no-wrap
msgid "% man ./mynewmanpage.8 | col -b | vim -R -\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:521
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:533
msgid ""
"Spell-checking with fully-featured dictionaries is encouraged, and can be "
"accomplished by using package:textproc/hunspell[] or package:textproc/"
"aspell[] combined with package:textproc/en-hunspell[] or package:textproc/en-"
"aspell[], respectively. For instance:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:525
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:537
#, no-wrap
msgid "% aspell check --lang=en --mode=nroff ./mynewmanpage.8\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:528
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:540
#, no-wrap
msgid "Example Manual Pages to Use as Templates"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:531
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:543
msgid "Some manual pages are suitable as in-depth examples."
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:536
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:548
#, no-wrap
msgid "Manual Page"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:539
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:551
#, no-wrap
msgid "Path to Source Location"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:540
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:552
#, no-wrap
msgid "man:cp[1]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:542
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:554
#, no-wrap
msgid "[.filename]#/usr/src/bin/cp/cp.1#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:543
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:555
#, no-wrap
msgid "man:vt[4]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:545
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:557
#, no-wrap
msgid "[.filename]#/usr/src/share/man/man4/vt.4#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:546
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:558
#, no-wrap
msgid "man:crontab[5]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:548
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:560
#, no-wrap
msgid "[.filename]#/usr/src/usr.sbin/cron/crontab/crontab.5#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:549
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:561
#, no-wrap
msgid "man:gpart[8]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:550
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:562
#, no-wrap
msgid "[.filename]#/usr/src/sbin/geom/class/part/gpart.8#"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:553
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:565
#, no-wrap
msgid "Resources"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:556
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:568
msgid "Resources for manual page writers:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:558
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:570
msgid "man:man[1]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:559
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:571
msgid "man:mandoc[1]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:560
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:572
msgid "man:groff_mdoc[7]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:561
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:573
msgid "http://manpages.bsd.lv/mdoc.html[Practical UNIX Manuals: mdoc]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:561
+#: documentation/content/en/books/fdp-primer/manual-pages/_index.adoc:573
msgid "http://manpages.bsd.lv/history.html[History of UNIX Manpages]"
msgstr ""
diff --git a/documentation/content/en/books/fdp-primer/weblate/_index.po b/documentation/content/en/books/fdp-primer/weblate/_index.po
index d439ca1e95..1e56f4cfb4 100644
--- a/documentation/content/en/books/fdp-primer/weblate/_index.po
+++ b/documentation/content/en/books/fdp-primer/weblate/_index.po
@@ -1,1073 +1,1064 @@
# 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: 2023-06-19 21:07-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/fdp-primer/weblate/_index.adoc:1
#, no-wrap
msgid "How to join the FreeBSD translators team and translate online on Weblate"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:1
#, no-wrap
msgid "Chapter 10. Weblate Translations"
msgstr ""
#. type: Title =
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:13
#, no-wrap
msgid "Weblate Translations"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:51
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:55
msgid ""
"This chapter describes some basic steps for joining the FreeBSD translators "
"team, translating online on Weblate or offline, and some simple suggestions "
"on translating, proofreading, and testing. It's focused on the translation "
"part."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:57
msgid ""
-"The original documents (articles and books) are in the "
-"{main-site}[documentation portal]."
+"The original documents (articles and books) are in the {main-site}"
+"[documentation portal]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:59
msgid ""
"https://weblate.org/en/[Weblate] is web-based open-source software focused "
"on localization; the FreeBSD project runs a local instance."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:61
#, no-wrap
msgid "How to Become a FreeBSD Translator"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:64
msgid ""
"Following are simple steps to start translating articles and books of the "
"FreeBSD Documentation Project."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:66
msgid ""
"Create an account on the https://translate-dev.freebsd.org/[FreeBSD Weblate "
"instance] with an email address or your GitHub account."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:67
msgid "Subscribe to the {freebsd-translators}."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:71
msgid ""
"Introduce yourself and ask to join a language team. If the language team "
"does not exist, ask to create it. The self-introduction is essential. It "
"raises your chances of being approved for write access."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:72
-msgid "Login to https://translate-dev.freebsd.org/[Weblate] with the new account."
+msgid ""
+"Login to https://translate-dev.freebsd.org/[Weblate] with the new account."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:73
msgid "Find the language team and choose an initial document to translate."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:75
msgid ""
"Create a Bugzilla account to submit the translations after finishing a "
"document. The Documentation project is also accepting GitHub Pull Requests "
"with translation submissions."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:79
msgid ""
-"All translation files and documents must follow "
-"https://www.freebsd.org/copyright/freebsd-doc-license/[The FreeBSD "
-"Documentation License]; if this is unacceptable, please do not sign up or "
-"send any patches or translations."
+"All translation files and documents must follow https://www.freebsd.org/"
+"copyright/freebsd-doc-license/[The FreeBSD Documentation License]; if this "
+"is unacceptable, please do not sign up or send any patches or translations."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:82
#, no-wrap
msgid "Introduce Yourself"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:86
msgid ""
"Please provide a brief self-introduction on the {freebsd-translators} to "
"initiate the process of granting access. This will enable a language "
"coordinator or administrator to provide the necessary permissions for the "
"new user of Weblate to start translating."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:88
msgid "Following is an example of how such an email could look."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:92
#, no-wrap
msgid "Subject: Self-Introduction: Name and language\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:104
#, no-wrap
msgid ""
"Name: Name (use preferred name)\n"
"Location: City, country (optional)\n"
"Login: username or email (essential)\n"
"Language: Language to translate (essential)\n"
"Profession or student status: (optional)\n"
"About You: (free format -- info which you feel comfortable sharing with\n"
-" others: company, school, other affiliation, historical qualifications, "
-"other\n"
-" projects you have worked on, level and type of computer skills, other "
-"relevant skills,\n"
+" others: company, school, other affiliation, historical qualifications, other\n"
+" projects you have worked on, level and type of computer skills, other relevant skills,\n"
" etc.)\n"
"You and the FreeBSD Project: (free format: other FreeBSD projects of\n"
" interest, comments, etc.)\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:107
#, no-wrap
msgid "Login to Weblate"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:110
msgid "Open https://translate-dev.freebsd.org/[] and `Sign in`."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:111
#, no-wrap
msgid "Weblate Login"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:111
#, no-wrap
-msgid "weblate-login.webp"
+msgid "weblate-login.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:114
msgid "Use a username, email address, or GitHub account to log in."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:117
msgid ""
"The user profile contains your preferences, name, and email address. The "
"name and address will be used in commits; keep this information accurate."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:121
msgid ""
"On the FreeBSD Weblate instance, all translations will be committed to "
"https://github.com/freebsd/freebsd-doc-translate[freebsd-doc-translate] (an "
-"intermediate repository on GitHub), not directly to "
-"https://github.com/freebsd/freebsd-doc[freebsd-doc]. Translators must take "
-"the PO gettext files (`.po`), converting them to `.adoc` and submit it via "
-"https://bugs.freebsd.org/bugzilla/[Bugzilla] or "
-"https://github.com/freebsd/freebsd-doc/pulls[GitHub] to get the translated "
-"document published or updated in the documentation portal. See more in the "
-"following sections."
+"intermediate repository on GitHub), not directly to https://github.com/"
+"freebsd/freebsd-doc[freebsd-doc]. Translators must take the PO gettext "
+"files (`.po`), converting them to `.adoc` and submit it via https://bugs."
+"freebsd.org/bugzilla/[Bugzilla] or https://github.com/freebsd/freebsd-doc/"
+"pulls[GitHub] to get the translated document published or updated in the "
+"documentation portal. See more in the following sections."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:123
msgid ""
"Weblate will commit daily, at least to `freebsd-doc-translate`, if any new "
"strings are translated."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:125
#, no-wrap
msgid "Find a Language Team to Join In"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:128
msgid ""
"Click `Projects`, choose `Documentation`, then click `Languages`, and see "
"all the available languages."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:129
#, no-wrap
msgid "Weblate Languages"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:129
#, no-wrap
-msgid "weblate-languages.webp"
+msgid "weblate-languages.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:132
msgid ""
"Note that some languages and translated documents already exist in the "
"documentation portal and repositories."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:135
msgid ""
"If the desired language for translation is not available in Weblate, please "
"contact the https://www.freebsd.org/docproj/translations/[language "
"coordinators] before asking to create a new language. If there is no "
"answer, then write to the {doceng}."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:137
#, no-wrap
msgid "Translating Online on Weblate"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:140
msgid ""
"Translating documents online proves to be the easiest method for document "
"translation on FreeBSD, as it allows users to collaborate on the same file, "
"distributing the workload."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:142
msgid ""
"Once a coordinator or administrator grants access to a specific language for "
"a username, the save button will be enabled, so that this user can start "
"translating."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:143
#, no-wrap
msgid "Weblate Documents"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:143
#, no-wrap
-msgid "weblate-documents.webp"
+msgid "weblate-documents.png"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:144
#, no-wrap
msgid "Weblate Translate"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:144
#, no-wrap
-msgid "weblate-translate.webp"
+msgid "weblate-translate.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:150
msgid ""
"Weblate has a set of links that lead to actual translation. The translation "
"is further divided into individual checks, like `Untranslated` or `Needing "
"review`. If the whole document is translated without any error, `All "
"translations` link is still available in case a review is necessary. "
"Alternatively, the search field can be used to find a specific string or "
"term."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:152
msgid ""
-"In the "
-"https://docs.weblate.org/en/latest/user/translating.html#translation-projects[Weblate "
-"documentation], there is more info about translations, like keyboard "
-"shortcuts and other tips about the translation tool."
+"In the https://docs.weblate.org/en/latest/user/translating.html#translation-"
+"projects[Weblate documentation], there is more info about translations, like "
+"keyboard shortcuts and other tips about the translation tool."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:154
#, no-wrap
msgid "Translating Offline"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:158
msgid ""
"Weblate on FreeBSD uses PO gettext files for translations. Users familiar "
"with PO gettext files that want to translate offline can download and upload "
"the translations through the document page on Weblate by clicking in the "
"`Files` section."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:159
#, no-wrap
msgid "Weblate Offline"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:159
#, no-wrap
-msgid "weblate-offline.webp"
+msgid "weblate-offline.png"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:162
#, no-wrap
msgid "Translation based on Automatic Suggestions"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:165
msgid ""
"Languages using Weblate before the migration to Hugo/Asciidoctor can use "
"this feature from Weblate to save time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:168
msgid ""
"This feature from Weblate uses the Translation Memory generated by the other "
"components and projects on the same server. The former Weblate translations "
"are hosted on the same server as read-only for that."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:171
msgid ""
"Strings that match `100/100` in similarity can be copied and saved "
"directly. Other strings will need at least minor adjustment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:173
msgid "Some examples:"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:174
#, no-wrap
msgid "Weblate Automatic Suggestions 01"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:174
#, no-wrap
-msgid "weblate_automatic_suggestion_01.webp"
+msgid "weblate_automatic_suggestion_01.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:179
msgid ""
"With the migration to Hugo/Asciidoctor, documents use UTF-8. Some HTML "
"entities should be replaced. Some strings, such as links, require changes "
"to markup."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:180
#, no-wrap
msgid "Weblate Automatic Suggestions 02"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:180
#, no-wrap
-msgid "weblate_automatic_suggestion_02.webp"
+msgid "weblate_automatic_suggestion_02.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:183
msgid "Links:"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:184
#, no-wrap
msgid "Weblate Automatic Suggestions 03"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:184
#, no-wrap
-msgid "weblate_automatic_suggestion_03.webp"
+msgid "weblate_automatic_suggestion_03.png"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:187
#, no-wrap
msgid "Proofreading and Weblate Quality Checks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:191
msgid ""
"The document dashboard `Project/Language/Document` shows the translation "
"status and string status for that document. This page is handy for "
"proofreading and quality checks."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:192
#, no-wrap
msgid "Weblate Revision 01"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:192
#, no-wrap
-msgid "weblate-revision1.webp"
+msgid "weblate-revision1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:195
msgid ""
"In this example, two strings are missing the full stop; following that link "
"will show only those strings to be revised/translated."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:196
#, no-wrap
msgid "Weblate Revision 02"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:196
#, no-wrap
-msgid "weblate-revision2.webp"
+msgid "weblate-revision2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:199
msgid ""
"Translators and reviewers often value observing translated strings in "
"context."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:201
#, no-wrap
msgid "Building the Translated Document"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:205
msgid ""
"The project does not use continuous integration and continuous delivery to "
"build translations. There are studies to make it available."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:210
msgid ""
"The following example uses GitHub, as Weblate is also on GitHub. Note that "
"this repository is a read-only mirror, but Pull Requests are accepted."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:213
msgid "To build the translation locally, follow these steps:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:218
#, no-wrap
msgid "Procedure: Clone the necessary repositories"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:220
msgid "Clone the `freebsd-doc` repository:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:224
#, no-wrap
msgid "% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:227
msgid "Clone the `freebsd-doc-translate` repository:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:231
#, no-wrap
-msgid ""
-"% git clone https://github.com/freebsd/freebsd-doc-translate.git "
-"~/freebsd-doc-translate\n"
+msgid "% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:238
#, no-wrap
msgid "Procedure: Copy a translation file to `freebsd-doc`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:242
msgid ""
-"With both repositories in place, copy the translation from "
-"`freebsd-doc-translate` to `freebsd-doc`. Example of the Committer's Guide "
-"article translation in Spanish."
+"With both repositories in place, copy the translation from `freebsd-doc-"
+"translate` to `freebsd-doc`. Example of the Committer's Guide article "
+"translation in Spanish."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:247
#, no-wrap
msgid ""
-"% cp "
-"~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po "
-"\\\n"
+"% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \\\n"
"~/freebsd-doc/documentation/content/es/articles/committers-guide/\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:254
#, no-wrap
msgid "Procedure: Convert a translation file (`.po`) to `.adoc`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:257
msgid "Go to the root of `freebsd-doc`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:261
#, no-wrap
msgid "% cd ~/freebsd-doc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:264
msgid "Translate (convert) the `.po` file to `.adoc`"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:268
#, no-wrap
msgid "% ./tools/translate.sh documentation es articles/committers-guide\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:271
msgid ""
"By default: only files with more than eighty percent of strings translated "
"will be converted to `.adoc`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:273
msgid "To ignore that limit:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:277
#, no-wrap
-msgid ""
-"% KEEP_ENV=0 ./tools/translate.sh documentation es "
-"articles/committers-guide\n"
+msgid "% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:284
msgid ""
"Some documents, like books, have many PO gettext files. Always copy all of "
"them when translating and building. Files that weren't translated will be "
"converted with the source (English) strings."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:289
msgid ""
"The directory structure is fundamental. Always follow the English document "
"directory structure."
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:295
#, no-wrap
msgid "Procedure: Build the translated document"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:298
msgid "Last, the building part."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:300
msgid ""
"Enter the documentation directory because there is no need to build the "
"FreeBSD website."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:304
#, no-wrap
msgid "% cd documentation\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:308
msgid ""
"And build the documentation. Note that `en` is always added by default when "
"building any other language."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:312
#, no-wrap
msgid "% DOC_LANG=es make\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:317
msgid ""
"This command will build only the English and Spanish documents of the "
"FreeBSD documentation portal. The output will be in the [.filename]#public# "
"directory; open that in a browser. Note that some index files can redirect "
"the browser to the online page."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:319
msgid ""
"Another good option is to build and serve the content with Hugo's internal "
"webserver:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:323
#, no-wrap
msgid "% DOC_LANG=es make run\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:326
msgid ""
"By default, the webserver listens on `localhost`; To override this behavior, "
"specify the desired IP address in the `BIND` parameter value."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:330
#, no-wrap
msgid "% DOC_LANG=es make run BIND=192.168.15.10\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:333
msgid ""
"This builds and serves the content with Hugo's internal webserver and lets "
"it open, and if any file changes, it rebuilds them automatically."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:336
msgid ""
"To make any necessary adjustments in the translation, follow the steps below "
"to re-sync all components:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:338
-msgid "Fix the translation string on https://translate-dev.freebsd.org/[Weblate]."
+msgid ""
+"Fix the translation string on https://translate-dev.freebsd.org/[Weblate]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:339
-msgid "Force Weblate to commit the changes on `Document/Manage/Commit` section."
+msgid ""
+"Force Weblate to commit the changes on `Document/Manage/Commit` section."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:340
msgid ""
"Sync the local Weblate repository `freebsd-doc-translate` with a `git pull "
"origin main` command."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:341
msgid "Copy the translation again to `freebsd-doc`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:342
-msgid "Convert the translation to .adoc with the `./tools/translate.sh` script."
+msgid ""
+"Convert the translation to .adoc with the `./tools/translate.sh` script."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:343
msgid ""
"Hugo will rebuild the file and not build the entire set if `make run` was "
"used; or re-execute `make`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:347
msgid ""
"Follow the previous steps as many times as is necessary until the document "
"is ready to be published."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:350
msgid ""
"The crossref:doc-build[doc-build-rendering,Documentation Build Process] "
"chapter includes information about rendering to HTML and PDF."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:352
#, no-wrap
msgid "Submitting Translations"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:355
msgid ""
"Example of submitting an update to the Brazilian Portuguese article "
"Committer's Guide."
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:361
#, no-wrap
msgid "Check the repository"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:365
msgid ""
"After following the steps in crossref:weblate[weblate-building,Building the "
"Translated Document], go to the root of `freebsd-doc` and preview what's to "
"be committed. For an overview of files to be changed, and differences in "
"file content:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:370
#, no-wrap
msgid ""
"% git status\n"
"% git diff\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:373
msgid ""
"Review the output, and if any files unrelated to the Committer's Guide "
"translation update were changed or added, take the appropriate action of "
"reverting or removing them, respectively, before proceeding further."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:375
msgid ""
"Always include the PO gettext file (`.po`) and the translated document in "
"Hugo/Asciidoctor (`.adoc`)."
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:381
#, no-wrap
msgid "Create a new branch and commit"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:384
msgid ""
"Create another branch to separate the work, which will help with future "
"updates in the local repository."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:388
#, no-wrap
msgid "% git checkout -b committers-guide_pt-br\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:391
msgid "Register the local commit."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:396
#, no-wrap
msgid ""
"% git add .\n"
"% git commit\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:399
msgid "Example of commit messages for translations:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:403
#, no-wrap
msgid "pt-br/committers-guide: Sync with en XXXXXXX\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:406
msgid ""
"Where `XXXXXXX` is the man:git[1] revision stored in the Weblate repository "
"[.filename]#~/freebsd-doc-translate/revision.txt#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:408
msgid "If it is the first translation of an article:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:412
#, no-wrap
msgid "Add Korean translation of Leap Seconds article\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:417
msgid ""
"A message will be displayed after the commit if man:git[1] has not been "
"configured previously. Please follow the instructions and provide the name "
"and email address used on Weblate. This step is crucial to proper crediting "
"of contributors."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:419
-msgid "Then check the entire commit, review changes, and author name and email."
+msgid ""
+"Then check the entire commit, review changes, and author name and email."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:423
#, no-wrap
msgid "% git show\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:430
#, no-wrap
msgid "Generate a patch"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:433
msgid "Next, generate a man:git-format-patch[1] file."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:438
#, no-wrap
msgid ""
"% git format-patch main\n"
"0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:442
msgid ""
-"Attach the patch "
-"[.filename]#0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch# to a "
-"problem report in https://bugs.freebsd.org/bugzilla/[FreeBSD Bugzilla]."
+"Attach the patch [.filename]#0001-pt-br-committers-guide-Sync-with-en-"
+"XXXXXXX.patch# to a problem report in https://bugs.freebsd.org/bugzilla/"
+"[FreeBSD Bugzilla]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:444
msgid "Include the following information in the report:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:446
#, no-wrap
msgid "Bugzilla Fields"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:450
#, no-wrap
msgid "Field"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:452
#, no-wrap
msgid "Value"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:453
#, no-wrap
msgid "*product*"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:455
#, no-wrap
msgid "Documentation"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:456
#, no-wrap
msgid "*Component*"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:458
#, no-wrap
msgid "Books & Articles"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:459
#, no-wrap
msgid "*Summary*"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:461
#, no-wrap
msgid "Same as the local commit"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:462
#, no-wrap
msgid "*Description*"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:466
#, no-wrap
msgid ""
-"State that instructions in this guide were followed, including proofreading "
-"and other necessary steps.\n"
+"State that instructions in this guide were followed, including proofreading and other necessary steps.\n"
"Include things that may help with triage and progression of the report."
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:467
#, no-wrap
msgid "*CC* (Optional)"
msgstr ""
#. type: Table
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:468
#, no-wrap
-msgid ""
-"If the language has coordinators, include their email addresses in the CC "
-"field."
+msgid "If the language has coordinators, include their email addresses in the CC field."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:471
msgid ""
"For people familiar with man:git[1] and GitHub: instead of submitting the "
-"patch through https://bugs.freebsd.org/bugzilla/[Bugzilla], a "
-"https://github.com/freebsd/freebsd-doc/pulls[GitHub pull request] can be "
-"used (use the name and address that you use with Weblate)."
+"patch through https://bugs.freebsd.org/bugzilla/[Bugzilla], a https://github."
+"com/freebsd/freebsd-doc/pulls[GitHub pull request] can be used (use the name "
+"and address that you use with Weblate)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:474
msgid ""
"https://github.com/freebsd/freebsd-doc/ is a secondary mirror. Changes to "
"the `doc` tree can be made only by people who have a `doc` commit bit."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:476
msgid ""
"When translators keep sending good-quality patches, they can be nominated by "
"other committers to receive write-access (a extref:{committers-guide}[doc "
"commit bit, committer.types] for translations), a FreeBSD account, and "
"associated perks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:478
msgid ""
-"The list of extref:{contributors}[Additional FreeBSD Contributors, "
-"contrib-additional] includes non-committers whose contributions are "
-"committed to the `doc` tree."
+"The list of extref:{contributors}[Additional FreeBSD Contributors, contrib-"
+"additional] includes non-committers whose contributions are committed to the "
+"`doc` tree."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:480
msgid "If in doubt about any procedure, write to the {freebsd-translators}."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:482
#, no-wrap
msgid "FAQ (Frequently Asked Questions)"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:485
#, no-wrap
msgid "Is it necessary to translate all the Copyright messages?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/fdp-primer/weblate/_index.adoc:487
msgid ""
"Every language team decides this for their language; in `pt-br` (Brazilian "
"Portuguese) team, it was decided not to translate those messages."
msgstr ""
diff --git a/documentation/content/en/books/handbook/bsdinstall/_index.po b/documentation/content/en/books/handbook/bsdinstall/_index.po
index d5cc366823..5bd38da725 100644
--- a/documentation/content/en/books/handbook/bsdinstall/_index.po
+++ b/documentation/content/en/books/handbook/bsdinstall/_index.po
@@ -1,3729 +1,3730 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Guide about how to install FreeBSD, the minimum hardware requirements and supported architectures, how to create the installation media, etc"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1
#, no-wrap
msgid "Chapter 2. Installing FreeBSD"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:14
#, no-wrap
msgid "Installing FreeBSD"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:56
msgid ""
"FreeBSD supports different architectures including amd64, ARM(R), RISC-V(R), "
"and PowerPC(R). Depending on the architecture and platform, different "
"images can be link:https://www.freebsd.org/where/[downloaded] to install or "
"directly run FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:58
msgid "The image types are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:60
msgid ""
"Virtual Machine disk images, such as `qcow2`, `vmdk`, `vhd`, and raw device "
"images. These are not installation images, but images that have FreeBSD "
"preinstalled and ready for post-installation tasks. Virtual machine images "
"are also commonly used in cloud environments."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:61
msgid ""
"SD card images, for embedded systems such as Raspberry Pi. These files must "
"be uncompressed and written as a raw image to an SD card, from which the "
"board will boot."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:62
msgid ""
"Installation images to boot from an ISO or USB device to install FreeBSD on "
"a drive for the usual desktop, laptop, or server system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:65
msgid ""
"The rest of this chapter describes the third case, explaining how to install "
"FreeBSD using the text-based installation program named bsdinstall. There "
"may be minor differences between the installer and what is shown here, so "
"use this chapter as a general guide rather than as a set of literal "
"instructions."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:67
msgid "After reading this chapter, you will know:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:69
msgid "How to obtain FreeBSD images and create FreeBSD installation media."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:70
msgid "How to start bsdinstall."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:71
msgid ""
"The questions bsdinstall will ask, what they mean, and how to answer them."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:72
msgid "How to troubleshoot a failed installation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:73
msgid ""
"How to access a live version of FreeBSD before committing to an installation."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:75
#, no-wrap
msgid "Minimum Hardware Requirements"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:80
msgid ""
"The hardware requirements to install FreeBSD vary by architecture and "
"version. Hardware architectures and devices supported by a FreeBSD release "
"are listed on the link:https://www.FreeBSD.org/releases/[FreeBSD Release "
"Information] page. The link:https://www.FreeBSD.org/where/[FreeBSD download "
"page] also has recommendations for choosing the correct image for different "
"architectures."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:82
#, no-wrap
msgid "Pre-Installation Tasks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:86
msgid ""
"Once it has been determined that the system meets the minimum hardware "
"requirements for installing FreeBSD, the installation file should be "
"downloaded and the installation media prepared. Before doing this, check "
"that the system is ready for an installation by verifying the items in this "
"checklist:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:90
#, no-wrap
msgid "*Back Up Important Data*\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:96
msgid ""
"Before installing any operating system, *always* backup all important data "
"first. Do not store the backup on the system being installed. Instead, "
"save the data to a removable disk such as a USB drive, another system on the "
"network, or an online backup service. Test the backup before starting the "
"installation to make sure it contains all of the needed files. Once the "
"installer formats the system's disk, all data stored on that disk will be "
"lost."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:97
#, no-wrap
msgid "*Decide Where to Install FreeBSD*\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:100
msgid ""
"If FreeBSD will be the only operating system installed, this step can be "
"skipped. But if FreeBSD will share the disk with another operating system, "
"decide which disk or partition will be used for FreeBSD."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:107
msgid ""
"In the i386 and amd64 architectures, disks can be divided into multiple "
"partitions using one of two partitioning schemes. A traditional _Master "
"Boot Record_ (MBR) holds a partition table defining up to four _primary "
"partitions_. For historical reasons, FreeBSD calls these primary partition "
"_slices_. One of these primary partitions can be made into an _extended "
"partition_ containing multiple _logical partitions_. The _GUID Partition "
"Table_ (GPT) is a newer and simpler method of partitioning a disk. Common "
"GPT implementations allow up to 128 partitions per disk, eliminating the "
"need for logical partitions."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:111
msgid ""
"The FreeBSD boot loader requires either a primary or GPT partition. If all "
"of the primary or GPT partitions are already in use, one must be freed for "
"FreeBSD. To create a partition without deleting existing data, use a "
"partition resizing tool to shrink an existing partition and create a new "
"partition using the freed space."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:114
msgid ""
"A variety of free and commercial partition resizing tools are listed at link:"
"https://en.wikipedia.org/wiki/List_of_disk_partitioning_software[List of "
"disk partitioning software wikipedia entry]. link:https://gparted.org/"
"livecd.php[GParted Live] is a free live CD which includes the GParted "
"partition editor."
msgstr ""
#. type: delimited block = 6
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:119
msgid ""
"When used properly, disk shrinking utilities can safely create space for "
"creating a new partition. Since the possibility of selecting the wrong "
"partition exists, always backup any important data and verify the integrity "
"of the backup before modifying disk partitions."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:123
msgid ""
"Disk partitions containing different operating systems make it possible to "
"install multiple operating systems on one computer. An alternative is to "
-"use virtualization (crossref:virtualization[virtualization,Virtualization]) "
-"which allows multiple operating systems to run at the same time without "
-"modifying any disk partitions."
+"use crossref:virtualization[virtualization,virtualization] which allows "
+"multiple operating systems to run at the same time without modifying any "
+"disk partitions."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:124
#, no-wrap
msgid "*Collect Network Information*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:127
msgid ""
"Some FreeBSD installation methods require a network connection in order to "
"download the installation files. After any installation, the installer will "
"offer to setup the system's network interfaces."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:130
msgid ""
"If the network has a DHCP server, it can be used to provide automatic "
"network configuration. If DHCP is not available, the following network "
"information for the system must be obtained from the local network "
"administrator or Internet service provider:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:133
msgid "Required Network Information"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:135
msgid "IP address"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:136
msgid "Subnet mask"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:137
msgid "IP address of default gateway"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:138
msgid "Domain name of the network"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:139
msgid "IP addresses of the network's DNS servers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:141
#, no-wrap
msgid "*Check for FreeBSD Errata*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:146
msgid ""
"Although the FreeBSD Project strives to ensure that each release of FreeBSD "
"is as stable as possible, bugs occasionally creep into the process. On very "
"rare occasions those bugs affect the installation process. As these "
"problems are discovered and fixed, they are noted in the FreeBSD Errata page "
"of each version. Check the errata before installing to make sure that there "
"are no problems that might affect the installation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:148
msgid ""
"Information and errata for all the releases can be found on the link:https://"
"www.FreeBSD.org/releases/[FreeBSD Release Information] page."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:151
#, no-wrap
msgid "Prepare the Installation Media"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:155
msgid ""
"The FreeBSD installer is not an application that can be run from within "
"another operating system. Instead, download a FreeBSD installation file, "
"burn it to the media associated with its file type and size (CD, DVD, or "
"USB), and boot the system to install from the inserted media."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:158
msgid ""
"FreeBSD installation files are available at the link:https://www.FreeBSD.org/"
"where/[FreeBSD download page]. Each installation file's name includes the "
"release version of FreeBSD, the architecture, and the type of file."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:161
msgid ""
"Installation files are available in several formats, compressed with man:"
"xz[1] or uncompressed. The formats vary depending on computer architecture "
"and media type."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:163
msgid "Installation file types:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:165
msgid ""
"`*-bootonly.iso*`: This is the smallest installation file as it only "
"contains the installer. A working Internet connection is required during "
"installation as the installer will download the files it needs to complete "
"the FreeBSD installation. This file should be burned to optical media."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:166
msgid ""
"`*-disc1.iso*`: This file contains all of the files needed to install "
"FreeBSD, its source, and the Ports Collection. This file should be burned to "
"optical media."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:167
msgid ""
"`*-dvd1.iso*`: This file contains all of the files needed to install "
"FreeBSD, its source, and the Ports Collection. It also contains a set of "
"popular binary packages for installing a window manager and some "
"applications so that a complete system can be installed from media without "
"requiring a connection to the Internet. This file should be burned to "
"optical media."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:168
msgid ""
"`*-memstick.img*`: This file contains all of the files needed to install "
"FreeBSD, its source, and the Ports Collection. Write this file to a USB "
"stick as shown in <<bsdinstall-usb>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:169
msgid ""
"`*-mini-memstick.img*`: Like `*-bootonly.iso*`, does not include "
"installation files, but downloads them as needed. A working internet "
"connection is required during installation. It should be written to a USB "
"stick as shown in <<bsdinstall-usb>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:173
msgid ""
"After downloading the image file, download at least one _checksum_ file from "
"the same directory. There are two _checksum_ files available, named after "
"the release number and the architecture name. For example: `CHECKSUM.SHA256-"
"FreeBSD-13.1-RELEASE-amd64` and `CHECKSUM.SHA512-FreeBSD-13.1-RELEASE-amd64`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:178
msgid ""
"After downloading one of the files (or both), calculate the _checksum_ for "
"the image file and compare it with the one shown in the _checksum_ file. "
"Note that you need to compare the calculated _checksum_ against the correct "
"file, as they correspond to two different algorithms: SHA256 and SHA512. "
"FreeBSD provides man:sha256[1] and man:sha512[1] that can be used for "
"calculating the _checksum_. Other operating systems have similar programs."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:180
msgid ""
"Verifying the _checksum_ in FreeBSD can be done automatically using man:"
"sha256sum[1] (and man:sha512sum[1]) by executing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:185
#, no-wrap
msgid ""
"% sha256sum -c CHECKSUM.SHA256-FreeBSD-13.1-RELEASE-amd64 FreeBSD-13.1-RELEASE-amd64-dvd1.iso\n"
"FreeBSD-13.1-RELEASE-amd64-dvd1.iso: OK\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:189
msgid ""
"The checksums must match exactly. If the checksums do not match, the image "
"file is corrupt and must be downloaded again."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:191
#, no-wrap
msgid "Writing an Image File to USB"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:197
msgid ""
"The `\\*memstick.img` file is an _image_ of the complete contents of a "
"memory stick. It _cannot_ be copied to the target device as a file. "
"Several applications are available for writing the `*.img` to a USB stick. "
"This section describes two of these utilities."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:202
msgid ""
"Before proceeding, back up any important data on the USB stick. This "
"procedure will erase the existing data on the stick."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:208
#, no-wrap
-msgid "*Procedure. Using `dd` to Write the Image* +\n"
+msgid "*Procedure. Using `dd` to write the image* +\n"
msgstr ""
#. type: delimited block = 6
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:213
msgid ""
"This example uses `/dev/da0` as the target device where the image will be "
"written. Be *very careful* that the correct device is used as this command "
"will destroy the existing data on the specified target device."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:216
msgid ""
"The command-line utility is available on BSD, Linux(R), and Mac OS(R) "
"systems. To burn the image using `dd`, insert the USB stick and determine "
"its device name. Then, specify the name of the downloaded installation file "
"and the device name for the USB stick. This example burns the amd64 "
"installation image to the first USB device on an existing FreeBSD system."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:220
#, no-wrap
msgid "# dd if=FreeBSD-13.1-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:223
msgid ""
"If this command fails, verify that the USB stick is not mounted and that the "
"device name is for the disk, not a partition."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:228
msgid ""
"Some operating systems might require this command to be run with man:"
"sudo[8]. The man:dd[1] syntax varies slightly across different platforms; "
"for example, Mac OS(R) requires a lower-case `bs=1m`. Systems like Linux(R) "
"might buffer writes. To force all writes to complete, use man:sync[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:233
#, no-wrap
msgid "*Procedure. Using Windows(R) to Write the Image* +\n"
msgstr ""
#. type: delimited block = 6
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:237
msgid ""
"Be sure to give the correct drive letter as the existing data on the "
"specified drive will be overwritten and destroyed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:240
#, no-wrap
msgid "*Obtaining Image Writer for Windows(R)*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:243
msgid ""
"Image Writer for Windows(R) is a free application that can correctly write "
"an image file to a memory stick. Download it from https://sourceforge.net/"
"projects/win32diskimager/[win32diskimager home page] and extract it into a "
"folder."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:245
#, no-wrap
msgid "*Writing the Image with Image Writer*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:252
msgid ""
"Double-click the Win32DiskImager icon to start the program. Verify that the "
"drive letter shown under `Device` is the drive with the memory stick. Click "
"the folder icon and select the image to be written to the memory stick. "
"Click btn:[Save] to accept the image file name. Verify that everything is "
"correct, and that no folders on the memory stick are open in other windows. "
"When everything is ready, click btn:[Write] to write the image file to the "
"memory stick."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:255
#, no-wrap
msgid "Starting the Installation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:260
msgid ""
"By default, the installation will not make any changes to the disk(s) before "
"the following message:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:267
#, no-wrap
msgid ""
"Your changes will now be written to disk. If you\n"
"have chosen to overwrite existing data, it will\n"
"be PERMANENTLY ERASED. Are you sure you want to\n"
"commit your changes?\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:271
msgid ""
"The install can be exited at any time prior to this warning. If there is a "
"concern that something is incorrectly configured, just turn the computer off "
"before this point and no changes will be made to the system's disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:277
msgid ""
"This section describes how to boot the system from the installation media "
"which was prepared using the instructions in <<bsdinstall-installation-"
"media>>. When using a bootable USB stick, plug in the USB stick before "
"turning on the computer. When booting from CD or DVD, turn on the computer "
"and insert the media at the first opportunity. How to configure the system "
"to boot from the inserted media depends upon the architecture."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:279
#, no-wrap
msgid "FreeBSD Boot Menu"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:282
msgid ""
"Once the system boots from the installation media, a menu similar to the "
"following will be displayed:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:284
#, no-wrap
msgid "FreeBSD Boot Loader Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:285
#, no-wrap
msgid "FreeBSD boot loader menu"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:285
#, no-wrap
msgid "bsdinstall-newboot-loader-menu.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:291
msgid ""
"By default, the menu will wait ten seconds for user input before booting "
"into the FreeBSD installer or, if FreeBSD is already installed, before "
"booting into FreeBSD. To pause the boot timer in order to review the "
"selections, press kbd:[Space]. To select an option, press its highlighted "
"number, character, or key. The following options are available."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:293
msgid ""
"`Boot Multi User`: This will continue the FreeBSD boot process. If the boot "
"timer has been paused, press kbd:[1], upper- or lower-case kbd:[B], or kbd:"
"[Enter]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:294
msgid ""
"`Boot Single User`: This mode can be used to fix an existing FreeBSD "
"installation as described in crossref:boot[boot-singleuser,“Single-User "
"Mode”]. Press kbd:[2] or the upper- or lower-case kbd:[S] to enter this mode."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:295
msgid ""
"`Escape to loader prompt`: This will boot the system into a repair prompt "
"that contains a limited number of low-level commands. This prompt is "
"described in crossref:boot[boot-loader,“Stage Three”]. Press kbd:[3] or kbd:"
"[Esc] to boot into this prompt."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:296
msgid "`Reboot`: Reboots the system."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:297
msgid ""
"`Cons`: Allow to continue the installation by `video`, `serial`, `Dual "
"(serial primary)` or `Dual (Video primary)`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:298
msgid "`Kernel`: Loads a different kernel."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:299
msgid ""
"`Boot Options`: Opens the menu shown in, and described under, <<bsdinstall-"
"boot-options-menu>>."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:301
#, no-wrap
msgid "FreeBSD Boot Options Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:302
#, no-wrap
msgid "Menu showing the different boot options supported"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:302
#, no-wrap
msgid "bsdinstall-boot-options-menu.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:306
msgid ""
"The boot options menu is divided into two sections. The first section can "
"be used to either return to the main boot menu or to reset any toggled "
"options back to their defaults."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:310
msgid ""
"The next section is used to toggle the available options to `On` or `Off` by "
"pressing the option's highlighted number or character. The system will "
"always boot using the settings for these options until they are modified. "
"Several options can be toggled using this menu:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:312
msgid ""
"`ACPI Support`: If the system hangs during boot, try toggling this option to "
"`Off`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:313
msgid ""
"`Safe Mode`: If the system still hangs during boot even with `ACPI Support` "
"set to `Off`, try setting this option to `On`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:314
msgid ""
"`Single User`: Toggle this option to `On` to fix an existing FreeBSD "
"installation as described in crossref:boot[boot-singleuser,“Single-User "
"Mode”]. Once the problem is fixed, set it back to `Off`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:315
msgid ""
"`Verbose`: Toggle this option to `On` to see more detailed messages during "
"the boot process. This can be useful when troubleshooting a piece of "
"hardware."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:319
msgid ""
"After making the needed selections, press kbd:[1] or kbd:[Backspace] to "
"return to the main boot menu, then press kbd:[Enter] to continue booting "
"into FreeBSD. A series of boot messages will appear as FreeBSD carries out "
"its hardware device probes and loads the installation program. Once the "
"boot is complete, the welcome menu shown in <<bsdinstall-choose-mode>> will "
"be displayed."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:321
#, no-wrap
msgid "Welcome Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:322
#, no-wrap
msgid "FreeBSD installation welcome menu"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:322
#, no-wrap
msgid "bsdinstall-choose-mode.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:330
msgid ""
"Press kbd:[Enter] to select the default of btn:[Install] to enter the "
"installer. The rest of this chapter describes how to use this installer. "
"Otherwise, use the right or left arrows or the colorized letter to select "
"the desired menu item. The btn:[Shell] can be used to access a FreeBSD "
"shell in order to use command line utilities to prepare the disks before "
"installation. The btn:[Live CD] option can be used to try out FreeBSD "
"before installing it. The live version is described in <<using-live-cd>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:336
msgid ""
"To review the boot messages, including the hardware device probe, press the "
"upper- or lower-case kbd:[S] and then kbd:[Enter] to access a shell. At the "
"shell prompt, type `more /var/run/dmesg.boot` and use the space bar to "
"scroll through the messages. When finished, type `exit` to return to the "
"welcome menu."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:339
#, no-wrap
msgid "Using bsdinstall"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:344
msgid ""
"This section shows the order of the bsdinstall menus and the type of "
"information that will be asked before the system is installed. Use the "
"arrow keys to highlight a menu option, then kbd:[Space] to select or "
"deselect that menu item. When finished, press kbd:[Enter] to save the "
"selection and move onto the next screen."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:346
#, no-wrap
msgid "Selecting the Keymap Menu"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:349
msgid ""
"Before starting the process, bsdinstall will load the keymap files as shown "
"in <<bsdinstall-keymap-loading>>."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:351
#, no-wrap
msgid "Keymap Loading"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:352
#, no-wrap
msgid "Keymap loading"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:352
#, no-wrap
msgid "bsdinstall-keymap-loading.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:357
msgid ""
"After the keymaps have been loaded, bsdinstall displays the menu shown in "
"<<bsdinstall-keymap-10>>. Use the up and down arrows to select the keymap "
"that most closely represents the mapping of the keyboard attached to the "
"system. Press kbd:[Enter] to save the selection."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:359
#, no-wrap
msgid "Keymap Selection Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:360
#, no-wrap
msgid "Keymap selection menu showing all supported keyboards"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:360
#, no-wrap
msgid "bsdinstall-keymap-10.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:366
msgid ""
"Pressing kbd:[Esc] will exit this menu and use the default keymap. If the "
"choice of keymap is not clear, [.guimenuitem]#United States of America "
"ISO-8859-1# is also a safe option."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:369
msgid ""
"In addition, when selecting a different keymap, the user can try the keymap "
"and ensure it is correct before proceeding, as shown in <<bsdinstall-keymap-"
"testing>>."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:371
#, no-wrap
msgid "Keymap Testing Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:372
#, no-wrap
msgid "Keymap testing menu"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:372
#, no-wrap
msgid "bsdinstall-keymap-testing.png"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:375
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:380
#, no-wrap
msgid "Setting the Hostname"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:378
msgid ""
"The next bsdinstall menu is used to set the hostname for the newly installed "
"system."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:381
#, no-wrap
msgid "Setting the hostname"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:381
#, no-wrap
msgid "bsdinstall-config-hostname.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:385
msgid ""
"Type in a hostname that is unique for the network. It should be a fully-"
"qualified hostname, such as `machine3.example.com`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:387
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:392
#, no-wrap
msgid "Selecting Components to Install"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:390
msgid "Next, bsdinstall will prompt to select optional components to install."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:393
#, no-wrap
msgid "Different components that can be installed. Example: base-dbg"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:393
#, no-wrap
msgid "bsdinstall-config-components.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:398
msgid ""
"Deciding which components to install will depend largely on the intended use "
"of the system and the amount of disk space available. The FreeBSD kernel "
"and userland, collectively known as the _base system_, are always "
"installed. Depending on the architecture, some of these components may not "
"appear:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:400
msgid ""
"`base-dbg` - Base tools like cat and ls, among many others, with debug "
"symbols activated."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:401
msgid "`kernel-dbg` - Kernel and modules with debug symbols activated."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:402
msgid ""
"`lib32-dbg` - Compatibility libraries for running 32-bit applications on a "
"64-bit version of FreeBSD with debug symbols activated."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:403
msgid ""
"`lib32` - Compatibility libraries for running 32-bit applications on a 64-"
"bit version of FreeBSD."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:404
msgid ""
"`ports` - The FreeBSD Ports Collection is a collection of files which "
"automates the downloading, compiling and installation of third-party "
"software packages. crossref:ports[ports,Installing Applications: Packages "
"and Ports] discusses how to use the Ports Collection."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:410
msgid ""
"The installation program does not check for adequate disk space. Select "
"this option only if sufficient hard disk space is available. The FreeBSD "
"Ports Collection takes up about {ports-size} of disk space."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:413
msgid ""
"`src` - The complete FreeBSD source code for both the kernel and the "
"userland. Although not required for the majority of applications, it may be "
"required to build device drivers, kernel modules, or some applications from "
"the Ports Collection. It is also used for developing FreeBSD itself. The "
"full source tree requires 1 GB of disk space and recompiling the entire "
"FreeBSD system requires an additional 5 GB of space."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:414
msgid "`tests` - FreeBSD Test Suite."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:416
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:423
#, no-wrap
msgid "Installing from the Network"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:421
msgid ""
"The menu shown in <<bsdinstall-netinstall-notify>> only appears when "
"installing from a `-bootonly.iso` or `-mini-memstick.img`, as this "
"installation media does not hold copies of the installation files. Since "
"the installation files must be retrieved over a network connection, this "
"menu indicates that the network interface must be configured first. If this "
"menu is shown in any step of the process, remember to follow the "
"instructions in <<bsdinstall-config-network-dev>>."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:424
#, no-wrap
msgid "Indicates that certain components have not been found and will be downloaded using the network."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:424
#, no-wrap
msgid "bsdinstall-netinstall-files.png"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:427
#, no-wrap
msgid "Allocating Disk Space"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:430
msgid ""
"The next menu is used to determine the method for allocating disk space."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:432
#, no-wrap
msgid "Partitioning Choices"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:433
#, no-wrap
msgid "Shows the different partition options. Example: Manual"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:433
#, no-wrap
msgid "bsdinstall-zfs-partmenu.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:436
msgid "bsdinstall gives the user four methods for allocating disk space:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:438
msgid ""
"`Auto (ZFS)` partitioning creates a root-on-ZFS system with optional GELI "
"encryption support for _boot environments_."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:439
msgid ""
"`Auto (UFS)` partitioning automatically sets up the disk partitions using "
"the `UFS` file system."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:440
msgid ""
"`Manual` partitioning allows advanced users to create customized partitions "
"from menu options."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:441
msgid ""
"`Shell` opens a shell prompt where advanced users can create customized "
"partitions using command-line utilities like man:gpart[8], man:fdisk[8], and "
"man:bsdlabel[8]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:444
msgid ""
"This section describes what to consider when laying out the disk "
"partitions. It then demonstrates how to use the different partitioning "
"methods."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:446
#, no-wrap
msgid "Designing the Partition Layout"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:453
msgid ""
"The default partition layout for file systems includes one file system for "
"the entire system. When using `UFS` it may be worth considering the use of "
"multiple file systems if you have sufficient disk space or multiple disks. "
"When laying out file systems, remember that hard drives transfer data faster "
"from the outer tracks to the inner. Thus, smaller and heavier-accessed file "
"systems should be closer to the outside of the drive, while larger "
"partitions like `/usr` should be placed toward the inner parts of the disk. "
"It is a good idea to create partitions in an order similar to: `/`, swap, `/"
"var`, and `/usr`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:458
msgid ""
"The size of the `/var` partition reflects the intended machine's usage. "
"This partition is used to hold mailboxes, log files, and printer spools. "
"Mailboxes and log files can grow to unexpected sizes depending on the number "
"of users and how long log files are kept. On average, most users rarely "
"need more than about a gigabyte of free disk space in `/var`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:464
msgid ""
"Sometimes, a lot of disk space is required in `/var/tmp`. When new software "
"is installed, the packaging tools extract a temporary copy of the packages "
"under `/var/tmp`. Large software packages, like Firefox or LibreOffice may "
"be tricky to install if there is not enough disk space under `/var/tmp`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:470
msgid ""
"The `/usr` partition holds many of the files which support the system, "
"including the FreeBSD Ports Collection and system source code. At least 2 "
"gigabytes of space is recommended for this partition. Also, note that home "
"directories for users are placed in `/usr/home` by default, but can be "
"placed on another partition. By default, `/home` is a symbolic link to `/"
"usr/home`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:473
msgid ""
"When selecting partition sizes, keep the space requirements in mind. "
"Running out of space in one partition while barely using another can be a "
"hassle."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:477
msgid ""
"As a rule of thumb, the swap partition should be about double the size of "
"physical memory (RAM). Systems with minimal RAM (less for larger-memory "
"configurations) may perform better with more swap. Configuring too little "
"swap can lead to inefficiencies in the VM page scanning code and might "
"create issues later if more memory is added."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:485
msgid ""
"On larger systems with multiple SCSI disks or multiple IDE disks operating "
"on different controllers, it is recommended that swap be configured on each "
"drive, up to four drives. The swap partitions should be approximately the "
"same size. The kernel can handle arbitrary sizes, but internal data "
"structures scale to 4 times the largest swap partition. Keeping the swap "
"partitions near the same size will allow the kernel to optimally stripe swap "
"space across disks. Large swap sizes may elicit a kernel warning message "
"about the total configured swap. The limit is raised by increasing the "
"amount of memory allowed for keeping track of swap allocations, as "
"instructed by the warning message. It might be easier to recover from a "
"runaway program before being forced to reboot."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:489
msgid ""
"By properly partitioning a system, fragmentation introduced in the smaller "
"write-heavy partitions will not bleed over into the mostly read partitions. "
"Keeping the write-loaded partitions closer to the disk's edge will increase "
"I/O performance in the partitions where it occurs the most. While I/O "
"performance in the larger partitions may be needed, shifting them more "
"toward the edge of the disk will not lead to a significant performance "
"improvement over moving `/var` to the edge."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:491
#, no-wrap
msgid "Guided Partitioning Using UFS"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:495
msgid ""
"When this method is selected, a menu will display the available disk(s). If "
"multiple disks are connected, choose the one where FreeBSD is to be "
"installed."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:497
#, no-wrap
msgid "Selecting from Multiple Disks"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:498
#, no-wrap
msgid "Shows the list of disks on which FreeBSD can be installed"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:498
#, no-wrap
msgid "bsdinstall-part-guided-disk.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:503
msgid ""
"Once the disk is selected, the next menu prompts to install to either the "
"entire disk or to create a partition using free space. If btn:[Entire Disk] "
"is chosen, a general partition layout filling the whole disk is "
"automatically created. Selecting btn:[Partition] creates a partition layout "
"from the unused space on the disk."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:505
#, no-wrap
msgid "Selecting Entire Disk or Partition"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:506
#, no-wrap
msgid "Menu asking the user if he wants to use all the available space on the disk or wants to make a partition"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:506
#, no-wrap
msgid "bsdinstall-part-entire-part.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:509
msgid ""
"After the btn:[Entire Disk] option is chosen, bsdinstall displays a dialog "
"indicating that the disk will be erased."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:511
#, no-wrap
msgid "Confirmation"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:512
#, no-wrap
msgid "Menu indicating the user that all data on the disk will be deleted and asking for confirmation"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:512
#, no-wrap
msgid "bsdinstall-ufs-warning.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:519
msgid ""
"The next menu shows a list with the available partition scheme types. GPT "
"is usually the most appropriate choice for amd64 computers. Older computers "
"that are not compatible with GPT should use MBR. The other partition "
"schemes are generally used for uncommon or older computers. More "
"information is available in <<partition-schemes>>."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:521
#, no-wrap
msgid "Select Partition Scheme"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:522
#, no-wrap
msgid "Menu showing the user the different the different types of partition that exist and requesting one of them"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:522
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:557
#, no-wrap
msgid "bsdinstall-part-manual-partscheme.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:528
msgid ""
"After the partition layout has been created, review it to ensure it meets "
"the needs of the installation. Selecting btn:[Revert] will reset the "
"partitions to their original values. Pressing btn:[Auto] will recreate the "
"automatic FreeBSD partitions. Partitions can also be manually created, "
"modified, or deleted. When the partitioning is correct, select btn:[Finish] "
"to continue with the installation."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:530
#, no-wrap
msgid "Review Created Partitions"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:531
#, no-wrap
msgid "Menu showing created partitions"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:531
#, no-wrap
msgid "bsdinstall-part-review.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:537
msgid ""
"Once the disks are configured, the next menu provides the last chance to "
"make changes before the selected drives are formatted. If changes need to "
"be made, select btn:[Back] to return to the main partitioning menu. btn:"
"[Revert & Exit] exits the installer without making any changes to the "
"drive. Otherwise, select btn:[Commit] to start the installation process."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:539
#, no-wrap
msgid "Final Confirmation"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:540
#, no-wrap
msgid "Menu indicating to the user that all changes will be written to disk and informing that if he decides to continue the existing data will be permanently deleted."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:540
#, no-wrap
msgid "bsdinstall-final-confirmation.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:543
msgid ""
"To continue with the installation process, go to <<bsdinstall-fetching-"
"distribution>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:545
#, no-wrap
msgid "Manual Partitioning"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:548
msgid "Selecting this method opens the partition editor:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:550
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:556
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:587
#, no-wrap
msgid "Manually Create Partitions"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:551
#, no-wrap
msgid "Menu showing the Partition Editor."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:551
#, no-wrap
msgid "bsdinstall-part-manual-create.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:554
msgid ""
"Highlight the installation drive (`ada0` in this example) and select btn:"
"[Create] to display a menu of available partition schemes:"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:557
#, no-wrap
msgid "Menu showing the different kind of partition schemes"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:562
msgid ""
"GPT is usually the most appropriate choice for amd64 computers. Older "
"computers that are not compatible with GPT should use MBR. The other "
"partition schemes are generally used for uncommon or older computers."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:564
#, no-wrap
msgid "Partitioning Schemes"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:568
#, no-wrap
msgid "Abbreviation"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:570
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:571
#, no-wrap
msgid "APM"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:573
#, no-wrap
msgid "Apple Partition Map, used by PowerPC(R)."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:574
#, no-wrap
msgid "BSD"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:576
#, no-wrap
msgid "BSD label without an MBR, sometimes called _dangerously dedicated mode_ as non-BSD disk utilities may not recognize it."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:577
#, no-wrap
msgid "GPT"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:579
#, no-wrap
msgid "link:https://en.wikipedia.org/wiki/GUID_Partition_Table[GUID Partition Table]."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:580
#, no-wrap
msgid "MBR"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:581
#, no-wrap
msgid "link:https://en.wikipedia.org/wiki/Master_boot_record[Master Boot Record]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:585
msgid ""
"After the partitioning scheme has been selected and created, select btn:"
-"[Create] again to create the partitions. The kbd:[Tab] key is used to move "
-"the cursor between fields."
+"[Create] again to create the partitions. The kbd:[Tab] key is used to give "
+"focus to the fields (after cycling through btn:[<OK>], btn:[<Options>], and "
+"btn:[<Cancel>])."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:588
#, no-wrap
msgid "Menu requesting type"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:588
#, no-wrap
msgid "bsdinstall-part-manual-addpart.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:591
msgid ""
"A standard FreeBSD GPT installation uses at least three partitions, "
"including either UFS or ZFS:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:593
msgid "`freebsd-boot` or `efi` - Holds the FreeBSD boot code."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:594
msgid "`freebsd-ufs` - A FreeBSD UFS file system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:595
msgid ""
"`freebsd-zfs` - A FreeBSD ZFS file system. More information about ZFS is "
"available in crossref:zfs[zfs,The Z File System (ZFS)]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:596
msgid "`freebsd-swap` - FreeBSD swap space."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:598
msgid ""
"Refer to man:gpart[8] for descriptions of the available GPT partition types."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:600
msgid ""
"Multiple file system partitions can be created. Some people prefer a "
"traditional layout with separate partitions for `/`, `/var`, `/tmp`, and `/"
"usr`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:604
msgid ""
"Note that `/tmp` can be added later as a memory-based file system (man:"
"tmpfs[5]) on systems with sufficient memory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:607
msgid "See <<bsdinstall-part-manual-splitfs>> for an example."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:609
msgid ""
"The `Size` may be entered with common abbreviations: _K_ for kilobytes, _M_ "
"for megabytes, or _G_ for gigabytes."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:615
msgid ""
"Proper sector alignment provides the best performance, and making partition "
"sizes even multiples of 4K bytes helps to ensure alignment on drives with "
"either 512-byte or 4K-byte sectors. Generally, using partition sizes that "
"are even multiples of 1M or 1G is the easiest way to make sure every "
"partition starts at an even multiple of 4K. There is one exception: the "
"_freebsd-boot_ partition should be no larger than 512K due to current boot "
"code limitations."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:619
msgid ""
"A `Mountpoint` is needed if the partition will contain a file system. If "
"only a single UFS partition will be created, the mountpoint should be `/`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:625
msgid ""
"The `Label` is a name by which the partition will be known. Drive names or "
"numbers can change if the drive is connected to a different controller or "
"port, but the partition label does not change. Referring to labels instead "
"of drive names and partition numbers in files like `/etc/fstab` makes the "
"system more tolerant to hardware changes. GPT labels appear in `/dev/gpt/` "
"when a disk is attached. Other partitioning schemes have different label "
"capabilities and their labels appear in different directories in `/dev/`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:631
msgid ""
"Use a unique label on every partition to avoid conflicts from identical "
"labels. A few letters from the computer's name, use, or location can be "
"added to the label. For instance, use `labroot` or `rootfslab` for the UFS "
"root partition on the computer named `lab`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:634
#, no-wrap
msgid "Creating Traditional Split File System Partitions"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:641
msgid ""
"For a traditional partition layout where the `/`, `/var`, `/tmp`, and `/usr` "
"directories are separate file systems on their own partitions, create a GPT "
"partitioning scheme, then create the partitions as shown. Partition sizes "
"shown are typical for a 20G target disk. If more space is available on the "
"target disk, larger swap or `/var` partitions may be useful. Labels shown "
"here are prefixed with `ex` for \"example\", but readers should use other "
"unique label values as described above."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:643
msgid ""
"By default, FreeBSD's `gptboot` expects the first UFS partition to be the `/"
"` partition."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:648
#, no-wrap
msgid "Partition Type"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:649
#, no-wrap
msgid "Size"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:650
#, no-wrap
msgid "Mountpoint"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:652
#, no-wrap
msgid "Label"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:653
#, no-wrap
msgid "`freebsd-boot`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:654
#, no-wrap
msgid "`512K`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:658
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:668
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:673
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:678
#, no-wrap
msgid "`freebsd-ufs`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:659
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:669
#, no-wrap
msgid "`2G`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:660
#, no-wrap
msgid "`/`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:662
#, no-wrap
msgid "`exrootfs`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:663
#, no-wrap
msgid "`freebsd-swap`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:664
#, no-wrap
msgid "`4G`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:667
#, no-wrap
msgid "`exswap`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:670
#, no-wrap
msgid "`/var`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:672
#, no-wrap
msgid "`exvarfs`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:674
#, no-wrap
msgid "`1G`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:675
#, no-wrap
msgid "`/tmp`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:677
#, no-wrap
msgid "`extmpfs`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:679
#, no-wrap
msgid "accept the default (remainder of the disk)"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:680
#, no-wrap
msgid "`/usr`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:681
#, no-wrap
msgid "`exusrfs`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:685
msgid ""
"After the custom partitions have been created, select btn:[Finish] to "
"continue with the installation and go to <<bsdinstall-fetching-"
"distribution>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:687
#, no-wrap
msgid "Guided Partitioning Using Root-on-ZFS"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:691
msgid ""
"This partitioning mode only works with whole disks and will erase the "
"contents of the entire disk. The main ZFS configuration menu offers a "
"number of options to control the creation of the pool."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:693
#, no-wrap
msgid "ZFS Partitioning Menu"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:694
#, no-wrap
msgid "Menu showing the different options to configure the ZFS pool"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:694
#, no-wrap
msgid "bsdinstall-zfs-menu.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:697
msgid "Here is a summary of the options in this menu:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:699
msgid "`Install` - Proceed with the installation with the selected options."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:700
msgid ""
"`Pool Type/Disks` - Configure the `Pool Type` and the disk(s) that will "
"constitute the pool. The automatic ZFS installer currently only supports the "
"creation of a single top level vdev, except in stripe mode. To create more "
"complex pools, use the instructions in <<bsdinstall-part-shell>> to create "
"the pool."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:701
msgid "`Rescan Devices` - Repopulate the list of available disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:702
msgid ""
"`Disk Info` - This menu can be used to inspect each disk, including its "
"partition table and various other information such as the device model "
"number and serial number, if available."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:703
msgid ""
"`Pool Name` - Establish the name of the pool. The default name is _zroot_."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:704
msgid ""
"`Force 4K Sectors?` - Force the use of 4K sectors. By default, the installer "
"will automatically create partitions aligned to 4K boundaries and force ZFS "
"to use 4K sectors. This is safe even with 512 byte sector disks, and has the "
"added benefit of ensuring that pools created on 512 byte disks will be able "
"to have 4K sector disks added in the future, either as additional storage "
"space or as replacements for failed disks. Press the kbd:[Enter] key to "
"chose to activate it or not."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:705
msgid ""
"`Encrypt Disks?` - Encrypting the disks allows the user to encrypt the disks "
"using GELI. More information about disk encryption is available in crossref:"
"disks[disks-encrypting-geli,“Disk Encryption with geli”]. Press the kbd:"
"[Enter] key to choose whether to activate it or not."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:706
msgid ""
"`Partition Scheme` - Choose the partition scheme. GPT is the recommended "
"option in most cases. Press the kbd:[Enter] key to chose between the "
"different options."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:707
msgid "`Swap Size` - Establish the amount of swap space."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:708
msgid ""
"`Mirror Swap?` - Whether to mirror the swap between the disks. Be aware that "
"enabling mirror swap will break crash dumps. Press the kbd:[Enter] key to "
"activate it or not."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:709
msgid ""
"`Encrypt Swap?` - Whether to encrypt the swap. This will encrypt the swap "
"with a temporary key each time the system boots, and discards it on reboot. "
"Press the kbd:[Enter] key to choose to activate it or not. More information "
"about swap encryption in crossref:disks[swap-encrypting,“Encrypting Swap”]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:711
msgid ""
"Select kbd:[T] to configure the `Pool Type` and the disk(s) that will "
"constitute the pool."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:713
#, no-wrap
msgid "ZFS Pool Type"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:714
#, no-wrap
msgid "Menu requesting the Virtual Device type. Ex: stripe"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:714
#, no-wrap
msgid "bsdinstall-zfs-vdev_type.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:717
msgid "Here is a summary of the `Pool Type` that can be selected in this menu:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:719
msgid ""
"`stripe` - Striping provides maximum storage of all connected devices, but "
"no redundancy. If just one disk fails the data on the pool is lost "
"irrevocably."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:720
msgid ""
"`mirror` - Mirroring stores a complete copy of all data on every disk. "
"Mirroring provides good read performance because data is read from all disks "
"in parallel. Write performance is slower as the data must be written to all "
"disks in the pool. Allows all but one disk to fail. This option requires at "
"least two disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:721
msgid ""
"`raid10` - Striped mirrors. Provides the best performance, but the least "
"storage. This option needs at least an even number of disks and a minimum of "
"four disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:722
msgid ""
"`raidz1` - Single Redundant RAID. Allow one disk to fail concurrently. This "
"option needs at least three disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:723
msgid ""
"`raidz2` - Double Redundant RAID. Allows two disks to fail concurrently. "
"This option needs at least four disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:724
msgid ""
"`raidz3` - Triple Redundant RAID. Allows three disks to fail concurrently. "
"This option needs at least five disks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:728
msgid ""
"Once a `Pool Type` has been selected, a list of available disks is "
"displayed, and the user is prompted to select one or more disks to make up "
"the pool. The configuration is then validated to ensure that enough disks "
"are selected. If validation fails, select btn:[<Change Selection>] to "
"return to the list of disks or btn:[<Back>] to change the `Pool Type`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:730
#, no-wrap
msgid "Disk Selection"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:731
#, no-wrap
msgid "Menu requesting how many disks will be added to the pool"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:731
#, no-wrap
msgid "bsdinstall-zfs-disk_select.png"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:734
#, no-wrap
msgid "Invalid Selection"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:735
#, no-wrap
msgid "Menu indicating that not enough disks have been selected."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:735
#, no-wrap
msgid "bsdinstall-zfs-vdev_invalid.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:738
msgid ""
"If one or more disks are missing from the list, or if disks were attached "
"after the installer was started, select btn:[- Rescan Devices] to repopulate "
"the list of available disks."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:740
#, no-wrap
msgid "Rescan Devices"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:741
#, no-wrap
msgid "Device rescan"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:741
#, no-wrap
msgid "bsdinstall-zfs-rescan-devices.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:744
msgid ""
"To avoid accidentally erasing the wrong disk, the btn:[- Disk Info] menu can "
"be used to inspect each disk, including its partition table and various "
"other information such as the device model number and serial number, if "
"available."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:746
#, no-wrap
msgid "Analyzing a Disk"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:747
#, no-wrap
msgid "Menu showing the information of the partitions."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:747
#, no-wrap
msgid "bsdinstall-zfs-disk_info.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:751
msgid ""
"Select kbd:[N] to configure the `Pool Name`. Enter the desired name, then "
"select btn:[<OK>] to establish it or btn:[<Cancel>] to return to the main "
"menu and leave the default name."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:753
#, no-wrap
msgid "Pool Name"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:754
#, no-wrap
msgid "Menu requesting the name of the pool."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:754
#, no-wrap
msgid "bsdinstall-zfs-pool-name.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:758
msgid ""
"Select kbd:[S] to set the amount of swap. Enter the desired amount of swap, "
"then select btn:[<OK>] to establish it or btn:[<Cancel>] to return to the "
"main menu and let the default amount."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:760
#, no-wrap
msgid "Swap Amount"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:761
#, no-wrap
msgid "Menu requesting the amount of swap memory"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:761
#, no-wrap
msgid "bsdinstall-zfs-swap-amount.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:765
msgid ""
"Once all options have been set to the desired values, select the btn:[>>> "
"Install] option at the top of the menu. The installer then offers a last "
"chance to cancel before the contents of the selected drives are destroyed to "
"create the ZFS pool."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:767
#, no-wrap
msgid "Last Chance"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:768
#, no-wrap
msgid "Menu indicating to the user that the data will be lost"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:768
#, no-wrap
msgid "bsdinstall-zfs-warning.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:772
msgid ""
"If GELI disk encryption was enabled, the installer will prompt twice for the "
"passphrase to be used to encrypt the disks. Initialization of the "
"encryption then begins."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:774
#, no-wrap
msgid "Disk Encryption Password"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:775
#, no-wrap
msgid "Menu requesting the password to encrypt the devices."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:775
#, no-wrap
msgid "bsdinstall-zfs-geli_password.png"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:778
#, no-wrap
msgid "Initializing Encryption"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:779
#, no-wrap
msgid "Menu showing that the encryption is initializing."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:779
#, no-wrap
msgid "bsdinstall-zfs-init-encription.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:783
msgid ""
"The installation then proceeds normally. To continue with the installation, "
"go to <<bsdinstall-fetching-distribution>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:785
#, no-wrap
msgid "Shell Mode Partitioning"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:790
msgid ""
"When creating advanced installations, the bsdinstall partitioning menus may "
"not provide the level of flexibility required. Advanced users can select "
"the btn:[Shell] option from the partitioning menu in order to manually "
"partition the drives, create the file system(s), populate `/tmp/"
"bsdinstall_etc/fstab`, and mount the file systems under `/mnt`. Once this "
"is done, type `exit` to return to bsdinstall and continue the installation."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:792
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:801
#, no-wrap
msgid "Fetching Distribution Files"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:796
msgid ""
"Installation time will vary depending on the distributions chosen, "
"installation media, and speed of the computer. A series of messages will "
"indicate the progress."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:799
msgid ""
"First, the installer formats the selected disk(s) and initializes the "
"partitions. Next, in the case of a `bootonly media` or `mini memstick`, it "
"downloads the selected components:"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:802
#, no-wrap
msgid "Menu showing the download of the different components."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:802
#, no-wrap
msgid "bsdinstall-distfile-fetching.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:805
msgid ""
"Next, the integrity of the distribution files is verified to ensure they "
"have not been corrupted during download or misread from the installation "
"media:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:807
#, no-wrap
msgid "Verifying Distribution Files"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:808
#, no-wrap
msgid "Menu showing the verification of the different components."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:808
#, no-wrap
msgid "bsdinstall-distfile-verifying.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:811
msgid "Finally, the verified distribution files are extracted to the disk:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:813
#, no-wrap
msgid "Extracting Distribution Files"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:814
#, no-wrap
msgid "Menu showing the extraction of the different components."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:814
#, no-wrap
msgid "bsdinstall-distfile-extracting.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:818
msgid ""
"Once all requested distribution files have been extracted, bsdinstall "
"displays the first post-installation configuration screen. The available "
"post-configuration options are described in the next section."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:820
#, no-wrap
msgid "Network Interfaces, Accounts, Time Zone, Services and Hardening"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:823
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:830
#, no-wrap
msgid "Setting the `root` Password"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:828
msgid ""
"First, the `root` password must be set. While entering the password, the "
"characters being typed are not displayed on the screen. The password must "
"be entered twice to prevent typing errors."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:831
#, no-wrap
msgid "Menu showing requesting the password for the root user."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:831
#, no-wrap
msgid "bsdinstall-post-root-passwd.png"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:834
#, no-wrap
msgid "Configuring Network Interfaces"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:838
msgid ""
"Next, a list of the network interfaces found on the computer is shown. "
"Select the interface to configure."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:840
#, no-wrap
msgid "Choose a Network Interface"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:841
#, no-wrap
msgid "Menu showing the different network interfaces to configure."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:841
#, no-wrap
msgid "bsdinstall-configure-network-interface.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:845
msgid ""
"If an Ethernet interface is selected, the installer will skip ahead to the "
"menu shown in <<bsdinstall-configure-net-ipv4>>. If a wireless network "
"interface is chosen, the system will instead scan for wireless access points:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:847
#, no-wrap
msgid "Scanning for Wireless Access Points"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:848
#, no-wrap
msgid "Menu showing wireless network scanning."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:848
#, no-wrap
msgid "bsdinstall-configure-wireless-scan.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:855
msgid ""
"Wireless networks are identified by a Service Set Identifier (SSID); a "
"short, unique name given to each network. SSIDs found during the scan are "
"listed, followed by a description of the encryption types available for that "
"network. If the desired SSID does not appear in the list, select btn:"
"[Rescan] to scan again. If the desired network still does not appear, check "
"for problems with antenna connections or try moving the computer closer to "
"the access point. Rescan after each change is made."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:857
#, no-wrap
msgid "Choosing a Wireless Network"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:858
#, no-wrap
msgid "Menu showing the different wireless networks to connect to."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:858
#, no-wrap
msgid "bsdinstall-configure-wireless-accesspoints.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:864
msgid ""
"Next, enter the encryption information for connecting to the selected "
"wireless network. WPA2 encryption is strongly recommended over older "
"encryption types such as WEP, which offer little security. If the network "
"uses WPA2, input the password, also known as the Pre-Shared Key (PSK). For "
"security reasons, the characters typed into the input box are displayed as "
"asterisks."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:866
#, no-wrap
msgid "WPA2 Setup"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:867
#, no-wrap
msgid "Menu requesting the wireless network password."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:867
#, no-wrap
msgid "bsdinstall-configure-wireless-wpa2setup.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:870
msgid ""
"Next, choose whether or not an IPv4 address should be configured on the "
"Ethernet or wireless interface:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:872
#, no-wrap
msgid "Choose IPv4 Networking"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:873
#, no-wrap
msgid "Menu indicating if IPv4 wants to be configured for the selected interface."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:873
#, no-wrap
msgid "bsdinstall-configure-network-interface-ipv4.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:878
msgid ""
"There are two methods of IPv4 configuration. DHCP will automatically "
"configure the network interface correctly and should be used if the network "
"provides a DHCP server. Otherwise, the addressing information needs to be "
"input manually as a static configuration."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:883
msgid ""
"Do not enter random network information as it will not work. If a DHCP "
"server is not available, obtain the information listed in <<bsdinstall-"
"collect-network-information, Required Network Information>> from the network "
"administrator or Internet service provider."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:887
msgid ""
"If a DHCP server is available, select btn:[Yes] in the next menu to "
"automatically configure the network interface. The installer will appear to "
"pause for a minute or so as it finds the DHCP server and obtains the "
"addressing information for the system."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:889
#, no-wrap
msgid "Choose IPv4 DHCP Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:890
#, no-wrap
msgid "Menu indicating if DHCP wants to be configured for the selected interface."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:890
#, no-wrap
msgid "bsdinstall-configure-network-interface-ipv4-dhcp.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:893
msgid ""
"If a DHCP server is not available, select btn:[No] and input the following "
"addressing information in this menu:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:895
#, no-wrap
msgid "IPv4 Static Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:896
#, no-wrap
msgid "Menu requesting data to configure IPv4 network."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:896
#, no-wrap
msgid "bsdinstall-configure-network-interface-ipv4-static.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:899
msgid ""
"`IP Address` - The IPv4 address assigned to this computer. The address must "
"be unique and not already in use by another device on the local network."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:900
msgid "`Subnet Mask` - The subnet mask for the network."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:901
msgid "`Default Router` - The IP address of the network's default gateway."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:903
msgid ""
"The next screen will ask if the interface should be configured for IPv6. If "
"IPv6 is available and desired, choose btn:[Yes] to select it."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:905
#, no-wrap
msgid "Choose IPv6 Networking"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:906
#, no-wrap
msgid "Menu indicating if IPv6 wants to be configured for the selected interface."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:906
#, no-wrap
msgid "bsdinstall-configure-network-interface-ipv6.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:912
msgid ""
"IPv6 also has two methods of configuration. StateLess Address "
"AutoConfiguration (SLAAC) will automatically request the correct "
"configuration information from a local router. Refer to http://tools.ietf."
"org/html/rfc4862[rfc4862] for more information. Static configuration "
"requires manual entry of network information."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:915
msgid ""
"If an IPv6 router is available, select btn:[Yes] in the next menu to "
"automatically configure the network interface. The installer will appear to "
"pause for a minute or so as it finds the router and obtains the addressing "
"information for the system."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:917
#, no-wrap
msgid "Choose IPv6 SLAAC Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:918
#, no-wrap
msgid "Menu indicating if SLAAC wants to be configured for the selected interface."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:918
#, no-wrap
msgid "bsdinstall-configure-network-interface-slaac.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:921
msgid ""
"If an IPv6 router is not available, select btn:[No] and input the following "
"addressing information in this menu:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:923
#, no-wrap
msgid "IPv6 Static Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:924
#, no-wrap
msgid "Menu requesting data to configure IPv6 network."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:924
#, no-wrap
msgid "bsdinstall-configure-network-interface-ipv6-static.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:927
msgid ""
"`IPv6 Address` - The IPv6 address assigned to this computer. The address "
"must be unique and not already in use by another device on the local network."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:928
msgid "`Default Router` - The IPv6 address of the network's default gateway."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:934
msgid ""
"The last network configuration menu is used to configure the Domain Name "
"System (DNS) resolver, which converts hostnames to and from network "
"addresses. If DHCP or SLAAC was used to autoconfigure the network "
"interface, the `Resolver Configuration` values may already be filled in. "
"Otherwise, enter the local network's domain name in the `Search` field. "
"`DNS #1` and `DNS #2` are the IPv4 and/or IPv6 addresses of the DNS "
"servers. At least one DNS server is required."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:936
#, no-wrap
msgid "DNS Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:937
#, no-wrap
msgid "Menu requesting data to configure DNS for the network."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:937
#, no-wrap
msgid "bsdinstall-configure-network-ipv4-dns.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:941
msgid ""
"Once the interface is configured, select a mirror site that is located in "
"the same region of the world as the computer on which FreeBSD is being "
"installed. Files can be retrieved more quickly when the mirror is close to "
"the target computer, reducing installation time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:945
msgid ""
"Selecting `ftp://ftp.freebsd.org (Main Site)` will automatically route you "
"to the nearest mirror."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:948
#, no-wrap
msgid "Choosing a Mirror"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:949
#, no-wrap
msgid "Menu requesting a network mirror."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:949
#, no-wrap
msgid "bsdinstall-netinstall-mirrorselect.png"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:952
#, no-wrap
msgid "Setting the Time Zone"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:956
msgid ""
"The next series of menus are used to determine the correct local time by "
"selecting the geographic region, country, and time zone. Setting the time "
"zone allows the system to automatically correct for regional time changes, "
"such as daylight savings time, and perform other time zone related functions "
"properly."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:959
msgid ""
"The example shown here is for a machine located in the mainland time zone of "
"Spain, Europe. The selections will vary according to the geographical "
"location."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:961
#, no-wrap
msgid "Select a Region"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:962
#, no-wrap
msgid "Menu requesting the timezone region."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:962
#, no-wrap
msgid "bsdinstall-timezone-region.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:965
msgid ""
"The appropriate region is selected using the arrow keys and then pressing "
"kbd:[Enter]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:967
#, no-wrap
msgid "Select a Country"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:968
#, no-wrap
msgid "Menu requesting the timezone country."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:968
#, no-wrap
msgid "bsdinstall-timezone-country.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:971
msgid ""
"Select the appropriate country using the arrow keys and press kbd:[Enter]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:973
#, no-wrap
msgid "Select a Time Zone"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:974
#, no-wrap
msgid "Menu requesting the timezone zone."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:974
#, no-wrap
msgid "bsdinstall-timezone-zone.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:977
msgid ""
"The appropriate time zone is selected using the arrow keys and pressing kbd:"
"[Enter]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:979
#, no-wrap
msgid "Confirm Time Zone"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:980
#, no-wrap
msgid "Menu requesting confirmation of the selected timezone."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:980
#, no-wrap
msgid "bsdinstall-timezone-confirm.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:983
msgid "Confirm the abbreviation for the time zone is correct."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:985
#, no-wrap
msgid "Select Date"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:986
#, no-wrap
msgid "Menu requesting the system date."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:986
#, no-wrap
msgid "bsdinstall-timezone-date.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:990
msgid ""
"The appropriate date is selected using the arrow keys and then pressing btn:"
"[Set Date]. Otherwise, the date selection can be skipped by pressing btn:"
"[Skip]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:992
#, no-wrap
msgid "Select Time"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:993
#, no-wrap
msgid "Menu requesting the system time."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:993
#, no-wrap
msgid "bsdinstall-timezone-time.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:997
msgid ""
"The appropriate time is selected using the arrow keys and then pressing btn:"
"[Set Time]. Otherwise, the time selection can be skipped by pressing btn:"
"[Skip]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:999
#, no-wrap
msgid "Enabling Services"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1004
msgid ""
"The next menu is used to configure which system services will be started "
"whenever the system boots. All of these services are optional. Only start "
"the services that are needed for the system to function."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1006
#, no-wrap
msgid "Selecting Additional Services to Enable"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1007
#, no-wrap
msgid "Menu showing the different services available."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1007
#, no-wrap
msgid "bsdinstall-config-services.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1010
msgid "Here is a summary of the services that can be enabled in this menu:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1012
msgid ""
"`local_unbound` - Enable the DNS local unbound. It is necessary to keep in "
"mind that this is a configuration only meant for use as a local caching "
"forwarding resolver. If the objective is to set up a resolver for the entire "
"network, install package:dns/unbound[]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1013
msgid ""
"`sshd` - The Secure Shell (SSH) daemon is used to remotely access a system "
"over an encrypted connection. Only enable this service if the system should "
"be available for remote logins."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1014
msgid ""
"`moused` - Enable this service if the mouse will be used from the command-"
"line system console."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1015
msgid ""
"`ntpdate` - Enable automatic clock synchronization at boot time. Note that "
"the functionality of this program is now available in the man:ntpd[8] daemon "
"and the man:ntpdate[8] utility will soon be retired."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1016
msgid ""
"`ntpd` - The Network Time Protocol (NTP) daemon for automatic clock "
"synchronization. Enable this service if you wish to synchronise your system "
"clock with a remote time server or pool."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1017
msgid ""
"`powerd` - System power control utility for power control and energy saving."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1018
msgid ""
"`dumpdev` - Crash dumps are useful when debugging issues with the system, so "
"users are encouraged to enable them."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1020
#, no-wrap
msgid "Enabling Hardening Security Options"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1025
msgid ""
"The next menu is used to configure which security options will be enabled. "
"All of these options are optional. But their use is encouraged."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1027
#, no-wrap
msgid "Selecting Hardening Security Options"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1028
#, no-wrap
msgid "Menu shoring the different hardening security options."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1028
#, no-wrap
msgid "bsdinstall-hardening.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1031
msgid "Here is a summary of the options that can be enabled in this menu:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1033
msgid ""
"`hide_uids` - Hide processes running as other users (UID). This prevents "
"unprivileged users from seeing running processes from other users."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1034
msgid ""
"`hide_gids` - Hide processes running as other groups (GID). This prevents "
"unprivileged users from seeing running processes from other groups."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1035
msgid ""
"`hide_jail` - Hide processes running in jails. This prevents unprivileged "
"users from seeing processes running inside jails."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1036
msgid ""
"`read_msgbuf` - Disable reading kernel message buffer for unprivileged "
"users. Prevent unprivileged users from using man:dmesg[8] to view messages "
"from the kernel's log buffer."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1037
msgid ""
"`proc_debug` - Disable process debugging facilities for unprivileged users. "
"Disables a variety of unprivileged inter-process debugging services, "
"including some procfs functionality, `ptrace()`, and `ktrace()`. Please note "
"that this will also prevent debugging tools such as man:lldb[1], man:"
"truss[1] and man:procstat[1], as well as some built-in debugging facilities "
"in certain scripting languages like PHP."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1038
msgid "`random_pid` - Randomize the PID of processes."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1039
msgid "`clear_tmp` - Clean `/tmp` when the system starts up."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1040
msgid ""
"`disable_syslogd` - Disable opening the syslogd network socket. By default, "
"FreeBSD runs syslogd in a secure way with `-s`. This prevents the daemon "
"from listening for incoming UDP requests on port 514. With this option "
"enabled, syslogd will instead run with `-ss`, which prevents syslogd from "
"opening any port. For more information, see man:syslogd[8]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1041
msgid "`disable_sendmail` - Disable the sendmail mail transport agent."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1042
msgid ""
"`secure_console` - Make the command prompt request the `root` password when "
"entering single-user mode."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1043
msgid ""
"`disable_ddtrace` - DTrace can run in a mode that affects the running "
"kernel. Destructive actions may not be used unless explicitly enabled. Use `-"
"w` to enable this option when using DTrace. For more information, see man:"
"dtrace[1]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1044
msgid ""
"`enable_aslr` - Enable address layout randomization. For more information "
"about address layout randomization the link:https://en.wikipedia.org/wiki/"
"Address_space_layout_randomization[Wikipedia article] can be consulted."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1046
#, no-wrap
msgid "Add Users"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1052
msgid ""
"The next menu prompts to create at least one user account. It is "
"recommended to log into the system using a user account rather than as "
"`root`. When logged in as `root`, there are essentially no limits or "
"protection on what can be done. Logging in as a normal user is safer and "
"more secure."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1054
msgid "Select btn:[Yes] to add new users."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1056
#, no-wrap
msgid "Add User Accounts"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1057
#, no-wrap
msgid "Menu requesting if a user want to be added to the system."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1057
#, no-wrap
msgid "bsdinstall-adduser1.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1061
msgid ""
"Follow the prompts and input the requested information for the user "
"account. The example shown in <<bsdinstall-add-user2>> creates the "
"`asample` user account."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1063
#, no-wrap
msgid "Enter User Information"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1064
#, no-wrap
msgid "Menu requesting different information for the new user."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1064
#, no-wrap
msgid "bsdinstall-adduser2.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1067
msgid "Here is a summary of the information to input:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1069
msgid ""
"`Username` - The name the user will enter to log in. A common convention is "
"to use the first letter of the first name combined with the last name, as "
"long as each username is unique for the system. The username is case "
"sensitive and should not contain any spaces."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1070
msgid ""
"`Full name` - The user's full name. This can contain spaces and is used as a "
"description for the user account."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1071
msgid ""
"`Uid` - User ID. This is typically left blank so the system automatically "
"assigns a value."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1072
msgid ""
"`Login group` - The user's group. This is typically left blank to accept the "
"default."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1073
msgid ""
"`Invite _user_ into other groups?` - Additional groups to which the user "
"will be added as a member. If the user needs administrative access, type "
"`wheel` here."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1074
msgid "`Login class` - Typically left blank for the default."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1075
msgid ""
"`Shell` - Type in one of the listed values to set the interactive shell for "
"the user. Refer to crossref:basics[shells,Shells] for more information about "
"shells."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1076
msgid ""
"`Home directory` - The user's home directory. The default is usually correct."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1077
msgid ""
"`Home directory permissions` - Permissions on the user's home directory. The "
"default is usually correct."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1078
msgid ""
"`Use password-based authentication?` - Typically `yes` so that the user is "
"prompted to input their password at login."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1079
msgid ""
"`Use an empty password?` - Typically `no` as empty or blank passwords are "
"insecure."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1080
msgid ""
"`Use a random password?` - Typically `no` so that the user can set their own "
"password in the next prompt."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1081
msgid ""
"`Enter password` - The password for this user. Typed-in characters will not "
"be shown on the screen."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1082
msgid ""
"`Enter password again` - The password must be typed again for verification."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1083
msgid ""
"`Lock out the account after creation?` - Typically `no` so that the user can "
"log in."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1087
msgid ""
"After entering all the details, a summary is shown for review. If a mistake "
"was made, enter `no` to correct it. Once everything is correct, enter `yes` "
"to create the new user."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1089
#, no-wrap
msgid "Exit User and Group Management"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1090
#, no-wrap
msgid "Menu showing the information of the new user and requesting if everything is correct."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1090
#, no-wrap
msgid "bsdinstall-adduser3.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1094
msgid ""
"If there are more users to add, answer the `Add another user?` question with "
"`yes`. Enter `no` to finish adding users and continue the installation."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1096
msgid ""
"For more information on adding users and user management, see crossref:"
"basics[users-synopsis,Users and Basic Account Management]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1098
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1103
#, no-wrap
msgid "Final Configuration"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1101
msgid ""
"After everything has been installed and configured, a final chance is "
"provided to modify settings."
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1104
#, no-wrap
msgid "Menu showing different options to perform before finishing the installation. Ex: Add user"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1104
#, no-wrap
msgid "bsdinstall-finalconfiguration.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1107
msgid ""
"Use this menu to make any changes or to do any additional configuration "
"before completing the installation."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1109
msgid "`Add User` - Described in <<bsdinstall-addusers>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1110
msgid "`Root Password` - Described in <<bsdinstall-post-root>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1111
msgid "`Hostname` - Described in <<bsdinstall-hostname>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1112
msgid "`Network` - Described in <<bsdinstall-config-network-dev>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1113
msgid "`Services` - Described in <<bsdinstall-sysconf>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1114
msgid "`System Hardening` - Described in <<bsdinstall-hardening>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1115
msgid "`Time Zone` - Described in <<bsdinstall-timezone>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1116
msgid "`Handbook` - Download and install the FreeBSD Handbook."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1118
msgid "Once configuration is complete, select btn:[Exit]."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1120
#, no-wrap
msgid "Manual Configuration"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1121
#, no-wrap
msgid "Menu showing that the installation has finished. And asking if you want to open a shell to make manual changes."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1121
#, no-wrap
msgid "bsdinstall-final-modification-shell.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1125
msgid ""
"bsdinstall will prompt for any additional configuration that needs to be "
"done before rebooting into the new system. Select btn:[Yes] to exit to a "
"shell within the new system or btn:[No] to proceed to the last step of the "
"installation."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1127
#, no-wrap
msgid "Complete the Installation"
msgstr ""
#. type: Positional ($1) AttributeList argument for macro 'image'
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1128
#, no-wrap
msgid "Menu showing that the installation has finished and asking whether to reboot the system or access the Live CD."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1128
#, no-wrap
msgid "bsdinstall-mainexit.png"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1131
msgid ""
"If further configuration or special setup is needed, select btn:[Live CD] to "
"boot the install media into Live CD mode."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1134
msgid ""
"If the installation is complete, select btn:[Reboot] to reboot the computer "
"and start the new FreeBSD system. Do not forget to remove the FreeBSD "
"install media or the computer might boot from it again."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1140
msgid ""
"As FreeBSD boots, informational messages are displayed. After the system "
"finishes booting, a login prompt is displayed. At the `login:` prompt, "
"enter the username added during the installation. Avoid logging in as "
"`root`. Refer to crossref:basics[users-superuser,The Superuser Account] for "
"instructions on how to become the superuser when administrative access is "
"needed."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1146
msgid ""
"The messages that appear during boot can be reviewed by pressing kbd:[Scroll-"
"Lock] to turn on the scroll-back buffer. The kbd:[PgUp], kbd:[PgDn], and "
"arrow keys can be used to scroll back through the messages. When finished, "
"press kbd:[Scroll-Lock] again to unlock the display and return to the "
"console. To review these messages once the system has been up for some "
"time, type `less /var/run/dmesg.boot` from a command prompt. Press kbd:[q] "
"to return to the command line after viewing."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1150
msgid ""
"If sshd was enabled in <<bsdinstall-config-serv>>, the first boot might be a "
"bit slower as the system generates SSH host keys. Subsequent boots will be "
"faster. The fingerprints of the keys are then displayed as in the following "
"example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1188
#, no-wrap
msgid ""
"Generating public/private rsa1 key pair.\n"
"Your identification has been saved in /etc/ssh/ssh_host_key.\n"
"Your public key has been saved in /etc/ssh/ssh_host_key.pub.\n"
"The key fingerprint is:\n"
"10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com\n"
"The key's randomart image is:\n"
"+--[RSA1 1024]----+\n"
"| o.. |\n"
"| o . . |\n"
"| . o |\n"
"| o |\n"
"| o S |\n"
"| + + o |\n"
"|o . + * |\n"
"|o+ ..+ . |\n"
"|==o..o+E |\n"
"+-----------------+\n"
"Generating public/private dsa key pair.\n"
"Your identification has been saved in /etc/ssh/ssh_host_dsa_key.\n"
"Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.\n"
"The key fingerprint is:\n"
"7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com\n"
"The key's randomart image is:\n"
"+--[ DSA 1024]----+\n"
"| .. . .|\n"
"| o . . + |\n"
"| . .. . E .|\n"
"| . . o o . . |\n"
"| + S = . |\n"
"| + . = o |\n"
"| + . * . |\n"
"| . . o . |\n"
"| .o. . |\n"
"+-----------------+\n"
"Starting sshd.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1191
msgid ""
"Refer to crossref:security[openssh,\"OpenSSH\"] for more information about "
"fingerprints and SSH."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1194
msgid ""
"FreeBSD does not install a graphical environment by default. Refer to "
"crossref:x11[x11,The X Window System] for more information about installing "
"and configuring a graphical window manager."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1198
msgid ""
"Proper shutdown of a FreeBSD computer helps protect data and hardware from "
"damage. _Do not turn off the power before the system has been properly shut "
"down!_ If the user is a member of the `wheel` group, become the superuser by "
"typing `su` at the command line and entering the `root` password. Then, "
"type `shutdown -p now` and the system will shut down cleanly, and, if the "
"hardware supports it, turn itself off."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1200
#, no-wrap
msgid "Troubleshooting"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1203
msgid ""
"This section covers basic installation troubleshooting, such as common "
"problems people have reported."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1205
msgid ""
"Check the Hardware Notes listed on the link:https://www.FreeBSD.org/releases/"
"[FreeBSD Release Information] page for the version of FreeBSD to make sure "
"the hardware is supported."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1211
msgid ""
"Some installation problems can be avoided or alleviated by updating the "
"firmware on various hardware components, most notably the motherboard. "
"Motherboard firmware is usually referred to as the BIOS. Most motherboard "
"and computer manufacturers have a website for upgrades and upgrade "
"information."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1214
msgid ""
"Manufacturers generally advise against upgrading the motherboard BIOS unless "
"there is a good reason for doing so, like a critical update. The upgrade "
"process _can_ go wrong, leaving the BIOS incomplete and the computer "
"inoperative."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1220
msgid ""
"If the system hangs while probing hardware during boot or behaves strangely "
"during the installation process, ACPI may be the culprit. FreeBSD makes "
"extensive use of the system ACPI service on the i386 and amd64 platforms to "
"aid in system configuration if it is detected during boot. Unfortunately, "
"some bugs still exist in both the ACPI driver and within system motherboards "
"and BIOS firmware. ACPI can be disabled by setting the `hint.acpi.0."
"disabled` hint in the third stage boot loader:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1224
#, no-wrap
msgid "set hint.acpi.0.disabled=\"1\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1228
msgid ""
"This is reset each time the system is booted, so it is necessary to add "
"`hint.acpi.0.disabled=\"1\"` to the file `/boot/loader.conf`. More "
"information about the boot loader can be found in crossref:boot[boot-"
"synopsis,“Synopsis”]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1230
#, no-wrap
msgid "Using the Live CD"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1234
msgid ""
"The welcome menu of bsdinstall, shown in <<bsdinstall-choose-mode>>, "
"provides a btn:[Live CD] option. This is useful for those who are still "
"wondering whether FreeBSD is the right operating system for them and want to "
"test some of the features before installing."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1236
msgid "The following points should be noted before using the btn:[Live CD]:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1238
msgid ""
"To gain access to the system, authentication is required. The username is "
"`root` and the password is blank."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1239
msgid ""
"As the system runs directly from the installation media, performance will be "
"significantly slower than that of a system installed on a hard disk."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/bsdinstall/_index.adoc:1239
msgid ""
"This option only provides a command prompt and not a graphical interface."
msgstr ""
diff --git a/documentation/content/en/books/handbook/config/_index.po b/documentation/content/en/books/handbook/config/_index.po
index f0ff5f0337..30223bbb3f 100644
--- a/documentation/content/en/books/handbook/config/_index.po
+++ b/documentation/content/en/books/handbook/config/_index.po
@@ -1,3094 +1,3362 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/config/_index.adoc:1
#, no-wrap
-msgid "This chapter explains much of the FreeBSD configuration process, including some of the parameters which can be set to tune a FreeBSD system."
+msgid "This chapter explains much of the FreeBSD configuration files, how to enable or disable a service, how to configure the logging system and the power management area."
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/config/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/config/_index.adoc:1
#, no-wrap
-msgid "Chapter 14. Configuration and Tuning"
+msgid "Chapter 14. Configuration, Services, Logging and Power Management"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/config/_index.adoc:14
#, no-wrap
-msgid "Configuration and Tuning"
+msgid "Configuration, Services, Logging and Power Management"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/config/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:56
msgid ""
"One of the important aspects of FreeBSD is proper system configuration. "
"This chapter explains much of the FreeBSD configuration process, including "
"some of the parameters which can be set to tune a FreeBSD system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:58
msgid "Before reading this chapter, you should:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:60
msgid ""
"Understand UNIX(R) and FreeBSD basics (crossref:basics[basics,FreeBSD "
"Basics])."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:61
-msgid ""
-"Be familiar with the basics of kernel configuration and compilation "
-"(crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel])."
+#: documentation/content/en/books/handbook/config/_index.adoc:62
+msgid "After reading this chapter, you will know:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:63
-msgid "After reading this chapter, you will know:"
+#: documentation/content/en/books/handbook/config/_index.adoc:64
+msgid "How to use the various configuration files in [.filename]#/etc#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:65
msgid ""
"The basics of [.filename]#rc.conf# configuration and [.filename]#/usr/local/"
"etc/rc.d# startup scripts."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:66
-msgid "How to use the various configuration files in [.filename]#/etc#."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:67
msgid "How to tune FreeBSD using man:sysctl[8] variables."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:68
-msgid "How to tune disk performance and modify kernel limitations."
+#: documentation/content/en/books/handbook/config/_index.adoc:67
+msgid "How to configure the power management in FreeBSD."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:70
+#: documentation/content/en/books/handbook/config/_index.adoc:69
#, no-wrap
-msgid "Starting Services"
+msgid "Configuration Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:75
+#: documentation/content/en/books/handbook/config/_index.adoc:72
msgid ""
-"Many users install third party software on FreeBSD from the Ports Collection "
-"and require the installed services to be started upon system "
-"initialization. Services, such as package:mail/postfix[] or package:www/"
-"apache22[] are just two of the many software packages which may be started "
-"during system initialization. This section explains the procedures "
-"available for starting third party software."
+"FreeBSD maintains a clear separation between the base system and third party "
+"applications and therefore this affects where the configuration files of "
+"these applications are located."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:77
+#: documentation/content/en/books/handbook/config/_index.adoc:75
msgid ""
-"In FreeBSD, most included services, such as man:cron[8], are started through "
-"the system startup scripts."
+"FreeBSD base system configuration is located at the [.filename]#/etc# "
+"directory, and the [.filename]#/usr/local/etc# directory contains all the "
+"configuration files of the applications installed on the system through the "
+"ports collection and packages."
msgstr ""
-#. type: Title ===
+#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:78
-#, no-wrap
-msgid "Extended Application Configuration"
+msgid ""
+"The kernel state configuration is located in [.filename]#/etc/sysctl.conf#. "
+"In the section <<configtuning-sysctl>>, the operation of man:sysctl[8] will "
+"be explained in more detail."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:80
+msgid ""
+"For more information about the FreeBSD file system structure refer to man:"
+"hier[7]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:83
msgid ""
-"Now that FreeBSD includes [.filename]#rc.d#, configuration of application "
-"startup is easier and provides more features. Using the key words discussed "
-"in <<configtuning-rcd>>, applications can be set to start after certain "
-"other services and extra flags can be passed through [.filename]#/etc/rc."
-"conf# in place of hard coded flags in the startup script. A basic script "
-"may look similar to the following:"
+"As a general rule, configuration files do not use a standard on what syntax "
+"they must follow. Although it is true that the `#` character is normally "
+"used to comment a line and that each line has a configuration variable."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:91
-#, no-wrap
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:87
msgid ""
-"#!/bin/sh\n"
-"#\n"
-"# PROVIDE: utility\n"
-"# REQUIRE: DAEMON\n"
-"# KEYWORD: shutdown\n"
+"Some applications like man:pkg[8] are starting to use the link:https://"
+"github.com/vstakhov/libucl[Universal Configuration Language (UCL)]."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:93
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:89
#, no-wrap
-msgid ". /etc/rc.subr\n"
+msgid "The [.filename]#/etc# directory"
msgstr ""
-#. type: delimited block . 4
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:92
+msgid ""
+"The [.filename]#/etc# directory contains all of the FreeBSD base system "
+"configuration files that are responsible for configuring FreeBSD."
+msgstr ""
+
+#. type: delimited block = 4
#: documentation/content/en/books/handbook/config/_index.adoc:96
#, no-wrap
-msgid ""
-"name=utility\n"
-"rcvar=utility_enable\n"
+msgid "*Extreme* caution must be taken when modifying files in the [.filename]#/etc# directory; misconfiguration could make FreeBSD unbootable or malfunction.\n"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:98
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:103
#, no-wrap
-msgid "command=\"/usr/local/sbin/utility\"\n"
+msgid "[.filename]#/etc#"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:100
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:105
#, no-wrap
-msgid "load_rc_config $name\n"
+msgid "System configuration files and scripts."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:107
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:106
#, no-wrap
-msgid ""
-"#\n"
-"# DO NOT CHANGE THESE DEFAULT VALUES HERE\n"
-"# SET THEM IN THE /etc/rc.conf FILE\n"
-"#\n"
-"utility_enable=${utility_enable-\"NO\"}\n"
-"pidfile=${utility_pidfile-\"/var/run/utility.pid\"}\n"
+msgid "[.filename]#/etc/defaults#"
msgstr ""
-#. type: delimited block . 4
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:108
+#, no-wrap
+msgid "Default system configuration files, see man:rc[8] for more information."
+msgstr ""
+
+#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:109
#, no-wrap
-msgid "run_rc_command \"$1\"\n"
+msgid "[.filename]#/etc/fstab#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:113
-msgid ""
-"This script will ensure that the provided `utility` will be started after "
-"the `DAEMON` pseudo-service. It also provides a method for setting and "
-"tracking the process ID (PID)."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:111
+#, no-wrap
+msgid "man:fstab[5] contains descriptive information about the various file systems."
msgstr ""
-#. type: Plain text
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:112
+#, no-wrap
+msgid "[.filename]#/etc/mail#"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:114
+#, no-wrap
+msgid "Extra man:sendmail[8] configuration and other MTA configuration files."
+msgstr ""
+
+#. type: Table
#: documentation/content/en/books/handbook/config/_index.adoc:115
-msgid ""
-"This application could then have the following line placed in [.filename]#/"
-"etc/rc.conf#:"
+#, no-wrap
+msgid "[.filename]#/etc/mtree#"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:119
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:117
#, no-wrap
-msgid "utility_enable=\"YES\"\n"
+msgid "mtree configuration files, see man: mtree[8] for more information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:122
-msgid ""
-"This method allows for easier manipulation of command line arguments, "
-"inclusion of the default functions provided in [.filename]#/etc/rc.subr#, "
-"compatibility with man:rcorder[8], and provides for easier configuration via "
-"[.filename]#rc.conf#."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:118
+#, no-wrap
+msgid "[.filename]#/etc/pam.d#"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:123
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:120
#, no-wrap
-msgid "Using Services to Start Services"
+msgid "Configuration files for the Pluggable Authentication Modules (PAM) library."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:127
-msgid ""
-"Other services can be started using man:inetd[8]. Working with man:inetd[8] "
-"and its configuration is described in depth in crossref:network-"
-"servers[network-inetd,“The inetd Super-Server”]."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:121
+#, no-wrap
+msgid "[.filename]#/etc/periodic#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:131
-msgid ""
-"In some cases, it may make more sense to use man:cron[8] to start system "
-"services. This approach has a number of advantages as man:cron[8] runs "
-"these processes as the owner of the man:crontab[5]. This allows regular "
-"users to start and maintain their own applications."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:123
+#, no-wrap
+msgid "Scripts that are run daily, weekly, and monthly, via man:cron[8], see man:periodic[8] for more information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:134
-msgid ""
-"The `@reboot` feature of man:cron[8], may be used in place of the time "
-"specification. This causes the job to run when man:cron[8] is started, "
-"normally during system initialization."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:124
+#, no-wrap
+msgid "[.filename]#/etc/rc.d#"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:136
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:126
#, no-wrap
-msgid "Configuring man:cron[8]"
+msgid "System and daemon startup/control scripts, see man:rc[8] for more information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:142
-msgid ""
-"One of the most useful utilities in FreeBSD is cron. This utility runs in "
-"the background and regularly checks [.filename]#/etc/crontab# for tasks to "
-"execute and searches [.filename]#/var/cron/tabs# for custom crontab files. "
-"These files are used to schedule tasks which cron runs at the specified "
-"times. Each entry in a crontab defines a task to run and is known as a "
-"_cron job_."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:127
+#, no-wrap
+msgid "[.filename]#/etc/rc.conf#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:148
-msgid ""
-"Two different types of configuration files are used: the system crontab, "
-"which should not be modified, and user crontabs, which can be created and "
-"edited as needed. The format used by these files is documented in man:"
-"crontab[5]. The format of the system crontab, [.filename]#/etc/crontab# "
-"includes a `who` column which does not exist in user crontabs. In the "
-"system crontab, cron runs the command as the user specified in this column. "
-"In a user crontab, all commands run as the user who created the crontab."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:129
+#, no-wrap
+msgid "Contains descriptive information about the local host name, configuration details for any potential network interfaces and which services should be started up at system initial boot time. More information in <<configtuning-core-configuration>>"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:151
-msgid ""
-"User crontabs allow individual users to schedule their own tasks. The "
-"`root` user can also have a user [.filename]#crontab# which can be used to "
-"schedule tasks that do not exist in the system [.filename]#crontab#."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:130
+#, no-wrap
+msgid "[.filename]#/etc/security#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:153
-msgid ""
-"Here is a sample entry from the system crontab, [.filename]#/etc/crontab#:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:132
+#, no-wrap
+msgid "OpenBSM audit configuration files, see man:audit[8] for more information."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:166
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:133
#, no-wrap
-msgid ""
-"# /etc/crontab - root's crontab for FreeBSD\n"
-"#\n"
-"# $FreeBSD$\n"
-"# <.>\n"
-"SHELL=/bin/sh\n"
-"PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <.>\n"
-"#\n"
-"#minute\thour\tmday\tmonth\twday\twho\tcommand <.>\n"
-"#\n"
-"*/5\t*\t*\t*\t*\troot\t/usr/libexec/atrun <.>\n"
+msgid "[.filename]#/etc/ppp#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:169
-msgid ""
-"Lines that begin with the `+#+` character are comments. A comment can be "
-"placed in the file as a reminder of what and why a desired action is "
-"performed. Comments cannot be on the same line as a command or else they "
-"will be interpreted as part of the command; they must be on a new line. "
-"Blank lines are ignored."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:135
+#, no-wrap
+msgid "ppp configuration files, see man:ppp[8] for more information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:171
-msgid ""
-"The equals (`=`) character is used to define any environment settings. In "
-"this example, it is used to define the `SHELL` and `PATH`. If the `SHELL` is "
-"omitted, cron will use the default Bourne shell. If the `PATH` is omitted, "
-"the full path must be given to the command or script to run."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:136
+#, no-wrap
+msgid "[.filename]#/etc/ssh#"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:173
-msgid ""
-"This line defines the seven fields used in a system crontab: `minute`, "
-"`hour`, `mday`, `month`, `wday`, `who`, and `command`. The `minute` field is "
-"the time in minutes when the specified command will be run, the `hour` is "
-"the hour when the specified command will be run, the `mday` is the day of "
-"the month, `month` is the month, and `wday` is the day of the week. These "
-"fields must be numeric values, representing the twenty-four hour clock, or a "
-"`*`, representing all values for that field. The `who` field only exists in "
-"the system crontab and specifies which user the command should be run as. "
-"The last field is the command to be executed."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:138
+#, no-wrap
+msgid "OpenSSH configuration files, see man:ssh[1] for more information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:175
-msgid ""
-"This entry defines the values for this cron job. The `\\*/5`, followed by "
-"several more `*` characters, specifies that `/usr/libexec/atrun` is invoked "
-"by `root` every five minutes of every hour, of every day and day of the "
-"week, of every month.Commands can include any number of switches. However, "
-"commands which extend to multiple lines need to be broken with the backslash "
-"\"\\\" continuation character."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:139
+#, no-wrap
+msgid "[.filename]#/etc/ssl#"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:177
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:141
#, no-wrap
-msgid "Creating a User Crontab"
+msgid "OpenSSL configuration files."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:180
-msgid "To create a user crontab, invoke `crontab` in editor mode:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:142
+#, no-wrap
+msgid "[.filename]#/etc/sysctl.conf#"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:184
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:144
#, no-wrap
-msgid "% crontab -e\n"
+msgid "Contains settings for the kernel. More information in <<configtuning-sysctl>>"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:147
+#, no-wrap
+msgid "The sysctl utility"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:189
+#: documentation/content/en/books/handbook/config/_index.adoc:150
msgid ""
-"This will open the user's crontab using the default text editor. The first "
-"time a user runs this command, it will open an empty file. Once a user "
-"creates a crontab, this command will open that file for editing."
+"The man:sysctl[8] utility is used to make changes to a running FreeBSD "
+"system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:191
+#: documentation/content/en/books/handbook/config/_index.adoc:153
msgid ""
-"It is useful to add these lines to the top of the crontab file in order to "
-"set the environment variables and to remember the meanings of the fields in "
-"the crontab:"
+"The man:sysctl[8] utility retrieves kernel state and allows processes with "
+"appropriate privilege to set kernel state. The state to be retrieved or set "
+"is described using a \"Management Information Base\" (\"MIB\") style name, "
+"described as a dotted set of components."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:198
+#. type: Block title
+#: documentation/content/en/books/handbook/config/_index.adoc:154
#, no-wrap
-msgid ""
-"SHELL=/bin/sh\n"
-"PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin\n"
-"# Order of crontab fields\n"
-"# minute\thour\tmday\tmonth\twday\tcommand\n"
+msgid "Management Information Base"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:203
-msgid ""
-"Then add a line for each command or script to run, specifying the time to "
-"run the command. This example runs the specified custom Bourne shell script "
-"every day at two in the afternoon. Since the path to the script is not "
-"specified in `PATH`, the full path to the script is given:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:160
+#, no-wrap
+msgid "sysctl"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:207
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:162
#, no-wrap
-msgid "0\t14\t*\t*\t*\t/usr/home/dru/bin/mycustomscript.sh\n"
+msgid "\"Magic\" numbers"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:214
-msgid ""
-"Before using a custom script, make sure it is executable and test it with "
-"the limited set of environment variables set by cron. To replicate the "
-"environment that would be used to run the above cron entry, use:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:163
+#: documentation/content/en/books/handbook/config/_index.adoc:798
+#, no-wrap
+msgid "kern"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:218
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:165
#, no-wrap
-msgid "env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/dru LOGNAME=dru /usr/home/dru/bin/mycustomscript.sh\n"
+msgid "Kernel functions and features"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:222
-msgid ""
-"The environment set by cron is discussed in man:crontab[5]. Checking that "
-"scripts operate correctly in a cron environment is especially important if "
-"they include any commands that delete files using wildcards."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:166
+#, no-wrap
+msgid "vm"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:227
-msgid ""
-"When finished editing the crontab, save the file. It will automatically be "
-"installed and cron will read the crontab and run its cron jobs at their "
-"specified times. To list the cron jobs in a crontab, use this command:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:168
+#, no-wrap
+msgid "virtual memory"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:232
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:169
#, no-wrap
-msgid ""
-"% crontab -l\n"
-"0\t14\t*\t*\t*\t/usr/home/dru/bin/mycustomscript.sh\n"
+msgid "vfs"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:235
-msgid "To remove all of the cron jobs in a user crontab:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:171
+#, no-wrap
+msgid "Filesystem"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:240
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:172
#, no-wrap
-msgid ""
-"% crontab -r\n"
-"remove crontab for dru? y\n"
+msgid "net"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:243
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:174
#, no-wrap
-msgid "Managing Services in FreeBSD"
+msgid "Network"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:248
-msgid ""
-"FreeBSD uses the man:rc[8] system of startup scripts during system "
-"initialization and for managing services. The scripts listed in [."
-"filename]#/etc/rc.d# provide basic services which can be controlled with the "
-"`start`, `stop`, and `restart` options to man:service[8]. For instance, man:"
-"sshd[8] can be restarted with the following command:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:175
+#: documentation/content/en/books/handbook/config/_index.adoc:864
+#, no-wrap
+msgid "debug"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:252
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:177
#, no-wrap
-msgid "# service sshd restart\n"
+msgid "Debugging parameters"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:257
-msgid ""
-"This procedure can be used to start services on a running system. Services "
-"will be started automatically at boot time as specified in man:rc.conf[5]. "
-"For example, to enable man:natd[8] at system startup, add the following line "
-"to [.filename]#/etc/rc.conf#:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:178
+#, no-wrap
+msgid "hw"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:261
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:180
+#, no-wrap
+msgid "Hardware"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:181
+#, no-wrap
+msgid "machdep"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:183
+#, no-wrap
+msgid "Machine dependent"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:184
+#: documentation/content/en/books/handbook/config/_index.adoc:822
+#, no-wrap
+msgid "user"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:186
+#, no-wrap
+msgid "Userland"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:187
+#, no-wrap
+msgid "p1003_1b"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:189
#, no-wrap
-msgid "natd_enable=\"YES\"\n"
+msgid "POSIX 1003.1B"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:265
+#: documentation/content/en/books/handbook/config/_index.adoc:192
msgid ""
-"If a `natd_enable=\"NO\"` line is already present, change the `NO` to "
-"`YES`. The man:rc[8] scripts will automatically load any dependent services "
-"during the next boot, as described below."
+"At its core, man:sysctl[8] serves two functions: to read and to modify "
+"system settings."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:270
-msgid ""
-"Since the man:rc[8] system is primarily intended to start and stop services "
-"at system startup and shutdown time, the `start`, `stop` and `restart` "
-"options will only perform their action if the appropriate [.filename]#/etc/"
-"rc.conf# variable is set. For instance, `sshd restart` will only work if "
-"`sshd_enable` is set to `YES` in [.filename]#/etc/rc.conf#. To `start`, "
-"`stop` or `restart` a service regardless of the settings in [.filename]#/etc/"
-"rc.conf#, these commands should be prefixed with \"one\". For instance, to "
-"restart man:sshd[8] regardless of the current [.filename]#/etc/rc.conf# "
-"setting, execute the following command:"
+#: documentation/content/en/books/handbook/config/_index.adoc:194
+msgid "To view all readable variables:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:274
+#: documentation/content/en/books/handbook/config/_index.adoc:198
#, no-wrap
-msgid "# service sshd onerestart\n"
+msgid "% sysctl -a\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:278
-msgid ""
-"To check if a service is enabled in [.filename]#/etc/rc.conf#, run the "
-"appropriate man:rc[8] script with `rcvar`. This example checks to see if "
-"man:sshd[8] is enabled in [.filename]#/etc/rc.conf#:"
+#: documentation/content/en/books/handbook/config/_index.adoc:201
+#: documentation/content/en/books/handbook/config/_index.adoc:225
+#: documentation/content/en/books/handbook/config/_index.adoc:239
+#: documentation/content/en/books/handbook/config/_index.adoc:266
+#: documentation/content/en/books/handbook/config/_index.adoc:310
+#: documentation/content/en/books/handbook/config/_index.adoc:450
+#: documentation/content/en/books/handbook/config/_index.adoc:614
+#: documentation/content/en/books/handbook/config/_index.adoc:628
+#: documentation/content/en/books/handbook/config/_index.adoc:1142
+#: documentation/content/en/books/handbook/config/_index.adoc:1205
+#: documentation/content/en/books/handbook/config/_index.adoc:1255
+#: documentation/content/en/books/handbook/config/_index.adoc:1340
+#: documentation/content/en/books/handbook/config/_index.adoc:1366
+#: documentation/content/en/books/handbook/config/_index.adoc:1383
+#: documentation/content/en/books/handbook/config/_index.adoc:1463
+msgid "The output should be similar to the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:286
+#: documentation/content/en/books/handbook/config/_index.adoc:215
#, no-wrap
msgid ""
-"# service sshd rcvar\n"
-"# sshd\n"
-"#\n"
-"sshd_enable=\"YES\"\n"
-"# (default: \"\")\n"
+"kern.ostype: FreeBSD\n"
+"...\n"
+"vm.swap_enabled: 1\n"
+"vm.overcommit: 0\n"
+"vm.domain.0.pidctrl.kdd: 8\n"
+"vm.domain.0.pidctrl.kid: 4\n"
+"vm.domain.0.pidctrl.kpd: 3\n"
+"...\n"
+"vfs.zfs.sync_pass_rewrite: 2\n"
+"vfs.zfs.sync_pass_dont_compress: 8\n"
+"vfs.zfs.sync_pass_deferred_free: 2\n"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:291
-msgid ""
-"The `# sshd` line is output from the above command, not a `root` console."
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:218
+msgid "To read a particular variable, specify its name:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:222
+#, no-wrap
+msgid "% sysctl kern.maxproc\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:229
+#, no-wrap
+msgid "kern.maxproc: 1044\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:295
+#: documentation/content/en/books/handbook/config/_index.adoc:232
msgid ""
-"To determine whether or not a service is running, use `status`. For "
-"instance, to verify that man:sshd[8] is running:"
+"The Management Information Base (MIB) is hierarchical and hence, specifying "
+"a prefix prints all the nodes hanging from it:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:300
+#: documentation/content/en/books/handbook/config/_index.adoc:236
#, no-wrap
-msgid ""
-"# service sshd status\n"
-"sshd is running as pid 433.\n"
+msgid "% sysctl net\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:306
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:256
+#, no-wrap
msgid ""
-"In some cases, it is also possible to `reload` a service. This attempts to "
-"send a signal to an individual service, forcing the service to reload its "
-"configuration files. In most cases, this means sending the service a "
-"`SIGHUP` signal. Support for this feature is not included for every service."
+"net.local.stream.recvspace: 8192\n"
+"net.local.stream.sendspace: 8192\n"
+"net.local.dgram.recvspace: 16384\n"
+"net.local.dgram.maxdgram: 2048\n"
+"net.local.seqpacket.recvspace: 8192\n"
+"net.local.seqpacket.maxseqpacket: 8192\n"
+"net.local.sockcount: 60\n"
+"net.local.taskcount: 25\n"
+"net.local.recycled: 0\n"
+"net.local.deferred: 0\n"
+"net.local.inflight: 0\n"
+"net.inet.ip.portrange.randomtime: 1\n"
+"net.inet.ip.portrange.randomcps: 9999\n"
+"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:309
-msgid ""
-"The man:rc[8] system is used for network services and it also contributes to "
-"most of the system initialization. For instance, when the [.filename]#/etc/"
-"rc.d/bgfsck# script is executed, it prints out the following message:"
+#: documentation/content/en/books/handbook/config/_index.adoc:259
+msgid "To set a particular variable, use the _variable_=_value_ syntax:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:313
+#: documentation/content/en/books/handbook/config/_index.adoc:263
#, no-wrap
-msgid "Starting background file system checks in 60 seconds.\n"
+msgid "# sysctl kern.maxfiles=5000\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:316
-msgid ""
-"This script is used for background file system checks, which occur only "
-"during system initialization."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:270
+#, no-wrap
+msgid "kern.maxfiles: 2088 -> 5000\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:321
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:275
msgid ""
-"Many system services depend on other services to function properly. For "
-"example, man:yp[8] and other RPC-based services may fail to start until "
-"after the man:rpcbind[8] service has started. To resolve this issue, "
-"information about dependencies and other meta-data is included in the "
-"comments at the top of each startup script. The man:rcorder[8] program is "
-"used to parse these comments during system initialization to determine the "
-"order in which system services should be invoked to satisfy the dependencies."
+"To keep the configuration after a reboot it is necessary to add these "
+"variables to the [.filename]#/etc/sysctl.conf# file as explained below."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:278
+#, no-wrap
+msgid "The [.filename]#/etc/sysctl.conf# file"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:323
+#: documentation/content/en/books/handbook/config/_index.adoc:281
msgid ""
-"The following key word must be included in all startup scripts as it is "
-"required by man:rc.subr[8] to \"enable\" the startup script:"
+"The configuration file for man:sysctl[8], [.filename]#/etc/sysctl.conf#, "
+"looks much like [.filename]#/etc/rc.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:325
-msgid "`PROVIDE`: Specifies the services this file provides."
+#: documentation/content/en/books/handbook/config/_index.adoc:283
+msgid "Values are set using a `variable=value` syntax."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:328
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:288
msgid ""
-"The following key words may be included at the top of each startup script. "
-"They are not strictly necessary, but are useful as hints to man:rcorder[8]:"
+"The specified values are set after the system goes into multi-user mode. "
+"Not all variables are settable in this mode."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:330
+#: documentation/content/en/books/handbook/config/_index.adoc:291
msgid ""
-"`REQUIRE`: Lists services which are required for this service. The script "
-"containing this key word will run _after_ the specified services."
+"For example, to turn off logging of fatal signal exits and prevent users "
+"from seeing processes started by other users, the following tunables can be "
+"set in [.filename]#/etc/sysctl.conf#:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:331
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:296
+#, no-wrap
msgid ""
-"`BEFORE`: Lists services which depend on this service. The script containing "
-"this key word will run _before_ the specified services."
+"# Do not log fatal signal exits (e.g., sig 11)\n"
+"kern.logsigexit=0\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:333
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:300
+#, no-wrap
msgid ""
-"By carefully setting these keywords for each startup script, an "
-"administrator has a fine-grained level of control of the startup order of "
-"the scripts, without the need for \"runlevels\" used by some UNIX(R) "
-"operating systems."
+"# Prevent users from seeing information about processes that\n"
+"# are being run under another UID.\n"
+"security.bsd.see_other_uids=0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:336
+#: documentation/content/en/books/handbook/config/_index.adoc:303
msgid ""
-"Additional information can be found in man:rc[8] and man:rc.subr[8]. Refer "
-"to extref:{rc-scripting}[this article] for instructions on how to create "
-"custom man:rc[8] scripts."
+"To obtain more information about what function a particular sysctl has, the "
+"following command can be executed:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:307
+#, no-wrap
+msgid "% sysctl -d kern.dfldsiz\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:314
+#, no-wrap
+msgid "kern.dfldsiz: Initial data size limit\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:338
+#: documentation/content/en/books/handbook/config/_index.adoc:317
#, no-wrap
msgid "Managing System-Specific Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:343
+#: documentation/content/en/books/handbook/config/_index.adoc:320
msgid ""
"The principal location for system configuration information is [.filename]#/"
-"etc/rc.conf#. This file contains a wide range of configuration information "
-"and it is read at system startup to configure the system. It provides the "
-"configuration information for the [.filename]#rc*# files."
+"etc/rc.conf#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:323
+msgid ""
+"This file contains a wide range of configuration information and it is read "
+"at system startup to configure the system. It provides the configuration "
+"information for the [.filename]#rc*# files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:347
+#: documentation/content/en/books/handbook/config/_index.adoc:325
msgid ""
"The entries in [.filename]#/etc/rc.conf# override the default settings in [."
-"filename]#/etc/defaults/rc.conf#. The file containing the default settings "
+"filename]#/etc/defaults/rc.conf#."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:330
+msgid ""
+"The file [.filename]#/etc/defaults/rc.conf# containing the default settings "
"should not be edited. Instead, all system-specific changes should be made "
"to [.filename]#/etc/rc.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:351
+#: documentation/content/en/books/handbook/config/_index.adoc:333
msgid ""
"A number of strategies may be applied in clustered applications to separate "
"site-wide configuration from system-specific configuration in order to "
-"reduce administration overhead. The recommended approach is to place system-"
-"specific configuration into [.filename]#/etc/rc.conf.local#. For example, "
-"these entries in [.filename]#/etc/rc.conf# apply to all systems:"
+"reduce administration overhead."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:335
+msgid ""
+"The recommended approach is to place system-specific configuration into [."
+"filename]#/etc/rc.conf.local#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:337
+msgid ""
+"For example, these entries in [.filename]#/etc/rc.conf# apply to all systems:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:357
+#: documentation/content/en/books/handbook/config/_index.adoc:343
#, no-wrap
msgid ""
"sshd_enable=\"YES\"\n"
"keyrate=\"fast\"\n"
"defaultrouter=\"10.1.1.254\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:360
+#: documentation/content/en/books/handbook/config/_index.adoc:346
msgid ""
"Whereas these entries in [.filename]#/etc/rc.conf.local# apply to this "
"system only:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:365
+#: documentation/content/en/books/handbook/config/_index.adoc:351
#, no-wrap
msgid ""
"hostname=\"node1.example.org\"\n"
"ifconfig_fxp0=\"inet 10.1.1.1/8\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:368
+#: documentation/content/en/books/handbook/config/_index.adoc:354
msgid ""
"Distribute [.filename]#/etc/rc.conf# to every system using an application "
"such as rsync or puppet, while [.filename]#/etc/rc.conf.local# remains "
"unique."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:370
+#: documentation/content/en/books/handbook/config/_index.adoc:356
msgid ""
"Upgrading the system will not overwrite [.filename]#/etc/rc.conf#, so system "
"configuration information will not be lost."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:377
+#: documentation/content/en/books/handbook/config/_index.adoc:362
msgid ""
"Both [.filename]#/etc/rc.conf# and [.filename]#/etc/rc.conf.local# are "
"parsed by man:sh[1]. This allows system operators to create complex "
"configuration scenarios. Refer to man:rc.conf[5] for further information on "
"this topic."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:380
+#: documentation/content/en/books/handbook/config/_index.adoc:365
#, no-wrap
-msgid "Configuring System Logging"
+msgid "Managing Services in FreeBSD"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:386
+#: documentation/content/en/books/handbook/config/_index.adoc:368
msgid ""
-"Generating and reading system logs is an important aspect of system "
-"administration. The information in system logs can be used to detect "
-"hardware and software issues as well as application and system configuration "
-"errors. This information also plays an important role in security auditing "
-"and incident response. Most system daemons and applications will generate "
-"log entries."
+"FreeBSD uses the man:rc[8] system of startup scripts during system "
+"initialization and for managing services."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:392
+#: documentation/content/en/books/handbook/config/_index.adoc:370
msgid ""
-"FreeBSD provides a system logger, syslogd, to manage logging. By default, "
-"syslogd is started when the system boots. This is controlled by the "
-"variable `syslogd_enable` in [.filename]#/etc/rc.conf#. There are numerous "
-"application arguments that can be set using `syslogd_flags` in [.filename]#/"
-"etc/rc.conf#. Refer to man:syslogd[8] for more information on the available "
-"arguments."
+"The scripts listed in [.filename]#/etc/rc.d# provide basic services which "
+"can be controlled with the `start`, `stop`, and `restart` options to man:"
+"service[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:394
+#: documentation/content/en/books/handbook/config/_index.adoc:372
+msgid "A basic script may look similar to the following:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:380
+#, no-wrap
msgid ""
-"This section describes how to configure the FreeBSD system logger for both "
-"local and remote logging and how to perform log rotation and log management."
+"#!/bin/sh\n"
+"#\n"
+"# PROVIDE: utility\n"
+"# REQUIRE: DAEMON\n"
+"# KEYWORD: shutdown\n"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:395
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:382
#, no-wrap
-msgid "Configuring Local Logging"
+msgid ". /etc/rc.subr\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:402
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:385
+#, no-wrap
msgid ""
-"The configuration file, [.filename]#/etc/syslog.conf#, controls what syslogd "
-"does with log entries as they are received. There are several parameters to "
-"control the handling of incoming events. The _facility_ describes which "
-"subsystem generated the message, such as the kernel or a daemon, and the "
-"_level_ describes the severity of the event that occurred. This makes it "
-"possible to configure if and where a log message is logged, depending on the "
-"facility and level. It is also possible to take action depending on the "
-"application that sent the message, and in the case of remote logging, the "
-"hostname of the machine generating the logging event."
+"name=utility\n"
+"rcvar=utility_enable\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:410
-msgid ""
-"This configuration file contains one line per action, where the syntax for "
-"each line is a selector field followed by an action field. The syntax of "
-"the selector field is _facility.level_ which will match log messages from "
-"_facility_ at level _level_ or higher. It is also possible to add an "
-"optional comparison flag before the level to specify more precisely what is "
-"logged. Multiple selector fields can be used for the same action, and are "
-"separated with a semicolon (`;`). Using `*` will match everything. The "
-"action field denotes where to send the log message, such as to a file or "
-"remote log host. As an example, here is the default [.filename]#syslog."
-"conf# from FreeBSD:"
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:387
+#, no-wrap
+msgid "command=\"/usr/local/sbin/utility\"\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:389
+#, no-wrap
+msgid "load_rc_config $name\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:448
+#: documentation/content/en/books/handbook/config/_index.adoc:396
#, no-wrap
msgid ""
-"# $FreeBSD$\n"
"#\n"
-"# Spaces ARE valid field separators in this file. However,\n"
-"# other *nix-like systems still insist on using tabs as field\n"
-"# separators. If you are sharing this file between systems, you\n"
-"# may want to use only tabs as field separators here.\n"
-"# Consult the syslog.conf(5) manpage.\n"
-"*.err;kern.warning;auth.notice;mail.crit /dev/console\n"
-"*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages\n"
-"security.* /var/log/security\n"
-"auth.info;authpriv.info /var/log/auth.log\n"
-"mail.info /var/log/maillog\n"
-"lpr.info /var/log/lpd-errs\n"
-"ftp.info /var/log/xferlog\n"
-"cron.* /var/log/cron\n"
-"!-devd\n"
-"*.=debug /var/log/debug.log\n"
-"*.emerg *\n"
-"# uncomment this to log all writes to /dev/console to /var/log/console.log\n"
-"#console.info /var/log/console.log\n"
-"# uncomment this to enable logging of all log messages to /var/log/all.log\n"
-"# touch /var/log/all.log and chmod it to mode 600 before it will work\n"
-"#*.* /var/log/all.log\n"
-"# uncomment this to enable logging to a remote loghost named loghost\n"
-"#*.* @loghost\n"
-"# uncomment these if you're running inn\n"
-"# news.crit /var/log/news/news.crit\n"
-"# news.err /var/log/news/news.err\n"
-"# news.notice /var/log/news/news.notice\n"
-"# Uncomment this if you wish to see messages produced by devd\n"
-"# !devd\n"
-"# *.>=info\n"
-"!ppp\n"
-"*.* /var/log/ppp.log\n"
-"!*\n"
+"# DO NOT CHANGE THESE DEFAULT VALUES HERE\n"
+"# SET THEM IN THE /etc/rc.conf FILE\n"
+"#\n"
+"utility_enable=${utility_enable-\"NO\"}\n"
+"pidfile=${utility_pidfile-\"/var/run/utility.pid\"}\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:451
-msgid "In this example:"
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:398
+#, no-wrap
+msgid "run_rc_command \"$1\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:453
+#: documentation/content/en/books/handbook/config/_index.adoc:401
msgid ""
-"Line 8 matches all messages with a level of `err` or higher, as well as "
-"`kern.warning`, `auth.notice` and `mail.crit`, and sends these log messages "
-"to the console ([.filename]#/dev/console#)."
+"Refer to extref:{rc-scripting}[this article] for instructions on how to "
+"create custom man:rc[8] scripts."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:454
-msgid ""
-"Line 12 matches all messages from the `mail` facility at level `info` or "
-"above and logs the messages to [.filename]#/var/log/maillog#."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:403
+#, no-wrap
+msgid "Starting Services"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:455
+#: documentation/content/en/books/handbook/config/_index.adoc:406
msgid ""
-"Line 17 uses a comparison flag (`=`) to only match messages at level `debug` "
-"and logs them to [.filename]#/var/log/debug.log#."
+"Many users install third party software on FreeBSD from the Ports Collection "
+"and require the installed services to be started upon system initialization."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:456
+#: documentation/content/en/books/handbook/config/_index.adoc:409
msgid ""
-"Line 33 is an example usage of a program specification. This makes the rules "
-"following it only valid for the specified program. In this case, only the "
-"messages generated by ppp are logged to [.filename]#/var/log/ppp.log#."
+"Services, such as package:security/openssh-portable[] or package:www/nginx[] "
+"are just two of the many software packages which may be started during "
+"system initialization. This section explains the procedures available for "
+"starting services."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:458
+#: documentation/content/en/books/handbook/config/_index.adoc:411
msgid ""
-"The available levels, in order from most to least critical are `emerg`, "
-"`alert`, `crit`, `err`, `warning`, `notice`, `info`, and `debug`."
+"Since the man:rc[8] system is primarily intended to start and stop services "
+"at system startup and shutdown time, the `start`, `stop` and `restart` "
+"options will only perform their action if the appropriate [.filename]#/etc/"
+"rc.conf# variable is set."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:461
+#: documentation/content/en/books/handbook/config/_index.adoc:413
msgid ""
-"The facilities, in no particular order, are `auth`, `authpriv`, `console`, "
-"`cron`, `daemon`, `ftp`, `kern`, `lpr`, `mail`, `mark`, `news`, `security`, "
-"`syslog`, `user`, `uucp`, and `local0` through `local7`. Be aware that "
-"other operating systems might have different facilities."
+"So the first step to start a service, like for example package:www/nginx[] "
+"is to add it to [.filename]#/etc/rc.conf# by executing the following command:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:417
+#, no-wrap
+msgid "# sysrc nginx_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:463
-msgid ""
-"To log everything of level `notice` and higher to [.filename]#/var/log/"
-"daemon.log#, add the following entry:"
+#: documentation/content/en/books/handbook/config/_index.adoc:420
+msgid "Then nginx can be started executing the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:467
+#: documentation/content/en/books/handbook/config/_index.adoc:424
#, no-wrap
-msgid "daemon.notice /var/log/daemon.log\n"
+msgid "# service nginx start\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:471
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:430
msgid ""
-"For more information about the different levels and facilities, refer to man:"
-"syslog[3] and man:syslogd[8]. For more information about [.filename]#/etc/"
-"syslog.conf#, its syntax, and more advanced usage examples, see man:syslog."
-"conf[5]."
+"To `start`, `stop` or `restart` a service regardless of the settings in [."
+"filename]#/etc/rc.conf#, these commands should be prefixed with \"one\". "
+"For instance, to start package:www/nginx[] regardless of the current [."
+"filename]#/etc/rc.conf# setting, execute the following command:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:434
+#, no-wrap
+msgid "# service nginx onestart\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:472
+#: documentation/content/en/books/handbook/config/_index.adoc:438
#, no-wrap
-msgid "Log Management and Rotation"
+msgid "Status of a Service"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:481
-msgid ""
-"Log files can grow quickly, taking up disk space and making it more "
-"difficult to locate useful information. Log management attempts to mitigate "
-"this. In FreeBSD, newsyslog is used to manage log files. This built-in "
-"program periodically rotates and compresses log files, and optionally "
-"creates missing log files and signals programs when log files are moved. "
-"The log files may be generated by syslogd or by any other program which "
-"generates log files. While newsyslog is normally run from man:cron[8], it "
-"is not a system daemon. In the default configuration, it runs every hour."
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:441
+msgid "To determine if a service is running, use the `status` subcommand."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:486
-msgid ""
-"To know which actions to take, newsyslog reads its configuration file, [."
-"filename]#/etc/newsyslog.conf#. This file contains one line for each log "
-"file that newsyslog manages. Each line states the file owner, permissions, "
-"when to rotate that file, optional flags that affect log rotation, such as "
-"compression, and programs to signal when the log is rotated. Here is the "
-"default configuration in FreeBSD:"
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:443
+msgid "For example, to verify that package:www/nginx[] is running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:528
+#: documentation/content/en/books/handbook/config/_index.adoc:447
#, no-wrap
-msgid ""
-"# configuration file for newsyslog\n"
-"# $FreeBSD$\n"
-"#\n"
-"# Entries which do not specify the '/pid_file' field will cause the\n"
-"# syslogd process to be signalled when that log file is rotated. This\n"
-"# action is only appropriate for log files which are written to by the\n"
-"# syslogd process (ie, files listed in /etc/syslog.conf). If there\n"
-"# is no process which needs to be signalled when a given log file is\n"
-"# rotated, then the entry for that file should include the 'N' flag.\n"
-"#\n"
-"# The 'flags' field is one or more of the letters: BCDGJNUXZ or a '-'.\n"
-"#\n"
-"# Note: some sites will want to select more restrictive protections than the\n"
-"# defaults. In particular, it may be desirable to switch many of the 644\n"
-"# entries to 640 or 600. For example, some sites will consider the\n"
-"# contents of maillog, messages, and lpd-errs to be confidential. In the\n"
-"# future, these defaults may change to more conservative ones.\n"
-"#\n"
-"# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]\n"
-"/var/log/all.log 600 7 * @T00 J\n"
-"/var/log/amd.log 644 7 100 * J\n"
-"/var/log/auth.log 600 7 100 @0101T JC\n"
-"/var/log/console.log 600 5 100 * J\n"
-"/var/log/cron 600 3 100 * JC\n"
-"/var/log/daily.log 640 7 * @T00 JN\n"
-"/var/log/debug.log 600 7 100 * JC\n"
-"/var/log/kerberos.log 600 7 100 * J\n"
-"/var/log/lpd-errs 644 7 100 * JC\n"
-"/var/log/maillog 640 7 * @T00 JC\n"
-"/var/log/messages 644 5 100 @0101T JC\n"
-"/var/log/monthly.log 640 12 * $M1D0 JN\n"
-"/var/log/pflog 600 3 100 * JB /var/run/pflogd.pid\n"
-"/var/log/ppp.log root:network 640 3 100 * JC\n"
-"/var/log/devd.log 644 3 100 * JC\n"
-"/var/log/security 600 10 100 * JC\n"
-"/var/log/sendmail.st 640 10 * 168 B\n"
-"/var/log/utx.log 644 3 * @01T05 B\n"
-"/var/log/weekly.log 640 5 1 $W6D0 JN\n"
-"/var/log/xferlog 600 7 100 * JC\n"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:537
-msgid ""
-"Each line starts with the name of the log to be rotated, optionally followed "
-"by an owner and group for both rotated and newly created files. The `mode` "
-"field sets the permissions on the log file and `count` denotes how many "
-"rotated log files should be kept. The `size` and `when` fields tell "
-"newsyslog when to rotate the file. A log file is rotated when either its "
-"size is larger than the `size` field or when the time in the `when` field "
-"has passed. An asterisk (`*`) means that this field is ignored. The "
-"_flags_ field gives further instructions, such as how to compress the "
-"rotated file or to create the log file if it is missing. The last two "
-"fields are optional and specify the name of the Process ID (PID) file of a "
-"process and a signal number to send to that process when the file is rotated."
+msgid "# service nginx status\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:540
-msgid ""
-"For more information on all fields, valid flags, and how to specify the "
-"rotation time, refer to man:newsyslog.conf[5]. Since newsyslog is run from "
-"man:cron[8], it cannot rotate files more often than it is scheduled to run "
-"from man:cron[8]."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:454
+#, no-wrap
+msgid "nginx is running as pid 27871.\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:542
+#: documentation/content/en/books/handbook/config/_index.adoc:457
#, no-wrap
-msgid "Configuring Remote Logging"
+msgid "Reload a Service"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:546
+#: documentation/content/en/books/handbook/config/_index.adoc:461
msgid ""
-"Monitoring the log files of multiple hosts can become unwieldy as the number "
-"of systems increases. Configuring centralized logging can reduce some of "
-"the administrative burden of log file administration."
+"In some cases, it is also possible to `reload` a service. This attempts to "
+"send a signal to an individual service, forcing the service to reload its "
+"configuration files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:550
-msgid ""
-"In FreeBSD, centralized log file aggregation, merging, and rotation can be "
-"configured using syslogd and newsyslog. This section demonstrates an "
-"example configuration, where host `A`, named `logserv.example.com`, will "
-"collect logging information for the local network. Host `B`, named "
-"`logclient.example.com`, will be configured to pass logging information to "
-"the logging server."
+#: documentation/content/en/books/handbook/config/_index.adoc:463
+msgid "In most cases, this means sending the service a `SIGHUP` signal."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:551
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:465
#, no-wrap
-msgid "Log Server Configuration"
+msgid "*Not all services support this feature.*\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:555
+#: documentation/content/en/books/handbook/config/_index.adoc:468
msgid ""
-"A log server is a system that has been configured to accept logging "
-"information from other hosts. Before configuring a log server, check the "
-"following:"
+"The man:rc[8] system is used for network services and it also contributes to "
+"most of the system initialization. For instance, when the [.filename]#/etc/"
+"rc.d/bgfsck# script is executed, it prints out the following message:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:472
+#, no-wrap
+msgid "Starting background file system checks in 60 seconds.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:557
+#: documentation/content/en/books/handbook/config/_index.adoc:475
msgid ""
-"If there is a firewall between the logging server and any logging clients, "
-"ensure that the firewall ruleset allows UDP port 514 for both the clients "
-"and the server."
+"This script is used for background file system checks, which occur only "
+"during system initialization."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:558
+#: documentation/content/en/books/handbook/config/_index.adoc:478
msgid ""
-"The logging server and all client machines must have forward and reverse "
-"entries in the local DNS. If the network does not have a DNS server, create "
-"entries in each system's [.filename]#/etc/hosts#. Proper name resolution is "
-"required so that log entries are not rejected by the logging server."
+"Many system services depend on other services to function properly. For "
+"example, man:yp[8] and other RPC-based services may fail to start until "
+"after the man:rpcbind[8] service has started."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:561
-msgid ""
-"On the log server, edit [.filename]#/etc/syslog.conf# to specify the name of "
-"the client to receive log entries from, the logging facility to be used, and "
-"the name of the log to store the host's log entries. This example adds the "
-"hostname of `B`, logs all facilities, and stores the log entries in [."
-"filename]#/var/log/logclient.log#."
+#: documentation/content/en/books/handbook/config/_index.adoc:480
+msgid "Additional information can be found in man:rc[8] and man:rc.subr[8]."
msgstr ""
-#. type: Block title
-#: documentation/content/en/books/handbook/config/_index.adoc:562
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:481
#, no-wrap
-msgid "Sample Log Server Configuration"
+msgid "Using Services to Start Services"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:570
-#, no-wrap
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:485
msgid ""
-"+logclient.example.com\n"
-"*.* /var/log/logclient.log\n"
+"Other services can be started using man:inetd[8]. Working with man:inetd[8] "
+"and its configuration is described in depth in crossref:network-"
+"servers[network-inetd,“The inetd Super-Server”]."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:576
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:489
msgid ""
-"When adding multiple log clients, add a similar two-line entry for each "
-"client. More information about the available facilities may be found in man:"
-"syslog.conf[5]."
+"In some cases, it may make more sense to use man:cron[8] to start system "
+"services. This approach has a number of advantages as man:cron[8] runs "
+"these processes as the owner of the man:crontab[5]. This allows regular "
+"users to start and maintain their own applications."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:578
-msgid "Next, configure [.filename]#/etc/rc.conf#:"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:492
+msgid ""
+"The `@reboot` feature of man:cron[8], may be used in place of the time "
+"specification. This causes the job to run when man:cron[8] is started, "
+"normally during system initialization."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:583
+#. type: Title ==
+#: documentation/content/en/books/handbook/config/_index.adoc:494
#, no-wrap
-msgid ""
-"syslogd_enable=\"YES\"\n"
-"syslogd_flags=\"-a logclient.example.com -v -v\"\n"
+msgid "Cron and Periodic"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:589
+#: documentation/content/en/books/handbook/config/_index.adoc:498
msgid ""
-"The first entry starts syslogd at system boot. The second entry allows log "
-"entries from the specified client. The `-v -v` increases the verbosity of "
-"logged messages. This is useful for tweaking facilities as administrators "
-"are able to see what type of messages are being logged under each facility."
+"Scheduling tasks to run at a certain day or time is a very common task on "
+"FreeBSD. The tool in charge of performing this task is man:cron[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:593
+#: documentation/content/en/books/handbook/config/_index.adoc:500
msgid ""
-"Multiple `-a` options may be specified to allow logging from multiple "
-"clients. IP addresses and whole netblocks may also be specified. Refer to "
-"man:syslogd[8] for a full list of possible options."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:595
-msgid "Finally, create the log file:"
+"In addition to tasks that can be scheduled by the user via man:cron[8], "
+"FreeBSD performs routine background tasks managed by man:periodic[8]."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:599
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:502
#, no-wrap
-msgid "# touch /var/log/logclient.log\n"
+msgid "Cron"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:602
-msgid "At this point, syslogd should be restarted and verified:"
+#: documentation/content/en/books/handbook/config/_index.adoc:505
+msgid ""
+"The man:cron[8] utility runs in the background and regularly checks [."
+"filename]#/etc/crontab# for tasks to execute and searches [.filename]#/var/"
+"cron/tabs# for custom crontab files."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:607
-#, no-wrap
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:507
msgid ""
-"# service syslogd restart\n"
-"# pgrep syslog\n"
+"These files are used to schedule tasks which cron runs at the specified "
+"times."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:611
+#: documentation/content/en/books/handbook/config/_index.adoc:509
msgid ""
-"If a PID is returned, the server restarted successfully, and client "
-"configuration can begin. If the server did not restart, consult [."
-"filename]#/var/log/messages# for the error."
+"Each entry in a crontab defines a task to run and is known as a _cron job_."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:612
-#, no-wrap
-msgid "Log Client Configuration"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:515
+msgid ""
+"Two different types of configuration files are used: the system crontab, "
+"which should not be modified, and user crontabs, which can be created and "
+"edited as needed. The format used by these files is documented in man:"
+"crontab[5]. The format of the system crontab, [.filename]#/etc/crontab# "
+"includes a `who` column which does not exist in user crontabs. In the "
+"system crontab, cron runs the command as the user specified in this column. "
+"In a user crontab, all commands run as the user who created the crontab."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:616
+#: documentation/content/en/books/handbook/config/_index.adoc:518
msgid ""
-"A logging client sends log entries to a logging server on the network. The "
-"client also keeps a local copy of its own logs."
+"User crontabs allow individual users to schedule their own tasks. The "
+"`root` user can also have a user [.filename]#crontab# which can be used to "
+"schedule tasks that do not exist in the system [.filename]#crontab#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:618
+#: documentation/content/en/books/handbook/config/_index.adoc:520
msgid ""
-"Once a logging server has been configured, edit [.filename]#/etc/rc.conf# on "
-"the logging client:"
+"Here is a sample entry from the system crontab, [.filename]#/etc/crontab#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:623
+#: documentation/content/en/books/handbook/config/_index.adoc:546
#, no-wrap
msgid ""
-"syslogd_enable=\"YES\"\n"
-"syslogd_flags=\"-s -v -v\"\n"
+"# /etc/crontab - root's crontab for FreeBSD\n"
+"#\n"
+"# $FreeBSD$ <.>\n"
+"#\n"
+"SHELL=/bin/sh\n"
+"PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin <.>\n"
+"#\n"
+"#minute hour mday month wday who command <.>\n"
+"#\n"
+"# Save some entropy so that /dev/random can re-seed on boot.\n"
+"*/11 * * * * operator /usr/libexec/save-entropy <.>\n"
+"#\n"
+"# Rotate log files every hour, if necessary.\n"
+"0 * * * * root newsyslog\n"
+"#\n"
+"# Perform daily/weekly/monthly maintenance.\n"
+"1 3 * * * root periodic daily\n"
+"15 4 * * 6 root periodic weekly\n"
+"30 5 1 * * root periodic monthly\n"
+"#\n"
+"# Adjust the time zone if the CMOS clock keeps local time, as opposed to\n"
+"# UTC time. See adjkerntz(8) for details.\n"
+"1,31 0-5 * * * root adjkerntz -a\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:627
+#: documentation/content/en/books/handbook/config/_index.adoc:550
msgid ""
-"The first entry enables syslogd on boot up. The second entry prevents logs "
-"from being accepted by this client from other hosts (`-s`) and increases the "
-"verbosity of logged messages."
+"Lines that begin with the `+#+` character are comments. A comment can be "
+"placed in the file as a reminder of what and why a desired action is "
+"performed. Comments cannot be on the same line as a command or else they "
+"will be interpreted as part of the command; they must be on a new line. "
+"Blank lines are ignored."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:630
+#: documentation/content/en/books/handbook/config/_index.adoc:552
msgid ""
-"Next, define the logging server in the client's [.filename]#/etc/syslog."
-"conf#. In this example, all logged facilities are sent to a remote system, "
-"denoted by the `@` symbol, with the specified hostname:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:634
-#, no-wrap
-msgid "*.*\t\t@logserv.example.com\n"
+"The equals (`=`) character is used to define any environment settings. In "
+"this example, it is used to define the `SHELL` and `PATH`. If the `SHELL` is "
+"omitted, cron will use the default Bourne shell. If the `PATH` is omitted, "
+"the full path must be given to the command or script to run."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:554
+msgid ""
+"This line defines the seven fields used in a system crontab: `minute`, "
+"`hour`, `mday`, `month`, `wday`, `who`, and `command`. The `minute` field is "
+"the time in minutes when the specified command will be run, the `hour` is "
+"the hour when the specified command will be run, the `mday` is the day of "
+"the month, `month` is the month, and `wday` is the day of the week. These "
+"fields must be numeric values, representing the twenty-four hour clock, or a "
+"`*`, representing all values for that field. The `who` field only exists in "
+"the system crontab and specifies which user the command should be run as. "
+"The last field is the command to be executed."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:556
+msgid ""
+"This entry defines the values for this cron job. The `\\*/11`, followed by "
+"several more `*` characters, specifies that `/usr/libexec/save-entropy` is "
+"invoked by `operator` every eleven minutes of every hour, of every day and "
+"day of the week, of every month. Commands can include any number of "
+"switches. However, commands which extend to multiple lines need to be broken "
+"with the backslash \"\\\" continuation character."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:558
+#, no-wrap
+msgid "Creating a User Crontab"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:561
+msgid "To create a user crontab, invoke `crontab` in editor mode:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:565
+#, no-wrap
+msgid "% crontab -e\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:570
+msgid ""
+"This will open the user's crontab using the default text editor. The first "
+"time a user runs this command, it will open an empty file. Once a user "
+"creates a crontab, this command will open that file for editing."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:572
+msgid ""
+"It is useful to add these lines to the top of the crontab file in order to "
+"set the environment variables and to remember the meanings of the fields in "
+"the crontab:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:579
+#, no-wrap
+msgid ""
+"SHELL=/bin/sh\n"
+"PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin\n"
+"# Order of crontab fields\n"
+"# minute hour mday month wday command\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:584
+msgid ""
+"Then add a line for each command or script to run, specifying the time to "
+"run the command. This example runs the specified custom Bourne shell script "
+"every day at two in the afternoon. Since the path to the script is not "
+"specified in `PATH`, the full path to the script is given:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:588
+#: documentation/content/en/books/handbook/config/_index.adoc:618
+#, no-wrap
+msgid "0 14 * * * /home/user/bin/mycustomscript.sh\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:594
+msgid ""
+"Before using a custom script, make sure it is executable and test it with "
+"the limited set of environment variables set by cron. To replicate the "
+"environment that would be used to run the above cron entry, use:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:598
+#, no-wrap
+msgid "env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/user LOGNAME=user /home/user/bin/mycustomscript.sh\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:602
+msgid ""
+"The environment set by cron is discussed in man:crontab[5]. Checking that "
+"scripts operate correctly in a cron environment is especially important if "
+"they include any commands that delete files using wildcards."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:607
+msgid ""
+"When finished editing the crontab, save the file. It will automatically be "
+"installed, and cron will read the crontab and run its cron jobs at their "
+"specified times. To list the cron jobs in a crontab, use this command:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:611
+#, no-wrap
+msgid "% crontab -l\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:621
+msgid "To remove all of the cron jobs in a user crontab:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:625
+#, no-wrap
+msgid "% crontab -r\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:632
+#, no-wrap
+msgid "remove crontab for user? y\n"
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:635
+#, no-wrap
+msgid "Periodic"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:637
-msgid "After saving the edit, restart syslogd for the changes to take effect:"
-msgstr ""
-
-#. type: delimited block . 4
#: documentation/content/en/books/handbook/config/_index.adoc:641
+msgid ""
+"FreeBSD provides a set of system management scripts to check status of "
+"various subsystems, perform security-related checks, rotate log files, etc. "
+"These scripts are run on a periodic basis: daily. weekly, or monthly. The "
+"management of these tasks is performed by man:periodic[8] and its "
+"configuration resides in man:periodic.conf[5]. The periodic tasks are "
+"initiated by entries in the system crontab, shown above."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:643
+msgid ""
+"Scripts executed by man:periodic[8] are located in [.filename]#/etc/periodic/"
+"# for base utilities and in [.filename]#/usr/local/etc/periodic/# for third-"
+"party software."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:645
+msgid ""
+"They are organized in 4 subdirectories, daily, weekly, monthly and security."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:647
+#, no-wrap
+msgid "Enable or Disable Periodic Tasks"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:650
+msgid "FreeBSD has some scripts enabled by default to run periodically."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:652
+msgid ""
+"To enable or disable a task, the first step is to edit [.filename]#/etc/"
+"periodic.conf# executing the following command:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:656
+#, no-wrap
+msgid "# ee /etc/periodic.conf\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:659
+msgid ""
+"And then to enable, for example, `daily_status_zfs_enable` put the following "
+"content in the file:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:663
+#, no-wrap
+msgid "daily_status_zfs_enable=\"YES\"\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:666
+msgid ""
+"To disable a task that is active by default, all that needs to be done is to "
+"change `YES` to `NO`."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:668
+#, no-wrap
+msgid "Configuring the Output of Periodic Tasks"
+msgstr ""
+
+#. type: Plain text
#: documentation/content/en/books/handbook/config/_index.adoc:671
+msgid ""
+"In [.filename]#/etc/periodic.conf# the variables `daily_output`, "
+"`weekly_output` and `monthly_output` specifies where to send the results of "
+"the script execution."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:673
+msgid ""
+"By default the output of the periodic scripts are emailed to root, and "
+"therefore it is best to read root's mail or alias root to a mailbox that is "
+"monitored."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:675
+msgid ""
+"To send the results to another email or to other emails, add the email "
+"addresses separated by spaces to [.filename]#/etc/periodic.conf#:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:681
#, no-wrap
-msgid "# service syslogd restart\n"
+msgid ""
+"daily_output=\"email1@example.com email2@example.com\"\n"
+"weekly_output=\"email1@example.com email2@example.com\"\n"
+"monthly_output=\"email1@example.com email2@example.com\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:644
+#: documentation/content/en/books/handbook/config/_index.adoc:684
msgid ""
-"To test that log messages are being sent across the network, use man:"
-"logger[1] on the client to send a message to syslogd:"
+"To log periodic output instead of receiving it as email, add the following "
+"lines to [.filename]#/etc/periodic.conf#. man:newsyslog[8] will rotate these "
+"files at the appropriate times:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:648
+#: documentation/content/en/books/handbook/config/_index.adoc:690
#, no-wrap
-msgid "# logger \"Test message from logclient\"\n"
+msgid ""
+"daily_output=/var/log/daily.log\n"
+"weekly_output=/var/log/weekly.log\n"
+"monthly_output=/var/log/monthly.log\n"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/handbook/config/_index.adoc:693
+#, no-wrap
+msgid "Configuring System Logging"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:651
+#: documentation/content/en/books/handbook/config/_index.adoc:699
msgid ""
-"This message should now exist both in [.filename]#/var/log/messages# on the "
-"client and [.filename]#/var/log/logclient.log# on the log server."
+"Generating and reading system logs is an important aspect of system "
+"administration. The information in system logs can be used to detect "
+"hardware and software issues as well as application and system configuration "
+"errors. This information also plays an important role in security auditing "
+"and incident response. Most system daemons and applications will generate "
+"log entries."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:652
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:702
+msgid ""
+"FreeBSD provides a system logger, man:syslogd[8], to manage logging. By "
+"default, syslogd is enabled and started when the system boots."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:704
+msgid ""
+"This section describes how to configure the FreeBSD system logger for both "
+"local and remote logging and how to perform log rotation and log management."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:705
#, no-wrap
-msgid "Debugging Log Servers"
+msgid "Configuring Local Logging"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:658
+#: documentation/content/en/books/handbook/config/_index.adoc:712
msgid ""
-"If no messages are being received on the log server, the cause is most "
-"likely a network connectivity issue, a hostname resolution issue, or a typo "
-"in a configuration file. To isolate the cause, ensure that both the logging "
-"server and the logging client are able to `ping` each other using the "
-"hostname specified in their [.filename]#/etc/rc.conf#. If this fails, check "
-"the network cabling, the firewall ruleset, and the hostname entries in the "
-"DNS server or [.filename]#/etc/hosts# on both the logging server and "
-"clients. Repeat until the `ping` is successful from both hosts."
+"The configuration file, [.filename]#/etc/syslog.conf#, controls what syslogd "
+"does with log entries as they are received. There are several parameters to "
+"control the handling of incoming events. The _facility_ describes which "
+"subsystem generated the message, such as the kernel or a daemon, and the "
+"_level_ describes the severity of the event that occurred. This makes it "
+"possible to configure if and where a log message is logged, depending on the "
+"facility and level. It is also possible to take action depending on the "
+"application that sent the message, and in the case of remote logging, the "
+"hostname of the machine generating the logging event."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:662
+#: documentation/content/en/books/handbook/config/_index.adoc:719
msgid ""
-"If the `ping` succeeds on both hosts but log messages are still not being "
-"received, temporarily increase logging verbosity to narrow down the "
-"configuration issue. In the following example, [.filename]#/var/log/"
-"logclient.log# on the logging server is empty and [.filename]#/var/log/"
-"messages# on the logging client does not indicate a reason for the failure. "
-"To increase debugging output, edit the `syslogd_flags` entry on the logging "
-"server and issue a restart:"
+"This configuration file contains one line per action, where the syntax for "
+"each line is a selector field followed by an action field. The syntax of "
+"the selector field is _facility.level_ which will match log messages from "
+"_facility_ at level _level_ or higher. It is also possible to add an "
+"optional comparison flag before the level to specify more precisely what is "
+"logged. Multiple selector fields can be used for the same action, and are "
+"separated with a semicolon (`;`). Using `*` will match everything. The "
+"action field denotes where to send the log message, such as to a file or "
+"remote log host."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:721
+msgid ""
+"As an example, here is the default [.filename]#/etc/syslog.conf# from "
+"FreeBSD:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:759
+#, no-wrap
+msgid ""
+"# $FreeBSD$\n"
+"#\n"
+"# Spaces ARE valid field separators in this file. However,\n"
+"# other *nix-like systems still insist on using tabs as field\n"
+"# separators. If you are sharing this file between systems, you\n"
+"# may want to use only tabs as field separators here.\n"
+"# Consult the syslog.conf(5) manpage.\n"
+"*.err;kern.warning;auth.notice;mail.crit /dev/console <.>\n"
+"*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages\n"
+"security.* /var/log/security\n"
+"auth.info;authpriv.info /var/log/auth.log\n"
+"mail.info /var/log/maillog <.>\n"
+"cron.* /var/log/cron\n"
+"!-devd\n"
+"*.=debug /var/log/debug.log <.>\n"
+"*.emerg *\n"
+"daemon.info /var/log/daemon.log\n"
+"# uncomment this to log all writes to /dev/console to /var/log/console.log\n"
+"# touch /var/log/console.log and chmod it to mode 600 before it will work\n"
+"#console.info /var/log/console.log\n"
+"# uncomment this to enable logging of all log messages to /var/log/all.log\n"
+"# touch /var/log/all.log and chmod it to mode 600 before it will work\n"
+"#*.* /var/log/all.log\n"
+"# uncomment this to enable logging to a remote loghost named loghost\n"
+"#*.* @loghost\n"
+"# uncomment these if you're running inn\n"
+"# news.crit /var/log/news/news.crit\n"
+"# news.err /var/log/news/news.err\n"
+"# news.notice /var/log/news/news.notice\n"
+"# Uncomment this if you wish to see messages produced by devd\n"
+"# !devd\n"
+"# *.>=notice /var/log/devd.log <.>\n"
+"!*\n"
+"include /etc/syslog.d\n"
+"include /usr/local/etc/syslog.d\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:762
+msgid ""
+"Matches all messages with a level of `err` or higher, as well as `kern."
+"warning`, `auth.notice` and `mail.crit`, and sends these log messages to the "
+"console ([.filename]#/dev/console#)."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:763
+msgid ""
+"Matches all messages from the `mail` facility at level `info` or above and "
+"logs the messages to [.filename]#/var/log/maillog#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:764
+msgid ""
+"Uses a comparison flag (`=`) to only match messages at level `debug` and "
+"logs them to [.filename]#/var/log/debug.log#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:765
+msgid ""
+"Is an example usage of a program specification. This makes the rules "
+"following it only valid for the specified program. In this case, only the "
+"messages generated by man:devd[8] are logged to [.filename]#/var/log/devd."
+"log#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:767
+msgid ""
+"For more information about [.filename]#/etc/syslog.conf#, its syntax, and "
+"more advanced usage examples, see man:syslog.conf[5]."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:769
+#, no-wrap
+msgid "Logging Facilities"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:773
+msgid ""
+"A facility describes the part of the system generating the message. "
+"Facilities are a way of separating the different messages so that it is "
+"easier for the user to consult the logs."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/handbook/config/_index.adoc:774
+#, no-wrap
+msgid "syslog facilities"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:777
+#: documentation/content/en/books/handbook/config/_index.adoc:840
+#, no-wrap
+msgid "Name"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:779
+#: documentation/content/en/books/handbook/config/_index.adoc:842
+#, no-wrap
+msgid "Description"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:780
+#, no-wrap
+msgid "auth"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:782
+#, no-wrap
+msgid "The authorization system: man:login[1], man:su[1], man:getty[8], etc."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:783
+#, no-wrap
+msgid "authpriv"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:785
+#, no-wrap
+msgid "The same as auth, but logged to a file readable only by root."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:786
+#, no-wrap
+msgid "console"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:788
+#, no-wrap
+msgid "Messages written to [.filename]#/dev/console# by the kernel console output driver."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:789
+#, no-wrap
+msgid "cron"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:791
+#, no-wrap
+msgid "Messages written by the man:cron[8] daemon."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:792
+#, no-wrap
+msgid "daemon"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:794
+#, no-wrap
+msgid "System daemons, such as man:routed[8], that are not provided for explicitly by other facilities."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:795
+#, no-wrap
+msgid "ftp"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:797
+#, no-wrap
+msgid "The file transfer protocol daemons: man:ftpd[8], man:tftpd[8]."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:800
+#, no-wrap
+msgid "Messages generated by the kernel. These cannot be generated by any user processes."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:801
+#, no-wrap
+msgid "lpr"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:803
+#, no-wrap
+msgid "The line printer spooling system: man:lpr[1], man:lpc[8], man:lpd[8], etc."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:804
+#, no-wrap
+msgid "mail"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:806
+#, no-wrap
+msgid "The mail system."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:807
+#, no-wrap
+msgid "mark"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:809
+#, no-wrap
+msgid "This facility adds a record every 20 minutes."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:810
+#, no-wrap
+msgid "news"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:812
+#, no-wrap
+msgid "The network news system."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:813
+#, no-wrap
+msgid "ntp"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:815
+#, no-wrap
+msgid "The network time protocol system."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:816
+#, no-wrap
+msgid "security"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:666
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:818
#, no-wrap
-msgid "syslogd_flags=\"-d -a logclient.example.com -v -v\"\n"
+msgid "Security subsystems, such as man:ipfw[4]."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:674
-msgid ""
-"Debugging data similar to the following will flash on the console "
-"immediately after the restart:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:819
+#, no-wrap
+msgid "syslog"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:685
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:821
#, no-wrap
-msgid ""
-"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
-"syslogd: restarted\n"
-"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
-"Logging to FILE /var/log/messages\n"
-"syslogd: kernel boot file is /boot/kernel/kernel\n"
-"cvthname(192.168.1.10)\n"
-"validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;\n"
-"rejected in rule 0 due to name mismatch.\n"
+msgid "Messages generated internally by syslogd(8)."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:690
-msgid ""
-"In this example, the log messages are being rejected due to a typo which "
-"results in a hostname mismatch. The client's hostname should be "
-"`logclient`, not `logclien`. Fix the typo, issue a restart, and verify the "
-"results:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:824
+#, no-wrap
+msgid "Messages generated by random user processes. *This is the default facility identifier if none is specified*."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:706
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:825
#, no-wrap
-msgid ""
-"# service syslogd restart\n"
-"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
-"syslogd: restarted\n"
-"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
-"syslogd: kernel boot file is /boot/kernel/kernel\n"
-"logmsg: pri 166, flags 17, from logserv.example.com,\n"
-"msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2\n"
-"cvthname(192.168.1.10)\n"
-"validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;\n"
-"accepted in rule 0.\n"
-"logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2\n"
-"Logging to FILE /var/log/logclient.log\n"
-"Logging to FILE /var/log/messages\n"
+msgid "uucp"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:709
-msgid ""
-"At this point, the messages are being properly received and placed in the "
-"correct file."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:827
+#, no-wrap
+msgid "The Unix-to-Unix Copy system. An ancient protocol. Really weird to see messages from this facility."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:710
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:828
#, no-wrap
-msgid "Security Considerations"
+msgid "local0 through local7"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:716
-msgid ""
-"As with any network service, security requirements should be considered "
-"before implementing a logging server. Log files may contain sensitive data "
-"about services enabled on the local host, user accounts, and configuration "
-"data. Network data sent from the client to the server will not be encrypted "
-"or password protected. If a need for encryption exists, consider using "
-"package:security/stunnel[], which will transmit the logging data over an "
-"encrypted tunnel."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:830
+#, no-wrap
+msgid "Reserved for local use."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:833
+#, no-wrap
+msgid "Logging Levels"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:724
+#: documentation/content/en/books/handbook/config/_index.adoc:836
msgid ""
-"Local security is also an issue. Log files are not encrypted during use or "
-"after log rotation. Local users may access log files to gain additional "
-"insight into system configuration. Setting proper permissions on log files "
-"is critical. The built-in log rotator, newsyslog, supports setting "
-"permissions on newly created and rotated log files. Setting log files to "
-"mode `600` should prevent unwanted access by local users. Refer to man:"
-"newsyslog.conf[5] for additional information."
+"The level describes the severity of the message, and is a keyword from the "
+"following ordered list (higher to lower):"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:726
+#. type: Block title
+#: documentation/content/en/books/handbook/config/_index.adoc:837
#, no-wrap
-msgid "Configuration Files"
+msgid "syslog levels"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:728
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:843
#, no-wrap
-msgid "[.filename]#/etc# Layout"
+msgid "emerg"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:732
-msgid ""
-"There are a number of directories in which configuration information is "
-"kept. These include:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:845
+#, no-wrap
+msgid "A panic condition. This is normally broadcast to all users."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:738
+#: documentation/content/en/books/handbook/config/_index.adoc:846
#, no-wrap
-msgid "[.filename]#/etc#"
+msgid "alert"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:740
+#: documentation/content/en/books/handbook/config/_index.adoc:848
#, no-wrap
-msgid "Generic system-specific configuration information."
+msgid "A condition that should be corrected immediately, such as a corrupted system database."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:741
+#: documentation/content/en/books/handbook/config/_index.adoc:849
#, no-wrap
-msgid "[.filename]#/etc/defaults#"
+msgid "crit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:743
+#: documentation/content/en/books/handbook/config/_index.adoc:851
#, no-wrap
-msgid "Default versions of system configuration files."
+msgid "Critical conditions, e.g., hard device errors."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:744
+#: documentation/content/en/books/handbook/config/_index.adoc:852
#, no-wrap
-msgid "[.filename]#/etc/mail#"
+msgid "err"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:746
+#: documentation/content/en/books/handbook/config/_index.adoc:854
#, no-wrap
-msgid "Extra man:sendmail[8] configuration and other MTA configuration files."
+msgid "Errors."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:747
+#: documentation/content/en/books/handbook/config/_index.adoc:855
#, no-wrap
-msgid "[.filename]#/etc/ppp#"
+msgid "warning"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:749
+#: documentation/content/en/books/handbook/config/_index.adoc:857
#, no-wrap
-msgid "Configuration for both user- and kernel-ppp programs."
+msgid "Warning messages."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:750
+#: documentation/content/en/books/handbook/config/_index.adoc:858
#, no-wrap
-msgid "[.filename]#/usr/local/etc#"
+msgid "notice"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:752
+#: documentation/content/en/books/handbook/config/_index.adoc:860
#, no-wrap
-msgid "Configuration files for installed applications. May contain per-application subdirectories."
+msgid "Conditions that are not error conditions, but should possibly be handled specially."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:753
+#: documentation/content/en/books/handbook/config/_index.adoc:861
#, no-wrap
-msgid "[.filename]#/usr/local/etc/rc.d#"
+msgid "info"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:755
+#: documentation/content/en/books/handbook/config/_index.adoc:863
#, no-wrap
-msgid "man:rc[8] scripts for installed applications."
+msgid "Informational messages."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:756
+#: documentation/content/en/books/handbook/config/_index.adoc:866
#, no-wrap
-msgid "[.filename]#/var/db#"
+msgid "Messages that contain information normally of use only when debugging a program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/config/_index.adoc:757
+#: documentation/content/en/books/handbook/config/_index.adoc:867
#, no-wrap
-msgid "Automatically generated system-specific database files, such as the package database and the man:locate[1] database."
+msgid "none"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:760
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:869
#, no-wrap
-msgid "Tuning with man:sysctl[8]"
+msgid "This special level disables a particular facility."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:765
-msgid ""
-"man:sysctl[8] is used to make changes to a running FreeBSD system. This "
-"includes many advanced options of the TCP/IP stack and virtual memory system "
-"that can dramatically improve performance for an experienced system "
-"administrator. Over five hundred system variables can be read and set using "
-"man:sysctl[8]."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:872
+#, no-wrap
+msgid "Read Log Messages"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:767
+#: documentation/content/en/books/handbook/config/_index.adoc:876
msgid ""
-"At its core, man:sysctl[8] serves two functions: to read and to modify "
-"system settings."
+"By default FreeBSD log files use the format link:https://datatracker.ietf."
+"org/doc/html/rfc3164[rfc3164], also known as The BSD syslog Protocol. Learn "
+"more about other formats and how to use them at man:syslog[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:769
-msgid "To view all readable variables:"
+#: documentation/content/en/books/handbook/config/_index.adoc:878
+msgid "Typically the logs have the following syntax:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:773
+#: documentation/content/en/books/handbook/config/_index.adoc:882
#, no-wrap
-msgid "% sysctl -a\n"
+msgid "date time hostname program[pid]: the message\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:776
-msgid "To read a particular variable, specify its name:"
+#: documentation/content/en/books/handbook/config/_index.adoc:885
+msgid ""
+"The output of the [.filename]#/var/log/cron# file will be used as an example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:781
+#: documentation/content/en/books/handbook/config/_index.adoc:892
#, no-wrap
msgid ""
-"% sysctl kern.maxproc\n"
-"kern.maxproc: 1044\n"
+"[...]\n"
+"Jul 16 12:40:00 FreeBSD /usr/sbin/cron[81519]: (root) CMD (/usr/libexec/atrun)\n"
+"Jul 16 12:44:00 FreeBSD /usr/sbin/cron[83072]: (operator) CMD (/usr/libexec/save-entropy)\n"
+"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:784
-msgid "To set a particular variable, use the _variable_=_value_ syntax:"
+#: documentation/content/en/books/handbook/config/_index.adoc:895
+msgid ""
+"Verbose logging, so the facility and the level on each message will be "
+"added, can be enabled in man:syslog[8] by running the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:789
+#: documentation/content/en/books/handbook/config/_index.adoc:899
#, no-wrap
-msgid ""
-"# sysctl kern.maxfiles=5000\n"
-"kern.maxfiles: 2088 -> 5000\n"
+msgid "# sysrc syslogd_flags=\"-vv\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:792
+#: documentation/content/en/books/handbook/config/_index.adoc:902
msgid ""
-"Settings of sysctl variables are usually either strings, numbers, or "
-"booleans, where a boolean is `1` for yes or `0` for no."
+"Once the function is activated, the facility and the level will be displayed "
+"in the log as shown in the following example:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:795
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:909
+#, no-wrap
msgid ""
-"To automatically set some variables each time the machine boots, add them to "
-"[.filename]#/etc/sysctl.conf#. For more information, refer to man:sysctl."
-"conf[5] and <<configtuning-sysctlconf>>."
+"[...]\n"
+"Jul 16 17:40:00 <cron.info> FreeBSD /usr/sbin/cron[1016]: (root) CMD (/usr/libexec/atrun)\n"
+"Jul 16 17:44:00 <cron.info> FreeBSD /usr/sbin/cron[1030]: (operator) CMD (/usr/libexec/save-entropy)\n"
+"[...]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:797
+#: documentation/content/en/books/handbook/config/_index.adoc:911
#, no-wrap
-msgid "[.filename]#sysctl.conf#"
+msgid "Log Management and Rotation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:803
+#: documentation/content/en/books/handbook/config/_index.adoc:914
msgid ""
-"The configuration file for man:sysctl[8], [.filename]#/etc/sysctl.conf#, "
-"looks much like [.filename]#/etc/rc.conf#. Values are set in a "
-"`variable=value` form. The specified values are set after the system goes "
-"into multi-user mode. Not all variables are settable in this mode."
+"Log files can grow quickly, taking up disk space and making it more "
+"difficult to locate useful information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:805
+#: documentation/content/en/books/handbook/config/_index.adoc:916
msgid ""
-"For example, to turn off logging of fatal signal exits and prevent users "
-"from seeing processes started by other users, the following tunables can be "
-"set in [.filename]#/etc/sysctl.conf#:"
+"In FreeBSD, man:newsyslog[8] is used to manage log files and attempt to "
+"mitigate this."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:918
+msgid ""
+"This built-in program periodically rotates and compresses log files, and "
+"optionally creates missing log files and signals programs when log files are "
+"moved."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:923
+msgid ""
+"Since newsyslog is run from man:cron[8], it cannot rotate files more often "
+"than it is scheduled to run from man:cron[8]. In the default configuration, "
+"it runs every hour."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:926
+msgid ""
+"Here is the default configuration in FreeBSD, more information in man:"
+"newsyslog.conf[5]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:810
+#: documentation/content/en/books/handbook/config/_index.adoc:962
#, no-wrap
msgid ""
-"# Do not log fatal signal exits (e.g., sig 11)\n"
-"kern.logsigexit=0\n"
+"# configuration file for newsyslog\n"
+"# $FreeBSD$\n"
+"#\n"
+"# Entries which do not specify the '/pid_file' field will cause the\n"
+"# syslogd process to be signalled when that log file is rotated. This\n"
+"# action is only appropriate for log files which are written to by the\n"
+"# syslogd process (ie, files listed in /etc/syslog.conf). If there\n"
+"# is no process which needs to be signalled when a given log file is\n"
+"# rotated, then the entry for that file should include the 'N' flag.\n"
+"#\n"
+"# Note: some sites will want to select more restrictive protections than the\n"
+"# defaults. In particular, it may be desirable to switch many of the 644\n"
+"# entries to 640 or 600. For example, some sites will consider the\n"
+"# contents of maillog, messages, and lpd-errs to be confidential. In the\n"
+"# future, these defaults may change to more conservative ones.\n"
+"#\n"
+"# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]\n"
+"/var/log/all.log 600 7 * @T00 J\n"
+"/var/log/auth.log 600 7 1000 @0101T JC\n"
+"/var/log/console.log 600 5 1000 * J\n"
+"/var/log/cron 600 3 1000 * JC\n"
+"/var/log/daily.log 640 7 * @T00 JN\n"
+"/var/log/debug.log 600 7 1000 * JC\n"
+"/var/log/init.log 644 3 1000 * J\n"
+"/var/log/kerberos.log 600 7 1000 * J\n"
+"/var/log/maillog 640 7 * @T00 JC\n"
+"/var/log/messages 644 5 1000 @0101T JC\n"
+"/var/log/monthly.log 640 12 * $M1D0 JN\n"
+"/var/log/devd.log 644 3 1000 * JC\n"
+"/var/log/security 600 10 1000 * JC\n"
+"/var/log/utx.log 644 3 * @01T05 B\n"
+"/var/log/weekly.log 640 5 * $W6D0 JN\n"
+"/var/log/daemon.log 644 5 1000 @0101T JC\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:814
+#: documentation/content/en/books/handbook/config/_index.adoc:965
#, no-wrap
msgid ""
-"# Prevent users from seeing information about processes that\n"
-"# are being run under another UID.\n"
-"security.bsd.see_other_uids=0\n"
+"<include> /etc/newsyslog.conf.d/[!.]*.conf\n"
+"<include> /usr/local/etc/newsyslog.conf.d/[!.]*.conf\n"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:817
-#, no-wrap
-msgid "man:sysctl[8] Read-only"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:968
+msgid "`logfilename` - Name of the system log file to be archived."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:820
+#: documentation/content/en/books/handbook/config/_index.adoc:969
msgid ""
-"In some cases it may be desirable to modify read-only man:sysctl[8] values, "
-"which will require a reboot of the system."
+"`[owner:group]` - This optional field specifies the owner and group for the "
+"archive file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:822
+#: documentation/content/en/books/handbook/config/_index.adoc:970
msgid ""
-"For instance, on some laptop models the man:cardbus[4] device will not probe "
-"memory ranges and will fail with errors similar to:"
+"`mode` - Specify the file mode of the log file and archives. Valid mode bits "
+"are 0666. (That is, read and write permissions for the rotated log may be "
+"specified for the owner, group, and others.)"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:827
-#, no-wrap
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:971
+msgid "`count` - Specify the maximum number of archive files which may exist."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:972
msgid ""
-"cbb0: Could not map register memory\n"
-"device_probe_and_attach: cbb0 attach returned 12\n"
+"`size` - When the size of the log file reaches size in kilobytes, the log "
+"file will be trimmed as described above. If this field contains an asterisk "
+"('*'), the log file will not be trimmed based on size."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:832
+#: documentation/content/en/books/handbook/config/_index.adoc:973
msgid ""
-"The fix requires the modification of a read-only man:sysctl[8] setting. Add "
-"`hw.pci.allow_unsupported_io_range=1` to [.filename]#/boot/loader.conf# and "
-"reboot. Now man:cardbus[4] should work properly."
+"`when` - Consist of an interval, a specific time, or both. Supported options "
+"in man:newsyslog.conf[5]."
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:834
-#, no-wrap
-msgid "Tuning Disks"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:974
+msgid ""
+"`flags` - Indicates the flags that newsyslog accepts, supported options in "
+"man:newsyslog.conf[5]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:975
+msgid ""
+"`[/pid_file]` - This optional field specifies the file name containing a "
+"daemon's process ID or to find a group process ID."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:841
+#: documentation/content/en/books/handbook/config/_index.adoc:976
+msgid ""
+"`[sig_num]` - This optional field specifies the signal that will be sent to "
+"the daemon process."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:980
msgid ""
-"The following section will discuss various tuning mechanisms and options "
-"which may be applied to disk devices. In many cases, disks with mechanical "
-"parts, such as SCSI drives, will be the bottleneck driving down the overall "
-"system performance. While a solution is to install a drive without "
-"mechanical parts, such as a solid state drive, mechanical drives are not "
-"going away anytime in the near future. When tuning disks, it is advisable "
-"to utilize the features of the man:iostat[8] command to test various changes "
-"to the system. This command will allow the user to obtain valuable "
-"information on system IO."
+"The last two fields are optional and specify the name of the Process ID "
+"(PID) file of a process and a signal number to send to that process when the "
+"file is rotated."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:842
+#: documentation/content/en/books/handbook/config/_index.adoc:983
#, no-wrap
-msgid "Sysctl Variables"
+msgid "Configuring Remote Logging"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:844
-#, no-wrap
-msgid "`vfs.vmiodirenable`"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:987
+msgid ""
+"Monitoring the log files of multiple hosts can become unwieldy as the number "
+"of systems increases. Configuring centralized logging can reduce some of "
+"the administrative burden of log file administration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:855
+#: documentation/content/en/books/handbook/config/_index.adoc:989
+msgid ""
+"In FreeBSD, centralized log file aggregation, merging, and rotation can be "
+"configured using syslogd and newsyslog."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:991
+msgid ""
+"This section demonstrates an example configuration, where host `A`, named "
+"`logserv.example.com`, will collect logging information for the local "
+"network."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:993
msgid ""
-"The `vfs.vmiodirenable` man:sysctl[8] variable may be set to either `0` "
-"(off) or `1` (on). It is set to `1` by default. This variable controls how "
-"directories are cached by the system. Most directories are small, using "
-"just a single fragment (typically 1 K) in the file system and typically 512 "
-"bytes in the buffer cache. With this variable turned off, the buffer cache "
-"will only cache a fixed number of directories, even if the system has a huge "
-"amount of memory. When turned on, this man:sysctl[8] allows the buffer "
-"cache to use the VM page cache to cache the directories, making all the "
-"memory available for caching directories. However, the minimum in-core "
-"memory used to cache a directory is the physical page size (typically 4 K) "
-"rather than 512 bytes. Keeping this option enabled is recommended if the "
-"system is running any services which manipulate large numbers of files. "
-"Such services can include web caches, large mail systems, and news systems. "
-"Keeping this option on will generally not reduce performance, even with the "
-"wasted memory, but one should experiment to find out."
+"Host `B`, named `logclient.example.com`, will be configured to pass logging "
+"information to the logging server."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:856
+#: documentation/content/en/books/handbook/config/_index.adoc:994
#, no-wrap
-msgid "`vfs.write_behind`"
+msgid "Log Server Configuration"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:997
+msgid ""
+"A log server is a system that has been configured to accept logging "
+"information from other hosts."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:999
+msgid "Before configuring a log server, check the following:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1001
+msgid ""
+"If there is a firewall between the logging server and any logging clients, "
+"ensure that the firewall ruleset allows UDP port 514 for both the clients "
+"and the server."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1002
+msgid ""
+"The logging server and all client machines must have forward and reverse "
+"entries in the local DNS. If the network does not have a DNS server, create "
+"entries in each system's [.filename]#/etc/hosts#. Proper name resolution is "
+"required so that log entries are not rejected by the logging server."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1005
+msgid ""
+"On the log server, edit [.filename]#/etc/syslog.conf# to specify the name of "
+"the client to receive log entries from, the logging facility to be used, and "
+"the name of the log to store the host's log entries. This example adds the "
+"hostname of `B`, logs all facilities, and stores the log entries in [."
+"filename]#/var/log/logclient.log#."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:862
-msgid ""
-"The `vfs.write_behind` man:sysctl[8] variable defaults to `1` (on). This "
-"tells the file system to issue media writes as full clusters are collected, "
-"which typically occurs when writing large sequential files. This avoids "
-"saturating the buffer cache with dirty buffers when it would not benefit I/O "
-"performance. However, this may stall processes and under certain "
-"circumstances should be turned off."
+#. type: Block title
+#: documentation/content/en/books/handbook/config/_index.adoc:1006
+#, no-wrap
+msgid "Sample Log Server Configuration"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:863
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1014
#, no-wrap
-msgid "`vfs.hirunningspace`"
+msgid ""
+"+logclient.example.com\n"
+"*.* /var/log/logclient.log\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:869
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1020
msgid ""
-"The `vfs.hirunningspace` man:sysctl[8] variable determines how much "
-"outstanding write I/O may be queued to disk controllers system-wide at any "
-"given instance. The default is usually sufficient, but on machines with "
-"many disks, try bumping it up to four or five _megabytes_. Setting too high "
-"a value which exceeds the buffer cache's write threshold can lead to bad "
-"clustering performance. Do not set this value arbitrarily high as higher "
-"write values may add latency to reads occurring at the same time."
+"When adding multiple log clients, add a similar two-line entry for each "
+"client. More information about the available facilities may be found in man:"
+"syslog.conf[5]."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:872
-msgid ""
-"There are various other buffer cache and VM page cache related man:sysctl[8] "
-"values. Modifying these values is not recommended as the VM system does a "
-"good job of automatically tuning itself."
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1022
+msgid "Next, execute the following commands:"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:873
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1027
#, no-wrap
-msgid "`vm.swap_idle_enabled`"
+msgid ""
+"# sysrc syslogd_enable=\"YES\"\n"
+"# sysrc syslogd_flags=\"-a logclient.example.com -v -v\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:881
+#: documentation/content/en/books/handbook/config/_index.adoc:1033
msgid ""
-"The `vm.swap_idle_enabled` man:sysctl[8] variable is useful in large multi-"
-"user systems with many active login users and lots of idle processes. Such "
-"systems tend to generate continuous pressure on free memory reserves. "
-"Turning this feature on and tweaking the swapout hysteresis (in idle "
-"seconds) via `vm.swap_idle_threshold1` and `vm.swap_idle_threshold2` "
-"depresses the priority of memory pages associated with idle processes more "
-"quickly then the normal pageout algorithm. This gives a helping hand to the "
-"pageout daemon. Only turn this option on if needed, because the tradeoff is "
-"essentially pre-page memory sooner rather than later which eats more swap "
-"and disk bandwidth. In a small system this option will have a determinable "
-"effect, but in a large system that is already doing moderate paging, this "
-"option allows the VM system to stage whole processes into and out of memory "
-"easily."
-msgstr ""
-
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:882
-#, no-wrap
-msgid "`hw.ata.wc`"
+"The first entry starts syslogd at system boot. The second entry allows log "
+"entries from the specified client. The `-v -v` increases the verbosity of "
+"logged messages. This is useful for tweaking facilities as administrators "
+"are able to see what type of messages are being logged under each facility."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:890
+#: documentation/content/en/books/handbook/config/_index.adoc:1037
msgid ""
-"Turning off IDE write caching reduces write bandwidth to IDE disks, but may "
-"sometimes be necessary due to data consistency issues introduced by hard "
-"drive vendors. The problem is that some IDE drives lie about when a write "
-"completes. With IDE write caching turned on, IDE hard drives write data to "
-"disk out of order and will sometimes delay writing some blocks indefinitely "
-"when under heavy disk load. A crash or power failure may cause serious file "
-"system corruption. Check the default on the system by observing the `hw.ata."
-"wc` man:sysctl[8] variable. If IDE write caching is turned off, one can set "
-"this read-only variable to `1` in [.filename]#/boot/loader.conf# in order to "
-"enable it at boot time."
+"Multiple `-a` options may be specified to allow logging from multiple "
+"clients. IP addresses and whole netblocks may also be specified. Refer to "
+"man:syslogd[8] for a full list of possible options."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:892
-msgid "For more information, refer to man:ata[4]."
+#: documentation/content/en/books/handbook/config/_index.adoc:1039
+msgid "Finally, create the log file:"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:893
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1043
#, no-wrap
-msgid "`SCSI_DELAY` (`kern.cam.scsi_delay`)"
+msgid "# touch /var/log/logclient.log\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:900
-msgid ""
-"The `SCSI_DELAY` kernel configuration option may be used to reduce system "
-"boot times. The defaults are fairly high and can be responsible for `15` "
-"seconds of delay in the boot process. Reducing it to `5` seconds usually "
-"works with modern drives. The `kern.cam.scsi_delay` boot time tunable "
-"should be used. The tunable and kernel configuration option accept values "
-"in terms of _milliseconds_ and _not seconds_."
+#: documentation/content/en/books/handbook/config/_index.adoc:1046
+msgid "At this point, syslogd should be restarted and verified:"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:902
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1051
#, no-wrap
-msgid "Soft Updates"
+msgid ""
+"# service syslogd restart\n"
+"# pgrep syslog\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:907
+#: documentation/content/en/books/handbook/config/_index.adoc:1055
msgid ""
-"To fine-tune a file system, use man:tunefs[8]. This program has many "
-"different options. To toggle Soft Updates on and off, use:"
+"If a PID is returned, the server restarted successfully, and client "
+"configuration can begin. If the server did not restart, consult [."
+"filename]#/var/log/messages# for the error."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:912
+#. type: Title ====
+#: documentation/content/en/books/handbook/config/_index.adoc:1056
#, no-wrap
-msgid ""
-"# tunefs -n enable /filesystem\n"
-"# tunefs -n disable /filesystem\n"
+msgid "Log Client Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:916
+#: documentation/content/en/books/handbook/config/_index.adoc:1060
msgid ""
-"A file system cannot be modified with man:tunefs[8] while it is mounted. A "
-"good time to enable Soft Updates is before any partitions have been mounted, "
-"in single-user mode."
+"A logging client sends log entries to a logging server on the network. The "
+"client also keeps a local copy of its own logs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:923
+#: documentation/content/en/books/handbook/config/_index.adoc:1062
msgid ""
-"Soft Updates is recommended for UFS file systems as it drastically improves "
-"meta-data performance, mainly file creation and deletion, through the use of "
-"a memory cache. There are two downsides to Soft Updates to be aware of. "
-"First, Soft Updates guarantee file system consistency in the case of a "
-"crash, but could easily be several seconds or even a minute behind updating "
-"the physical disk. If the system crashes, unwritten data may be lost. "
-"Secondly, Soft Updates delay the freeing of file system blocks. If the root "
-"file system is almost full, performing a major update, such as `make "
-"installworld`, can cause the file system to run out of space and the update "
-"to fail."
+"Once a logging server has been configured, execute the following commands on "
+"the logging client:"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:924
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1067
#, no-wrap
-msgid "More Details About Soft Updates"
+msgid ""
+"# sysrc syslogd_enable=\"YES\"\n"
+"# sysrc syslogd_flags=\"-s -v -v\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:928
+#: documentation/content/en/books/handbook/config/_index.adoc:1071
msgid ""
-"Meta-data updates are updates to non-content data like inodes or "
-"directories. There are two traditional approaches to writing a file "
-"system's meta-data back to disk."
+"The first entry enables syslogd on boot up. The second entry prevents logs "
+"from being accepted by this client from other hosts (`-s`) and increases the "
+"verbosity of logged messages."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:941
+#: documentation/content/en/books/handbook/config/_index.adoc:1074
msgid ""
-"Historically, the default behavior was to write out meta-data updates "
-"synchronously. If a directory changed, the system waited until the change "
-"was actually written to disk. The file data buffers (file contents) were "
-"passed through the buffer cache and backed up to disk later on "
-"asynchronously. The advantage of this implementation is that it operates "
-"safely. If there is a failure during an update, meta-data is always in a "
-"consistent state. A file is either created completely or not at all. If "
-"the data blocks of a file did not find their way out of the buffer cache "
-"onto the disk by the time of the crash, man:fsck[8] recognizes this and "
-"repairs the file system by setting the file length to `0`. Additionally, "
-"the implementation is clear and simple. The disadvantage is that meta-data "
-"changes are slow. For example, `rm -r` touches all the files in a directory "
-"sequentially, but each directory change will be written synchronously to the "
-"disk. This includes updates to the directory itself, to the inode table, "
-"and possibly to indirect blocks allocated by the file. Similar "
-"considerations apply for unrolling large hierarchies using `tar -x`."
+"Next, define the logging server in the client's [.filename]#/etc/syslog."
+"conf#. In this example, all logged facilities are sent to a remote system, "
+"denoted by the `@` symbol, with the specified hostname:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:952
-msgid ""
-"The second approach is to use asynchronous meta-data updates. This is the "
-"default for a UFS file system mounted with `mount -o async`. Since all meta-"
-"data updates are also passed through the buffer cache, they will be "
-"intermixed with the updates of the file content data. The advantage of this "
-"implementation is there is no need to wait until each meta-data update has "
-"been written to disk, so all operations which cause huge amounts of meta-"
-"data updates work much faster than in the synchronous case. This "
-"implementation is still clear and simple, so there is a low risk for bugs "
-"creeping into the code. The disadvantage is that there is no guarantee for "
-"a consistent state of the file system If there is a failure during an "
-"operation that updated large amounts of meta-data, like a power failure or "
-"someone pressing the reset button, the file system will be left in an "
-"unpredictable state. There is no opportunity to examine the state of the "
-"file system when the system comes up again as the data blocks of a file "
-"could already have been written to the disk while the updates of the inode "
-"table or the associated directory were not. It is impossible to implement a "
-"man:fsck[8] which is able to clean up the resulting chaos because the "
-"necessary information is not available on the disk. If the file system has "
-"been damaged beyond repair, the only choice is to reformat it and restore "
-"from backup."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1078
+#, no-wrap
+msgid "*.* @logserv.example.com\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:960
-msgid ""
-"The usual solution for this problem is to implement _dirty region logging_, "
-"which is also referred to as _journaling_. Meta-data updates are still "
-"written synchronously, but only into a small region of the disk. Later on, "
-"they are moved to their proper location. Since the logging area is a small, "
-"contiguous region on the disk, there are no long distances for the disk "
-"heads to move, even during heavy operations, so these operations are quicker "
-"than synchronous updates. Additionally, the complexity of the "
-"implementation is limited, so the risk of bugs being present is low. A "
-"disadvantage is that all meta-data is written twice, once into the logging "
-"region and once to the proper location, so performance \"pessimization\" "
-"might result. On the other hand, in case of a crash, all pending meta-data "
-"operations can be either quickly rolled back or completed from the logging "
-"area after the system comes up again, resulting in a fast file system "
-"startup."
+#: documentation/content/en/books/handbook/config/_index.adoc:1081
+msgid "After saving the edit, restart syslogd for the changes to take effect:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:976
-msgid ""
-"Kirk McKusick, the developer of Berkeley FFS, solved this problem with Soft "
-"Updates. All pending meta-data updates are kept in memory and written out "
-"to disk in a sorted sequence (\"ordered meta-data updates\"). This has the "
-"effect that, in case of heavy meta-data operations, later updates to an item "
-"\"catch\" the earlier ones which are still in memory and have not already "
-"been written to disk. All operations are generally performed in memory "
-"before the update is written to disk and the data blocks are sorted "
-"according to their position so that they will not be on the disk ahead of "
-"their meta-data. If the system crashes, an implicit \"log rewind\" causes "
-"all operations which were not written to the disk appear as if they never "
-"happened. A consistent file system state is maintained that appears to be "
-"the one of 30 to 60 seconds earlier. The algorithm used guarantees that all "
-"resources in use are marked as such in their blocks and inodes. After a "
-"crash, the only resource allocation error that occurs is that resources are "
-"marked as \"used\" which are actually \"free\". man:fsck[8] recognizes this "
-"situation, and frees the resources that are no longer used. It is safe to "
-"ignore the dirty state of the file system after a crash by forcibly mounting "
-"it with `mount -f`. In order to free resources that may be unused, man:"
-"fsck[8] needs to be run at a later time. This is the idea behind the "
-"_background man:fsck[8]_: at system startup time, only a _snapshot_ of the "
-"file system is recorded and man:fsck[8] is run afterwards. All file systems "
-"can then be mounted \"dirty\", so the system startup proceeds in multi-user "
-"mode. Then, background man:fsck[8] is scheduled for all file systems where "
-"this is required, to free resources that may be unused. File systems that "
-"do not use Soft Updates still need the usual foreground man:fsck[8]."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1085
+#: documentation/content/en/books/handbook/config/_index.adoc:1116
+#: documentation/content/en/books/handbook/config/_index.adoc:1139
+#, no-wrap
+msgid "# service syslogd restart\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:983
+#: documentation/content/en/books/handbook/config/_index.adoc:1088
msgid ""
-"The advantage is that meta-data operations are nearly as fast as "
-"asynchronous updates and are faster than _logging_, which has to write the "
-"meta-data twice. The disadvantages are the complexity of the code, a higher "
-"memory consumption, and some idiosyncrasies. After a crash, the state of "
-"the file system appears to be somewhat \"older\". In situations where the "
-"standard synchronous approach would have caused some zero-length files to "
-"remain after the man:fsck[8], these files do not exist at all with Soft "
-"Updates because neither the meta-data nor the file contents have been "
-"written to disk. Disk space is not released until the updates have been "
-"written to disk, which may take place some time after running man:rm[1]. "
-"This may cause problems when installing large amounts of data on a file "
-"system that does not have enough free space to hold all the files twice."
+"To test that log messages are being sent across the network, use man:"
+"logger[1] on the client to send a message to syslogd:"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:985
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1092
#, no-wrap
-msgid "Tuning Kernel Limits"
+msgid "# logger \"Test message from logclient\"\n"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:988
-#, no-wrap
-msgid "File/Process Limits"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1095
+msgid ""
+"This message should now exist both in [.filename]#/var/log/messages# on the "
+"client and [.filename]#/var/log/logclient.log# on the log server."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:991
+#: documentation/content/en/books/handbook/config/_index.adoc:1096
#, no-wrap
-msgid "`kern.maxfiles`"
+msgid "Debugging Log Servers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:996
+#: documentation/content/en/books/handbook/config/_index.adoc:1102
msgid ""
-"The `kern.maxfiles` man:sysctl[8] variable can be raised or lowered based "
-"upon system requirements. This variable indicates the maximum number of "
-"file descriptors on the system. When the file descriptor table is full, "
-"`file: table is full` will show up repeatedly in the system message buffer, "
-"which can be viewed using man:dmesg[8]."
+"If no messages are being received on the log server, the cause is most "
+"likely a network connectivity issue, a hostname resolution issue, or a typo "
+"in a configuration file. To isolate the cause, ensure that both the logging "
+"server and the logging client are able to `ping` each other using the "
+"hostname specified in their [.filename]#/etc/rc.conf#. If this fails, check "
+"the network cabling, the firewall ruleset, and the hostname entries in the "
+"DNS server or [.filename]#/etc/hosts# on both the logging server and "
+"clients. Repeat until the `ping` is successful from both hosts."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:999
+#: documentation/content/en/books/handbook/config/_index.adoc:1105
msgid ""
-"Each open file, socket, or fifo uses one file descriptor. A large-scale "
-"production server may easily require many thousands of file descriptors, "
-"depending on the kind and number of services running concurrently."
+"If the `ping` succeeds on both hosts but log messages are still not being "
+"received, temporarily increase logging verbosity to narrow down the "
+"configuration issue. In the following example, [.filename]#/var/log/"
+"logclient.log# on the logging server is empty and [.filename]#/var/log/"
+"messages# on the logging client does not indicate a reason for the failure."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1005
+#: documentation/content/en/books/handbook/config/_index.adoc:1107
msgid ""
-"In older FreeBSD releases, the default value of `kern.maxfiles` is derived "
-"from `maxusers` in the kernel configuration file. `kern.maxfiles` grows "
-"proportionally to the value of `maxusers`. When compiling a custom kernel, "
-"consider setting this kernel configuration option according to the use of "
-"the system. From this number, the kernel is given most of its pre-defined "
-"limits. Even though a production machine may not have 256 concurrent users, "
-"the resources needed may be similar to a high-scale web server."
+"To increase debugging output, edit the `syslogd_flags` entry on the logging "
+"server and issue a restart:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1111
+#, no-wrap
+msgid "sysrc syslogd_flags=\"-d -a logclient.example.com -v -v\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1011
+#: documentation/content/en/books/handbook/config/_index.adoc:1119
msgid ""
-"The read-only man:sysctl[8] variable `kern.maxusers` is automatically sized "
-"at boot based on the amount of memory available in the system, and may be "
-"determined at run-time by inspecting the value of `kern.maxusers`. Some "
-"systems require larger or smaller values of `kern.maxusers` and values of "
-"`64`, `128`, and `256` are not uncommon. Going above `256` is not "
-"recommended unless a huge number of file descriptors is needed. Many of the "
-"tunable values set to their defaults by `kern.maxusers` may be individually "
-"overridden at boot-time or run-time in [.filename]#/boot/loader.conf#. "
-"Refer to man:loader.conf[5] and [.filename]#/boot/defaults/loader.conf# for "
-"more details and some hints."
+"Debugging data similar to the following will flash on the console "
+"immediately after the restart:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1019
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1130
+#, no-wrap
msgid ""
-"In older releases, the system will auto-tune `maxusers` if it is set to `0`. "
-"footnote:[The auto-tuning algorithm sets maxusers equal to the amount of "
-"memory in the system, with a minimum of 32, and a maximum of 384.]. When "
-"setting this option, set `maxusers` to at least `4`, especially if the "
-"system runs Xorg or is used to compile software. The most important table "
-"set by `maxusers` is the maximum number of processes, which is set to `20 + "
-"16 * maxusers`. If `maxusers` is set to `1`, there can only be `36` "
-"simultaneous processes, including the `18` or so that the system starts up "
-"at boot time and the `15` or so used by Xorg. Even a simple task like "
-"reading a manual page will start up nine processes to filter, decompress, "
-"and view it. Setting `maxusers` to `64` allows up to `1044` simultaneous "
-"processes, which should be enough for nearly all uses. If, however, the "
-"error is displayed when trying to start another program, or a server is "
-"running with a large number of simultaneous users, increase the number and "
-"rebuild."
+"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
+"syslogd: restarted\n"
+"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
+"Logging to FILE /var/log/messages\n"
+"syslogd: kernel boot file is /boot/kernel/kernel\n"
+"cvthname(192.168.1.10)\n"
+"validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;\n"
+"rejected in rule 0 due to name mismatch.\n"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1024
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1135
msgid ""
-"`maxusers` does _not_ limit the number of users which can log into the "
-"machine. It instead sets various table sizes to reasonable values "
-"considering the maximum number of users on the system and how many processes "
-"each user will be running."
+"In this example, the log messages are being rejected due to a typo which "
+"results in a hostname mismatch. The client's hostname should be "
+"`logclient`, not `logclien`. Fix the typo, issue a restart, and verify the "
+"results:"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1026
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1157
#, no-wrap
-msgid "`kern.ipc.soacceptqueue`"
+msgid ""
+"logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n"
+"syslogd: restarted\n"
+"logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel\n"
+"syslogd: kernel boot file is /boot/kernel/kernel\n"
+"logmsg: pri 166, flags 17, from logserv.example.com,\n"
+"msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2\n"
+"cvthname(192.168.1.10)\n"
+"validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;\n"
+"accepted in rule 0.\n"
+"logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2\n"
+"Logging to FILE /var/log/logclient.log\n"
+"Logging to FILE /var/log/messages\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1033
+#: documentation/content/en/books/handbook/config/_index.adoc:1160
msgid ""
-"The `kern.ipc.soacceptqueue` man:sysctl[8] variable limits the size of the "
-"listen queue for accepting new `TCP` connections. The default value of "
-"`128` is typically too low for robust handling of new connections on a "
-"heavily loaded web server. For such environments, it is recommended to "
-"increase this value to `1024` or higher. A service such as man:sendmail[8], "
-"or Apache may itself limit the listen queue size, but will often have a "
-"directive in its configuration file to adjust the queue size. Large listen "
-"queues do a better job of avoiding Denial of Service (DoS) attacks."
+"At this point, the messages are being properly received and placed in the "
+"correct file."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1035
+#. type: Title ====
+#: documentation/content/en/books/handbook/config/_index.adoc:1161
#, no-wrap
-msgid "Network Limits"
+msgid "Security Considerations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1046
+#: documentation/content/en/books/handbook/config/_index.adoc:1167
msgid ""
-"The `NMBCLUSTERS` kernel configuration option dictates the amount of network "
-"Mbufs available to the system. A heavily-trafficked server with a low "
-"number of Mbufs will hinder performance. Each cluster represents "
-"approximately 2 K of memory, so a value of `1024` represents `2` megabytes "
-"of kernel memory reserved for network buffers. A simple calculation can be "
-"done to figure out how many are needed. A web server which maxes out at "
-"`1000` simultaneous connections where each connection uses a 6 K receive and "
-"16 K send buffer, requires approximately 32 MB worth of network buffers to "
-"cover the web server. A good rule of thumb is to multiply by `2`, so 2x32 "
-"MB / 2 KB = 64 MB / 2 kB = `32768`. Values between `4096` and `32768` are "
-"recommended for machines with greater amounts of memory. Never specify an "
-"arbitrarily high value for this parameter as it could lead to a boot time "
-"crash. To observe network cluster usage, use `-m` with man:netstat[1]."
+"As with any network service, security requirements should be considered "
+"before implementing a logging server. Log files may contain sensitive data "
+"about services enabled on the local host, user accounts, and configuration "
+"data. Network data sent from the client to the server will not be encrypted "
+"or password protected. If a need for encryption exists, consider using "
+"package:security/stunnel[], which will transmit the logging data over an "
+"encrypted tunnel."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1049
+#: documentation/content/en/books/handbook/config/_index.adoc:1175
msgid ""
-"The `kern.ipc.nmbclusters` loader tunable should be used to tune this at "
-"boot time. Only older versions of FreeBSD will require the use of the "
-"`NMBCLUSTERS` kernel man:config[8] option."
+"Local security is also an issue. Log files are not encrypted during use or "
+"after log rotation. Local users may access log files to gain additional "
+"insight into system configuration. Setting proper permissions on log files "
+"is critical. The built-in log rotator, newsyslog, supports setting "
+"permissions on newly created and rotated log files. Setting log files to "
+"mode `600` should prevent unwanted access by local users. Refer to man:"
+"newsyslog.conf[5] for additional information."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1054
-msgid ""
-"For busy servers that make extensive use of the man:sendfile[2] system call, "
-"it may be necessary to increase the number of man:sendfile[2] buffers via "
-"the `NSFBUFS` kernel configuration option or by setting its value in [."
-"filename]#/boot/loader.conf# (see man:loader[8] for details). A common "
-"indicator that this parameter needs to be adjusted is when processes are "
-"seen in the `sfbufa` state. The man:sysctl[8] variable `kern.ipc.nsfbufs` "
-"is read-only. This parameter nominally scales with `kern.maxusers`, however "
-"it may be necessary to tune accordingly."
+#. type: Title ==
+#: documentation/content/en/books/handbook/config/_index.adoc:1177
+#, no-wrap
+msgid "Power and Resource Management"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1058
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1181
msgid ""
-"Even though a socket has been marked as non-blocking, calling man:"
-"sendfile[2] on the non-blocking socket may result in the man:sendfile[2] "
-"call blocking until enough ``struct sf_buf``'s are made available."
+"It is important to utilize hardware resources in an efficient manner. Power "
+"and resource management allows the operating system to monitor system limits "
+"and to possibly run some actions triggered by events related to those limits."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1060
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1183
#, no-wrap
-msgid "`net.inet.ip.portrange.*`"
+msgid "ACPI configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1072
+#: documentation/content/en/books/handbook/config/_index.adoc:1186
msgid ""
-"The `net.inet.ip.portrange.*` man:sysctl[8] variables control the port "
-"number ranges automatically bound to `TCP` and `UDP` sockets. There are "
-"three ranges: a low range, a default range, and a high range. Most network "
-"programs use the default range which is controlled by `net.inet.ip.portrange."
-"first` and `net.inet.ip.portrange.last`, which default to `1024` and `5000`, "
-"respectively. Bound port ranges are used for outgoing connections and it is "
-"possible to run the system out of ports under certain circumstances. This "
-"most commonly occurs when running a heavily loaded web proxy. The port "
-"range is not an issue when running a server which handles mainly incoming "
-"connections, such as a web server, or has a limited number of outgoing "
-"connections, such as a mail relay. For situations where there is a shortage "
-"of ports, it is recommended to increase `net.inet.ip.portrange.last` "
-"modestly. A value of `10000`, `20000` or `30000` may be reasonable. "
-"Consider firewall effects when changing the port range. Some firewalls may "
-"block large ranges of ports, usually low-numbered ports, and expect systems "
-"to use higher ranges of ports for outgoing connections. For this reason, it "
-"is not recommended that the value of `net.inet.ip.portrange.first` be "
-"lowered."
+"On FreeBSD the management of these resources is managed by the man:acpi[4] "
+"kernel device."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1073
-#, no-wrap
-msgid "Virtual Memory"
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1190
+msgid "In FreeBSD the man:acpi[4] driver is loaded by default at system boot."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1075
-#, no-wrap
-msgid "`kern.maxvnodes`"
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1192
+msgid ""
+"This driver *cannot be unloaded after boot* because the system bus uses it "
+"for various hardware interactions."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1082
+#: documentation/content/en/books/handbook/config/_index.adoc:1196
msgid ""
-"A vnode is the internal representation of a file or directory. Increasing "
-"the number of vnodes available to the operating system reduces disk I/O. "
-"Normally, this is handled by the operating system and does not need to be "
-"changed. In some cases where disk I/O is a bottleneck and the system is "
-"running out of vnodes, this setting needs to be increased. The amount of "
-"inactive and free RAM will need to be taken into account."
+"In addition to man:acpi[4], FreeBSD has several dedicated kernel modules for "
+"various ACPI vendor subsystems. These modules will add some extra "
+"functionality like fan speed, keyboard backlit or screen brightness."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1084
-msgid "To see the current number of vnodes in use:"
+#: documentation/content/en/books/handbook/config/_index.adoc:1198
+msgid "The list can be obtained by running the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1089
+#: documentation/content/en/books/handbook/config/_index.adoc:1202
#, no-wrap
-msgid ""
-"# sysctl vfs.numvnodes\n"
-"vfs.numvnodes: 91349\n"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1092
-msgid "To see the maximum vnodes:"
+msgid "% ls /boot/kernel | grep acpi\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1097
+#: documentation/content/en/books/handbook/config/_index.adoc:1221
#, no-wrap
msgid ""
-"# sysctl kern.maxvnodes\n"
-"kern.maxvnodes: 100000\n"
+"acpi_asus.ko\n"
+"acpi_asus_wmi.ko\n"
+"acpi_dock.ko\n"
+"acpi_fujitsu.ko\n"
+"acpi_hp.ko\n"
+"acpi_ibm.ko\n"
+"acpi_panasonic.ko\n"
+"acpi_sony.ko\n"
+"acpi_toshiba.ko\n"
+"acpi_video.ko\n"
+"acpi_wmi.ko\n"
+"sdhci_acpi.ko\n"
+"uacpi.ko\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1103
+#: documentation/content/en/books/handbook/config/_index.adoc:1224
msgid ""
-"If the current vnode usage is near the maximum, try increasing `kern."
-"maxvnodes` by a value of `1000`. Keep an eye on the number of `vfs."
-"numvnodes`. If it climbs up to the maximum again, `kern.maxvnodes` will "
-"need to be increased further. Otherwise, a shift in memory usage as "
-"reported by man:top[1] should be visible and more memory should be active."
+"In the event that, for example, an IBM/Lenovo laptop is used, it will be "
+"necessary to load the module man:acpi_ibm[4] by executing the following "
+"command:"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:1105
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1228
#, no-wrap
-msgid "Adding Swap Space"
+msgid "# kldload acpi_ibm\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1109
-msgid ""
-"Sometimes a system requires more swap space. This section describes two "
-"methods to increase swap space: adding swap to an existing partition or new "
-"hard drive, and creating a swap file on an existing partition."
+#: documentation/content/en/books/handbook/config/_index.adoc:1231
+msgid "And add this line to [.filename]#/boot/loader.conf# to load it at boot:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1111
-msgid ""
-"For information on how to encrypt swap space, which options exist, and why "
-"it should be done, refer to crossref:disks[swap-encrypting,“Encrypting "
-"Swap”]."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1235
+#, no-wrap
+msgid "acpi_ibm_load=\"YES\"\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1113
+#: documentation/content/en/books/handbook/config/_index.adoc:1238
#, no-wrap
-msgid "Swap on a New Hard Drive or Existing Partition"
+msgid "CPU Power Management"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1117
+#: documentation/content/en/books/handbook/config/_index.adoc:1242
msgid ""
-"Adding a new hard drive for swap gives better performance than using a "
-"partition on an existing drive. Setting up partitions and hard drives is "
-"explained in crossref:disks[disks-adding,“Adding Disks”] while crossref:"
-"bsdinstall[configtuning-initial,“Designing the Partition Layout”] discusses "
-"partition layouts and swap partition size considerations."
+"CPU is the most consuming part of the system. Knowing how to improve CPU "
+"efficiency is a fundamental part of our system in order to save energy."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1120
-msgid "Use `swapon` to add a swap partition to the system. For example:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1124
-#, no-wrap
-msgid "# swapon /dev/ada1s1b\n"
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1132
+#: documentation/content/en/books/handbook/config/_index.adoc:1244
msgid ""
-"It is possible to use any partition not currently mounted, even if it "
-"already contains data. Using `swapon` on a partition that contains data "
-"will overwrite and destroy that data. Make sure that the partition to be "
-"added as swap is really the intended partition before running `swapon`."
+"In order to make proper use of the machine's resources in a correct way, "
+"FreeBSD supports technologies such as Intel Turbo Boost, AMD Turbo Core, "
+"Intel Speed Shift among others through the use of man:powerd[8] and "
+"cpufreq[4]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1135
+#: documentation/content/en/books/handbook/config/_index.adoc:1246
msgid ""
-"To automatically add this swap partition on boot, add an entry to [."
-"filename]#/etc/fstab#:"
+"The first step will be to obtain the CPU information by executing the "
+"following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1139
+#: documentation/content/en/books/handbook/config/_index.adoc:1250
#, no-wrap
-msgid "/dev/ada1s1b\tnone\tswap\tsw\t0\t0\n"
+msgid "% sysctl dev.cpu.0 <.>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1143
-msgid ""
-"See man:fstab[5] for an explanation of the entries in [.filename]#/etc/"
-"fstab#. More information about `swapon` can be found in man:swapon[8]."
+#: documentation/content/en/books/handbook/config/_index.adoc:1253
+msgid "In this case the `0` digit represents the first core of the CPU."
msgstr ""
-#. type: Block title
-#: documentation/content/en/books/handbook/config/_index.adoc:1145
-#: documentation/content/en/books/handbook/config/_index.adoc:1153
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1275
#, no-wrap
-msgid "Creating a Swap File"
+msgid ""
+"dev.cpu.0.cx_method: C1/mwait/hwc C2/mwait/hwc C3/mwait/hwc/bma\n"
+"dev.cpu.0.cx_usage_counters: 3507294 0 0\n"
+"dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 3804us\n"
+"dev.cpu.0.cx_lowest: C3 <1>\n"
+"dev.cpu.0.cx_supported: C1/1/1 C2/2/1 C3/3/57 <2>\n"
+"dev.cpu.0.freq_levels: 2267/35000 2266/35000 1600/15000 800/12000 <3>\n"
+"dev.cpu.0.freq: 1600 <4>\n"
+"dev.cpu.0.temperature: 40.0C <5>\n"
+"dev.cpu.0.coretemp.throttle_log: 0\n"
+"dev.cpu.0.coretemp.tjmax: 105.0C\n"
+"dev.cpu.0.coretemp.resolution: 1\n"
+"dev.cpu.0.coretemp.delta: 65\n"
+"dev.cpu.0.%parent: acpi0\n"
+"dev.cpu.0.%pnpinfo: _HID=none _UID=0 _CID=none\n"
+"dev.cpu.0.%location: handle=\\_PR_.CPU0\n"
+"dev.cpu.0.%driver: cpu\n"
+"dev.cpu.0.%desc: ACPI CPU\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1148
-msgid ""
-"These examples create a 512M swap file called [.filename]#/usr/swap0# "
-"instead of using a partition."
+#: documentation/content/en/books/handbook/config/_index.adoc:1278
+msgid "Lowest Cx state to use for idling the CPU."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1151
-msgid ""
-"Using swap files requires that the module needed by man:md[4] has either "
-"been built into the kernel or has been loaded before swap is enabled. See "
-"crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel] for "
-"information about building a custom kernel."
+#: documentation/content/en/books/handbook/config/_index.adoc:1279
+msgid "CPU supported Cx states."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1158
-msgid "Create the swap file:"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1280
+msgid "Currently available levels for the CPU (frequency/power usage)."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1162
-#, no-wrap
-msgid "# dd if=/dev/zero of=/usr/swap0 bs=1m count=512\n"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1281
+msgid "Current active CPU frequency in MHz."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1282
+msgid "Current temperature of the CPU."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1165
-msgid "Set the proper permissions on the new file:"
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1287
+msgid ""
+"If the temperature information is not displayed, load the man:coretemp[4] "
+"module. In case of using an AMD CPU, load the man:amdtemp[4] module."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1169
-#, no-wrap
-msgid "# chmod 0600 /usr/swap0\n"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1290
+msgid ""
+"Once the CPU information is available the easiest way to configure power "
+"saving is to let man:powerd[8] take over."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1172
+#: documentation/content/en/books/handbook/config/_index.adoc:1292
msgid ""
-"Inform the system about the swap file by adding a line to [.filename]#/etc/"
-"fstab#:"
+"Enable man:powerd[8] service in [.filename]#/etc/rc.conf# to start at system "
+"boot:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1176
+#: documentation/content/en/books/handbook/config/_index.adoc:1296
#, no-wrap
-msgid "md\tnone\tswap\tsw,file=/usr/swap0,late\t0\t0\n"
+msgid "# sysrc powerd_enable=YES\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1179
+#: documentation/content/en/books/handbook/config/_index.adoc:1299
msgid ""
-"Swap space will be added on system startup. To add swap space immediately, "
-"use man:swapon[8]:"
+"It will also be necessary to indicate certain parameters to man:powerd[8] to "
+"tell it how to manage the state of the CPU executing the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1183
+#: documentation/content/en/books/handbook/config/_index.adoc:1303
#, no-wrap
-msgid "# swapon -aL\n"
+msgid "# sysrc powerd_flags=\"-a hiadaptive -i 25 -r 85 -N\"\n"
msgstr ""
-#. type: Title ==
-#: documentation/content/en/books/handbook/config/_index.adoc:1188
-#, no-wrap
-msgid "Power and Resource Management"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1306
+msgid "`-a`: Selects the mode to use while on AC power."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1198
-msgid ""
-"It is important to utilize hardware resources in an efficient manner. Power "
-"and resource management allows the operating system to monitor system limits "
-"and to possibly provide an alert if the system temperature increases "
-"unexpectedly. An early specification for providing power management was the "
-"Advanced Power Management (APM) facility. APM controls the power usage of a "
-"system based on its activity. However, it was difficult and inflexible for "
-"operating systems to manage the power usage and thermal properties of a "
-"system. The hardware was managed by the BIOS and the user had limited "
-"configurability and visibility into the power management settings. The "
-"APMBIOS is supplied by the vendor and is specific to the hardware platform. "
-"An APM driver in the operating system mediates access to the APM Software "
-"Interface, which allows management of power levels."
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1307
+msgid "`hiadaptive`: Operation mode. More info at man:powerd[8]."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1206
-msgid ""
-"There are four major problems in APM. First, power management is done by "
-"the vendor-specific BIOS, separate from the operating system. For example, "
-"the user can set idle-time values for a hard drive in the APMBIOS so that, "
-"when exceeded, the BIOS spins down the hard drive without the consent of the "
-"operating system. Second, the APM logic is embedded in the BIOS, and it "
-"operates outside the scope of the operating system. This means that users "
-"can only fix problems in the APMBIOS by flashing a new one into the ROM, "
-"which is a dangerous procedure with the potential to leave the system in an "
-"unrecoverable state if it fails. Third, APM is a vendor-specific "
-"technology, meaning that there is a lot of duplication of efforts and bugs "
-"found in one vendor's BIOS may not be solved in others. Lastly, the APMBIOS "
-"did not have enough room to implement a sophisticated power policy or one "
-"that can adapt well to the purpose of the machine."
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1308
+msgid ""
+"`-i`: Specifies the CPU load percent level when adaptive mode should begin "
+"to degrade performance to save power."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1211
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1309
msgid ""
-"The Plug and Play BIOS (PNPBIOS) was unreliable in many situations. PNPBIOS "
-"is 16-bit technology, so the operating system has to use 16-bit emulation in "
-"order to interface with PNPBIOS methods. FreeBSD provides an APM driver as "
-"APM should still be used for systems manufactured at or before the year "
-"2000. The driver is documented in man:apm[4]."
+"`-r`: Specifies the CPU load percent level where adaptive mode should "
+"consider the CPU running and increase performance."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1215
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1310
msgid ""
-"The successor to APM is the Advanced Configuration and Power Interface "
-"(ACPI). ACPI is a standard written by an alliance of vendors to provide an "
-"interface for hardware resources and power management. It is a key element "
-"in _Operating System-directed configuration and Power Management_ as it "
-"provides more control and flexibility to the operating system."
+"`-N`: Treat \"nice\" time as idle for the purpose of load calculation; i.e., "
+"do not increase the CPU frequency if the CPU is only busy with \"nice\" "
+"processes."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1218
-msgid ""
-"This chapter demonstrates how to configure ACPI on FreeBSD. It then offers "
-"some tips on how to debug ACPI and how to submit a problem report containing "
-"debugging information so that developers can diagnosis and fix ACPI issues."
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1312
+msgid "And then enable the service executing the following command:"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1220
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1316
#, no-wrap
-msgid "Configuring ACPI"
+msgid "# service powerd start\n"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1225
-msgid ""
-"In FreeBSD the man:acpi[4] driver is loaded by default at system boot and "
-"should _not_ be compiled into the kernel. This driver cannot be unloaded "
-"after boot because the system bus uses it for various hardware "
-"interactions. However, if the system is experiencing problems, ACPI can be "
-"disabled altogether by rebooting after setting `hint.acpi.0.disabled=\"1\"` "
-"in [.filename]#/boot/loader.conf# or by setting this variable at the loader "
-"prompt, as described in crossref:boot[boot-loader,“Stage Three”]."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1319
+#, no-wrap
+msgid "CPU Frequency Control"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1230
+#: documentation/content/en/books/handbook/config/_index.adoc:1324
msgid ""
-"ACPI and APM cannot coexist and should be used separately. The last one to "
-"load will terminate if the driver notices the other is running."
+"FreeBSD includes a generic man:cpufreq[4] driver to allow the administrator, "
+"or software such as man:powerd[8] and package:sysutils/powerdxx[], to manage "
+"the frequency of the CPU to achieve the desired balance between performance "
+"and economy. A lower setting will save power while reducing the heat "
+"generated by the CPU. A higher setting will increase performance at the "
+"cost of using additional power and generating more heat."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1235
-msgid ""
-"ACPI can be used to put the system into a sleep mode with `acpiconf`, the `-"
-"s` flag, and a number from `1` to `5`. Most users only need `1` (quick "
-"suspend to RAM) or `3` (suspend to RAM). Option `5` performs a soft-off "
-"which is the same as running `halt -p`."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1326
+#, no-wrap
+msgid "Intel(R) Enhanced Speed Step(TM)"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1240
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1331
msgid ""
-"The man:acpi_video[4] driver uses link:https://uefi.org/specs/ACPI/6.4/"
-"Apx_B_Video_Extensions/Apx_B_Video_Extensions.html[ACPI Video Extensions] to "
-"control display switching and backlight brightness. It must be loaded after "
-"any of the DRM kernel modules. After loading the driver, the kbd:[Fn] "
-"brightness keys will change the brightness of the screen. It is possible to "
-"check the ACPI events by inspecting [.filename]#/var/run/devd.pipe#:"
+"The Intel(R) Enhanced Speed Step(TM) driver, man:est[4], replaces the "
+"generic man:cpufreq[4] driver for CPUs that provide this feature. The CPU "
+"frequency can be statically adjusted using man:sysctl[8], or with the `/etc/"
+"rc.d/power_profile` startup script. Additional software, such as man:"
+"powerd[8] or package:sysutils/powerdxx[], can be used to automatically "
+"adjust the CPU frequency based on processor utilization."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1248
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1333
msgid ""
-"... # cat /var/run/devd.pipe !system=ACPI subsystem=Video type=brightness "
-"notify=62 !system=ACPI subsystem=Video type=brightness notify=63 !"
-"system=ACPI subsystem=Video type=brightness notify=64 ..."
+"Each supported frequency, along with its expected power consumption, can be "
+"listed by examining the man:sysctl[3] tree:"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1251
-msgid ""
-"Other options are available using `sysctl`. Refer to man:acpi[4] and man:"
-"acpiconf[8] for more information."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1337
+#, no-wrap
+msgid "# sysctl dev.cpufreq.0.freq_driver dev.cpu.0.freq_levels dev.cpu.0.freq\n"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1253
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1346
#, no-wrap
-msgid "Common Problems"
+msgid ""
+"dev.cpufreq.0.freq_driver: est0\n"
+"dev.cpu.0.freq_levels: 3001/53000 3000/53000 2900/50301 2700/46082 2600/43525 2400/39557 2300/37137 2100/33398 2000/31112 1800/27610 1700/25455 1500/22171 1400/20144 1200/17084 1100/15181 900/12329 800/10550\n"
+"dev.cpu.0.freq: 800\n"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1260
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1349
msgid ""
-"ACPI is present in all modern computers that conform to the ia32 (x86) and "
-"amd64 (AMD) architectures. The full standard has many features including "
-"CPU performance management, power planes control, thermal zones, various "
-"battery systems, embedded controllers, and bus enumeration. Most systems "
-"implement less than the full standard. For instance, a desktop system "
-"usually only implements bus enumeration while a laptop might have cooling "
-"and battery management support as well. Laptops also have suspend and "
-"resume, with their own associated complexity."
+"A frequency 1 MHz higher than the maximum frequency of the CPU indicates the "
+"Intel(R) Turbo Boost(TM) feature."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1264
-msgid ""
-"An ACPI-compliant system has various components. The BIOS and chipset "
-"vendors provide various fixed tables, such as FADT, in memory that specify "
-"things like the APIC map (used for SMP), config registers, and simple "
-"configuration values. Additionally, a bytecode table, the Differentiated "
-"System Description Table DSDT, specifies a tree-like name space of devices "
-"and methods."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1351
+#, no-wrap
+msgid "Intel Speed Shift(TM)"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1270
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1357
msgid ""
-"The ACPI driver must parse the fixed tables, implement an interpreter for "
-"the bytecode, and modify device drivers and the kernel to accept information "
-"from the ACPI subsystem. For FreeBSD, Intel(R) has provided an interpreter "
-"(ACPI-CA) that is shared with Linux(R) and NetBSD. The path to the ACPI-CA "
-"source code is [.filename]#src/sys/contrib/dev/acpica#. The glue code that "
-"allows ACPI-CA to work on FreeBSD is in [.filename]#src/sys/dev/acpica/"
-"Osd#. Finally, drivers that implement various ACPI devices are found in [."
-"filename]#src/sys/dev/acpica#."
+"Users running newer Intel(R) CPUs may find some differences in dynamic "
+"frequency control when upgrading to FreeBSD 13. A new driver for the "
+"Intel(R) Speed Shift(TM) feature set, available on certain SKUs, exposes the "
+"ability for the hardware to dynamically vary the core frequencies, including "
+"on a per core basis. FreeBSD 13 comes with the man:hwpstate_intel[4] driver "
+"to automatically enable Speed Shift(TM) control on equipped CPUs, replacing "
+"the older Enhanced Speed Step(TM) man:est[4] driver. The man:sysctl[8] `dev."
+"cpufreq.%d.freq_driver` will indicate if the system is using Speed Shift."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1274
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1359
msgid ""
-"For ACPI to work correctly, all the parts have to work correctly. Here are "
-"some common problems, in order of frequency of appearance, and some possible "
-"workarounds or fixes. If a fix does not resolve the issue, refer to <<ACPI-"
-"submitdebug>> for instructions on how to submit a bug report."
+"To determine which frequency control driver is being used, examining the "
+"`dev.cpufreq.0.freq_driver` oid."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1275
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1363
#, no-wrap
-msgid "Mouse Issues"
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1279
-msgid ""
-"In some cases, resuming from a suspend operation will cause the mouse to "
-"fail. A known work around is to add `hint.psm.0.flags=\"0x3000\"` to [."
-"filename]#/boot/loader.conf#."
+msgid "# sysctl dev.cpufreq.0.freq_driver\n"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1280
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1370
#, no-wrap
-msgid "Suspend/Resume"
+msgid "dev.cpufreq.0.freq_driver: hwpstate_intel0\n"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1286
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1374
msgid ""
-"ACPI has three suspend to RAM (STR) states, `S1`-`S3`, and one suspend to "
-"disk state (STD), called `S4`. STD can be implemented in two separate "
-"ways. The ``S4``BIOS is a BIOS-assisted suspend to disk and ``S4``OS is "
-"implemented entirely by the operating system. The normal state the system "
-"is in when plugged in but not powered up is \"soft off\" (`S5`)."
+"This indicates that the new man:hwpstate_intel[4] driver is in use. On such "
+"systems, the oid `dev.cpu.%d.freq_levels` will show only the maximum CPU "
+"frequency, and will indicate a power consumption level of `-1`."
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1289
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1376
msgid ""
-"Use `sysctl hw.acpi` to check for the suspend-related items. These example "
-"results are from a Thinkpad:"
+"The current CPU frequency can be determined by examining the `dev.cpu.%d."
+"freq` oid."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1294
+#: documentation/content/en/books/handbook/config/_index.adoc:1380
#, no-wrap
-msgid ""
-"hw.acpi.supported_sleep_state: S3 S4 S5\n"
-"hw.acpi.s4bios: 0\n"
+msgid "# sysctl dev.cpu.0.freq_levels dev.cpu.0.freq\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1298
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1388
+#, no-wrap
msgid ""
-"Use `acpiconf -s` to test `S3`, `S4`, and `S5`. An `s4bios` of one (`1`) "
-"indicates ``S4``BIOS support instead of `S4` operating system support."
+"dev.cpu.0.freq_levels: 3696/-1\n"
+"dev.cpu.0.freq: 898\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1304
+#: documentation/content/en/books/handbook/config/_index.adoc:1391
msgid ""
-"When testing suspend/resume, start with `S1`, if supported. This state is "
-"most likely to work since it does not require much driver support. No one "
-"has implemented `S2`, which is similar to `S1`. Next, try `S3`. This is "
-"the deepest STR state and requires a lot of driver support to properly "
-"reinitialize the hardware."
+"For more information, including on how to balance performance and energy "
+"use, and on how to disable this driver, refer to the man page man:"
+"hwpstate_intel[4]."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1307
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1395
msgid ""
-"A common problem with suspend/resume is that many device drivers do not "
-"save, restore, or reinitialize their firmware, registers, or device memory "
-"properly. As a first attempt at debugging the problem, try:"
+"Users accustomed to using man:powerd[8] or package:sysutils/powerdxx[] will "
+"find these utilities have been superseded by the man:hwpstate_intel[4] "
+"driver and no longer work as expected."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1313
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1398
#, no-wrap
-msgid ""
-"# sysctl debug.bootverbose=1\n"
-"# sysctl debug.acpi.suspend_bounce=1\n"
-"# acpiconf -s 3\n"
+msgid "Graphics Card Power Management"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1318
+#: documentation/content/en/books/handbook/config/_index.adoc:1403
msgid ""
-"This test emulates the suspend/resume cycle of all device drivers without "
-"actually going into `S3` state. In some cases, problems such as losing "
-"firmware state, device watchdog time out, and retrying forever, can be "
-"captured with this method. Note that the system will not really enter `S3` "
-"state, which means devices may not lose power, and many will work fine even "
-"if suspend/resume methods are totally missing, unlike real `S3` state."
+"Graphics cards have become a fundamental part of computing in recent years. "
+"Some graphics cards may have excessive power consumption. FreeBSD allows "
+"certain configurations to improve power consumption."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1320
+#: documentation/content/en/books/handbook/config/_index.adoc:1405
msgid ""
-"If the previous test worked, on a laptop it is possible to configure the "
-"system to suspend into `S3` on lid close and resume when it is open back "
-"again:"
+"In case of using a Intel(R) graphics card with the package:graphics/drm-"
+"kmod[] driver these options can be added to [.filename]#/boot/loader.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1324
+#: documentation/content/en/books/handbook/config/_index.adoc:1411
#, no-wrap
-msgid "# sysctl hw.acpi.lid_switch_state=S3\n"
+msgid ""
+"compat.linuxkpi.fastboot=1 <.>\n"
+"compat.linuxkpi.enable_dc=2 <.>\n"
+"compat.linuxkpi.enable_fbc=1 <.>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1327
-msgid "This change can be made persistent across reboots:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1331
-#, no-wrap
-msgid "# echo 'hw.acpi.lid_switch_state=S3' >> /etc/sysctl.conf\n"
+#: documentation/content/en/books/handbook/config/_index.adoc:1414
+msgid "Try to skip unnecessary mode sets at boot time."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1334
-msgid ""
-"Harder cases require additional hardware, such as a serial port and cable "
-"for debugging through a serial console, a Firewire port and cable for using "
-"man:dcons[4], and kernel debugging skills."
+#: documentation/content/en/books/handbook/config/_index.adoc:1415
+msgid "Enable power-saving display C-states."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1341
-msgid ""
-"To help isolate the problem, unload as many drivers as possible. If it "
-"works, narrow down which driver is the problem by loading drivers until it "
-"fails again. Typically, binary drivers like [.filename]#nvidia.ko#, display "
-"drivers, and USB will have the most problems while Ethernet interfaces "
-"usually work fine. If drivers can be properly loaded and unloaded, automate "
-"this by putting the appropriate commands in [.filename]#/etc/rc.suspend# and "
-"[.filename]#/etc/rc.resume#. Try setting `hw.acpi.reset_video` to `1` if "
-"the display is messed up after resume. Try setting longer or shorter values "
-"for `hw.acpi.sleep_delay` to see if that helps."
+#: documentation/content/en/books/handbook/config/_index.adoc:1416
+msgid "Enable frame buffer compression for power savings"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1347
-msgid ""
-"Try loading a recent Linux(R) distribution to see if suspend/resume works on "
-"the same hardware. If it works on Linux(R), it is likely a FreeBSD driver "
-"problem. Narrowing down which driver causes the problem will assist "
-"developers in fixing the problem. Since the ACPI maintainers rarely "
-"maintain other drivers, such as sound or ATA, any driver problems should "
-"also be posted to the {freebsd-current} and mailed to the driver "
-"maintainer. Advanced users can include debugging man:printf[3]s in a "
-"problematic driver to track down where in its resume function it hangs."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1417
+#, no-wrap
+msgid "Suspend/Resume"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1351
+#: documentation/content/en/books/handbook/config/_index.adoc:1420
msgid ""
-"Finally, try disabling ACPI and enabling APM instead. If suspend/resume "
-"works with APM, stick with APM, especially on older hardware (pre-2000). It "
-"took vendors a while to get ACPI support correct and older hardware is more "
-"likely to have BIOS problems with ACPI."
+"The suspend/resume function allows the machine to be kept in a state in "
+"which there is no a big energy consumption and allows the system to be "
+"resumed without having to lose the state of the running programs."
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1352
-#, no-wrap
-msgid "System Hangs"
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1425
+msgid ""
+"In order for the suspend/resume functionality to work correctly the graphics "
+"drivers must be loaded on the system. In non-KMS-supported graphics cards "
+"man:sc[4] must be used not to break the suspend/resume functionality."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1356
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1427
msgid ""
-"Most system hangs are a result of lost interrupts or an interrupt storm. "
-"Chipsets may have problems based on boot, how the BIOS configures interrupts "
-"before correctness of the APIC (MADT) table, and routing of the System "
-"Control Interrupt (SCI)."
+"More information about which driver to use and how to configure it can be "
+"found at the crossref:x11[x11, The X Window System chapter]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1360
-msgid ""
-"Interrupt storms can be distinguished from lost interrupts by checking the "
-"output of `vmstat -i` and looking at the line that has `acpi0`. If the "
-"counter is increasing at more than a couple per second, there is an "
-"interrupt storm. If the system appears hung, try breaking to DDB (kbd:"
-"[CTRL+ALT+ESC] on console) and type `show interrupts`."
+#: documentation/content/en/books/handbook/config/_index.adoc:1430
+msgid "man:acpi[4] supports the next list of sleep states:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1362
-msgid ""
-"When dealing with interrupt problems, try disabling APIC support with `hint."
-"apic.0.disabled=\"1\"` in [.filename]#/boot/loader.conf#."
+#. type: Block title
+#: documentation/content/en/books/handbook/config/_index.adoc:1431
+#, no-wrap
+msgid "Supported Sleep States"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1363
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1436
#, no-wrap
-msgid "Panics"
+msgid "S1"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1370
-msgid ""
-"Panics are relatively rare for ACPI and are the top priority to be fixed. "
-"The first step is to isolate the steps to reproduce the panic, if possible, "
-"and get a backtrace. Follow the advice for enabling `options DDB` and "
-"setting up a serial console in crossref:serialcomms[serialconsole-"
-"ddb,“Entering the DDB Debugger from the Serial Line”] or setting up a dump "
-"partition. To get a backtrace in DDB, use `tr`. When handwriting the "
-"backtrace, get at least the last five and the top five lines in the trace."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1438
+#, no-wrap
+msgid "Quick suspend to RAM. The CPU enters a lower power state, but most peripherals are left running."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1374
-msgid ""
-"Then, try to isolate the problem by booting with ACPI disabled. If that "
-"works, isolate the ACPI subsystem by using various values of `debug.acpi."
-"disable`. See man:acpi[4] for some examples."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1439
+#, no-wrap
+msgid "S2"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1375
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1441
#, no-wrap
-msgid "System Powers Up After Suspend or Shutdown"
+msgid "Lower power state than S1, but with the same basic characteristics. Not supported by many systems."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1381
-msgid ""
-"First, try setting `hw.acpi.disable_on_poweroff=\"0\"` in [.filename]#/boot/"
-"loader.conf#. This keeps ACPI from disabling various events during the "
-"shutdown process. Some systems need this value set to `1` (the default) for "
-"the same reason. This usually fixes the problem of a system powering up "
-"spontaneously after a suspend or poweroff."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1442
+#, no-wrap
+msgid "S3 (Sleep mode)"
msgstr ""
-#. type: Title ====
-#: documentation/content/en/books/handbook/config/_index.adoc:1383
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1444
#, no-wrap
-msgid "BIOS Contains Buggy Bytecode"
+msgid "Suspend to RAM. Most devices are powered off, and the system stops running except for memory refresh."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1387
-msgid ""
-"Some BIOS vendors provide incorrect or buggy bytecode. This is usually "
-"manifested by kernel console messages like this:"
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1445
+#, no-wrap
+msgid "S4 (Hibernation)"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1392
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1447
#, no-wrap
-msgid ""
-"ACPI-1287: *** Error: Method execution failed [\\\\_SB_.PCI0.LPC0.FIGD._STA] \\\\\n"
-"(Node 0xc3f6d160), AE_NOT_FOUND\n"
+msgid "Suspend to disk. All devices are powered off, and the system stops running. When resuming, the system starts as if from a cold power on. *Not yet supported by FreeBSD*."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1396
-msgid ""
-"Often, these problems may be resolved by updating the BIOS to the latest "
-"revision. Most console messages are harmless, but if there are other "
-"problems, like the battery status is not working, these messages are a good "
-"place to start looking for problems."
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1448
+#, no-wrap
+msgid "S5"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1397
+#. type: Table
+#: documentation/content/en/books/handbook/config/_index.adoc:1450
#, no-wrap
-msgid "Overriding the Default AML"
+msgid "System shuts down cleanly and powers off."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1401
-msgid ""
-"The BIOS bytecode, known as ACPI Machine Language (AML), is compiled from a "
-"source language called ACPI Source Language (ASL). The AML is found in the "
-"table known as the Differentiated System Description Table (DSDT)."
+#. type: Title ====
+#: documentation/content/en/books/handbook/config/_index.adoc:1453
+#, no-wrap
+msgid "Configuring Suspend/Resume"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1406
+#: documentation/content/en/books/handbook/config/_index.adoc:1456
msgid ""
-"The goal of FreeBSD is for everyone to have working ACPI without any user "
-"intervention. Workarounds are still being developed for common mistakes "
-"made by BIOS vendors. The Microsoft(R) interpreter ([.filename]#acpi.sys# "
-"and [.filename]#acpiec.sys#) does not strictly check for adherence to the "
-"standard, and thus many BIOS vendors who only test ACPI under Windows(R) "
-"never fix their ASL. FreeBSD developers continue to identify and document "
-"which non-standard behavior is allowed by Microsoft(R)'s interpreter and "
-"replicate it so that FreeBSD can work without forcing users to fix the ASL."
+"The first step will be to know which type of sleep states supports the "
+"hardware we are using executing the following command:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1409
-msgid ""
-"To help identify buggy behavior and possibly fix it manually, a copy can be "
-"made of the system's ASL. To copy the system's ASL to a specified file "
-"name, use `acpidump` with `-t`, to show the contents of the fixed tables, "
-"and `-d`, to disassemble the AML:"
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1460
+#, no-wrap
+msgid "% sysctl hw.acpi.supported_sleep_state\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1413
+#: documentation/content/en/books/handbook/config/_index.adoc:1467
#, no-wrap
-msgid "# acpidump -td > my.asl\n"
+msgid "hw.acpi.supported_sleep_state: S3 S4 S5\n"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1417
-msgid ""
-"Some AML versions assume the user is running Windows(R). To override this, "
-"set `hw.acpi.osname=_\"Windows 2009\"_` in [.filename]#/boot/loader.conf#, "
-"using the most recent Windows(R) version listed in the ASL."
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1472
+msgid "As stated above FreeBSD does *not* yet support the `S4` state."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1421
+#: documentation/content/en/books/handbook/config/_index.adoc:1475
msgid ""
-"Other workarounds may require [.filename]#my.asl# to be customized. If this "
-"file is edited, compile the new ASL using the following command. Warnings "
-"can usually be ignored, but errors are bugs that will usually prevent ACPI "
-"from working correctly."
+"man:acpiconf[8] can be used to check if the `S3` state works correctly by "
+"running the following command, if it succeeds, the screen should go black "
+"and the machine will turn off:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1425
+#: documentation/content/en/books/handbook/config/_index.adoc:1479
#, no-wrap
-msgid "# iasl -f my.asl\n"
+msgid "# acpiconf -s 3\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1429
+#: documentation/content/en/books/handbook/config/_index.adoc:1482
msgid ""
-"Including `-f` forces creation of the AML, even if there are errors during "
-"compilation. Some errors, such as missing return statements, are "
-"automatically worked around by the FreeBSD interpreter."
+"In the vast majority of cases the Suspend/Resume functionality wants to be "
+"used on a laptop."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1432
+#: documentation/content/en/books/handbook/config/_index.adoc:1484
msgid ""
-"The default output filename for `iasl` is [.filename]#DSDT.aml#. Load this "
-"file instead of the BIOS's buggy copy, which is still present in flash "
-"memory, by editing [.filename]#/boot/loader.conf# as follows:"
+"FreeBSD can be configured to enter the `S3` state when closing the lid by "
+"adding the following line to the [.filename]#/etc/sysctl.conf# file."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1437
+#: documentation/content/en/books/handbook/config/_index.adoc:1488
#, no-wrap
-msgid ""
-"acpi_dsdt_load=\"YES\"\n"
-"acpi_dsdt_name=\"/boot/DSDT.aml\"\n"
+msgid "hw.acpi.lid_switch_state=S3\n"
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/config/_index.adoc:1491
+#, no-wrap
+msgid "Troubleshooting in Suspend/Resume"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1441
+#: documentation/content/en/books/handbook/config/_index.adoc:1495
msgid ""
-"Be sure to copy [.filename]#DSDT.aml# to [.filename]#/boot#, then reboot the "
-"system. If this fixes the problem, send a man:diff[1] of the old and new "
-"ASL to the {freebsd-acpi} so that developers can work around the buggy "
-"behavior in [.filename]#acpica#."
+"A lot of effort has been made to make the Suspend and Resume functions work "
+"properly and in the best way on FreeBSD. But currently the Suspend and "
+"Resume functions only work properly on some specific laptops."
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1443
-#, no-wrap
-msgid "Getting and Submitting Debugging Info"
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1497
+msgid "Some checks can be done in case it doesn't work properly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1451
+#: documentation/content/en/books/handbook/config/_index.adoc:1500
msgid ""
-"The ACPI driver has a flexible debugging facility. A set of subsystems and "
-"the level of verbosity can be specified. The subsystems to debug are "
-"specified as layers and are broken down into components "
-"(`ACPI_ALL_COMPONENTS`) and ACPI hardware support (`ACPI_ALL_DRIVERS`). The "
-"verbosity of debugging output is specified as the level and ranges from just "
-"report errors (`ACPI_LV_ERROR`) to everything (`ACPI_LV_VERBOSE`). The "
-"level is a bitmask so multiple options can be set at once, separated by "
-"spaces. In practice, a serial console should be used to log the output so "
-"it is not lost as the console message buffer flushes. A full list of the "
-"individual layers and levels is found in man:acpi[4]."
+"In some cases it is enough to turn off the bluetooth. In others it is "
+"enough loading the correct driver for the graphics card, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1455
+#: documentation/content/en/books/handbook/config/_index.adoc:1502
msgid ""
-"Debugging output is not enabled by default. To enable it, add `options "
-"ACPI_DEBUG` to the custom kernel configuration file if ACPI is compiled into "
-"the kernel. Add `ACPI_DEBUG=1` to [.filename]#/etc/make.conf# to enable it "
-"globally. If a module is used instead of a custom kernel, recompile just "
-"the [.filename]#acpi.ko# module as follows:"
+"In case it doesn't work correctly, some tips can be found on the FreeBSD "
+"Wiki in the section link:https://wiki.freebsd.org/SuspendResume[Suspend/"
+"Resume]."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1459
+#. type: Title ==
+#: documentation/content/en/books/handbook/config/_index.adoc:1504
#, no-wrap
-msgid "# cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1\n"
+msgid "Adding Swap Space"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1463
+#: documentation/content/en/books/handbook/config/_index.adoc:1508
msgid ""
-"Copy the compiled [.filename]#acpi.ko# to [.filename]#/boot/kernel# and add "
-"the desired level and layer to [.filename]#/boot/loader.conf#. The entries "
-"in this example enable debug messages for all ACPI components and hardware "
-"drivers and output error messages at the least verbose level:"
+"Sometimes a FreeBSD system requires more swap space. This section describes "
+"two methods to increase swap space: adding swap to an existing partition or "
+"new hard drive, and creating a swap file on an existing file system."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1468
-#, no-wrap
+#. type: Plain text
+#: documentation/content/en/books/handbook/config/_index.adoc:1510
msgid ""
-"debug.acpi.layer=\"ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS\"\n"
-"debug.acpi.level=\"ACPI_LV_ERROR\"\n"
+"For information on how to encrypt swap space, which options exist, and why "
+"it should be done, refer to crossref:disks[swap-encrypting,“Encrypting "
+"Swap”]."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1473
-msgid ""
-"If the required information is triggered by a specific event, such as a "
-"suspend and then resume, do not modify [.filename]#/boot/loader.conf#. "
-"Instead, use `sysctl` to specify the layer and level after booting and "
-"preparing the system for the specific event. The variables which can be set "
-"using `sysctl` are named the same as the tunables in [.filename]#/boot/"
-"loader.conf#."
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1512
+#, no-wrap
+msgid "Swap on a New Hard Drive or Existing Partition"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1475
+#: documentation/content/en/books/handbook/config/_index.adoc:1516
msgid ""
-"Once the debugging information is gathered, it can be sent to the {freebsd-"
-"acpi} so that it can be used by the FreeBSD ACPI maintainers to identify the "
-"root cause of the problem and to develop a solution."
+"Adding a new drive for swap gives better performance than using a partition "
+"on an existing drive. Setting up partitions and drives is explained in "
+"crossref:disks[disks-adding,\"Adding Disks\"] while crossref:"
+"bsdinstall[configtuning-initial,\"Designing the Partition Layout\"] "
+"discusses partition layouts and swap partition size considerations."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1479
+#: documentation/content/en/books/handbook/config/_index.adoc:1522
msgid ""
-"Before submitting debugging information to this mailing list, ensure the "
-"latest BIOS version is installed and, if available, the embedded controller "
-"firmware version."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1482
-msgid "When submitting a problem report, include the following information:"
+"It is possible to use any partition not currently mounted, even if it "
+"already contains data. Using `swapon` on a partition that contains data "
+"will overwrite and destroy that data. Make sure that the partition to be "
+"added as swap is really the intended partition before running `swapon`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1484
+#: documentation/content/en/books/handbook/config/_index.adoc:1525
msgid ""
-"Description of the buggy behavior, including system type, model, and "
-"anything that causes the bug to appear. Note as accurately as possible when "
-"the bug began occurring if it is new."
+"man:swapon[8] can be used to add a swap partition to the system executing "
+"the following command:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1485
-msgid ""
-"The output of `dmesg` after running `boot -v`, including any error messages "
-"generated by the bug."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1529
+#, no-wrap
+msgid "# swapon /dev/ada1p2\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1486
+#: documentation/content/en/books/handbook/config/_index.adoc:1532
msgid ""
-"The `dmesg` output from `boot -v` with ACPI disabled, if disabling ACPI "
-"helps to fix the problem."
+"To automatically add this swap partition on boot, add an entry to [."
+"filename]#/etc/fstab#:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1487
-msgid ""
-"Output from `sysctl hw.acpi`. This lists which features the system offers."
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1536
+#, no-wrap
+msgid "/dev/ada1p2 none swap sw 0 0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1488
+#: documentation/content/en/books/handbook/config/_index.adoc:1539
msgid ""
-"The URL to a pasted version of the system's ASL. Do _not_ send the ASL "
-"directly to the list as it can be very large. Generate a copy of the ASL by "
-"running this command:"
+"See man:fstab[5] for an explanation of the entries in [.filename]#/etc/"
+"fstab#."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/config/_index.adoc:1492
+#. type: Title ===
+#: documentation/content/en/books/handbook/config/_index.adoc:1541
#, no-wrap
-msgid "# acpidump -dt > name-system.asl\n"
+msgid "Creating a Swap File"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1496
+#: documentation/content/en/books/handbook/config/_index.adoc:1545
+msgid "These examples create a 512M swap file called [.filename]#/usr/swap0#."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1549
msgid ""
-"Substitute the login name for _name_ and manufacturer/model for _system_. "
-"For example, use [.filename]#njl-FooCo6000.asl#."
+"Swap files on ZFS file systems are strongly discouraged, as swapping can "
+"lead to system hangs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1503
-msgid ""
-"Most FreeBSD developers watch the {freebsd-current}, but one should submit "
-"problems to the {freebsd-acpi} to be sure it is seen. Be patient when "
-"waiting for a response. If the bug is not immediately apparent, submit a "
-"bug report. When entering a PR, include the same information as requested "
-"above. This helps developers to track the problem and resolve it. Do not "
-"send a PR without emailing the {freebsd-acpi} first as it is likely that the "
-"problem has been reported before."
+#: documentation/content/en/books/handbook/config/_index.adoc:1552
+msgid "The first step is to create the swap file:"
msgstr ""
-#. type: Title ===
-#: documentation/content/en/books/handbook/config/_index.adoc:1505
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1556
#, no-wrap
-msgid "References"
+msgid "# dd if=/dev/zero of=/usr/swap0 bs=1m count=512\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1508
-msgid "More information about ACPI may be found in the following locations:"
+#: documentation/content/en/books/handbook/config/_index.adoc:1559
+msgid "The second step is to put the proper permissions on the new file:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1563
+#, no-wrap
+msgid "# chmod 0600 /usr/swap0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1510
+#: documentation/content/en/books/handbook/config/_index.adoc:1566
msgid ""
-"Archives at https://lists.freebsd.org/pipermail/freebsd-acpi/[] and more "
-"recent https://lists.freebsd.org/archives/freebsd-acpi/[]"
+"The third step is to inform the system about the swap file by adding a line "
+"to [.filename]#/etc/fstab#:"
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1511
-msgid "The https://uefi.org/specifications#ACPI[ACPI Specification]"
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1570
+#, no-wrap
+msgid "md none swap sw,file=/usr/swap0,late 0 0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/config/_index.adoc:1511
+#: documentation/content/en/books/handbook/config/_index.adoc:1573
msgid ""
-"man:acpi[4], man:acpi_thermal[4], man:acpidump[8], man:iasl[8], and man:"
-"acpidb[8]"
+"Swap space will be added on system startup. To add swap space immediately, "
+"use man:swapon[8]:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/config/_index.adoc:1577
+#, no-wrap
+msgid "# swapon -aL\n"
msgstr ""
diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.po b/documentation/content/en/books/handbook/cutting-edge/_index.po
index 412f33aa41..2632a79c2a 100644
--- a/documentation/content/en/books/handbook/cutting-edge/_index.po
+++ b/documentation/content/en/books/handbook/cutting-edge/_index.po
@@ -1,2270 +1,2282 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Information about how to keep a FreeBSD system up-to-date with freebsd-update or Git, how to rebuild and reinstall the entire base system, etc"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1
#, no-wrap
msgid "Chapter 26. Updating and Upgrading FreeBSD"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:14
#, no-wrap
msgid "Updating and Upgrading FreeBSD"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:59
msgid ""
"FreeBSD is under constant development between releases. Some people prefer "
"to use the officially released versions, while others prefer to keep in sync "
"with the latest developments. However, even official releases are often "
"updated with security and other critical fixes. Regardless of the version "
"used, FreeBSD provides all the necessary tools to keep the system updated, "
"and allows for easy upgrades between versions. This chapter describes how "
"to track the development system and the basic tools for keeping a FreeBSD "
"system up-to-date."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:61
msgid "After reading this chapter, you will know:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:63
msgid "How to keep a FreeBSD system up-to-date with freebsd-update or Git."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:64
msgid ""
"How to compare the state of an installed system against a known pristine "
"copy."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:65
msgid ""
"How to keep the installed documentation up-to-date with Git or documentation "
"ports."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:66
msgid ""
"The difference between the two development branches: FreeBSD-STABLE and "
"FreeBSD-CURRENT."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:67
msgid "How to rebuild and reinstall the entire base system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:69
msgid "Before reading this chapter, you should:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:71
msgid ""
"Properly set up the network connection (crossref:advanced-"
"networking[advanced-networking,Advanced Networking])."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:72
msgid ""
"Know how to install additional third-party software (crossref:ports[ports,"
"Installing Applications: Packages and Ports])."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:77
msgid ""
"Throughout this chapter, `git` is used to obtain and update FreeBSD "
"sources. Optionally, the package:devel/git[] port or package may be used."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:80
#, no-wrap
msgid "FreeBSD Update"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:84
msgid ""
"Applying security patches in a timely manner and upgrading to a newer "
"release of an operating system are important aspects of ongoing system "
"administration. FreeBSD includes a utility called `freebsd-update` which "
"can be used to perform both these tasks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:88
msgid ""
"This utility supports binary security and errata updates to FreeBSD, without "
"the need to manually compile and install the patch or a new kernel. Binary "
"updates are available for all architectures and releases currently supported "
"by the security team. The list of supported releases and their estimated "
"end-of-life dates are listed at https://www.FreeBSD.org/security/[https://"
"www.FreeBSD.org/security/]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:92
msgid ""
"This utility also supports operating system upgrades to minor point releases "
"as well as upgrades to another release branch. Before upgrading to a new "
"release, review its release announcement as it contains important "
"information pertinent to the release. Release announcements are available "
"from https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:96
msgid ""
"If a man:crontab[5] utilizing the features of man:freebsd-update[8] exists, "
"it must be disabled before upgrading the operating system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:99
msgid ""
"This section describes the configuration file used by `freebsd-update`, "
"demonstrates how to apply a security patch and how to upgrade to a minor or "
"major operating system release, and discusses some of the considerations "
"when upgrading the operating system."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:101
#, no-wrap
msgid "The Configuration File"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:106
msgid ""
"The default configuration file for `freebsd-update` works as-is. Some users "
"may wish to tweak the default configuration in [.filename]#/etc/freebsd-"
"update.conf#, allowing better control of the process. The comments in this "
"file explain the available options, but the following may require a bit more "
"explanation:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:111
#, no-wrap
msgid ""
"# Components of the base system which should be kept updated.\n"
"Components world kernel\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:118
msgid ""
"This parameter controls which parts of FreeBSD will be kept up-to-date. The "
"default is to update the entire base system and the kernel. Individual "
"components can instead be specified, such as `src/base` or `src/sys`. "
"However, the best option is to leave this at the default as changing it to "
"include specific items requires every needed item to be listed. Over time, "
"this could have disastrous consequences as source code and binaries may "
"become out of sync."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:124
#, no-wrap
msgid ""
"# Paths which start with anything matching an entry in an IgnorePaths\n"
"# statement will be ignored.\n"
"IgnorePaths /boot/kernel/linker.hints\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:128
msgid ""
"To leave specified directories, such as [.filename]#/bin# or [.filename]#/"
"sbin#, untouched during the update process, add their paths to this "
"statement. This option may be used to prevent `freebsd-update` from "
"overwriting local modifications."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:135
#, no-wrap
msgid ""
"# Paths which start with anything matching an entry in an UpdateIfUnmodified\n"
"# statement will only be updated if the contents of the file have not been\n"
"# modified by the user (unless changes are merged; see below).\n"
"UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:140
msgid ""
"This option will only update unmodified configuration files in the specified "
"directories. Any changes made by the user will prevent the automatic "
"updating of these files. There is another option, `KeepModifiedMetadata`, "
"which will instruct `freebsd-update` to save the changes during the merge."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:146
#, no-wrap
msgid ""
"# When upgrading to a new FreeBSD release, files which match MergeChanges\n"
"# will have any local changes merged into the version from the new release.\n"
"MergeChanges /etc/ /var/named/etc/ /boot/device.hints\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:153
msgid ""
"List of directories with configuration files that `freebsd-update` should "
"attempt to merge. The file merge process is a series of man:diff[1] patches "
"similar to man:mergemaster[8], but with fewer options. Merges are either "
"accepted, open an editor, or cause `freebsd-update` to abort. When in "
"doubt, backup [.filename]#/etc# and just accept the merges. See man:"
"mergemaster[8] for more information about `mergemaster`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:159
#, no-wrap
msgid ""
"# Directory in which to store downloaded updates and temporary\n"
"# files used by FreeBSD Update.\n"
"# WorkDir /var/db/freebsd-update\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:163
msgid ""
"This directory is where all patches and temporary files are placed. In "
"cases where the user is doing a version upgrade, this location should have "
"at least a gigabyte of disk space available."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:171
#, no-wrap
msgid ""
"# When upgrading between releases, should the list of Components be\n"
"# read strictly (StrictComponents yes) or merely as a list of components\n"
"# which *might* be installed of which FreeBSD Update should figure out\n"
"# which actually are installed and upgrade those (StrictComponents no)?\n"
"# StrictComponents no\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:175
msgid ""
"When this option is set to `yes`, `freebsd-update` will assume that the "
"`Components` list is complete and will not attempt to make changes outside "
"of the list. Effectively, `freebsd-update` will attempt to update every "
"file which belongs to the `Components` list."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:177
msgid "Refer to man:freebsd-update.conf[5] for more details."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:179
#, no-wrap
msgid "Applying Security Patches"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:183
msgid ""
"The process of applying FreeBSD security patches has been simplified, "
"allowing an administrator to keep a system fully patched using `freebsd-"
"update`. More information about FreeBSD security advisories can be found in "
"crossref:security[security-advisories,\"FreeBSD Security Advisories\"]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:187
msgid ""
"FreeBSD security patches may be downloaded and installed using the following "
"commands. The first command will determine if any outstanding patches are "
"available, and if so, will list the files that will be modifed if the "
"patches are applied. The second command will apply the patches."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:192
#, no-wrap
msgid ""
"# freebsd-update fetch\n"
"# freebsd-update install\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:196
msgid ""
"If the update applies any kernel patches, the system will need a reboot in "
"order to boot into the patched kernel. If the patch was applied to any "
"running binaries, the affected applications should be restarted so that the "
"patched version of the binary is used."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:202
msgid ""
"Usually, the user needs to be prepared to reboot the system. To know if the "
"system requires a reboot due to a kernel update, execute the commands "
"`freebsd-version -k` and `uname -r`. Reboot the system if the outputs "
"differ."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:205
msgid ""
"The system can be configured to automatically check for updates once every "
"day by adding this entry to [.filename]#/etc/crontab#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:209
#, no-wrap
msgid "@daily root freebsd-update cron\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:213
msgid ""
"If patches exist, they will automatically be downloaded but will not be "
"applied. The `root` user will be sent an email so that the patches may be "
"reviewed and manually installed with `freebsd-update install`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:215
msgid ""
"If anything goes wrong, `freebsd-update` has the ability to roll back the "
"last set of changes with the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:220
#, no-wrap
msgid ""
"# freebsd-update rollback\n"
"Uninstalling updates... done.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:223
msgid ""
"Again, the system should be restarted if the kernel or any kernel modules "
"were modified and any affected binaries should be restarted."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:228
msgid ""
"Only the [.filename]#GENERIC# kernel can be automatically updated by "
"`freebsd-update`. If a custom kernel is installed, it will have to be "
"rebuilt and reinstalled after `freebsd-update` finishes installing the "
"updates. The default kernel name is _GENERIC_. The man:uname[1] command "
"may be used to verify its installation."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:234
msgid ""
"Always keep a copy of the [.filename]#GENERIC# kernel in [.filename]#/boot/"
"GENERIC#. It will be helpful in diagnosing a variety of problems and in "
"performing version upgrades. Refer to <<freebsd-update-custom-kernel-9x>> "
"for instructions on how to get a copy of the [.filename]#GENERIC# kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:239
msgid ""
"Unless the default configuration in [.filename]#/etc/freebsd-update.conf# "
"has been changed, `freebsd-update` will install the updated kernel sources "
"along with the rest of the updates. Rebuilding and reinstalling a new "
"custom kernel can then be performed in the usual way."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:246
msgid ""
"The updates distributed by `freebsd-update` do not always involve the "
"kernel. It is not necessary to rebuild a custom kernel if the kernel "
"sources have not been modified by `freebsd-update install`. However, "
"`freebsd-update` will always update [.filename]#/usr/src/sys/conf/newvers."
"sh#. The current patch level, as indicated by the `-p` number reported by "
"`uname -r`, is obtained from this file. Rebuilding a custom kernel, even if "
"nothing else changed, allows `uname` to accurately report the current patch "
"level of the system. This is particularly helpful when maintaining multiple "
"systems, as it allows for a quick assessment of the updates installed in "
"each one."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:248
#, no-wrap
msgid "Performing Minor and Major Version Upgrades"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:251
msgid ""
"Upgrades from one minor version of FreeBSD to another are called _minor "
"version_ upgrades. An example:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:253
msgid "FreeBSD 13.1 to 13.2."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:255
msgid "_Major version_ upgrades increase the major version number. An example:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:257
msgid "FreeBSD 12.4 to 13.2."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:259
msgid ""
"Both types of upgrade can be performed by providing `freebsd-update` with a "
"release version target."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:265
msgid ""
"After each new `RELEASE`, FreeBSD package build servers will, for a limited "
"period, *not* use the newer version of the operating system. This provides "
"continuity for the many users who do not upgrade immediately after a release "
"announcement. For example:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:267
msgid ""
"packages for users of 13.1 and 13.2 will be built on a server running 13.1, "
"until 13.1 reaches end of life"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:269
msgid "and, critically:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:271
msgid "a kernel module that is built on 13.1 might *not* be suitable for 13.2."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:273
msgid ""
"So, with any minor or major OS upgrade, if your package requirements include "
"any kernel module:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:275
#, no-wrap
msgid "*be prepared to build the module from source*.\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:282
msgid ""
"If the system is running a custom kernel, make sure that a copy of the [."
"filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC# before "
"starting the upgrade. Refer to <<freebsd-update-custom-kernel-9x>> for "
"instructions on how to get a copy of the [.filename]#GENERIC# kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:285
msgid ""
"The following command, when run on a FreeBSD 13.1 system, will upgrade it to "
"FreeBSD 13.2:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:289
#, no-wrap
msgid "# freebsd-update -r 13.2-RELEASE upgrade\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:294
msgid ""
"After the command has been received, `freebsd-update` will evaluate the "
"configuration file and current system in an attempt to gather the "
"information necessary to perform the upgrade. A screen listing will display "
"which components have and have not been detected. For example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:301
#, no-wrap
msgid ""
"Looking up update.FreeBSD.org mirrors... 1 mirrors found.\n"
"Fetching metadata signature for 13.1-RELEASE from update1.FreeBSD.org... done.\n"
"Fetching metadata index... done.\n"
"Inspecting system... done.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:307
#, no-wrap
msgid ""
"The following components of FreeBSD seem to be installed:\n"
"kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games\n"
"src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue\n"
"src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin\n"
"world/base world/info world/lib32 world/manpages\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:311
#, no-wrap
msgid ""
"The following components of FreeBSD do not seem to be installed:\n"
"kernel/generic world/catpages world/dict world/doc world/games\n"
"world/proflibs\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:313
#, no-wrap
msgid "Does this look reasonable (y/n)? y\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:317
msgid ""
"At this point, `freebsd-update` will attempt to download all files required "
"for the upgrade. In some cases, the user may be prompted with questions "
"regarding what to install or how to proceed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:319
msgid ""
"When using a custom kernel, the above step will produce a warning similar to "
"the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:326
#, no-wrap
msgid ""
"WARNING: This system is running a \"MYKERNEL\" kernel, which is not a\n"
"kernel configuration distributed as part of FreeBSD 13.1-RELEASE.\n"
"This kernel will not be updated: you MUST update the kernel manually\n"
"before running \"/usr/sbin/freebsd-update install\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:330
msgid ""
"This warning may be safely ignored at this point. The updated [."
"filename]#GENERIC# kernel will be used as an intermediate step in the "
"upgrade process."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:339
msgid ""
"Once all the patches have been downloaded to the local system, they will be "
"applied. This process may take a while, depending on the speed and workload "
"of the machine. Configuration files will then be merged. The merging "
"process requires some user intervention as a file may be merged or an editor "
"may appear on screen for a manual merge. The results of every successful "
"merge will be shown to the user as the process continues. A failed or "
"ignored merge will cause the process to abort. Users may wish to make a "
"backup of [.filename]#/etc# and manually merge important files, such as [."
"filename]#master.passwd# or [.filename]#group# at a later time."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:346
msgid ""
"The system is not being altered yet as all patching and merging is happening "
"in another directory. Once all patches have been applied successfully, all "
"configuration files have been merged and it seems the process will go "
"smoothly, the changes can be committed to disk by the user using the "
"following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:350
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:386
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:462
#, no-wrap
msgid "# freebsd-update install\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:357
msgid ""
"The kernel and kernel modules will be patched first. If the system is "
"running with a custom kernel, use man:nextboot[8] to set the kernel for the "
"next boot to the updated [.filename]#/boot/GENERIC#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:361
#, no-wrap
msgid "# nextboot -k GENERIC\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:370
msgid ""
"Before rebooting with the [.filename]#GENERIC# kernel, make sure it contains "
"all the drivers required for the system to boot properly and connect to the "
"network, if the machine being updated is accessed remotely. In particular, "
"if the running custom kernel contains built-in functionality usually "
"provided by kernel modules, make sure to temporarily load these modules into "
"the [.filename]#GENERIC# kernel using the [.filename]#/boot/loader.conf# "
"facility. It is recommended to disable non-essential services as well as "
"any disk and network mounts until the upgrade process is complete."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:373
msgid "The machine should now be restarted with the updated kernel:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:377
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1090
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1097
#, no-wrap
msgid "# shutdown -r now\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:382
msgid ""
"Once the system has come back online, restart `freebsd-update` using the "
"following command. Since the state of the process has been saved, `freebsd-"
"update` will not start from the beginning, but will instead move on to the "
"next phase and remove all old shared libraries and object files."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:391
msgid ""
"Depending upon whether any library version numbers were bumped, there may "
"only be two install phases instead of three."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:395
msgid ""
"The upgrade is now complete. If this was a major version upgrade, reinstall "
"all ports and packages as described in <<freebsdupdate-portsrebuild>>."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:397
#, no-wrap
msgid "Custom Kernels with FreeBSD 9.X and Later"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:402
msgid ""
"Before using `freebsd-update`, ensure that a copy of the [."
"filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC#. If a custom "
"kernel has only been built once, the kernel in [.filename]#/boot/kernel.old# "
"is the `GENERIC` kernel. Simply rename this directory to [.filename]#/boot/"
"GENERIC#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:406
msgid ""
"If a custom kernel has been built more than once or if it is unknown how "
"many times the custom kernel has been built, obtain a copy of the `GENERIC` "
"kernel that matches the current version of the operating system. If "
"physical access to the system is available, a copy of the `GENERIC` kernel "
"can be installed from the installation media:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:412
#, no-wrap
msgid ""
"# mount /cdrom\n"
"# cd /cdrom/usr/freebsd-dist\n"
"# tar -C/ -xvf kernel.txz boot/kernel/kernel\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:415
msgid ""
"Alternately, the `GENERIC` kernel may be rebuilt and installed from source:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:420
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:425
msgid ""
"For this kernel to be identified as the `GENERIC` kernel by `freebsd-"
"update`, the [.filename]#GENERIC# configuration file must not have been "
"modified in any way. It is also suggested that the kernel is built without "
"any other special options."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:427
msgid ""
"Rebooting into the [.filename]#GENERIC# kernel is not required as `freebsd-"
"update` only needs [.filename]#/boot/GENERIC# to exist."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:429
#, no-wrap
msgid "Upgrading Packages After a Major Version Upgrade"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:436
msgid ""
"Generally, installed applications will continue to work without problems "
"after minor version upgrades. Major versions use different Application "
"Binary Interfaces (ABIs), which will break most third-party applications. "
"After a major version upgrade, all installed packages and ports need to be "
"upgraded. Packages can be upgraded using `pkg upgrade`. To upgrade "
"installed ports, use a utility such as package:ports-mgmt/portmaster[]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:440
msgid ""
"A forced upgrade of all installed packages will replace the packages with "
"fresh versions from the repository even if the version number has not "
"increased. This is required because of the ABI version change when "
"upgrading between major versions of FreeBSD. The forced upgrade can be "
"accomplished by performing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:444
#, no-wrap
msgid "# pkg-static upgrade -f\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:447
msgid ""
"A rebuild of all installed applications can be accomplished with this "
"command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:451
#, no-wrap
msgid "# portmaster -af\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:455
msgid ""
"This command will display the configuration screens for each application "
"that has configurable options and wait for the user to interact with those "
"screens. To prevent this behavior, and use only the default options, "
"include `-G` in the above command."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:458
msgid ""
"Once the software upgrades are complete, finish the upgrade process with a "
"final call to `freebsd-update` in order to tie up all the loose ends in the "
"upgrade process:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:466
msgid ""
"If the [.filename]#GENERIC# kernel was temporarily used, this is the time to "
"build and install a new custom kernel using the instructions in crossref:"
"kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:469
msgid ""
"Reboot the machine into the new FreeBSD version. The upgrade process is now "
"complete."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:471
#, no-wrap
msgid "System State Comparison"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:475
msgid ""
"The state of the installed FreeBSD version against a known good copy can be "
"tested using `freebsd-update IDS`. This command evaluates the current "
"version of system utilities, libraries, and configuration files and can be "
"used as a built-in Intrusion Detection System (IDS)."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:483
msgid ""
"This command is not a replacement for a real IDS such as package:security/"
"snort[]. As `freebsd-update` stores data on disk, the possibility of "
"tampering is evident. While this possibility may be reduced using `kern."
"securelevel` and by storing the `freebsd-update` data on a read-only file "
"system when not in use, a better solution would be to compare the system "
"against a secure disk, such as a DVD or securely stored external USB disk "
"device. An alternative method for providing IDS functionality using a built-"
"in utility is described in crossref:security[security-ids,\"Binary "
"Verification\"]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:486
msgid ""
"To begin the comparison, specify the output file to save the results to:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:490
#, no-wrap
msgid "# freebsd-update IDS >> outfile.ids\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:493
msgid ""
"The system will now be inspected and a lengthy listing of files, along with "
"the SHA256 hash values for both the known value in the release and the "
"current installation, will be sent to the specified output file."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:496
msgid ""
"The entries in the listing are extremely long, but the output format may be "
"easily parsed. For instance, to obtain a list of all files which differ "
"from those in the release, issue the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:504
#, no-wrap
msgid ""
"# cat outfile.ids | awk '{ print $1 }' | more\n"
"/etc/master.passwd\n"
"/etc/motd\n"
"/etc/passwd\n"
"/etc/pf.conf\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:511
msgid ""
"This sample output has been truncated as many more files exist. Some files "
"have natural modifications. For example, [.filename]#/etc/passwd# will be "
"modified if users have been added to the system. Kernel modules may differ "
"as `freebsd-update` may have updated them. To exclude specific files or "
"directories, add them to the `IDSIgnorePaths` option in [.filename]#/etc/"
"freebsd-update.conf#."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:513
#, no-wrap
msgid "Updating Bootcode"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:516
msgid ""
"The following manuals describe the upgrade process of bootcode and boot "
"loaders: man:gpart[8], man:gptboot[8], man:gptzfsboot[8], and man:loader."
"efi[8]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:518
#, no-wrap
msgid "Updating the Documentation Set"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:522
msgid ""
"Documentation is an integral part of the FreeBSD operating system. While an "
"up-to-date version of the FreeBSD documentation is always available on the "
"FreeBSD web site (link:https://docs.FreeBSD.org[Documentation Portal]), it "
"can be handy to have an up-to-date, local copy of the FreeBSD website, "
"handbooks, FAQ, and articles."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:524
msgid ""
"This section describes how to use either source or the FreeBSD Ports "
"Collection to keep a local copy of the FreeBSD documentation up-to-date."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:527
msgid ""
"For information on editing and submitting corrections to the documentation, "
"refer to the FreeBSD Documentation Project Primer for New Contributors "
"(extref:{fdp-primer}[FreeBSD Documentation Project Primer for New "
"Contributors])."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:529
#, no-wrap
msgid "Updating Documentation from Source"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:533
msgid ""
"Rebuilding the FreeBSD documentation from source requires a collection of "
"tools which are not part of the FreeBSD base system. The required tools can "
"be installed following extref:{fdp-primer}[these steps, overview-quick-"
"start] from the FreeBSD Documentation Project Primer."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:535
msgid ""
"Once installed, use `git` to fetch a clean copy of the documentation source:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:539
#, no-wrap
msgid "# git clone https://git.FreeBSD.org/doc.git /usr/doc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:543
msgid ""
"The initial download of the documentation sources may take a while. Let it "
"run until it completes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:545
msgid "Future updates of the documentation sources may be fetched by running:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:549
#, no-wrap
msgid "# git pull\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:553
msgid ""
"Once an up-to-date snapshot of the documentation sources has been fetched to "
"[.filename]#/usr/doc#, everything is ready for an update of the installed "
"documentation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:555
msgid "A full update may be performed by typing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:560
#, no-wrap
msgid ""
"# cd /usr/doc\n"
"# make\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:563
#, no-wrap
msgid "Tracking a Development Branch"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:566
msgid ""
"FreeBSD has two development branches: FreeBSD-CURRENT and FreeBSD-STABLE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:568
msgid ""
"This section provides an explanation of each branch and its intended "
"audience, as well as how to keep a system up-to-date with each respective "
"branch."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:570
#, no-wrap
msgid "Using FreeBSD-CURRENT"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:574
msgid ""
"FreeBSD-CURRENT is the \"bleeding edge\" of FreeBSD development and FreeBSD-"
"CURRENT users are expected to have a high degree of technical skill. Less "
"technical users who wish to track a development branch should track FreeBSD-"
"STABLE instead."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:578
msgid ""
"FreeBSD-CURRENT is the very latest source code for FreeBSD and includes "
"works in progress, experimental changes, and transitional mechanisms that "
"might or might not be present in the next official release. While many "
"FreeBSD developers compile the FreeBSD-CURRENT source code daily, there are "
"short periods of time when the source may not be buildable. These problems "
"are resolved as quickly as possible, but whether or not FreeBSD-CURRENT "
"brings disaster or new functionality can be a matter of when the source code "
"was synced."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:580
msgid "FreeBSD-CURRENT is made available for three primary interest groups:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:582
msgid ""
"Members of the FreeBSD community who are actively working on some part of "
"the source tree."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:583
msgid ""
"Members of the FreeBSD community who are active testers. They are willing to "
"spend time solving problems, making topical suggestions on changes and the "
"general direction of FreeBSD, and submitting patches."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:584
msgid ""
"Users who wish to keep an eye on things, use the current source for "
"reference purposes, or make the occasional comment or code contribution."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:588
msgid ""
"FreeBSD-CURRENT should _not_ be considered a fast-track to getting new "
"features before the next release as pre-release features are not yet fully "
"tested and most likely contain bugs. It is not a quick way of getting bug "
"fixes as any given commit is just as likely to introduce new bugs as to fix "
"existing ones. FreeBSD-CURRENT is not in any way \"officially supported\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:590
msgid "To track FreeBSD-CURRENT:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:592
msgid ""
"Join the {freebsd-current} and the {dev-commits-src-main} lists. This is "
"_essential_ in order to see the comments that people are making about the "
"current state of the system and to receive important bulletins about the "
"current state of FreeBSD-CURRENT."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:594
msgid ""
"The {dev-commits-src-main} list records the commit log entry for each change "
"as it is made, along with any pertinent information on possible side effects."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:597
msgid ""
"To join these lists, go to {mailing-lists}, click on the list to subscribe "
"to, and follow the instructions. In order to track changes to the whole "
"source tree, not just the changes to FreeBSD-CURRENT, subscribe to the {dev-"
"commits-src-all}."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:598
msgid ""
"Synchronize with the FreeBSD-CURRENT sources. Typically, `git` is used to "
"check out the -CURRENT code from the `main` branch of the FreeBSD Git "
"repository (see crossref:mirrors[git,“Using Git”] for details)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:599
msgid ""
"Due to the size of the repository, some users choose to only synchronize the "
"sections of source that interest them or which they are contributing patches "
"to. However, users that plan to compile the operating system from source "
"must download _all_ of FreeBSD-CURRENT, not just selected portions."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:602
msgid ""
"Before compiling FreeBSD-CURRENT, read [.filename]#/usr/src/Makefile# very "
"carefully and follow the instructions in <<makeworld>>. Read the {freebsd-"
"current} and [.filename]#/usr/src/UPDATING# to stay up-to-date on other "
"bootstrapping procedures that sometimes become necessary on the road to the "
"next release."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:603
msgid ""
"Be active! FreeBSD-CURRENT users are encouraged to submit their suggestions "
"for enhancements or bug fixes. Suggestions with accompanying code are always "
"welcome."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:605
#, no-wrap
msgid "Using FreeBSD-STABLE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:612
msgid ""
"FreeBSD-STABLE is the development branch from which major releases are "
"made. Changes go into this branch at a slower pace and with the general "
"assumption that they have first been tested in FreeBSD-CURRENT. This is "
"_still_ a development branch and, at any given time, the sources for FreeBSD-"
"STABLE may or may not be suitable for general use. It is simply another "
"engineering development track, not a resource for end-users. Users who do "
"not have the resources to perform testing should instead run the most recent "
"release of FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:614
msgid ""
"Those interested in tracking or contributing to the FreeBSD development "
"process, especially as it relates to the next release of FreeBSD, should "
"consider following FreeBSD-STABLE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:619
msgid ""
"While the FreeBSD-STABLE branch should compile and run at all times, this "
"cannot be guaranteed. Since more people run FreeBSD-STABLE than FreeBSD-"
"CURRENT, it is inevitable that bugs and corner cases will sometimes be found "
"in FreeBSD-STABLE that were not apparent in FreeBSD-CURRENT. For this "
"reason, one should not blindly track FreeBSD-STABLE. It is particularly "
"important _not_ to update any production servers to FreeBSD-STABLE without "
"thoroughly testing the code in a development or testing environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:621
msgid "To track FreeBSD-STABLE:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:623
msgid ""
"Join the {freebsd-stable} in order to stay informed of build dependencies "
"that may appear in FreeBSD-STABLE or any other issues requiring special "
"attention. Developers will also make announcements in this mailing list when "
"they are contemplating some controversial fix or update, giving the users a "
"chance to respond if they have any issues to raise concerning the proposed "
"change."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:627
msgid ""
"Join the relevant git list for the branch being tracked. For example, users "
"tracking the {betarel-current-major}-STABLE branch should join the {dev-"
"commits-src-branches}. This list records the commit log entry for each "
"change as it is made, along with any pertinent information on possible side "
"effects."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:630
msgid ""
"To join these lists, go to {mailing-lists}, click on the list to subscribe "
"to, and follow the instructions. In order to track changes for the whole "
"source tree, subscribe to {dev-commits-src-all}."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:631
msgid ""
"To install a new FreeBSD-STABLE system, install the most recent FreeBSD-"
"STABLE release from the crossref:mirrors[mirrors,FreeBSD mirror sites] or "
"use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://www."
"FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information about "
"snapshots."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:634
msgid ""
"To compile or upgrade an existing FreeBSD system to FreeBSD-STABLE, use "
"`git` to check out the source for the desired branch. Branch names, such as "
"`stable/13`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd."
"org/releng]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:635
msgid ""
"Before compiling or upgrading to FreeBSD-STABLE , read [.filename]#/usr/src/"
"Makefile# carefully and follow the instructions in <<makeworld>>. Read the "
"{freebsd-stable} and [.filename]#/usr/src/UPDATING# to keep up-to-date on "
"other bootstrapping procedures that sometimes become necessary on the road "
"to the next release."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:637
#, no-wrap
msgid "The N-number"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:641
msgid ""
"When tracking down bugs it is important to know which versions of the source "
"code have been used to create the system exhibiting an issue. FreeBSD "
"provides version information compiled into the kernel. man:uname[1] "
"retrieves this information, for example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:645
#, no-wrap
msgid ""
"% uname -v\n"
"FreeBSD 14.0-CURRENT #112 main-n247514-031260d64c18: Tue Jun 22 20:43:19 MDT 2021 fred@machine:/usr/home/fred/obj/usr/home/fred/git/head/amd64.amd64/sys/FRED\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:648
msgid ""
"The final field gives information regarding the kernel name, the person that "
"built it, and the location that it was compiled in. Looking at the 4th "
"field, it is made up of several parts:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:651
#, no-wrap
msgid "main-n247514-031260d64c18\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:656
#, no-wrap
msgid ""
"main\t\t<.>\n"
"n247514\t\t<.>\n"
"031260d64c18\t<.>\n"
"\t\t<.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:660
msgid ""
"Git branch name. Note: comparisons of n-numbers are only valid on branches "
"published by the project (`main`, `stable/XX` and `releng/XX`). Local "
"branches will have n-numbers that will overlap commits of their parent "
"branch."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:661
msgid ""
"The n-number is a linear count of commits back to the start of the Git "
"repository starting with the Git hash included in the line."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:662
msgid "Git hash of the checked out tree"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:664
msgid ""
"Sometimes a suffix of `-dirty` is present when the kernel was built in a "
"tree with uncommitted changes. It is absent in this example because the "
"FRED kernel was built from a pristine checkout."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:667
msgid ""
"The `git rev-list` command is used to find the n-number corresponding to a "
"Git hash. For example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:671
#, no-wrap
msgid ""
"% git rev-list --first-parent --count 031260d64c18 <.>\n"
"247514 <.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:673
msgid "git hash to translate (the hash from the above example is reused)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:674
msgid "The n-number."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:680
msgid ""
"Usually this number is not all that important. However, when bug fixes are "
"committed, this number makes it easy to quickly determine whether the fix is "
"present in the currently running system. Developers will often refer to the "
"hash of the commit (or provide a URL which has that hash), but not the n-"
"number since the hash is the easily visible identifier for a change while "
"the n-number is not. Security advisories and errata notices will also note "
"an n-number, which can be directly compared against your system. When you "
"need to use shallow Git clones, you cannot compare n-numbers reliably as the "
"`git rev-list` command counts all the revisions in the repository which a "
"shallow clone omits."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:682
#, no-wrap
msgid "Updating FreeBSD from Source"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:688
msgid ""
"Updating FreeBSD by compiling from source offers several advantages over "
"binary updates. Code can be built with options to take advantage of "
"specific hardware. Parts of the base system can be built with non-default "
"settings, or left out entirely where they are not needed or desired. The "
"build process takes longer to update a system than just installing binary "
"updates, but allows complete customization to produce a tailored version of "
"FreeBSD."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:690
#, no-wrap
msgid "Quick Start"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:694
msgid ""
"This is a quick reference for the typical steps used to update FreeBSD by "
"building from source. Later sections describe the process in more detail."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:699
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1006
msgid ""
"When switching from man:mergemaster[8] to man:etcupdate[8], the first run "
"might merge changes incorrectly generating spurious conflicts. To prevent "
"this, perform the following steps *before* updating sources and building the "
"new world:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:704
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1011
#, no-wrap
msgid ""
"# etcupdate extract <.>\n"
"# etcupdate diff <.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:707
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1014
msgid ""
"Bootstrap the database of stock [.filename]#/etc# files; for more "
"information see man:etcupdate[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:709
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1016
msgid ""
"Check the diff after bootstrapping. Trim any local changes that are no "
"longer needed to reduce the chance of conflicts in future updates."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:714
msgid "Update and Build"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:728
#, no-wrap
msgid ""
"# git pull /usr/src <.>\n"
"check /usr/src/UPDATING <.>\n"
"# cd /usr/src <.>\n"
"# make -j4 buildworld <.>\n"
"# make -j4 kernel <.>\n"
"# shutdown -r now <.>\n"
"# etcupdate -p <.>\n"
"# cd /usr/src <.>\n"
"# make installworld <.>\n"
"# etcupdate -B <.>\n"
"# shutdown -r now <.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:731
msgid ""
"Get the latest version of the source. See <<updating-src-obtaining-src>> for "
"more information on obtaining and updating source."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:733
msgid ""
"Check [.filename]#/usr/src/UPDATING# for any manual steps required before or "
"after building from source."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:735
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:745
msgid "Go to the source directory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:737
msgid "Compile the world, everything except the kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:739
msgid ""
"Compile and install the kernel. This is equivalent to `make buildkernel "
"installkernel`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:741
msgid "Reboot the system to the new kernel."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:743
msgid ""
"Update and merge configuration files in [.filename]#/etc/# required before "
"installworld."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:747
msgid "Install the world."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:749
msgid "Update and merge configuration files in [.filename]#/etc/#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:751
msgid "Restart the system to use the newly-built world and kernel."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:754
#, no-wrap
msgid "Preparing for a Source Update"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:757
msgid ""
"Read [.filename]#/usr/src/UPDATING#. Any manual steps that must be performed "
"before or after an update are described in this file."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:759
#, no-wrap
msgid "Updating the Source"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:764
msgid ""
"FreeBSD source code is located in [.filename]#/usr/src/#. The preferred "
"method of updating this source is through the Git version control system. "
"Verify that the source code is under version control:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:771
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# git remote --v\n"
"origin https://git.freebsd.org/src.git (fetch)\n"
"origin https://git.freebsd.org/src.git (push)\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:774
msgid ""
"This indicates that [.filename]#/usr/src/# is under version control and can "
"be updated with man:git[1]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:779
#, no-wrap
msgid "# git pull /usr/src\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:783
msgid ""
"The update process can take some time if the directory has not been updated "
"recently. After it finishes, the source code is up to date and the build "
"process described in the next section can begin."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:787
-#, no-wrap
-msgid "*Obtaining the Source:* +\n"
+msgid "Obtaining the source:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:790
msgid ""
"If the output says `fatal: not a git repository`, the files there are "
"missing or were installed with a different method. A new checkout of the "
"source is required."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:792
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:793
#, no-wrap
msgid "FreeBSD Versions and Repository Branches"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:796
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:797
#, no-wrap
-msgid "uname -r Output"
+msgid "uname&#160;&#8209;r Output"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:797
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:798
#, no-wrap
msgid "Repository Path"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:799
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:800
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:800
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:801
#, no-wrap
msgid "`_X.Y_-RELEASE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:801
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:802
#, no-wrap
msgid "`releng/_X.Y_`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:803
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:804
#, no-wrap
msgid "The Release version plus only critical security and bug fix patches. This branch is recommended for most users."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:804
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:805
#, no-wrap
msgid "`_X.Y_-STABLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:805
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:806
#, no-wrap
msgid "`stable/_X_`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:811
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:812
#, no-wrap
msgid ""
"The Release version plus all additional development on that branch. _STABLE_ refers to the Applications Binary Interface (ABI) not changing, so software compiled for earlier versions still runs. For example, software compiled to run on FreeBSD 10.1 will still run on FreeBSD 10-STABLE compiled later.\n"
"\n"
"STABLE branches occasionally have bugs or incompatibilities which might affect users, although these are typically fixed quickly."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:812
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:813
#, no-wrap
msgid "`_X_-CURRENT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:813
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:814
#, no-wrap
msgid "`main`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:814
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:815
#, no-wrap
msgid "The latest unreleased development version of FreeBSD. The CURRENT branch can have major bugs or incompatibilities and is recommended only for advanced users."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:817
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:818
msgid "Determine which version of FreeBSD is being used with man:uname[1]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:822
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:823
#, no-wrap
msgid ""
"# uname -r\n"
"13.2-RELEASE\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:826
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:827
msgid ""
"Based on <<updating-src-obtaining-src-repopath>>, the source used to update "
"`13.2-RELEASE` has a repository path of `releng/13.2`. That path is used "
"when checking out the source:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:831
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:832
#, no-wrap
msgid ""
"# mv /usr/src /usr/src.bak <.>\n"
"# git clone --branch releng/13.2 https://git.FreeBSD.org/src.git /usr/src <.>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:834
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:835
msgid ""
"Move the old directory out of the way. If there are no local modifications "
"in this directory, it can be deleted."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:836
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:837
msgid ""
"The path from <<updating-src-obtaining-src-repopath>> is added to the "
"repository URL. The third parameter is the destination directory for the "
"source code on the local system."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:839
#, no-wrap
msgid "Building from Source"
msgstr ""
-#. type: delimited block = 4
+#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:844
msgid ""
"The _world_, or all of the operating system except the kernel, is compiled. "
"This is done first to provide up-to-date tools to build the kernel. Then "
"the kernel itself is built:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:850
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make buildworld\n"
"# make buildkernel\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:853
msgid "The compiled code is written to [.filename]#/usr/obj#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:856
msgid ""
"These are the basic steps. Additional options to control the build are "
"described below."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:858
#, no-wrap
msgid "Performing a Clean Build"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:863
msgid ""
"Some versions of the FreeBSD build system leave previously-compiled code in "
"the temporary object directory, [.filename]#/usr/obj#. This can speed up "
"later builds by avoiding recompiling code that has not changed. To force a "
"clean rebuild of everything, use `cleanworld` before starting a build:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:867
#, no-wrap
msgid "# make cleanworld\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:870
#, no-wrap
msgid "Setting the Number of Jobs"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:877
msgid ""
"Increasing the number of build jobs on multi-core processors can improve "
"build speed. Determine the number of cores with `sysctl hw.ncpu`. "
"Processors vary, as do the build systems used with different versions of "
"FreeBSD, so testing is the only sure method to tell how a different number "
"of jobs affects the build speed. For a starting point, consider values "
"between half and double the number of cores. The number of jobs is "
"specified with `-j`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:879
#, no-wrap
msgid "Increasing the Number of Build Jobs"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:883
msgid "Building the world and kernel with four jobs:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:887
#, no-wrap
msgid "# make -j4 buildworld buildkernel\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:892
#, no-wrap
msgid "Building Only the Kernel"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:897
msgid ""
"A `buildworld` must be completed if the source code has changed. After "
"that, a `buildkernel` to build a kernel can be run at any time. To build "
"just the kernel:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:902
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make buildkernel\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:905
#, no-wrap
msgid "Building a Custom Kernel"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:910
msgid ""
"The standard FreeBSD kernel is based on a _kernel config file_ called [."
"filename]#GENERIC#. The [.filename]#GENERIC# kernel includes the most "
"commonly-needed device drivers and options. Sometimes it is useful or "
"necessary to build a custom kernel, adding or removing device drivers or "
"options to fit a specific need."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:912
msgid ""
"For example, someone developing a small embedded computer with severely "
"limited RAM could remove unneeded device drivers or options to make the "
"kernel slightly smaller."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:915
msgid ""
"Kernel config files are located in [.filename]#/usr/src/sys/arch/conf/#, "
"where _arch_ is the output from `uname -m`. On most computers, that is "
"`amd64`, giving a config file directory of [.filename]#/usr/src/sys/amd64/"
"conf/#."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:921
msgid ""
"[.filename]#/usr/src# can be deleted or recreated, so it is preferable to "
"keep custom kernel config files in a separate directory, like [.filename]#/"
"root#. Link the kernel config file into the [.filename]#conf# directory. "
"If that directory is deleted or overwritten, the kernel config can be re-"
"linked into the new one."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:925
msgid ""
"A custom config file can be created by copying the [.filename]#GENERIC# "
"config file. In this example, the new custom kernel is for a storage "
"server, so is named [.filename]#STORAGESERVER#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:931
#, no-wrap
msgid ""
"# cp /usr/src/sys/amd64/conf/GENERIC /root/STORAGESERVER\n"
"# cd /usr/src/sys/amd64/conf\n"
"# ln -s /root/STORAGESERVER .\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:934
msgid ""
"[.filename]#/root/STORAGESERVER# is then edited, adding or removing devices "
"or options as shown in man:config[5]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:936
msgid ""
"The custom kernel is built by setting `KERNCONF` to the kernel config file "
"on the command line:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:940
#, no-wrap
msgid "# make buildkernel KERNCONF=STORAGESERVER\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:943
#, no-wrap
msgid "Installing the Compiled Code"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:946
msgid ""
"After the `buildworld` and `buildkernel` steps have been completed, the new "
"kernel and world are installed:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:955
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make installkernel\n"
"# shutdown -r now\n"
"# cd /usr/src\n"
"# make installworld\n"
"# shutdown -r now\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:958
msgid ""
"If a custom kernel was built, `KERNCONF` must also be set to use the new "
"custom kernel:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:967
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make installkernel KERNCONF=STORAGESERVER\n"
"# shutdown -r now\n"
"# cd /usr/src\n"
"# make installworld\n"
"# shutdown -r now\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:970
#, no-wrap
msgid "Completing the Update"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:974
msgid ""
"A few final tasks complete the update. Any modified configuration files are "
"merged with the new versions, outdated libraries are located and removed, "
"then the system is restarted."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:976
#, no-wrap
msgid "Merging Configuration Files with man:etcupdate[8]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:981
msgid ""
"man:etcupdate[8] is a tool for managing updates to files that are not "
"updated as part of an installworld such as files located in [.filename]#/etc/"
"#. It manages updates by doing a three-way merge of changes made to these "
"files against the local versions. It is also designed to minimize the "
"amount of user intervention, in contrast to man:mergemaster[8]'s interactive "
"prompts."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:986
msgid ""
"In general, man:etcupdate[8] does not need any specific arguments for its "
"job. There is however a handy in between command for sanity checking what "
"will be done the first time man:etcupdate[8] is used:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:990
#, no-wrap
msgid "# etcupdate diff\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:993
msgid "This command allows the user to audit configuration changes."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:996
msgid ""
"If man:etcupdate[8] is not able to merge a file automatically, the merge "
"conflicts can be resolved with manual interaction by issuing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1000
#, no-wrap
msgid "# etcupdate resolve\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1019
#, no-wrap
msgid "Merging Configuration Files with man:mergemaster[8]"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1024
msgid ""
"man:mergemaster[8] provides a way to merge changes that have been made to "
"system configuration files with new versions of those files. man:"
"mergemaster[8] is an alternative to the preferred man:etcupdate[8] With `-"
"Ui`, man:mergemaster[8] automatically updates files that have not been user-"
"modified and installs new files that are not already present:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1028
#, no-wrap
msgid "# mergemaster -Ui\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1032
msgid ""
"If a file must be manually merged, an interactive display allows the user to "
"choose which portions of the files are kept. See man:mergemaster[8] for "
"more information."
msgstr ""
-#. type: Title ====
+#. type: Plain text
#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1034
+msgid ""
+"If the standard [.filename]#/usr/src# was not used, another parameter must "
+"be passed to man:mergemaster[8]:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1038
+#, no-wrap
+msgid "# mergemaster -Ui PATH_TO_SRC\n"
+msgstr ""
+
+#. type: Title ====
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1041
#, no-wrap
msgid "Checking for Outdated Files and Libraries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1038
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1045
msgid ""
"Some obsolete files or directories can remain after an update. These files "
"can be located:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1042
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1049
#, no-wrap
msgid "# make check-old\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1045
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1052
msgid "and deleted:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1049
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1056
#, no-wrap
msgid "# make delete-old\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1053
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1060
msgid "Some obsolete libraries can also remain. These can be detected with:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1057
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1064
#, no-wrap
msgid "# make check-old-libs\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1060
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1067
msgid "and deleted with"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1064
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1071
#, no-wrap
msgid "# make delete-old-libs\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1068
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1075
msgid ""
"Programs which were still using those old libraries will stop working when "
"the library has been deleted. These programs must be rebuilt or replaced "
"after deleting the old libraries."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1074
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1081
msgid ""
"When all the old files or directories are known to be safe to delete, "
"pressing kbd:[y] and kbd:[Enter] to delete each file can be avoided by "
"setting `BATCH_DELETE_OLD_FILES` in the command. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1078
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1085
#, no-wrap
msgid "# make BATCH_DELETE_OLD_FILES=yes delete-old-libs\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1083
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1090
#, no-wrap
msgid "Restarting After the Update"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1086
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1093
msgid ""
"The last step after updating is to restart the computer so all the changes "
"take effect:"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1093
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1100
#, no-wrap
msgid "Tracking for Multiple Machines"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1101
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1108
msgid ""
"When multiple machines need to track the same source tree, it is a waste of "
"disk space, network bandwidth, and CPU cycles to have each system download "
"the sources and rebuild everything. The solution is to have one machine do "
"most of the work, while the rest of the machines mount that work via NFS. "
"This section outlines a method of doing so. For more information about "
"using NFS, refer to crossref:network-servers[network-nfs,\"Network File "
"System (NFS)\"]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1106
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1113
msgid ""
"First, identify a set of machines which will run the same set of binaries, "
"known as a _build set_. Each machine can have a custom kernel, but will run "
"the same userland binaries. From that set, choose a machine to be the "
"_build machine_ that the world and kernel are built on. Ideally, this is a "
"fast machine that has sufficient spare CPU to run `make buildworld` and "
"`make buildkernel`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1110
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1117
msgid ""
"Select a machine to be the _test machine_, which will test software updates "
"before they are put into production. This _must_ be a machine that can "
"afford to be down for an extended period of time. It can be the build "
"machine, but need not be."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1113
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1120
msgid ""
"All the machines in this build set need to mount [.filename]#/usr/obj# and [."
"filename]#/usr/src# from the build machine via NFS. For multiple build "
"sets, [.filename]#/usr/src# should be on one build machine, and NFS mounted "
"on the rest."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1119
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1126
msgid ""
"Ensure that [.filename]#/etc/make.conf# and [.filename]#/etc/src.conf# on "
"all the machines in the build set agree with the build machine. That means "
"that the build machine must build all the parts of the base system that any "
"machine in the build set is going to install. Also, each build machine "
"should have its kernel name set with `KERNCONF` in [.filename]#/etc/make."
"conf#, and the build machine should list them all in its `KERNCONF`, listing "
"its own kernel first. The build machine must have the kernel configuration "
"files for each machine in its [.filename]#/usr/src/sys/arch/conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1126
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1133
msgid ""
"On the build machine, build the kernel and world as described in "
"<<makeworld>>, but do not install anything on the build machine. Instead, "
"install the built kernel on the test machine. On the test machine, mount [."
"filename]#/usr/src# and [.filename]#/usr/obj# via NFS. Then, run `shutdown "
"now` to go to single-user mode in order to install the new kernel and world "
"and run `mergemaster` as usual. When done, reboot to return to normal multi-"
"user operations."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1129
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1136
msgid ""
"After verifying that everything on the test machine is working properly, use "
"the same procedure to install the new software on each of the other machines "
"in the build set."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1136
+#: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1143
msgid ""
"The same methodology can be used for the ports tree. The first step is to "
"share [.filename]#/usr/ports# via NFS to all the machines in the build set. "
"To configure [.filename]#/etc/make.conf# to share distfiles, set `DISTDIR` "
"to a common shared directory that is writable by whichever user `root` is "
"mapped to by the NFS mount. Each machine should set `WRKDIRPREFIX` to a "
"local build directory, if ports are to be built locally. Alternately, if "
"the build system is to build and distribute packages to the machines in the "
"build set, set `PACKAGES` on the build system to a directory similar to "
"`DISTDIR`."
msgstr ""
diff --git a/documentation/content/en/books/handbook/desktop/_index.po b/documentation/content/en/books/handbook/desktop/_index.po
index cb6874cee0..7c62d6c7af 100644
--- a/documentation/content/en/books/handbook/desktop/_index.po
+++ b/documentation/content/en/books/handbook/desktop/_index.po
@@ -1,2087 +1,2074 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/desktop/_index.adoc:1
#, no-wrap
msgid "This chapter demonstrates how to install numerous desktop environments, including web browsers, productivity software, document viewers, and financial software"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/desktop/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/desktop/_index.adoc:1
#, no-wrap
msgid "Chapter 8. Desktop Environments"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/desktop/_index.adoc:14
#: documentation/content/en/books/handbook/desktop/_index.adoc:64
#, no-wrap
msgid "Desktop Environments"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/desktop/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:57
msgid ""
"While FreeBSD is popular as a server for its performance and stability, it "
"is also well suited for day-to-day use as a desktop. With over {numports} "
"applications available in the FreeBSD ports tree, it is straightforward to "
"build a customized desktop that can run a wide variety of desktop "
"applications. This chapter demonstrates how to install popular desktop "
"environments as well as desktop applications such as web browsers, "
"productivity software, document viewers, and financial software."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:59
msgid "Prerequisites:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:61
msgid ""
"Readers of this chapter should already understand how to install either the "
"crossref:x11[x11,X Window System] or crossref:wayland[wayland,Wayland] on "
"FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:62
msgid ""
"Readers are instructed throughout this chapter to install official packages. "
"Refer to the section on crossref:ports[ports-using,using the ports "
"collection] to build customized packages from ports."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:68
msgid ""
"This section describes how to install and configure some popular desktop "
"environments on a FreeBSD system. A desktop environment can range from a "
"simple window manager to a complete suite of desktop applications."
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/desktop/_index.adoc:69
#, no-wrap
msgid "Supported desktop environments"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:72
-#: documentation/content/en/books/handbook/desktop/_index.adoc:548
-#: documentation/content/en/books/handbook/desktop/_index.adoc:755
-#: documentation/content/en/books/handbook/desktop/_index.adoc:910
-#: documentation/content/en/books/handbook/desktop/_index.adoc:992
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1081
+#: documentation/content/en/books/handbook/desktop/_index.adoc:547
+#: documentation/content/en/books/handbook/desktop/_index.adoc:752
+#: documentation/content/en/books/handbook/desktop/_index.adoc:907
+#: documentation/content/en/books/handbook/desktop/_index.adoc:989
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1078
#, no-wrap
msgid "Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:72
-#: documentation/content/en/books/handbook/desktop/_index.adoc:548
-#: documentation/content/en/books/handbook/desktop/_index.adoc:755
-#: documentation/content/en/books/handbook/desktop/_index.adoc:910
-#: documentation/content/en/books/handbook/desktop/_index.adoc:992
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1081
+#: documentation/content/en/books/handbook/desktop/_index.adoc:547
+#: documentation/content/en/books/handbook/desktop/_index.adoc:752
+#: documentation/content/en/books/handbook/desktop/_index.adoc:907
+#: documentation/content/en/books/handbook/desktop/_index.adoc:989
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1078
#, no-wrap
msgid "License"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:74
-#: documentation/content/en/books/handbook/desktop/_index.adoc:548
-#: documentation/content/en/books/handbook/desktop/_index.adoc:755
-#: documentation/content/en/books/handbook/desktop/_index.adoc:910
-#: documentation/content/en/books/handbook/desktop/_index.adoc:992
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1081
+#: documentation/content/en/books/handbook/desktop/_index.adoc:547
+#: documentation/content/en/books/handbook/desktop/_index.adoc:752
+#: documentation/content/en/books/handbook/desktop/_index.adoc:907
+#: documentation/content/en/books/handbook/desktop/_index.adoc:989
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1078
#, no-wrap
msgid "Package"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:75
#: documentation/content/en/books/handbook/desktop/_index.adoc:101
#, no-wrap
msgid "KDE Plasma"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:76
#: documentation/content/en/books/handbook/desktop/_index.adoc:80
#: documentation/content/en/books/handbook/desktop/_index.adoc:92
-#: documentation/content/en/books/handbook/desktop/_index.adoc:572
-#: documentation/content/en/books/handbook/desktop/_index.adoc:592
-#: documentation/content/en/books/handbook/desktop/_index.adoc:924
+#: documentation/content/en/books/handbook/desktop/_index.adoc:571
+#: documentation/content/en/books/handbook/desktop/_index.adoc:591
+#: documentation/content/en/books/handbook/desktop/_index.adoc:921
#, no-wrap
msgid "GPL 2.0 or later"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:78
#, no-wrap
msgid "x11/kde5"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:79
#: documentation/content/en/books/handbook/desktop/_index.adoc:194
#, no-wrap
msgid "GNOME"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:82
#, no-wrap
msgid "x11/gnome"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:83
#: documentation/content/en/books/handbook/desktop/_index.adoc:262
#, no-wrap
msgid "XFCE"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:84
#, no-wrap
msgid "GPL, LGPL, BSD"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:86
#, no-wrap
msgid "x11-wm/xfce4"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:87
#: documentation/content/en/books/handbook/desktop/_index.adoc:328
#, no-wrap
msgid "MATE"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:88
#, no-wrap
msgid "GPL 2.0, LGPL 2.0"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:90
#, no-wrap
msgid "x11/mate"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:91
-#: documentation/content/en/books/handbook/desktop/_index.adoc:403
+#: documentation/content/en/books/handbook/desktop/_index.adoc:402
#, no-wrap
msgid "Cinnamon"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:94
#, no-wrap
msgid "x11/cinnamon"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/desktop/_index.adoc:95
-#: documentation/content/en/books/handbook/desktop/_index.adoc:469
+#: documentation/content/en/books/handbook/desktop/_index.adoc:468
#, no-wrap
msgid "LXQT"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:96
#, no-wrap
msgid "GPL, LGPL"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/desktop/_index.adoc:98
#, no-wrap
msgid "x11-wm/lxqt"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:107
msgid ""
"KDE Plasma is an easy-to-use desktop environment. This desktop provides a "
"suite of applications with a consistent look and feel, a standardized menu "
"and toolbars, keybindings, color-schemes, internationalization, and a "
"centralized, dialog-driven desktop configuration. More information on KDE "
"can be found at the link:https://kde.org/[KDE homepage]. For FreeBSD-"
"specific information, consult the link:https://freebsd.kde.org/[FreeBSD "
"homepage at KDE]."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:109
#, no-wrap
msgid "Install KDE Plasma meta package"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:112
msgid ""
"To install the KDE Plasma meta package with KDE Frameworks, Plasma Desktop "
"and Applications execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:116
#, no-wrap
msgid "# pkg install kde5\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:119
#, no-wrap
msgid "Minimal KDE Plasma installation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:122
msgid "To install a minimal KDE Plasma execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:126
#, no-wrap
msgid "# pkg install plasma5-plasma\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:132
msgid ""
"This installation is *really* minimal. Konsole must be installed separately "
"executing:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:136
#, no-wrap
msgid "# pkg install konsole\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:140
#, no-wrap
msgid "Configure KDE Plasma"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:144
msgid ""
"KDE Plasma uses man:dbus-daemon[1] for a message bus and hardware "
"abstraction. This application is automatically installed as a dependency of "
"KDE Plasma."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:146
#: documentation/content/en/books/handbook/desktop/_index.adoc:234
msgid "Enable D-BUS service in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:150
#: documentation/content/en/books/handbook/desktop/_index.adoc:238
#: documentation/content/en/books/handbook/desktop/_index.adoc:298
-#: documentation/content/en/books/handbook/desktop/_index.adoc:373
-#: documentation/content/en/books/handbook/desktop/_index.adoc:439
-#: documentation/content/en/books/handbook/desktop/_index.adoc:505
+#: documentation/content/en/books/handbook/desktop/_index.adoc:372
+#: documentation/content/en/books/handbook/desktop/_index.adoc:438
+#: documentation/content/en/books/handbook/desktop/_index.adoc:504
#, no-wrap
msgid "# sysrc dbus_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:153
msgid "To increase messages size execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:158
#, no-wrap
msgid ""
"sysctl net.local.stream.recvspace=65536\n"
"sysctl net.local.stream.sendspace=65536\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:161
#, no-wrap
msgid "Start KDE Plasma"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:165
msgid ""
"The preferred KDE Plasma display manager is package:x11/sddm[]. To install "
"package:x11/sddm[], execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:169
-#: documentation/content/en/books/handbook/desktop/_index.adoc:516
+#: documentation/content/en/books/handbook/desktop/_index.adoc:515
#, no-wrap
msgid "# pkg install sddm\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:172
-#: documentation/content/en/books/handbook/desktop/_index.adoc:519
+#: documentation/content/en/books/handbook/desktop/_index.adoc:518
msgid "Enable SDDM service in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:176
-#: documentation/content/en/books/handbook/desktop/_index.adoc:523
+#: documentation/content/en/books/handbook/desktop/_index.adoc:522
#, no-wrap
msgid "# sysrc sddm_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:179
msgid ""
"The keyboard language can be set in SDDM by running the following command "
"(for Spanish, for example):"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:183
-#: documentation/content/en/books/handbook/desktop/_index.adoc:530
+#: documentation/content/en/books/handbook/desktop/_index.adoc:529
#, no-wrap
msgid "# sysrc sddm_lang=\"es_ES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:187
msgid ""
"A second method to start KDE Plasma is by manually invoking man:startx[1]. "
"For this to work, the following line is needed in ~/.xinitrc:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:191
#, no-wrap
msgid "% echo \"exec ck-launch-session startplasma-x11\" > ~/.xinitrc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:197
msgid ""
"GNOME is a user-friendly desktop environment. It includes a panel for "
"starting applications and displaying status, a desktop, a set of tools and "
"applications, and a set of conventions that make it easy for applications to "
"cooperate and be consistent with each other."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:199
#, no-wrap
-msgid "Install GNOME meta pacakge"
+msgid "Install GNOME meta package"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:202
msgid ""
"To install the GNOME meta package with GNOME Desktop and Applications, "
"execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:206
#, no-wrap
msgid "# pkg install gnome\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:209
#, no-wrap
msgid "Minimal GNOME installation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:212
msgid ""
"To install the GNOME-lite meta package with a GNOME desktop slimmed down for "
"only the basics, execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:216
#, no-wrap
msgid "# pkg install gnome-lite\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:219
#, no-wrap
msgid "Configure GNOME"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:223
msgid ""
"GNOME requires `/proc` to be mounted. Add this line to `/etc/fstab` to "
"mount this file system automatically during system startup:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:228
#: documentation/content/en/books/handbook/desktop/_index.adoc:288
-#: documentation/content/en/books/handbook/desktop/_index.adoc:364
-#: documentation/content/en/books/handbook/desktop/_index.adoc:430
-#: documentation/content/en/books/handbook/desktop/_index.adoc:495
+#: documentation/content/en/books/handbook/desktop/_index.adoc:363
+#: documentation/content/en/books/handbook/desktop/_index.adoc:429
+#: documentation/content/en/books/handbook/desktop/_index.adoc:494
#, no-wrap
msgid ""
"# Device Mountpoint FStype Options Dump Pass#\n"
"proc /proc procfs rw 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:232
msgid ""
"GNOME uses man:dbus-daemon[1] for a message bus and hardware abstraction. "
"This application is automatically installed as a dependency of GNOME."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:241
#, no-wrap
msgid "Start GNOME"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:245
msgid ""
"GNOME Display Manager is the preferred display manager for GNOME. GDM is "
"installed as part of the GNOME package."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:247
msgid "Enable GDM in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:251
#, no-wrap
msgid "# sysrc gdm_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:255
msgid ""
"A second method to start GNOME is by manually invoking man:startx[1]. For "
"this to work, the following line is needed in `~/.xinitrc`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:259
#, no-wrap
msgid "% echo \"exec gnome-session\" > ~/.xinitrc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:267
msgid ""
"XFCE is a desktop environment based on the GTK+, lightweight and provides a "
"simple, efficient, easy-to-use desktop. It is fully configurable, has a "
"main panel with menus, applets, and application launchers, provides a file "
"manager and sound manager, and is themeable. Since it is fast, light, and "
"efficient, it is ideal for older or slower machines with memory limitations."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:269
#, no-wrap
msgid "Install XFCE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:272
msgid "To install the XFCE meta package, execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:276
#, no-wrap
msgid "# pkg install xfce\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:279
#, no-wrap
msgid "Configure XFCE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:283
msgid ""
"XFCE requires `/proc` to be mounted. Add this line to `/etc/fstab` to mount "
"this file system automatically during system startup:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:292
msgid ""
"XFCE uses man:dbus-daemon[1] for a message bus and hardware abstraction. "
"This application is automatically installed as a dependency of XFCE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:294
-#: documentation/content/en/books/handbook/desktop/_index.adoc:501
+#: documentation/content/en/books/handbook/desktop/_index.adoc:500
msgid "Enable D-BUS in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/desktop/_index.adoc:301
#, no-wrap
msgid "Start XFCE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:304
-#: documentation/content/en/books/handbook/desktop/_index.adoc:379
-#: documentation/content/en/books/handbook/desktop/_index.adoc:445
+#: documentation/content/en/books/handbook/desktop/_index.adoc:378
+#: documentation/content/en/books/handbook/desktop/_index.adoc:444
msgid ""
"package:x11/lightdm[] is a display manager that supports different display "
"technologies and is a good choice as it is very lightweight, requires little "
"memory usage, and has fast performance."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:306
-#: documentation/content/en/books/handbook/desktop/_index.adoc:381
+#: documentation/content/en/books/handbook/desktop/_index.adoc:380
msgid "To install it, execute:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:310
-#: documentation/content/en/books/handbook/desktop/_index.adoc:385
-#: documentation/content/en/books/handbook/desktop/_index.adoc:451
+#: documentation/content/en/books/handbook/desktop/_index.adoc:384
+#: documentation/content/en/books/handbook/desktop/_index.adoc:450
#, no-wrap
msgid "# pkg install lightdm lightdm-gtk-greeter\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:313
-#: documentation/content/en/books/handbook/desktop/_index.adoc:388
-#: documentation/content/en/books/handbook/desktop/_index.adoc:454
+#: documentation/content/en/books/handbook/desktop/_index.adoc:387
+#: documentation/content/en/books/handbook/desktop/_index.adoc:453
msgid "Enable lightdm in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:317
-#: documentation/content/en/books/handbook/desktop/_index.adoc:392
-#: documentation/content/en/books/handbook/desktop/_index.adoc:458
+#: documentation/content/en/books/handbook/desktop/_index.adoc:391
+#: documentation/content/en/books/handbook/desktop/_index.adoc:457
#, no-wrap
msgid "# sysrc lightdm_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/desktop/_index.adoc:321
msgid ""
"A second method to start XFCE is by manually invoking man:startx[1]. For "
"this to work, the following line is needed in `~/.xinitrc`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/desktop/_index.adoc:325
#, no-wrap
msgid "% echo '. /usr/local/etc/xdg/xfce4/xinitrc' > ~/.xinitrc\n"
msgstr ""
-#. What does "traditional metaphors" mean?
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:331
-msgid "The MATE Desktop Environment is the continuation of GNOME 2."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:333
+#: documentation/content/en/books/handbook/desktop/_index.adoc:332
msgid ""
-"It provides an intuitive and attractive desktop environment using "
-"traditional metaphors."
+"The MATE Desktop Environment is the continuation of GNOME 2. It provides an "
+"intuitive and attractive desktop environment using traditional metaphors."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:335
+#: documentation/content/en/books/handbook/desktop/_index.adoc:334
#, no-wrap
msgid "Install MATE meta package"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:338
+#: documentation/content/en/books/handbook/desktop/_index.adoc:337
msgid ""
"To install the MATE meta package that includes the MATE Desktop with some "
"extra applications such as text editor, archiver manager, etc., execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:342
+#: documentation/content/en/books/handbook/desktop/_index.adoc:341
#, no-wrap
msgid "# pkg install mate\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:345
+#: documentation/content/en/books/handbook/desktop/_index.adoc:344
#, no-wrap
msgid "Minimal MATE installation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:348
+#: documentation/content/en/books/handbook/desktop/_index.adoc:347
msgid ""
"To install the MATE lite meta package with MATE desktop slimmed down for "
"only the basics, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:352
+#: documentation/content/en/books/handbook/desktop/_index.adoc:351
#, no-wrap
msgid "# pkg install mate-base\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:355
+#: documentation/content/en/books/handbook/desktop/_index.adoc:354
#, no-wrap
msgid "Configure MATE"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:359
+#: documentation/content/en/books/handbook/desktop/_index.adoc:358
msgid ""
"MATE requires `/proc` to be mounted. Add this line to `/etc/fstab` to mount "
"this file system automatically during system startup:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:369
+#: documentation/content/en/books/handbook/desktop/_index.adoc:368
msgid ""
"MATE uses man:dbus-daemon[1] for a message bus and hardware abstraction. "
"This application is automatically installed as a dependency of MATE. Enable "
"D-BUS in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:376
+#: documentation/content/en/books/handbook/desktop/_index.adoc:375
#, no-wrap
msgid "Start MATE"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:396
+#: documentation/content/en/books/handbook/desktop/_index.adoc:395
msgid ""
"A second method to start MATE is by manually invoking man:startx[1]. For "
"this to work, the following line is needed in `~/.xinitrc`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:400
+#: documentation/content/en/books/handbook/desktop/_index.adoc:399
#, no-wrap
msgid "% echo \"exec ck-launch-session mate-session\" > ~/.xinitrc\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:409
+#: documentation/content/en/books/handbook/desktop/_index.adoc:408
msgid ""
"Cinnamon is a UNIX(R) desktop which provides advanced innovative features "
"and a traditional user experience. The desktop layout is similar to Gnome "
"2. The underlying technology is forked from Gnome Shell. The emphasis is "
"put on making users feel at home and providing them with an easy to use and "
"comfortable desktop experience."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:411
+#: documentation/content/en/books/handbook/desktop/_index.adoc:410
#, no-wrap
msgid "Install Cinnamon"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:414
+#: documentation/content/en/books/handbook/desktop/_index.adoc:413
msgid "To install the Cinnamon package, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:418
+#: documentation/content/en/books/handbook/desktop/_index.adoc:417
#, no-wrap
msgid "# pkg install cinnamon\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:421
+#: documentation/content/en/books/handbook/desktop/_index.adoc:420
#, no-wrap
msgid "Configure Cinnamon"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:425
+#: documentation/content/en/books/handbook/desktop/_index.adoc:424
msgid ""
"Cinnamon requires `/proc` to be mounted. Add this line to `/etc/fstab` to "
"mount this file system automatically during system startup:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:435
+#: documentation/content/en/books/handbook/desktop/_index.adoc:434
msgid ""
"Cinnamon uses man:dbus-daemon[1] for a message bus and hardware "
"abstraction. This application is automatically installed as a dependency of "
"Cinnamon. Enable D-BUS in `/etc/rc.conf` to start at system boot:"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:442
+#: documentation/content/en/books/handbook/desktop/_index.adoc:441
#, no-wrap
msgid "Start Cinnamon"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:447
+#: documentation/content/en/books/handbook/desktop/_index.adoc:446
msgid "To install it execute:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:462
+#: documentation/content/en/books/handbook/desktop/_index.adoc:461
msgid ""
"A second method to start Cinnamon is by manually invoking man:startx[1]. "
"For this to work, the following line is needed in `~/.xinitrc`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:466
+#: documentation/content/en/books/handbook/desktop/_index.adoc:465
#, no-wrap
msgid "% echo \"exec ck-launch-session cinnamon-session\" > ~/.xinitrc\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:474
+#: documentation/content/en/books/handbook/desktop/_index.adoc:473
msgid ""
"LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt "
"technologies. It has been tailored for users who value simplicity, speed, "
"and an intuitive interface. Unlike most desktop environments, LXQt also "
"works fine with less powerful machines."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:476
+#: documentation/content/en/books/handbook/desktop/_index.adoc:475
#, no-wrap
msgid "Install LXQT"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:479
+#: documentation/content/en/books/handbook/desktop/_index.adoc:478
msgid "To install the LXQT meta package, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:483
+#: documentation/content/en/books/handbook/desktop/_index.adoc:482
#, no-wrap
msgid "# pkg install lxqt\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:486
+#: documentation/content/en/books/handbook/desktop/_index.adoc:485
#, no-wrap
msgid "Configure LXQT"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:490
+#: documentation/content/en/books/handbook/desktop/_index.adoc:489
msgid ""
"LXQT requires `/proc` to be mounted. Add this line to `/etc/fstab` to mount "
"this file system automatically during system startup:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:499
+#: documentation/content/en/books/handbook/desktop/_index.adoc:498
msgid ""
"LXQT uses man:dbus-daemon[1] for a message bus and hardware abstraction. "
"This application is automatically installed as a dependency of LXQT."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/desktop/_index.adoc:508
+#: documentation/content/en/books/handbook/desktop/_index.adoc:507
#, no-wrap
msgid "Start LXQT"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:512
+#: documentation/content/en/books/handbook/desktop/_index.adoc:511
msgid ""
"The preferred LXQT display manager is package:x11/sddm[]. To install "
"package:x11/sddm[], execute:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:526
+#: documentation/content/en/books/handbook/desktop/_index.adoc:525
msgid ""
"The keyboard language can be set in SDDM by running the following command "
"(for example, for Spanish):"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:534
+#: documentation/content/en/books/handbook/desktop/_index.adoc:533
msgid ""
"A second method to start LXQT is by manually invoking man:startx[1]. For "
"this to work, the following line is needed in `~/.xinitrc`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:538
+#: documentation/content/en/books/handbook/desktop/_index.adoc:537
#, no-wrap
msgid "% echo \"exec ck-launch-session startlxqt\" > ~/.xinitrc\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/desktop/_index.adoc:541
+#: documentation/content/en/books/handbook/desktop/_index.adoc:540
#, no-wrap
msgid "Browsers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:544
+#: documentation/content/en/books/handbook/desktop/_index.adoc:543
msgid ""
"This section describes how to install and configure some popular web "
"browsers on a FreeBSD system, from full web browsers with high resource "
"consumption to command line web browsers with reduced resource usage."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/desktop/_index.adoc:545
+#: documentation/content/en/books/handbook/desktop/_index.adoc:544
#, no-wrap
msgid "Supported browsers"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:550
-#: documentation/content/en/books/handbook/desktop/_index.adoc:757
-#: documentation/content/en/books/handbook/desktop/_index.adoc:912
-#: documentation/content/en/books/handbook/desktop/_index.adoc:994
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1083
+#: documentation/content/en/books/handbook/desktop/_index.adoc:549
+#: documentation/content/en/books/handbook/desktop/_index.adoc:754
+#: documentation/content/en/books/handbook/desktop/_index.adoc:909
+#: documentation/content/en/books/handbook/desktop/_index.adoc:991
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1080
#, no-wrap
msgid "Resources Needed"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:551
-#: documentation/content/en/books/handbook/desktop/_index.adoc:603
+#: documentation/content/en/books/handbook/desktop/_index.adoc:550
+#: documentation/content/en/books/handbook/desktop/_index.adoc:602
#, no-wrap
msgid "Firefox"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:552
-#: documentation/content/en/books/handbook/desktop/_index.adoc:567
-#: documentation/content/en/books/handbook/desktop/_index.adoc:914
+#: documentation/content/en/books/handbook/desktop/_index.adoc:551
+#: documentation/content/en/books/handbook/desktop/_index.adoc:566
+#: documentation/content/en/books/handbook/desktop/_index.adoc:911
#, no-wrap
msgid "MPL 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:553
+#: documentation/content/en/books/handbook/desktop/_index.adoc:552
#, no-wrap
msgid "package:www/firefox[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:555
-#: documentation/content/en/books/handbook/desktop/_index.adoc:560
-#: documentation/content/en/books/handbook/desktop/_index.adoc:565
-#: documentation/content/en/books/handbook/desktop/_index.adoc:570
-#: documentation/content/en/books/handbook/desktop/_index.adoc:762
-#: documentation/content/en/books/handbook/desktop/_index.adoc:767
-#: documentation/content/en/books/handbook/desktop/_index.adoc:772
-#: documentation/content/en/books/handbook/desktop/_index.adoc:777
-#: documentation/content/en/books/handbook/desktop/_index.adoc:917
-#: documentation/content/en/books/handbook/desktop/_index.adoc:999
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1088
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1093
+#: documentation/content/en/books/handbook/desktop/_index.adoc:554
+#: documentation/content/en/books/handbook/desktop/_index.adoc:559
+#: documentation/content/en/books/handbook/desktop/_index.adoc:564
+#: documentation/content/en/books/handbook/desktop/_index.adoc:569
+#: documentation/content/en/books/handbook/desktop/_index.adoc:759
+#: documentation/content/en/books/handbook/desktop/_index.adoc:764
+#: documentation/content/en/books/handbook/desktop/_index.adoc:769
+#: documentation/content/en/books/handbook/desktop/_index.adoc:774
+#: documentation/content/en/books/handbook/desktop/_index.adoc:914
+#: documentation/content/en/books/handbook/desktop/_index.adoc:996
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1085
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1090
#, no-wrap
msgid "Heavy"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:556
-#: documentation/content/en/books/handbook/desktop/_index.adoc:623
+#: documentation/content/en/books/handbook/desktop/_index.adoc:555
+#: documentation/content/en/books/handbook/desktop/_index.adoc:622
#, no-wrap
msgid "Chromium"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:557
-#: documentation/content/en/books/handbook/desktop/_index.adoc:562
+#: documentation/content/en/books/handbook/desktop/_index.adoc:556
+#: documentation/content/en/books/handbook/desktop/_index.adoc:561
#, no-wrap
msgid "BSD-3 and others"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:558
+#: documentation/content/en/books/handbook/desktop/_index.adoc:557
#, no-wrap
msgid "package:www/chromium[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:561
-#: documentation/content/en/books/handbook/desktop/_index.adoc:642
+#: documentation/content/en/books/handbook/desktop/_index.adoc:560
+#: documentation/content/en/books/handbook/desktop/_index.adoc:641
#, no-wrap
msgid "Iridium browser"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:563
+#: documentation/content/en/books/handbook/desktop/_index.adoc:562
#, no-wrap
-msgid "package:www/iridium[]"
+msgid "package:www/iridium-browser[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:566
-#: documentation/content/en/books/handbook/desktop/_index.adoc:655
+#: documentation/content/en/books/handbook/desktop/_index.adoc:565
+#: documentation/content/en/books/handbook/desktop/_index.adoc:654
#, no-wrap
msgid "Falkon"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:568
+#: documentation/content/en/books/handbook/desktop/_index.adoc:567
#, no-wrap
-msgid "package:www/falkon[]"
+msgid "package:www/falkon-qtonly[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:571
-#: documentation/content/en/books/handbook/desktop/_index.adoc:671
+#: documentation/content/en/books/handbook/desktop/_index.adoc:570
+#: documentation/content/en/books/handbook/desktop/_index.adoc:670
#, no-wrap
msgid "Konqueror"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:573
+#: documentation/content/en/books/handbook/desktop/_index.adoc:572
#, no-wrap
msgid "package:x11-fm/konqueror[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:575
-#: documentation/content/en/books/handbook/desktop/_index.adoc:580
-#: documentation/content/en/books/handbook/desktop/_index.adoc:585
-#: documentation/content/en/books/handbook/desktop/_index.adoc:922
-#: documentation/content/en/books/handbook/desktop/_index.adoc:927
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1004
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1009
+#: documentation/content/en/books/handbook/desktop/_index.adoc:574
+#: documentation/content/en/books/handbook/desktop/_index.adoc:579
+#: documentation/content/en/books/handbook/desktop/_index.adoc:584
+#: documentation/content/en/books/handbook/desktop/_index.adoc:919
+#: documentation/content/en/books/handbook/desktop/_index.adoc:924
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1001
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1006
#, no-wrap
msgid "Medium"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:576
-#: documentation/content/en/books/handbook/desktop/_index.adoc:684
+#: documentation/content/en/books/handbook/desktop/_index.adoc:575
+#: documentation/content/en/books/handbook/desktop/_index.adoc:683
#, no-wrap
msgid "Gnome Web (Epiphany)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:577
-#: documentation/content/en/books/handbook/desktop/_index.adoc:582
-#: documentation/content/en/books/handbook/desktop/_index.adoc:587
-#: documentation/content/en/books/handbook/desktop/_index.adoc:789
+#: documentation/content/en/books/handbook/desktop/_index.adoc:576
+#: documentation/content/en/books/handbook/desktop/_index.adoc:581
+#: documentation/content/en/books/handbook/desktop/_index.adoc:586
+#: documentation/content/en/books/handbook/desktop/_index.adoc:786
#, no-wrap
msgid "GPL 3.0 or later"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:578
+#: documentation/content/en/books/handbook/desktop/_index.adoc:577
#, no-wrap
msgid "package:www/epiphany[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:581
-#: documentation/content/en/books/handbook/desktop/_index.adoc:696
+#: documentation/content/en/books/handbook/desktop/_index.adoc:580
+#: documentation/content/en/books/handbook/desktop/_index.adoc:695
#, no-wrap
msgid "qutebrowser"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:583
+#: documentation/content/en/books/handbook/desktop/_index.adoc:582
#, no-wrap
msgid "package:www/qutebrowser[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:586
-#: documentation/content/en/books/handbook/desktop/_index.adoc:711
+#: documentation/content/en/books/handbook/desktop/_index.adoc:585
+#: documentation/content/en/books/handbook/desktop/_index.adoc:708
#, no-wrap
msgid "Dillo"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:588
+#: documentation/content/en/books/handbook/desktop/_index.adoc:587
#, no-wrap
-msgid "package:www/dillo2[]"
+msgid "package:www/dillo[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:590
-#: documentation/content/en/books/handbook/desktop/_index.adoc:595
-#: documentation/content/en/books/handbook/desktop/_index.adoc:600
-#: documentation/content/en/books/handbook/desktop/_index.adoc:782
-#: documentation/content/en/books/handbook/desktop/_index.adoc:787
-#: documentation/content/en/books/handbook/desktop/_index.adoc:792
+#: documentation/content/en/books/handbook/desktop/_index.adoc:589
+#: documentation/content/en/books/handbook/desktop/_index.adoc:594
+#: documentation/content/en/books/handbook/desktop/_index.adoc:599
+#: documentation/content/en/books/handbook/desktop/_index.adoc:779
+#: documentation/content/en/books/handbook/desktop/_index.adoc:784
+#: documentation/content/en/books/handbook/desktop/_index.adoc:789
#, no-wrap
msgid "Light"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:591
-#: documentation/content/en/books/handbook/desktop/_index.adoc:724
+#: documentation/content/en/books/handbook/desktop/_index.adoc:590
+#: documentation/content/en/books/handbook/desktop/_index.adoc:721
#, no-wrap
msgid "Links"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:593
+#: documentation/content/en/books/handbook/desktop/_index.adoc:592
#, no-wrap
msgid "package:www/links[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:596
-#: documentation/content/en/books/handbook/desktop/_index.adoc:736
+#: documentation/content/en/books/handbook/desktop/_index.adoc:595
+#: documentation/content/en/books/handbook/desktop/_index.adoc:733
#, no-wrap
msgid "w3m"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:597
-#: documentation/content/en/books/handbook/desktop/_index.adoc:759
+#: documentation/content/en/books/handbook/desktop/_index.adoc:596
+#: documentation/content/en/books/handbook/desktop/_index.adoc:756
#, no-wrap
msgid "MIT"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:598
+#: documentation/content/en/books/handbook/desktop/_index.adoc:597
#, no-wrap
msgid "package:www/w3m[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:607
+#: documentation/content/en/books/handbook/desktop/_index.adoc:606
msgid ""
"Firefox is an open source browser that features a standards-compliant HTML "
"display engine, tabbed browsing, popup blocking, extensions, improved "
"security, and more. Firefox is based on the Mozilla codebase."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:609
+#: documentation/content/en/books/handbook/desktop/_index.adoc:608
msgid ""
"To install the package of the latest release version of Firefox, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:613
+#: documentation/content/en/books/handbook/desktop/_index.adoc:612
#, no-wrap
msgid "# pkg install firefox\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:616
+#: documentation/content/en/books/handbook/desktop/_index.adoc:615
msgid ""
"To instead install Firefox Extended Support Release (ESR) version, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:620
+#: documentation/content/en/books/handbook/desktop/_index.adoc:619
#, no-wrap
msgid "# pkg install firefox-esr\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:628
+#: documentation/content/en/books/handbook/desktop/_index.adoc:627
msgid ""
"Chromium is an open source browser project that aims to build a safer, "
"faster, and more stable web browsing experience. Chromium features tabbed "
"browsing, popup blocking, extensions, and much more. Chromium is the open "
"source project upon which the Google Chrome web browser is based."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:630
+#: documentation/content/en/books/handbook/desktop/_index.adoc:629
msgid "To install Chromium, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:634
+#: documentation/content/en/books/handbook/desktop/_index.adoc:633
#, no-wrap
msgid "# pkg install chromium\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:639
+#: documentation/content/en/books/handbook/desktop/_index.adoc:638
msgid ""
"The executable for Chromium is [.filename]#/usr/local/bin/chrome#, not [."
"filename]#/usr/local/bin/chromium#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:646
+#: documentation/content/en/books/handbook/desktop/_index.adoc:645
msgid ""
"Iridium is a free, open, and libre browser modification of the Chromium code "
"base, with privacy being enhanced in several key areas. Automatic "
"transmission of partial queries, keywords, metrics to central services is "
"inhibited and only occurs with consent."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:648
+#: documentation/content/en/books/handbook/desktop/_index.adoc:647
msgid "To install Iridium, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:652
+#: documentation/content/en/books/handbook/desktop/_index.adoc:651
#, no-wrap
msgid "# pkg install iridium\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:662
+#: documentation/content/en/books/handbook/desktop/_index.adoc:661
msgid ""
"Falkon is a new-ish and very fast QtWebEngine browser. It aims to be a "
"lightweight web browser available on all major platforms. Falkon has all "
"standard functions you expect from a web browser. It includes bookmarks, "
"history (both also in sidebar) and tabs. Beyond that, you block ads with a "
"builtin AdBlock plugin, block Flash content with Click2Flash and edit the "
"local CA Certificates database with an SSL Manager."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:664
+#: documentation/content/en/books/handbook/desktop/_index.adoc:663
msgid "To install Falkon, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:668
+#: documentation/content/en/books/handbook/desktop/_index.adoc:667
#, no-wrap
msgid "# pkg install falkon\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:675
+#: documentation/content/en/books/handbook/desktop/_index.adoc:674
msgid ""
"Konqueror is more than a web browser as it is also a file manager and a "
"multimedia viewer. It supports WebKit, a rendering engine used by many "
"modern browsers including Chromium, as well as its own KHTML engine."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:677
+#: documentation/content/en/books/handbook/desktop/_index.adoc:676
msgid "To install Konqueror, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:681
+#: documentation/content/en/books/handbook/desktop/_index.adoc:680
#, no-wrap
msgid "# pkg install konqueror\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:687
+#: documentation/content/en/books/handbook/desktop/_index.adoc:686
msgid ""
"Gnome Web (Epiphany) is a web browser designed to be as lightweight and fast "
"as possible, at the expense of many of the features found in other browsers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:689
+#: documentation/content/en/books/handbook/desktop/_index.adoc:688
msgid "To install Gnome Web (Epiphany), execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:693
+#: documentation/content/en/books/handbook/desktop/_index.adoc:692
#, no-wrap
msgid "# pkg install epiphany\n"
msgstr ""
-#. What are these and how does this information help in this context?
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:700
+#: documentation/content/en/books/handbook/desktop/_index.adoc:699
msgid ""
"Qutebrowser is a keyboard-focused browser with a minimal GUI. It is based "
"on Python and PyQt5 and free software, licensed under the GPL."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:702
-msgid ""
-"It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:704
+#: documentation/content/en/books/handbook/desktop/_index.adoc:701
msgid "To install qutebrowser, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:708
+#: documentation/content/en/books/handbook/desktop/_index.adoc:705
#, no-wrap
msgid "# pkg install qutebrowser\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:715
+#: documentation/content/en/books/handbook/desktop/_index.adoc:712
msgid ""
"Dillo aims to be a multiplatform alternative browser that is small, stable, "
"developer-friendly, usable, fast, and extensible. This new, experimental "
"version of Dillo is based upon FLTK toolkit, rather than GTK1, and has been "
"substantially rewritten."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:717
+#: documentation/content/en/books/handbook/desktop/_index.adoc:714
msgid "To install Dillo, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:721
+#: documentation/content/en/books/handbook/desktop/_index.adoc:718
#, no-wrap
-msgid "# pkg install dillo2\n"
+msgid "# pkg install dillo\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:727
+#: documentation/content/en/books/handbook/desktop/_index.adoc:724
msgid ""
"A lynx-like WWW browser with text and graphics modes with many features like "
"displaying tables, menus, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:729
+#: documentation/content/en/books/handbook/desktop/_index.adoc:726
msgid "To install Links, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:733
+#: documentation/content/en/books/handbook/desktop/_index.adoc:730
#, no-wrap
msgid "# pkg install links\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:739
+#: documentation/content/en/books/handbook/desktop/_index.adoc:736
msgid ""
"w3m is a pager/text-based web browser. It is a similar application to Lynx, "
"but it has several features Lynx doesn't have like rendering tables and "
"rendering frames."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:741
+#: documentation/content/en/books/handbook/desktop/_index.adoc:738
msgid "To install w3m, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:745
+#: documentation/content/en/books/handbook/desktop/_index.adoc:742
#, no-wrap
msgid "# pkg install w3m\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/desktop/_index.adoc:748
+#: documentation/content/en/books/handbook/desktop/_index.adoc:745
#, no-wrap
msgid "Development tools"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:751
+#: documentation/content/en/books/handbook/desktop/_index.adoc:748
msgid ""
"This section describes how to install and configure some popular development "
"tools on a FreeBSD system."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/desktop/_index.adoc:752
+#: documentation/content/en/books/handbook/desktop/_index.adoc:749
#, no-wrap
msgid "Supported development tools"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:758
-#: documentation/content/en/books/handbook/desktop/_index.adoc:795
+#: documentation/content/en/books/handbook/desktop/_index.adoc:755
+#: documentation/content/en/books/handbook/desktop/_index.adoc:792
#, no-wrap
msgid "Visual Studio Code"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:760
+#: documentation/content/en/books/handbook/desktop/_index.adoc:757
#, no-wrap
msgid "package:editors/vscode[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:763
-#: documentation/content/en/books/handbook/desktop/_index.adoc:808
+#: documentation/content/en/books/handbook/desktop/_index.adoc:760
+#: documentation/content/en/books/handbook/desktop/_index.adoc:805
#, no-wrap
msgid "Qt Creator"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:764
+#: documentation/content/en/books/handbook/desktop/_index.adoc:761
#, no-wrap
msgid "QtGPL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:765
+#: documentation/content/en/books/handbook/desktop/_index.adoc:762
#, no-wrap
msgid "package:devel/qtcreator[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:768
+#: documentation/content/en/books/handbook/desktop/_index.adoc:765
#, no-wrap
msgid "Kdevelop"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:769
+#: documentation/content/en/books/handbook/desktop/_index.adoc:766
#, no-wrap
msgid "GPL 2.0 or later and LGPL 2.0 or later"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:770
+#: documentation/content/en/books/handbook/desktop/_index.adoc:767
#, no-wrap
msgid "package:devel/kdevelop[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:773
-#: documentation/content/en/books/handbook/desktop/_index.adoc:841
+#: documentation/content/en/books/handbook/desktop/_index.adoc:770
+#: documentation/content/en/books/handbook/desktop/_index.adoc:838
#, no-wrap
msgid "Eclipse IDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:774
+#: documentation/content/en/books/handbook/desktop/_index.adoc:771
#, no-wrap
msgid "EPL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:775
+#: documentation/content/en/books/handbook/desktop/_index.adoc:772
#, no-wrap
msgid "package:java/eclipse[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:778
-#: documentation/content/en/books/handbook/desktop/_index.adoc:855
+#: documentation/content/en/books/handbook/desktop/_index.adoc:775
+#: documentation/content/en/books/handbook/desktop/_index.adoc:852
#, no-wrap
msgid "Vim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:779
+#: documentation/content/en/books/handbook/desktop/_index.adoc:776
#, no-wrap
msgid "VIM"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:780
+#: documentation/content/en/books/handbook/desktop/_index.adoc:777
#, no-wrap
msgid "package:editors/vim[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:783
-#: documentation/content/en/books/handbook/desktop/_index.adoc:872
+#: documentation/content/en/books/handbook/desktop/_index.adoc:780
+#: documentation/content/en/books/handbook/desktop/_index.adoc:869
#, no-wrap
msgid "Neovim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:784
+#: documentation/content/en/books/handbook/desktop/_index.adoc:781
#, no-wrap
msgid "Apache 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:785
+#: documentation/content/en/books/handbook/desktop/_index.adoc:782
#, no-wrap
msgid "package:editors/neovim[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:788
-#: documentation/content/en/books/handbook/desktop/_index.adoc:886
+#: documentation/content/en/books/handbook/desktop/_index.adoc:785
+#: documentation/content/en/books/handbook/desktop/_index.adoc:883
#, no-wrap
msgid "GNU Emacs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:790
+#: documentation/content/en/books/handbook/desktop/_index.adoc:787
#, no-wrap
msgid "package:editors/emacs[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:799
+#: documentation/content/en/books/handbook/desktop/_index.adoc:796
msgid ""
"Visual Studio Code is a type of tool that combines the simplicity of a code "
"editor with what developers need for their core edit-build-debug cycle. It "
"provides comprehensive editing and debugging support, an extensibility "
"model, and lightweight integration with existing tools."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:801
+#: documentation/content/en/books/handbook/desktop/_index.adoc:798
msgid "To install Visual Studio Code, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:805
+#: documentation/content/en/books/handbook/desktop/_index.adoc:802
#, no-wrap
msgid "# pkg install vscode\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:812
+#: documentation/content/en/books/handbook/desktop/_index.adoc:809
msgid ""
"Qt Creator is a cross-platform IDE (integrated development environment) "
"tailored to the needs of Qt developers. Functionalities included with Qt "
"Creator are:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:814
+#: documentation/content/en/books/handbook/desktop/_index.adoc:811
msgid "code editor with C++, QML and ECMAscript support;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:815
+#: documentation/content/en/books/handbook/desktop/_index.adoc:812
msgid "rapid code navigation tools;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:816
+#: documentation/content/en/books/handbook/desktop/_index.adoc:813
msgid "static code checking and style hints as you type;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:817
+#: documentation/content/en/books/handbook/desktop/_index.adoc:814
msgid "context sensitive help;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:818
+#: documentation/content/en/books/handbook/desktop/_index.adoc:815
msgid "visual debugger;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:819
+#: documentation/content/en/books/handbook/desktop/_index.adoc:816
msgid "integrated GUI layout and forms designer."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:821
+#: documentation/content/en/books/handbook/desktop/_index.adoc:818
msgid "To install Qt Creator, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:825
+#: documentation/content/en/books/handbook/desktop/_index.adoc:822
#, no-wrap
msgid "# pkg install qtcreator\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:828
+#: documentation/content/en/books/handbook/desktop/_index.adoc:825
#, no-wrap
msgid "kdevelop"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:832
+#: documentation/content/en/books/handbook/desktop/_index.adoc:829
msgid ""
"Open source, feature-full, plugin extensible IDE for C/C++ and other "
"programming languages. It is based on KDevPlatform and the KDE and Qt "
"libraries, and it has been under development since 1998."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:834
+#: documentation/content/en/books/handbook/desktop/_index.adoc:831
msgid "To install kdevelop, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:838
+#: documentation/content/en/books/handbook/desktop/_index.adoc:835
#, no-wrap
msgid "# pkg install kdevelop\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:846
+#: documentation/content/en/books/handbook/desktop/_index.adoc:843
msgid ""
"The Eclipse Platform is an open extensible IDE for anything and yet nothing "
"in particular. The Eclipse Platform provides building blocks and a "
"foundation for constructing and running integrated software-development "
"tools. The Eclipse Platform allows tool builders to independently develop "
"tools that integrate with other people's tools."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:848
+#: documentation/content/en/books/handbook/desktop/_index.adoc:845
msgid "To install Eclipse IDE, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:852
+#: documentation/content/en/books/handbook/desktop/_index.adoc:849
#, no-wrap
msgid "# pkg install eclipse\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:859
+#: documentation/content/en/books/handbook/desktop/_index.adoc:856
msgid ""
"Vim is a highly configurable text editor built to enable efficient text "
"editing. It is an improved version of the vi editor distributed with most "
"UNIX systems."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:863
+#: documentation/content/en/books/handbook/desktop/_index.adoc:860
msgid ""
"Vim is often called a \"programmer's editor,\" and so useful for programming "
"that many consider it an entire IDE. It's not just for programmers, "
"though. Vim is perfect for all kinds of text editing, from composing email "
"to editing configuration files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:865
+#: documentation/content/en/books/handbook/desktop/_index.adoc:862
msgid "To install Vim, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:869
+#: documentation/content/en/books/handbook/desktop/_index.adoc:866
#, no-wrap
msgid "# pkg install vim\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:877
+#: documentation/content/en/books/handbook/desktop/_index.adoc:874
msgid ""
"Neovim is an aggressive refactor of package:editors/vim[]. It represents a "
"complete overhaul of the codebase with many sanity improvements, including "
"sensible defaults, a built-in terminal emulator, asynchronous plugin "
"architecture, and powerful APIs designed for speed and extensibility. It "
"retains full compatibility with almost all Vim plugins and scripts."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:879
+#: documentation/content/en/books/handbook/desktop/_index.adoc:876
msgid "To install Neovim, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:883
+#: documentation/content/en/books/handbook/desktop/_index.adoc:880
#, no-wrap
msgid "# pkg install neovim\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:890
+#: documentation/content/en/books/handbook/desktop/_index.adoc:887
msgid ""
"GNU Emacs is an extensible, customizable, free/libre text editor. At its "
"core is an interpreter for Emacs Lisp, a dialect of the Lisp programming "
"language with extensions to support text editing."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:892
+#: documentation/content/en/books/handbook/desktop/_index.adoc:889
msgid "To install GNU Emacs, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:896
+#: documentation/content/en/books/handbook/desktop/_index.adoc:893
#, no-wrap
msgid "# pkg install emacs\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/desktop/_index.adoc:899
+#: documentation/content/en/books/handbook/desktop/_index.adoc:896
#, no-wrap
msgid "Desktop office productivity"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:904
+#: documentation/content/en/books/handbook/desktop/_index.adoc:901
msgid ""
"When it comes to productivity, users often look for an office suite or an "
"easy-to-use word processor. While some desktop environments like <<kde-"
"environment, KDE Plasma>> provide an office suite, there is no default "
"productivity package. Several office suites and graphical word processors "
"are available for FreeBSD, regardless of the installed desktop environments."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:906
+#: documentation/content/en/books/handbook/desktop/_index.adoc:903
msgid ""
"This section demonstrates how to install the following popular productivity "
"software and indicates if the application is resource-heavy, takes time to "
"compile from ports, or has any major dependencies."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/desktop/_index.adoc:907
+#: documentation/content/en/books/handbook/desktop/_index.adoc:904
#, no-wrap
msgid "Supported Desktop office productivity suites"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:913
-#: documentation/content/en/books/handbook/desktop/_index.adoc:930
+#: documentation/content/en/books/handbook/desktop/_index.adoc:910
+#: documentation/content/en/books/handbook/desktop/_index.adoc:927
#, no-wrap
msgid "LibreOffice"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:915
+#: documentation/content/en/books/handbook/desktop/_index.adoc:912
#, no-wrap
msgid "package:editors/libreoffice[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:918
+#: documentation/content/en/books/handbook/desktop/_index.adoc:915
#, no-wrap
msgid "Calligra Suite"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:919
+#: documentation/content/en/books/handbook/desktop/_index.adoc:916
#, no-wrap
msgid "LGPL and GPL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:920
+#: documentation/content/en/books/handbook/desktop/_index.adoc:917
#, no-wrap
msgid "package:editors/calligra[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:923
-#: documentation/content/en/books/handbook/desktop/_index.adoc:969
+#: documentation/content/en/books/handbook/desktop/_index.adoc:920
+#: documentation/content/en/books/handbook/desktop/_index.adoc:966
#, no-wrap
msgid "AbiWord"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:925
+#: documentation/content/en/books/handbook/desktop/_index.adoc:922
#, no-wrap
msgid "package:editors/abiword[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:937
+#: documentation/content/en/books/handbook/desktop/_index.adoc:934
msgid ""
"LibreOffice is a free software office suite developed by http://www."
"documentfoundation.org/[The Document Foundation]. It is compatible with "
"other major office suites and available on a variety of platforms. It is a "
"rebranded fork of Apache OpenOffice and includes applications found in a "
"complete office productivity suite: a word processor, spreadsheet, "
"presentation manager, drawing program, database management program, and a "
"tool for creating and editing mathematical formulæ. It is available in a "
"number of different languages and internationalization has been extended to "
"interfaces, spell checkers, and dictionaries. More information about "
"LibreOffice can be found at http://www.libreoffice.org/[libreoffice.org]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:939
+#: documentation/content/en/books/handbook/desktop/_index.adoc:936
msgid "To install LibreOffice, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:943
+#: documentation/content/en/books/handbook/desktop/_index.adoc:940
#, no-wrap
msgid "# pkg install libreoffice\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:948
+#: documentation/content/en/books/handbook/desktop/_index.adoc:945
msgid ""
"The LibreOffice package comes by default only in English. To have a "
"localized version of LibreOffice it is necessary to install a language "
"pack. For example, for the version localized in Spanish, it is necessary to "
"install the package package:editors/libreoffice-es[] with the command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:952
+#: documentation/content/en/books/handbook/desktop/_index.adoc:949
#, no-wrap
msgid "# pkg install libreoffice-es\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:955
+#: documentation/content/en/books/handbook/desktop/_index.adoc:952
#, no-wrap
msgid "Calligra"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:960
+#: documentation/content/en/books/handbook/desktop/_index.adoc:957
msgid ""
"The KDE Plasma desktop environment includes an office suite which can be "
"installed separately from KDE Plasma. Calligra includes standard components "
"that can be found in other office suites. Words is the word processor, "
"Sheets is the spreadsheet program, Stage manages slide presentations, and "
"Karbon is used to draw graphical documents."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:962
+#: documentation/content/en/books/handbook/desktop/_index.adoc:959
msgid "To install Calligra, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:966
+#: documentation/content/en/books/handbook/desktop/_index.adoc:963
#, no-wrap
msgid "# pkg install calligra\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:973
+#: documentation/content/en/books/handbook/desktop/_index.adoc:970
msgid ""
"AbiWord is a free word processing program similar in look and feel to "
"Microsoft(R) Word. It is fast, contains many features, and is user-friendly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:975
+#: documentation/content/en/books/handbook/desktop/_index.adoc:972
msgid ""
"AbiWord can import or export many file formats, including some proprietary "
"ones like Microsoft(R) [.filename]#.rtf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:977
+#: documentation/content/en/books/handbook/desktop/_index.adoc:974
msgid "To install AbiWord, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:981
+#: documentation/content/en/books/handbook/desktop/_index.adoc:978
#, no-wrap
msgid "# pkg install abiword\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/desktop/_index.adoc:984
+#: documentation/content/en/books/handbook/desktop/_index.adoc:981
#, no-wrap
msgid "Document Viewers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:988
+#: documentation/content/en/books/handbook/desktop/_index.adoc:985
msgid ""
"Some new document formats have gained popularity since the advent of UNIX(R) "
"and the viewers they require may not be available in the base system. This "
"section demonstrates how to install the following document viewers:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/desktop/_index.adoc:989
+#: documentation/content/en/books/handbook/desktop/_index.adoc:986
#, no-wrap
msgid "Supported Document Viewers"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:995
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1017
+#: documentation/content/en/books/handbook/desktop/_index.adoc:992
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1014
#, no-wrap
msgid "Okular"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:996
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1001
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1006
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1011
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1085
+#: documentation/content/en/books/handbook/desktop/_index.adoc:993
+#: documentation/content/en/books/handbook/desktop/_index.adoc:998
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1003
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1008
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1082
#, no-wrap
msgid "GPL 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:997
+#: documentation/content/en/books/handbook/desktop/_index.adoc:994
#, no-wrap
msgid "package:graphics/okular[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1000
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1031
+#: documentation/content/en/books/handbook/desktop/_index.adoc:997
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1028
#, no-wrap
msgid "Evince"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1002
+#: documentation/content/en/books/handbook/desktop/_index.adoc:999
#, no-wrap
msgid "package:graphics/evince[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1005
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1045
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1002
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1042
#, no-wrap
msgid "ePDFView"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1007
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1004
#, no-wrap
msgid "package:graphics/epdfview[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1010
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1058
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1007
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1055
#, no-wrap
msgid "Xpdf"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1012
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1009
#, no-wrap
msgid "package:graphics/xpdf[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1014
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1011
#, no-wrap
msgid "light"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1020
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1017
msgid "Okular is a universal document viewer, part of the KDE Plasma project."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1022
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1019
msgid ""
"Okular combines excellent functionality with the versatility of supporting "
"different kind of documents, like PDF, Postscript, DjVu, CHM, XPS, ePub and "
"others."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1024
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1021
msgid "To install Okular, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1028
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1025
#, no-wrap
msgid "# pkg install okular\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1036
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1033
msgid ""
"Evince is a document viewer for multiple document formats including PDF and "
"Postscript. Part of the GNOME project. The goal of evince is to replace "
"document viewers such as ggv and gpdf with a single, simple application."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1038
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1035
msgid "To install Evince, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1042
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1039
#, no-wrap
msgid "# pkg install evince\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1049
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1046
msgid ""
"ePDFView is a lightweight PDF document viewer that only uses the Gtk+ and "
"Poppler libraries. The aim of ePDFView is to make a simple PDF document "
"viewer, similar to Evince but without using the GNOME libraries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1051
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1048
msgid "To install ePDFView, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1055
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1052
#, no-wrap
msgid "# pkg install epdfview\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1062
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1059
msgid ""
"For users that prefer a small FreeBSD PDF viewer, Xpdf provides a light-"
"weight and efficient viewer which requires few resources. It uses the "
"standard X fonts and does not require any additional toolkits."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1064
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1061
msgid "To install Xpdf, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1068
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1065
#, no-wrap
msgid "# pkg install xpdf\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1071
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1068
#, no-wrap
msgid "Finance"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1075
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1072
msgid ""
"For managing personal finances on a FreeBSD desktop, some powerful and easy-"
"to-use applications can be installed. Some are compatible with widespread "
"file formats, such as the formats used by Quicken and Excel."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1077
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1074
msgid "This section covers these programs:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1078
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1075
#, no-wrap
msgid "Supported Finance programs"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1084
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1096
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1081
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1093
#, no-wrap
msgid "KMyMoney"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1086
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1083
#, no-wrap
msgid "package:finance/kmymoney[]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1089
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1111
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1086
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1108
#, no-wrap
msgid "GnuCash"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1090
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1087
#, no-wrap
msgid "GPL 2.0 and GPL 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1091
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1088
#, no-wrap
msgid "package:finance/gnucash[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1102
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1099
msgid ""
"KMyMoney is a personal finance application created by the KDE community. "
"KMyMoney aims to provide the important features found in commercial personal "
"finance manager applications. It also highlights ease-of-use and proper "
"double-entry accounting among its features. KMyMoney imports from standard "
"Quicken QIF files, tracks investments, handles multiple currencies, and "
"provides a wealth of reports."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1104
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1101
msgid "To install KMyMoney, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1108
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1105
#, no-wrap
msgid "# pkg install kmymoney\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1116
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1113
msgid ""
"GnuCash is part of the GNOME effort to provide user-friendly, yet powerful, "
"applications to end-users. GnuCash can be used to keep track of income and "
"expenses, bank accounts, and stocks. It features an intuitive interface "
"while remaining professional."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1121
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1118
msgid ""
"GnuCash provides a smart register, a hierarchical system of accounts, and "
"many keyboard accelerators and auto-completion methods. It can split a "
"single transaction into several more detailed pieces. GnuCash can import "
"and merge Quicken QIF files. It also handles most international date and "
"currency formats."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1123
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1120
msgid "To install GnuCash, execute:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/desktop/_index.adoc:1127
+#: documentation/content/en/books/handbook/desktop/_index.adoc:1124
#, no-wrap
msgid "# pkg install gnucash\n"
msgstr ""
diff --git a/documentation/content/en/books/handbook/eresources/_index.po b/documentation/content/en/books/handbook/eresources/_index.po
index cc066dea7b..ef3e41382a 100644
--- a/documentation/content/en/books/handbook/eresources/_index.po
+++ b/documentation/content/en/books/handbook/eresources/_index.po
@@ -1,567 +1,562 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/eresources/_index.adoc:1
#, no-wrap
msgid "FreeBSD additional resources on internet like websites, mailing lists, mirrors, etc"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/eresources/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/eresources/_index.adoc:1
#, no-wrap
msgid "Appendix C. Resources on the Internet"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/eresources/_index.adoc:15
#, no-wrap
msgid "Resources on the Internet"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:54
msgid ""
"Development of FreeBSD is too rapid for print media to be practical for "
"keeping people informed. For awareness of developments: electronic "
"alternatives to print are best."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:56
msgid ""
"The FreeBSD user community provides much technical support -- with forums, "
"chat and email amongst the most popular and effective means of communication."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:59
msgid ""
"The most important points of contact are outlined below. The link:https://"
"wiki.freebsd.org/Community[Community wiki area] may be more up-to-date."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:61
msgid ""
"Please make the {freebsd-doc} aware of any resource that is either "
"redundant, or not yet listed below."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/eresources/_index.adoc:63
#, no-wrap
msgid "Websites"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:66
msgid ""
"The link:https://forums.FreeBSD.org/[FreeBSD Forums] provide a web based "
"discussion forum for FreeBSD questions and technical discussion."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:67
msgid ""
"The link:https://wiki.FreeBSD.org/[FreeBSD Wiki] provides various bits of "
"information that hadn't yet made it into the Handbook."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:68
msgid ""
"The link:https://docs.FreeBSD.org/[Documentation Portal] offers much more "
"than the FreeBSD Handbook alone; there are more than forty books and "
"articles."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:69
msgid ""
"The link:https://freebsdfoundation.org/our-work/journal/browser-based-"
"edition/[FreeBSD Journal] is a free, professionally-edited, bi-monthly "
"technical magazine released by link:https://freebsdfoundation.org[The "
"FreeBSD Foundation]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:70
msgid ""
"The link:http://www.youtube.com/bsdconferences[BSDConferences YouTube "
"Channel] provides a collection of high quality videos from BSD conferences "
"around the world. This is a great way to watch key developers give "
"presentations about new work in FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:71
msgid ""
"link:https://www.freebsd.org/status/[FreeBSD Status Reports] are released "
"every three months and track progress of FreeBSD development."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:72
msgid ""
"There's a link:https://www.reddit.com/r/freebsd/[FreeBSD-focused Reddit "
"group] at r/freebsd."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:73
msgid ""
"link:https://superuser.com/questions/tagged/freebsd[Super User] and link:"
"https://serverfault.com/questions/tagged/freebsd[Server Fault], the Stack "
"Exchange services for system administrators."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:74
msgid ""
"link:https://wiki.freebsd.org/Discord[FreeBSD Discord server], a "
"communications and community-building service, where FreeBSD community "
"members can socialise, obtain support or support others, learn, contribute, "
"collaborate, and stay up to date with all things FreeBSD-related."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:75
msgid ""
"link:https://wiki.freebsd.org/IRC/Channels[IRC channels], a widely "
"implemented, technically mature, open standard text chat."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/eresources/_index.adoc:77
#, no-wrap
msgid "Mailing Lists"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:82
msgid ""
"The mailing lists are the most direct way of addressing questions or opening "
"a technical discussion to a concentrated FreeBSD audience. There are a wide "
"variety of lists on a number of different FreeBSD topics. Sending questions "
"to the most appropriate mailing list will invariably assure a faster and "
"more accurate response."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:84
msgid "Technical list threads should remain technical."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:86
msgid ""
"All users and developers of FreeBSD should subscribe to the {freebsd-"
"announce}."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/eresources/_index.adoc:91
msgid ""
"To test FreeBSD mailing list capabilities, aim for the {freebsd-test}. "
"Please do not send test messages to any other list."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:94
msgid ""
"When in doubt about what list to post a question to, see extref:{freebsd-"
"questions-article}[How to get best results from the FreeBSD-questions "
"mailing list]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:96
msgid "Before posting to any list, please:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:98
msgid ""
"learn about how to best use the mailing lists, such as how to help avoid "
"frequently-repeated discussions, by reading the extref:{mailing-list-faq}"
"[Mailing List Frequently Asked Questions] (FAQ) document"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:99
msgid ""
"search the archives, to tell whether someone else has already posted what "
"you intend to post."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:101
msgid "Archive search interfaces include:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:103
msgid "https://lists.freebsd.org/search[] (FreeBSD, experimental)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/eresources/_index.adoc:104
msgid "https://www.freebsd.org/search/[] (DuckDuckGo)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:105
-msgid "https://freebsd.markmail.org/[] (MarkMail)"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:108
+#: documentation/content/en/books/handbook/eresources/_index.adoc:107
msgid ""
"Note that this also means that messages sent to FreeBSD mailing lists are "
"archived in perpetuity. When protecting privacy is a concern, consider "
"using a disposable secondary email address and posting only public "
"information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:110
+#: documentation/content/en/books/handbook/eresources/_index.adoc:109
msgid "FreeBSD-provided archives:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:112
+#: documentation/content/en/books/handbook/eresources/_index.adoc:111
msgid "do not present links as links"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:113
+#: documentation/content/en/books/handbook/eresources/_index.adoc:112
msgid "do not present inline images"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:114
+#: documentation/content/en/books/handbook/eresources/_index.adoc:113
msgid "do not present HTML content of HTML messages."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:117
+#: documentation/content/en/books/handbook/eresources/_index.adoc:116
msgid ""
"The FreeBSD public mailing lists can be consulted link:{mailing-lists-url}"
"[here]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:119
+#: documentation/content/en/books/handbook/eresources/_index.adoc:118
#, no-wrap
msgid "How to Subscribe or Unsubscribe"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:122
+#: documentation/content/en/books/handbook/eresources/_index.adoc:121
msgid "At {mailing-lists-url}, click the name of a list to reveal its options."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:125
+#: documentation/content/en/books/handbook/eresources/_index.adoc:124
msgid ""
"To post, after subscribing, send mail to `listname@FreeBSD.org`. The "
"message will be redistributed to list members."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:127
+#: documentation/content/en/books/handbook/eresources/_index.adoc:126
#, no-wrap
msgid "Lists Basic Rules"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:132
+#: documentation/content/en/books/handbook/eresources/_index.adoc:131
msgid ""
"_All_ FreeBSD mailing lists have certain basic rules which must be adhered "
"to by anyone using them. Failure to comply with these guidelines will "
"result in two (2) written warnings from the FreeBSD Postmaster mailto:"
"postmaster@FreeBSD.org[postmaster@FreeBSD.org], after which, on a third "
"offense, the poster will removed from all FreeBSD mailing lists and filtered "
"from further posting to them. We regret that such rules and measures are "
"necessary at all, but today's Internet is a pretty harsh environment, it "
"would seem, and many fail to appreciate just how fragile some of its "
"mechanisms are."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:134
+#: documentation/content/en/books/handbook/eresources/_index.adoc:133
msgid "Rules of the road:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:136
+#: documentation/content/en/books/handbook/eresources/_index.adoc:135
msgid ""
"The topic of any posting should adhere to the basic description of the list "
"it is posted to. If the list is about technical issues, the posting should "
"contain technical discussion. Ongoing irrelevant chatter or flaming only "
"detracts from the value of the mailing list for everyone on it and will not "
"be tolerated. For free-form discussion on no particular topic, the {freebsd-"
"chat} is freely available and should be used instead."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:137
+#: documentation/content/en/books/handbook/eresources/_index.adoc:136
msgid ""
"No posting should be made to more than 2 mailing lists, and only to 2 when a "
"clear and obvious need to post to both lists exists. For most lists, there "
"is already a great deal of subscriber overlap and except for the most "
"esoteric mixes (say \"-stable & -scsi\"), there really is no reason to post "
"to more than one list at a time. If a message is received with multiple "
"mailing lists on the `Cc` line, trim the `Cc` line before replying. _The "
"person who replies is still responsible for cross-posting, no matter who the "
"originator might have been._"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:138
+#: documentation/content/en/books/handbook/eresources/_index.adoc:137
msgid ""
"Personal attacks and profanity (in the context of an argument) are not "
"allowed, and that includes users and developers alike. Gross breaches of "
"netiquette, like excerpting or reposting private mail when permission to do "
"so was not and would not be forthcoming, are frowned upon but not "
"specifically enforced."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:139
+#: documentation/content/en/books/handbook/eresources/_index.adoc:138
msgid ""
"Advertising of non-FreeBSD related products or services is strictly "
"prohibited and will result in an immediate ban if it is clear that the "
"offender is advertising by spam."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:141
+#: documentation/content/en/books/handbook/eresources/_index.adoc:140
#, no-wrap
msgid "Filtering on the Mailing Lists"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:145
+#: documentation/content/en/books/handbook/eresources/_index.adoc:144
msgid ""
"The FreeBSD mailing lists are filtered in multiple ways to avoid the "
"distribution of spam, viruses, and other unwanted emails. The filtering "
"actions described in this section do not include all those used to protect "
"the mailing lists."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:148
+#: documentation/content/en/books/handbook/eresources/_index.adoc:147
msgid ""
"Only certain types of attachments are allowed on the mailing lists. All "
"attachments with a MIME content type not found in the list below will be "
"stripped before an email is distributed on the mailing lists."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:150
+#: documentation/content/en/books/handbook/eresources/_index.adoc:149
msgid "application/octet-stream"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:151
+#: documentation/content/en/books/handbook/eresources/_index.adoc:150
msgid "application/pdf"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:152
+#: documentation/content/en/books/handbook/eresources/_index.adoc:151
msgid "application/pgp-signature"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:153
+#: documentation/content/en/books/handbook/eresources/_index.adoc:152
msgid "application/x-pkcs7-signature"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:154
+#: documentation/content/en/books/handbook/eresources/_index.adoc:153
msgid "message/rfc822"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:155
+#: documentation/content/en/books/handbook/eresources/_index.adoc:154
msgid "multipart/alternative"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:156
+#: documentation/content/en/books/handbook/eresources/_index.adoc:155
msgid "multipart/related"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:157
+#: documentation/content/en/books/handbook/eresources/_index.adoc:156
msgid "multipart/signed"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:158
+#: documentation/content/en/books/handbook/eresources/_index.adoc:157
msgid "text/html"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:159
+#: documentation/content/en/books/handbook/eresources/_index.adoc:158
msgid "text/plain"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:160
+#: documentation/content/en/books/handbook/eresources/_index.adoc:159
msgid "text/x-diff"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:161
+#: documentation/content/en/books/handbook/eresources/_index.adoc:160
msgid "text/x-patch"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/eresources/_index.adoc:165
+#: documentation/content/en/books/handbook/eresources/_index.adoc:164
msgid ""
"Some of the mailing lists might allow attachments of other MIME content "
"types, but the above list should be applicable for most of the mailing lists."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:168
+#: documentation/content/en/books/handbook/eresources/_index.adoc:167
msgid "If a multi-part message includes text/plain and text/html parts:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:170
+#: documentation/content/en/books/handbook/eresources/_index.adoc:169
msgid "addressees will receive both parts"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:171
+#: documentation/content/en/books/handbook/eresources/_index.adoc:170
msgid ""
"lists.freebsd.org will present text/plain with an option to view original "
"text (source, with raw HTML amongst the parts)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:173
+#: documentation/content/en/books/handbook/eresources/_index.adoc:172
msgid "If text/plain does not accompany text/html:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:175
+#: documentation/content/en/books/handbook/eresources/_index.adoc:174
msgid "there will be conversion from HTML to plain text."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/eresources/_index.adoc:177
+#: documentation/content/en/books/handbook/eresources/_index.adoc:176
#, no-wrap
msgid "Usenet Newsgroups"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:180
+#: documentation/content/en/books/handbook/eresources/_index.adoc:179
msgid ""
"In addition to two FreeBSD specific newsgroups, there are many others in "
"which FreeBSD is discussed or are otherwise relevant to FreeBSD users."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:181
+#: documentation/content/en/books/handbook/eresources/_index.adoc:180
#, no-wrap
msgid "BSD Specific Newsgroups"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:184
+#: documentation/content/en/books/handbook/eresources/_index.adoc:183
msgid ""
"link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:185
+#: documentation/content/en/books/handbook/eresources/_index.adoc:184
msgid "link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:186
+#: documentation/content/en/books/handbook/eresources/_index.adoc:185
msgid "link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (German)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:187
+#: documentation/content/en/books/handbook/eresources/_index.adoc:186
msgid "link:news:fr.comp.os.bsd[fr.comp.os.bsd] (French)"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:188
+#: documentation/content/en/books/handbook/eresources/_index.adoc:187
#, no-wrap
msgid "Other UNIX(R) Newsgroups of Interest"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:191
+#: documentation/content/en/books/handbook/eresources/_index.adoc:190
msgid "link:news:comp.unix[comp.unix]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:192
+#: documentation/content/en/books/handbook/eresources/_index.adoc:191
msgid "link:news:comp.unix.questions[comp.unix.questions]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:193
+#: documentation/content/en/books/handbook/eresources/_index.adoc:192
msgid "link:news:comp.unix.admin[comp.unix.admin]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:194
+#: documentation/content/en/books/handbook/eresources/_index.adoc:193
msgid "link:news:comp.unix.programmer[comp.unix.programmer]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:195
+#: documentation/content/en/books/handbook/eresources/_index.adoc:194
msgid "link:news:comp.unix.shell[comp.unix.shell]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:196
+#: documentation/content/en/books/handbook/eresources/_index.adoc:195
msgid "link:news:comp.unix.misc[comp.unix.misc]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:197
+#: documentation/content/en/books/handbook/eresources/_index.adoc:196
msgid "link:news:comp.unix.bsd[comp.unix.bsd]"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/eresources/_index.adoc:198
+#: documentation/content/en/books/handbook/eresources/_index.adoc:197
#, no-wrap
msgid "X Window System"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/eresources/_index.adoc:200
+#: documentation/content/en/books/handbook/eresources/_index.adoc:199
msgid "link:news:comp.windows.x[comp.windows.x]"
msgstr ""
diff --git a/documentation/content/en/books/handbook/introduction/_index.po b/documentation/content/en/books/handbook/introduction/_index.po
index 580923e683..2273dca913 100644
--- a/documentation/content/en/books/handbook/introduction/_index.po
+++ b/documentation/content/en/books/handbook/introduction/_index.po
@@ -1,764 +1,777 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/introduction/_index.adoc:1
#, no-wrap
msgid "This chapter covers various aspects of the FreeBSD Project, such as its history, goals, development model, and so on"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/introduction/_index.adoc:1
#, no-wrap
msgid "Chapter 1. Introduction"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/introduction/_index.adoc:14
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/introduction/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:55
msgid ""
"Thank you for your interest in FreeBSD! The following chapter covers various "
"aspects of the FreeBSD Project, such as its history, goals, development "
"model, and so on."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:57
msgid "After reading this chapter you will know:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:59
msgid "How FreeBSD relates to other computer operating systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:60
msgid "The history of the FreeBSD Project."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:61
msgid "The goals of the FreeBSD Project."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:62
msgid "The basics of the FreeBSD open-source development model."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:63
msgid "And of course: where the name \"FreeBSD\" comes from."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/introduction/_index.adoc:65
#, no-wrap
msgid "Welcome to FreeBSD!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:70
msgid ""
"FreeBSD is an Open Source, standards-compliant Unix-like operating system "
-"for x86 (both 32 and 64 bit), ARM(R), AArch64, RISC-V(R), MIPS(R), POWER(R), "
-"PowerPC(R), and Sun UltraSPARC(R) computers. It provides all the features "
-"that are nowadays taken for granted, such as preemptive multitasking, memory "
-"protection, virtual memory, multi-user facilities, SMP support, all the Open "
-"Source development tools for different languages and frameworks, and desktop "
-"features centered around X Window System, KDE, or GNOME. Its particular "
-"strengths are:"
+"for x86 (both 32 and 64 bit), ARM, AArch64, RISC-V, POWER, and PowerPC "
+"computers. It provides all the features that are nowadays taken for "
+"granted, such as preemptive multitasking, memory protection, virtual memory, "
+"multi-user facilities, SMP support, all the Open Source development tools "
+"for different languages and frameworks, and desktop features centered around "
+"X Window System, KDE, or GNOME. Its particular strengths are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:72
msgid ""
"_Liberal Open Source license_, which grants you rights to freely modify and "
"extend its source code and incorporate it in both Open Source projects and "
"closed products without imposing restrictions typical to copyleft licenses, "
"as well as avoiding potential license incompatibility problems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:73
msgid ""
"_Strong TCP/IP networking_ - FreeBSD implements industry standard protocols "
"with ever increasing performance and scalability. This makes it a good match "
"in both server, and routing/firewalling roles - and indeed many companies "
"and vendors use it precisely for that purpose."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:74
msgid ""
"_Fully integrated OpenZFS support_, including root-on-ZFS, ZFS Boot "
"Environments, fault management, administrative delegation, support for "
"jails, FreeBSD specific documentation, and system installer support."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:75
msgid ""
"_Extensive security features_, from the Mandatory Access Control framework "
"to Capsicum capability and sandbox mechanisms."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:76
msgid ""
"_Over 30 thousand prebuilt packages_ for all supported architectures, and "
"the Ports Collection which makes it easy to build your own, customized ones."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:77
msgid ""
"_Documentation_ - in addition to the Handbook and books from different "
"authors that cover topics ranging from system administration to kernel "
"internals, there are also the man:man[1] pages, not only for userspace "
"daemons, utilities, and configuration files, but also for kernel driver APIs "
"(section 9) and individual drivers (section 4)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:78
msgid ""
"_Simple and consistent repository structure and build system_ - FreeBSD uses "
"a single repository for all of its components, both kernel and userspace. "
"This, along with a unified and easy to customize build system and a well "
"thought-out development process makes it easy to integrate FreeBSD with "
"build infrastructure for your own product."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:79
msgid ""
"_Staying true to Unix philosophy_, preferring composability instead of "
"monolithic \"all in one\" daemons with hardcoded behavior."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:80
msgid ""
"_Binary compatibility_ with Linux, which makes it possible to run many Linux "
"binaries without the need for virtualisation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:84
msgid ""
"FreeBSD is based on the 4.4BSD-Lite release from Computer Systems Research "
"Group (CSRG) at the University of California at Berkeley, and carries on the "
"distinguished tradition of BSD systems development. In addition to the fine "
"work provided by CSRG, the FreeBSD Project has put in many thousands of man-"
"hours into extending the functionality and fine-tuning the system for "
"maximum performance and reliability in real-life load situations. FreeBSD "
"offers performance and reliability on par with other Open Source and "
"commercial offerings, combined with cutting-edge features not available "
"anywhere else."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/introduction/_index.adoc:86
#, no-wrap
msgid "What Can FreeBSD Do?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:90
msgid ""
"The applications to which FreeBSD can be put are truly limited only by your "
"own imagination. From software development to factory automation, inventory "
"control to azimuth correction of remote satellite antenna; if it can be done "
"with a commercial UNIX(R) product then it is more than likely that you can "
"do it with FreeBSD too! FreeBSD also benefits significantly from literally "
"thousands of high quality applications developed by research centers and "
"universities around the world, often available at little to no cost."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:93
msgid ""
"Because the source code for FreeBSD itself is freely available, the system "
"can also be customized to an almost unheard-of degree for special "
"applications or projects, and in ways not generally possible with operating "
"systems from most major commercial vendors. Here is just a sampling of some "
"of the applications in which people are currently using FreeBSD:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:95
msgid ""
"_Internet Services:_ The robust TCP/IP networking built into FreeBSD makes "
"it an ideal platform for a variety of Internet services such as:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:97
msgid "Web servers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:98
msgid "IPv4 and IPv6 routing"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:99
msgid "Firewalls and NAT (\"IP masquerading\") gateways"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:100
msgid "FTP servers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:101
msgid "Email servers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:102
-msgid "And more..."
+msgid "Storage servers"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/introduction/_index.adoc:103
+msgid "Virtualization servers"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/introduction/_index.adoc:104
+msgid "And more..."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/introduction/_index.adoc:106
msgid ""
"_Education:_ Are you a student of computer science or a related engineering "
"field? There is no better way of learning about operating systems, computer "
"architecture and networking than the hands-on, under-the-hood experience "
"that FreeBSD can provide. A number of freely available CAD, mathematical and "
"graphic design packages also make it highly useful to those whose primary "
"interest in a computer is to get _other_ work done!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:105
+#: documentation/content/en/books/handbook/introduction/_index.adoc:107
msgid ""
"_Research:_ With source code for the entire system available, FreeBSD is an "
"excellent platform for research in operating systems as well as other "
"branches of computer science. FreeBSD's freely available nature also makes "
"it possible for remote groups to collaborate on ideas or shared development "
"without having to worry about special licensing agreements or limitations on "
"what may be discussed in open forums."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:106
+#: documentation/content/en/books/handbook/introduction/_index.adoc:108
msgid ""
"_Networking:_ Need a new router? A name server (DNS)? A firewall to keep "
"people out of your internal network? FreeBSD can easily turn that unused PC "
"sitting in the corner into an advanced router with sophisticated packet-"
"filtering capabilities."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:107
+#: documentation/content/en/books/handbook/introduction/_index.adoc:109
msgid ""
"_Embedded:_ FreeBSD makes an excellent platform to build embedded systems "
-"upon. With support for the ARM(R), MIPS(R) and PowerPC(R) platforms, coupled "
-"with a robust network stack, cutting edge features, and the permissive "
-"extref:{faq}[BSD license, bsd-license-restrictions], FreeBSD makes an "
-"excellent foundation for building embedded routers, firewalls, and other "
-"devices."
+"upon. With support for the ARM, AArch64 and PowerPC platforms, coupled with "
+"a robust network stack, cutting edge features, and the permissive extref:"
+"{faq}[BSD license, bsd-license-restrictions], FreeBSD makes an excellent "
+"foundation for building embedded routers, firewalls, and other devices."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:108
+#: documentation/content/en/books/handbook/introduction/_index.adoc:110
msgid ""
"_Desktop:_ FreeBSD makes a fine choice for an inexpensive desktop solution "
"using the freely available X11 server and Wayland display server. FreeBSD "
"offers a choice from many open-source desktop environments, including the "
"standard GNOME and KDE graphical user interfaces. FreeBSD can even boot "
"\"diskless\" from a central server, making individual workstations even "
"cheaper and easier to administer."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:109
+#: documentation/content/en/books/handbook/introduction/_index.adoc:111
msgid ""
"_Software Development:_ The basic FreeBSD system comes with a full suite of "
"development tools including a full C/C++ compiler and debugger suite. "
"Support for many other languages are also available through the ports and "
"packages collection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:112
+#: documentation/content/en/books/handbook/introduction/_index.adoc:114
msgid ""
"FreeBSD is available to download free of charge, or can be obtained on "
"either CD-ROM or DVD. Please see crossref:mirrors[mirrors, Obtaining "
"FreeBSD] for more information about obtaining FreeBSD."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:114
+#: documentation/content/en/books/handbook/introduction/_index.adoc:116
#, no-wrap
msgid "Who Uses FreeBSD?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:119
+#: documentation/content/en/books/handbook/introduction/_index.adoc:121
msgid ""
"FreeBSD has been known for its web serving capabilities. A list of link:"
"https://freebsdfoundation.org/about-us/testimonials/[testimonials from "
"companies basing their products and services on FreeBSD] can be found at the "
"FreeBSD Foundation website. Wikipedia also maintains a link:https://en."
"wikipedia.org/wiki/List_of_products_based_on_FreeBSD[list of products based "
"on FreeBSD]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/introduction/_index.adoc:121
+#: documentation/content/en/books/handbook/introduction/_index.adoc:123
#, no-wrap
msgid "About the FreeBSD Project"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:124
+#: documentation/content/en/books/handbook/introduction/_index.adoc:126
msgid ""
"The following section provides some background information on the project, "
-"including a brief history, project goals, and the development model of the "
-"project."
+"including a brief history, project goals, and the extref:{dev-model}"
+"[development model] of the project."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:126
+#: documentation/content/en/books/handbook/introduction/_index.adoc:128
#, no-wrap
msgid "A Brief History of FreeBSD"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:129
+#: documentation/content/en/books/handbook/introduction/_index.adoc:131
msgid ""
"The FreeBSD Project had its genesis in the early part of 1993, partially as "
"the brainchild of the Unofficial 386BSDPatchkit's last 3 coordinators: Nate "
"Williams, Rod Grimes and Jordan Hubbard."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:132
+#: documentation/content/en/books/handbook/introduction/_index.adoc:134
msgid ""
"The original goal was to produce an intermediate snapshot of 386BSD in order "
"to fix a number of problems that the patchkit mechanism was just not capable "
"of solving. The early working title for the project was 386BSD 0.5 or "
"386BSD Interim in reference to that fact."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:136
+#: documentation/content/en/books/handbook/introduction/_index.adoc:138
msgid ""
"386BSD was Bill Jolitz's operating system, which had been up to that point "
"suffering rather severely from almost a year's worth of neglect. As the "
"patchkit swelled ever more uncomfortably with each passing day, they decided "
"to assist Bill by providing this interim \"cleanup\" snapshot. Those plans "
"came to a rude halt when Bill Jolitz suddenly decided to withdraw his "
"sanction from the project without any clear indication of what would be done "
"instead."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:141
+#: documentation/content/en/books/handbook/introduction/_index.adoc:143
msgid ""
"The trio thought that the goal remained worthwhile, even without Bill's "
"support, and so they adopted the name \"FreeBSD\" coined by David Greenman. "
"The initial objectives were set after consulting with the system's current "
"users and, once it became clear that the project was on the road to perhaps "
"even becoming a reality, Jordan contacted Walnut Creek CDROM with an eye "
"toward improving FreeBSD's distribution channels for those many unfortunates "
"without easy access to the Internet. Walnut Creek CDROM not only supported "
"the idea of distributing FreeBSD on CD but also went so far as to provide "
"the project with a machine to work on and a fast Internet connection. "
"Without Walnut Creek CDROM's almost unprecedented degree of faith in what "
"was, at the time, a completely unknown project, it is quite unlikely that "
"FreeBSD would have gotten as far, as fast, as it has today."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:145
+#: documentation/content/en/books/handbook/introduction/_index.adoc:147
msgid ""
"The first CD-ROM (and general net-wide) distribution was FreeBSD 1.0, "
"released in December of 1993. This was based on the 4.3BSD-Lite (\"Net/2\") "
"tape from U.C. Berkeley, with many components also provided by 386BSD and "
"the Free Software Foundation. It was a fairly reasonable success for a "
"first offering, and they followed it with the highly successful FreeBSD 1.1 "
"release in May of 1994."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:151
+#: documentation/content/en/books/handbook/introduction/_index.adoc:153
msgid ""
"Around this time, some rather unexpected storm clouds formed on the horizon "
"as Novell and U.C. Berkeley settled their long-running lawsuit over the "
"legal status of the Berkeley Net/2 tape. A condition of that settlement was "
"U.C. Berkeley's concession that three files of Net/2 were \"encumbered\" "
"code and had to be removed as they were the property of Novell, who had in "
"turn acquired it from AT&T some time previously. What Berkeley got in "
"return was Novell's \"blessing\" that the 4.4BSD-Lite release, when it was "
"finally released, would be declared unencumbered and all existing Net/2 "
"users would be strongly encouraged to switch. This included FreeBSD, and "
"the project was given until the end of July 1994 to stop shipping its own "
"Net/2 based product. Under the terms of that agreement, the project was "
"allowed one last release before the deadline, that release being FreeBSD "
"1.1.5.1."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:156
+#: documentation/content/en/books/handbook/introduction/_index.adoc:158
msgid ""
"FreeBSD then set about the arduous task of literally re-inventing itself "
"from a completely new and rather incomplete set of 4.4BSD-Lite bits. "
"Although only three files having to do with System V shared memory and "
"semaphores were removed, many other changes and bug fixes had been made to "
"the BSD distribution, so it was a huge task to merge all the FreeBSD "
"developments into 4.4BSD-Lite. It took the project until November of 1994 "
"to make this transition, and in December it released FreeBSD 2.0 to the "
"world. Despite being still more than a little rough around the edges, the "
"release was a significant success and was followed by the more robust and "
"easier to install FreeBSD 2.0.5 release in June of 1995."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:158
+#: documentation/content/en/books/handbook/introduction/_index.adoc:160
msgid ""
"Since that time, FreeBSD has made a series of releases each time improving "
"the stability, speed, and feature set of the previous version."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:160
+#: documentation/content/en/books/handbook/introduction/_index.adoc:162
msgid ""
"For now, long-term development projects continue to take place in the {rel-"
"head}-CURRENT (main) branch, and snapshot releases of {rel-head} are "
"continually made available from link:https://download.freebsd.org/snapshots/"
"[the snapshot server] as work progresses."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:162
+#: documentation/content/en/books/handbook/introduction/_index.adoc:164
#, no-wrap
msgid "FreeBSD Project Goals"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:168
+#: documentation/content/en/books/handbook/introduction/_index.adoc:170
msgid ""
"The goals of the FreeBSD Project are to provide software that may be used "
"for any purpose and without strings attached. Many of us have a significant "
"investment in the code (and project) and would certainly not mind a little "
"financial compensation now and then, but we are definitely not prepared to "
"insist on it. We believe that our first and foremost \"mission\" is to "
"provide code to any and all comers, and for whatever purpose, so that the "
"code gets the widest possible use and provides the widest possible benefit. "
"This is, I believe, one of the most fundamental goals of Free Software and "
"one that we enthusiastically support."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:171
+#: documentation/content/en/books/handbook/introduction/_index.adoc:173
msgid ""
"That code in our source tree which falls under the GNU General Public "
"License (GPL) or Library General Public License (LGPL) comes with slightly "
"more strings attached, though at least on the side of enforced access rather "
"than the usual opposite. Due to the additional complexities that can evolve "
"in the commercial use of GPL software we do, however, prefer software "
"submitted under the more relaxed BSD license when it is a reasonable option "
"to do so."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:173
+#: documentation/content/en/books/handbook/introduction/_index.adoc:175
#, no-wrap
msgid "The FreeBSD Development Model"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:178
+#: documentation/content/en/books/handbook/introduction/_index.adoc:180
msgid ""
"The development of FreeBSD is a extref:{dev-model}[very open and flexible "
"process], being literally built from the contributions of thousands of "
"people around the world, as can be seen from our extref:{contributors}[list "
"of contributors]. FreeBSD's development infrastructure allows these "
"thousands of contributors to collaborate over the Internet. We are "
"constantly on the lookout for new volunteers, and those interested in "
"becoming more closely involved should consult the article on extref:"
"{contributing}[Contributing to FreeBSD]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:180
+#: documentation/content/en/books/handbook/introduction/_index.adoc:182
msgid ""
"Useful things to know about the FreeBSD Project and its development process, "
"whether working independently or in close cooperation:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:181
+#: documentation/content/en/books/handbook/introduction/_index.adoc:183
#, no-wrap
msgid "The Git repositories[[development-cvs-repository]]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:188
+#: documentation/content/en/books/handbook/introduction/_index.adoc:190
msgid ""
"For several years, the central source tree for FreeBSD was maintained by "
"link:https://www.nongnu.org/cvs/[CVS] (Concurrent Versions System), a freely "
"available source code control tool. In June 2008, the Project switched to "
"using link:https://subversion.apache.org/[SVN] (Subversion). The switch was "
"deemed necessary, as the technical limitations imposed by CVS were becoming "
"obvious due to the rapid expansion of the source tree and the amount of "
"history already stored. The Documentation Project and Ports Collection "
"repositories also moved from CVS to SVN in May 2012 and July 2012, "
"respectively. In December 2020, the Project link:https://www.freebsd.org/"
"status/report-2020-10-2020-12.html#Git-Migration-Working-Group[migrated "
"Source and Documentation repositories] to link:https://git-scm.com/[Git], "
"with link:https://www.freebsd.org/status/report-2021-04-2021-06/"
"#_git_migration_working_group[Ports following suit] in April 2021. Please "
"refer to the crossref:cutting-edge[synching, Obtaining the Source] section "
"for more information on obtaining the FreeBSD `src/` repository and crossref:"
"ports[ports-using, Using the Ports Collection] for details on obtaining the "
"FreeBSD Ports Collection."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:189
+#: documentation/content/en/books/handbook/introduction/_index.adoc:191
#, no-wrap
msgid "The committers list[[development-committers]]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:193
+#: documentation/content/en/books/handbook/introduction/_index.adoc:195
msgid ""
"The _committers_ are the people who have _push_ access to the Git "
"repository, and are authorized to make modifications to the FreeBSD source "
"(the term \"committer\" comes from `commit`, the source control command "
"which is used to bring new changes into the repository). Anyone can submit "
"a bug to the link:https://bugs.FreeBSD.org/submit/[Bug Database]. Before "
"submitting a bug report, the FreeBSD mailing lists, IRC channels, or forums "
"can be used to help verify that an issue is actually a bug."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:194
+#: documentation/content/en/books/handbook/introduction/_index.adoc:196
#, no-wrap
msgid "The FreeBSD core team[[development-core]]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:200
+#: documentation/content/en/books/handbook/introduction/_index.adoc:202
msgid ""
"The _FreeBSD core team_ would be equivalent to the board of directors if the "
"FreeBSD Project were a company. The primary task of the core team is to "
"make sure the project, as a whole, is in good shape and is heading in the "
"right directions. Inviting dedicated and responsible developers to join our "
"group of committers is one of the functions of the core team, as is the "
"recruitment of new core team members as others move on. The current core "
"team was elected from a pool of committer candidates in May 2022. Elections "
"are held every 2 years."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/introduction/_index.adoc:205
+#: documentation/content/en/books/handbook/introduction/_index.adoc:207
msgid ""
"Like most developers, most members of the core team are also volunteers when "
"it comes to FreeBSD development and do not benefit from the project "
"financially, so \"commitment\" should also not be misconstrued as meaning "
"\"guaranteed support.\" The \"board of directors\" analogy above is not very "
"accurate, and it may be more suitable to say that these are the people who "
"gave up their lives in favor of FreeBSD against their better judgement!"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:207
+#: documentation/content/en/books/handbook/introduction/_index.adoc:209
#, no-wrap
msgid "The FreeBSD Foundation[[development-foundation]]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:214
+#: documentation/content/en/books/handbook/introduction/_index.adoc:216
msgid ""
"The link:https://freebsdfoundation.org/[FreeBSD Foundation] is a 501(c)(3), "
"US-based, non-profit organization dedicated to supporting and promoting the "
"FreeBSD Project and community worldwide. The Foundation funds software "
"development via project grants and provides staff to immediately respond to "
"urgent problems and implement new features and functionality. The "
"Foundation purchases hardware to improve and maintain FreeBSD "
"infrastructure, and funds staffing to improve test coverage, continuous "
"integration and automation. The Foundation advocates for FreeBSD by "
"promoting FreeBSD at technical conferences and events around the world. The "
"Foundation also provides workshops, educational material, and presentations "
"to recruit more users and contributors to FreeBSD. The Foundation also "
"represents the FreeBSD Project in executing contracts, license agreements, "
"and other legal arrangements that require a recognized legal entity."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:215
+#: documentation/content/en/books/handbook/introduction/_index.adoc:217
#, no-wrap
msgid "Outside contributors"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:221
+#: documentation/content/en/books/handbook/introduction/_index.adoc:223
msgid ""
"Last, but definitely not least, the largest group of developers are the "
"users themselves who provide feedback and bug fixes to us on an almost "
"constant basis. The primary way of keeping in touch with the development of "
"the FreeBSD base system is to subscribe to the {freebsd-hackers} where such "
"things are discussed. For porting third party applications, it would be the "
"{freebsd-ports}. For documentation - {freebsd-doc}. See crossref:"
"eresources[eresources, Resources on the Internet] for more information about "
"the various FreeBSD mailing lists."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:224
+#: documentation/content/en/books/handbook/introduction/_index.adoc:226
msgid ""
"extref:{contributors}[The FreeBSD Contributors List] is a long and growing "
"one, so why not join it by extref:{contributing}[contributing something back "
"to FreeBSD] today? Providing code is not the only way!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:228
+#: documentation/content/en/books/handbook/introduction/_index.adoc:230
msgid ""
"In summary, our development model is organized as a loose set of concentric "
"circles. The centralized model is designed for the convenience of the "
"_users_ of FreeBSD, who are provided with an easy way of tracking one "
"central code base, not to keep potential contributors out! Our desire is to "
"present a stable operating system with a large set of coherent crossref:"
"ports[ports,application programs] that the users can easily install and use "
"- this model works very well in accomplishing that."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:230
+#: documentation/content/en/books/handbook/introduction/_index.adoc:232
msgid ""
"All we ask of those who would join us as FreeBSD developers is some of the "
"same dedication its current people have to its continued success!"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:232
+#: documentation/content/en/books/handbook/introduction/_index.adoc:234
#, no-wrap
msgid "Third Party Programs"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:239
+#: documentation/content/en/books/handbook/introduction/_index.adoc:241
msgid ""
"In addition to the base distributions, FreeBSD offers a ported software "
"collection with thousands of commonly sought-after programs. The list of "
"ports ranges from HTTP servers to games, languages, editors, and almost "
"everything in between. There are about {numports} ports; the entire Ports "
"Collection requires approximately {ports-size}. To compile a port, you "
"simply change to the directory of the program you wish to install, type "
"`make install`, and let the system do the rest. The full original "
"distribution for each port you build is retrieved dynamically so you need "
"only enough disk space to build the ports you want."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:242
+#: documentation/content/en/books/handbook/introduction/_index.adoc:244
msgid ""
"Almost every port is also provided as a pre-compiled \"package\", which can "
"be installed with a simple command (`pkg install`) by those who do not wish "
"to compile their own ports from source. More information on packages and "
"ports can be found in crossref:ports[ports,Installing Applications: Packages "
"and Ports]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/introduction/_index.adoc:243
+#: documentation/content/en/books/handbook/introduction/_index.adoc:245
#, no-wrap
msgid "Additional Documentation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:247
+#: documentation/content/en/books/handbook/introduction/_index.adoc:249
msgid ""
"All supported FreeBSD versions provide an option in the installer to install "
"additional documentation under [.filename]#/usr/local/share/doc/freebsd# "
"during the initial system setup. Documentation may also be installed later "
"using packages:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/introduction/_index.adoc:251
+#: documentation/content/en/books/handbook/introduction/_index.adoc:253
#, no-wrap
msgid "# pkg install en-freebsd-doc\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:256
+#: documentation/content/en/books/handbook/introduction/_index.adoc:258
msgid ""
"For localized versions replace the \"en\" with the language prefix of "
"choice. Be aware that some of the localised versions might be out of date "
"and might contain information that is no longer correct or relevant. You "
"may view the locally installed manuals with a web browser using the "
"following URLs:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:257
+#: documentation/content/en/books/handbook/introduction/_index.adoc:259
#, no-wrap
msgid "The FreeBSD Handbook"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:259
+#: documentation/content/en/books/handbook/introduction/_index.adoc:261
msgid "`/usr/local/share/doc/freebsd/en/books/handbook/handbook_en.pdf`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/introduction/_index.adoc:260
+#: documentation/content/en/books/handbook/introduction/_index.adoc:262
#, no-wrap
msgid "The FreeBSD FAQ"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:262
+#: documentation/content/en/books/handbook/introduction/_index.adoc:264
msgid "`/usr/local/share/doc/freebsd/en/books/faq/faq_en.pdf`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/introduction/_index.adoc:263
+#: documentation/content/en/books/handbook/introduction/_index.adoc:266
msgid ""
"You can always find up to date documentation at link:https://docs.FreeBSD."
"org/[The Documentation Portal]."
msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/handbook/introduction/_index.adoc:267
+msgid "All trademarks are the property of their respective owners."
+msgstr ""
diff --git a/documentation/content/en/books/handbook/mirrors/_index.po b/documentation/content/en/books/handbook/mirrors/_index.po
index a7a7f75710..d8c652768f 100644
--- a/documentation/content/en/books/handbook/mirrors/_index.po
+++ b/documentation/content/en/books/handbook/mirrors/_index.po
@@ -1,1655 +1,1713 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/mirrors/_index.adoc:1
#, no-wrap
msgid "How to get FreeBSD: CD and DVD sets, FTP sites and how to install and use Git"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/mirrors/_index.adoc:1
#, no-wrap
msgid "Part V. Appendices"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/mirrors/_index.adoc:1
#, no-wrap
msgid "Appendix A. Obtaining FreeBSD"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/mirrors/_index.adoc:14
#, no-wrap
msgid "Obtaining FreeBSD"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/mirrors/_index.adoc:52
#, no-wrap
msgid "Mirrors"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:56
msgid ""
"The official mirrors of the FreeBSD project are made up of many machines "
"operated by the project cluster administrators and behind GeoDNS to direct "
"users to the closest available mirror. Current locations are Australia, "
"Brazil, Germany, Japan (two sites), Malaysia, South Africa, Taiwan, United "
"Kingdom, United States of America (California, New Jersey, and Washington)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/mirrors/_index.adoc:58
msgid "Official mirrors service:"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:61
#, no-wrap
msgid "Service Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:61
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:94
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:100
#, no-wrap
msgid "Protocols"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:63
#, no-wrap
msgid "More information"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:64
#, no-wrap
-msgid "**download.FreeBSD.org**"
+msgid "**docs.FreeBSD.org**"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:65
#, no-wrap
-msgid "link:https://download.FreeBSD.org/[https] link:ftp://download.FreeBSD.org/pub/FreeBSD/[ftp]"
+msgid "link:https://docs.FreeBSD.org/[https]"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:67
#, no-wrap
-msgid "Same content as `ftp.FreeBSD.org`, `ftp` is a legacy name; `download.FreeBSD.org` is recommended."
+msgid "FreeBSD Documentation Portal."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:68
#, no-wrap
-msgid "**git.FreeBSD.org**"
+msgid "**download.FreeBSD.org**"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:69
#, no-wrap
-msgid "git over `https` and `ssh`"
+msgid "link:https://download.FreeBSD.org/[https] link:ftp://download.FreeBSD.org/pub/FreeBSD/[ftp]"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:71
#, no-wrap
-msgid "More details on link:https://docs.freebsd.org/en/books/handbook/mirrors/#git[using git] section."
+msgid "Same content as `ftp.FreeBSD.org`, `ftp` is a legacy name; `download.FreeBSD.org` is recommended."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:72
#, no-wrap
-msgid "**pkg.FreeBSD.org**"
+msgid "**git.FreeBSD.org**"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:73
#, no-wrap
-msgid "man:pkg[8] over `http` and `https`"
+msgid "git over `https` and `ssh`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:75
#, no-wrap
-msgid "Official FreeBSD package repositories used by the man:pkg[8] program."
+msgid "More details on link:https://docs.freebsd.org/en/books/handbook/mirrors/#git[using git] section."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:76
#, no-wrap
-msgid "**vuxml.FreeBSD.org** / **www.VuXML.org**"
+msgid "**pkg.FreeBSD.org**"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/mirrors/_index.adoc:77
#, no-wrap
+msgid "man:pkg[8] over `http` and `https`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:79
+#, no-wrap
+msgid "Official FreeBSD package repositories used by the man:pkg[8] program."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:80
+#, no-wrap
+msgid "**vuxml.FreeBSD.org** / **www.VuXML.org**"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:81
+#, no-wrap
msgid "link:https://www.vuxml.org/[https]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:78
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:83
#, no-wrap
msgid "FreeBSD Project VuXML web page. `pkg audit` fetches the list of vulnerabilities from this service."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:81
-msgid "All official mirrors support IPv4 and IPv6."
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:84
+#, no-wrap
+msgid "**www.FreeBSD.org**"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:85
+#, no-wrap
+msgid "link:https://www.FreeBSD.org/[https]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:86
+#, no-wrap
+msgid "FreeBSD Website."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:83
-msgid ""
-"The FreeBSD website (https://www.FreeBSD.org and https://docs.FreeBSD.org) "
-"are not hosted in the GeoDNS Infrastructure; there are ongoing studies of "
-"its implementation."
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:89
+msgid "All official mirrors support IPv4 and IPv6."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:85
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:91
msgid ""
"http://ftp-archive.FreeBSD.org is not in the GeoDNS Infrastructure, hosted "
"in only one location (US)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:87
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:93
msgid ""
"The project is looking for new locations; those willing to sponsor, please "
"reach out to the Cluster Administrators team for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:89
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:95
msgid "Mirror list maintained by the community and other companies:"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:92
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:98
#, no-wrap
msgid "Country"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:92
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:98
#, no-wrap
msgid "Hostname"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:95
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:101
#, no-wrap
msgid "Australia icon:envelope[link=mailto:{mirrors-australia-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:96
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:102
#, no-wrap
msgid "ftp.au.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:98
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:104
#, no-wrap
msgid "link:http://ftp.au.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.au.FreeBSD.org/pub/FreeBSD[http_v6] link:rsync://ftp.au.FreeBSD.org[rsync] link:rsync://ftp.au.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:100
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:106
#, no-wrap
msgid "ftp3.au.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:102
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:108
#, no-wrap
msgid "link:http://ftp3.au.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp3.au.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp3.au.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:103
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:109
#, no-wrap
msgid "Austria icon:envelope[link=mailto:{mirrors-austria-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:104
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:110
#, no-wrap
msgid "ftp.at.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:106
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:112
#, no-wrap
msgid "link:http://ftp.at.FreeBSD.org/pub/FreeBSD/[http] link:http://ftp.at.FreeBSD.org/pub/FreeBSD/[http_v6] link:ftp://ftp.at.FreeBSD.org/pub/FreeBSD/[ftp] link:ftp://ftp.at.FreeBSD.org/pub/FreeBSD/[ftp_v6] link:rsync://ftp.at.FreeBSD.org/pub/FreeBSD/[rsync] link:rsync://ftp.at.FreeBSD.org/pub/FreeBSD/[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:107
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:113
#, no-wrap
msgid "Brazil icon:envelope[link=mailto:{mirrors-brazil-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:108
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:114
#, no-wrap
msgid "ftp2.br.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:110
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:116
#, no-wrap
msgid "link:http://ftp2.br.FreeBSD.org/FreeBSD[http] link:rsync://ftp2.br.FreeBSD.org[rsync] link:rsync://ftp2.br.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:112
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:118
#, no-wrap
msgid "ftp3.br.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:114
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:120
#, no-wrap
msgid "link:http://ftp3.br.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp3.br.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp3.br.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:115
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:121
#, no-wrap
msgid "Bulgaria icon:envelope[link=mailto:{mirrors-bulgaria-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:116
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:122
#, no-wrap
msgid "ftp.bg.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:118
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:124
#, no-wrap
msgid "link:ftp://ftp.bg.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.bg.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.bg.FreeBSD.org[rsync] link:rsync://ftp.bg.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:119
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:125
#, no-wrap
msgid "Czech Republic icon:envelope[link=mailto:{mirrors-czech-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:120
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:126
#, no-wrap
msgid "ftp.cz.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:122
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:128
#, no-wrap
msgid "link:http://ftp.cz.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.cz.FreeBSD.org/pub/FreeBSD[http_v6] link:rsync://ftp.cz.FreeBSD.org[rsync] link:rsync://ftp.cz.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:123
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:129
#, no-wrap
msgid "Denmark icon:envelope[link=mailto:{mirrors-denmark-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:124
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:130
#, no-wrap
msgid "ftp.dk.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:126
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:132
#, no-wrap
msgid "link:http://ftp.dk.FreeBSD.org/FreeBSD/[http] link:http://ftp.dk.FreeBSD.org/FreeBSD/[http_v6] link:ftp://ftp.dk.FreeBSD.org/FreeBSD/[ftp] link:ftp://ftp.dk.FreeBSD.org/FreeBSD/[ftp_v6] link:rsync://ftp.dk.FreeBSD.org/FreeBSD/[rsync] link:rsync://ftp.dk.FreeBSD.org/FreeBSD/[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:127
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:133
#, no-wrap
msgid "Finland icon:envelope[link=mailto:{mirrors-finland-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:128
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:134
#, no-wrap
msgid "ftp.fi.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:130
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:136
#, no-wrap
msgid "link:ftp://ftp.fi.FreeBSD.org/pub/FreeBSD[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:131
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:137
#, no-wrap
msgid "France icon:envelope[link=mailto:{mirrors-france-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:132
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:138
#, no-wrap
msgid "ftp.fr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:134
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:140
#, no-wrap
msgid "link:http://ftp.fr.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.fr.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.fr.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.fr.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.fr.FreeBSD.org[rsync] link:rsync://ftp.fr.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:136
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:142
#, no-wrap
msgid "ftp3.fr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:138
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:144
#, no-wrap
msgid "link:ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:140
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:146
#, no-wrap
msgid "ftp6.fr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:142
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:148
#, no-wrap
msgid "link:http://ftp6.fr.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp6.fr.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:143
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:149
#, no-wrap
msgid "Germany icon:envelope[link=mailto:{mirrors-germany-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:144
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:150
#, no-wrap
msgid "ftp.de.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:146
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:152
#, no-wrap
msgid "link:ftp://ftp.de.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.de.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.de.FreeBSD.org[rsync] link:rsync://ftp.de.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:148
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:154
#, no-wrap
msgid "ftp1.de.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:150
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:156
#, no-wrap
msgid "link:http://ftp1.de.FreeBSD.org/pub/FreeBSD[http] link:http://ftp1.de.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp1.de.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp1.de.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp1.de.FreeBSD.org[rsync] link:rsync://ftp1.de.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:152
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:158
#, no-wrap
msgid "ftp2.de.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:154
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:160
#, no-wrap
msgid "link:http://ftp2.de.FreeBSD.org/pub/FreeBSD[http] link:http://ftp2.de.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp2.de.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp2.de.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp2.de.FreeBSD.org[rsync] link:rsync://ftp2.de.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:156
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:162
#, no-wrap
msgid "ftp5.de.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:158
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:164
#, no-wrap
msgid "link:ftp://ftp5.de.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp5.de.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:160
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:166
#, no-wrap
msgid "ftp7.de.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:162
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:168
#, no-wrap
msgid "link:http://ftp7.de.FreeBSD.org/pub/FreeBSD[http] link:http://ftp7.de.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp7.de.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp7.de.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:163
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:169
#, no-wrap
msgid "Greece icon:envelope[link=mailto:{mirrors-greece-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:164
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:170
#, no-wrap
msgid "ftp.gr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:166
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:172
#, no-wrap
msgid "link:http://ftp.gr.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.gr.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.gr.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.gr.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:168
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:174
#, no-wrap
msgid "ftp2.gr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:170
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:176
#, no-wrap
msgid "link:http://ftp2.gr.FreeBSD.org/pub/FreeBSD[http] link:http://ftp2.gr.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp2.gr.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:171
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:177
#, no-wrap
msgid "Japan icon:envelope[link=mailto:{mirrors-japan-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:172
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:178
#, no-wrap
msgid "ftp.jp.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:174
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:180
#, no-wrap
msgid "link:http://ftp.jp.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.jp.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.jp.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.jp.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.jp.FreeBSD.org[rsync] link:rsync://ftp.jp.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:176
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:182
#, no-wrap
msgid "ftp2.jp.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:178
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:184
#, no-wrap
msgid "link:ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp2.jp.FreeBSD.org[rsync] link:rsync://ftp2.jp.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:180
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:186
#, no-wrap
msgid "ftp3.jp.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:182
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:188
#, no-wrap
msgid "link:http://ftp3.jp.FreeBSD.org/pub/FreeBSD[http] link:rsync://ftp3.jp.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:184
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:190
#, no-wrap
msgid "ftp4.jp.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:186
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:192
#, no-wrap
msgid "link:ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:188
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:194
#, no-wrap
msgid "ftp6.jp.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:190
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:196
#, no-wrap
msgid "link:http://ftp6.jp.FreeBSD.org/pub/FreeBSD[http] link:http://ftp6.jp.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp6.jp.FreeBSD.org[rsync] link:rsync://ftp6.jp.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:191
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:197
+#, no-wrap
+msgid "Kazakhstan icon:envelope[link=mailto:support@ps.kz, title=\"mirror contact\"]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:198
+#, no-wrap
+msgid "mirror.ps.kz"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:200
+#, no-wrap
+msgid "http://mirror.ps.kz/freebsd[http] link:ftp://mirror.ps.kz/freebsd[ftp]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:202
+#, no-wrap
+msgid "mirror.neolabs.kz"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:204
+#, no-wrap
+msgid "link:http://mirror.neolabs.kz/freebsd[http] link:ftp://mirror.neolabs.kz/freebsd[ftp]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:205
#, no-wrap
msgid "Korea icon:envelope[link=mailto:{mirrors-korea-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:192
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:206
#, no-wrap
msgid "ftp.kr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:194
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:208
#, no-wrap
msgid "link:http://ftp.kr.FreeBSD.org/pub/FreeBSD[http] link:https://ftp.kr.FreeBSD.org/pub/FreeBSD[https] link:ftp://ftp.kr.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp.kr.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:196
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:210
#, no-wrap
msgid "ftp2.kr.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:198
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:212
#, no-wrap
msgid "link:rsync://ftp2.kr.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:199
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:213
#, no-wrap
msgid "Latvia icon:envelope[link=mailto:{mirrors-latvia-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:200
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:214
#, no-wrap
msgid "ftp.lv.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:202
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:216
#, no-wrap
msgid "link:http://ftp.lv.FreeBSD.org/freebsd[http] link:ftp://ftp.lv.FreeBSD.org/freebsd[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:203
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:217
#, no-wrap
msgid "Netherlands icon:envelope[link=mailto:{mirrors-netherlands-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:204
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:218
#, no-wrap
msgid "ftp.nl.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:206
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:220
#, no-wrap
msgid "link:http://ftp.nl.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.nl.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.nl.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.nl.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.nl.FreeBSD.org[rsync] link:rsync://ftp.nl.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:208
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:222
#, no-wrap
msgid "ftp2.nl.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:210
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:224
#, no-wrap
msgid "link:http://ftp2.nl.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp2.nl.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp2.nl.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:211
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:225
#, no-wrap
msgid "New Zealand icon:envelope[link=mailto:{mirrors-new-zealand-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:212
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:226
#, no-wrap
msgid "ftp.nz.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:214
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:228
#, no-wrap
msgid "link:http://ftp.nz.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp.nz.FreeBSD.org/pub/FreeBSD[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:215
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:229
#, no-wrap
msgid "Norway icon:envelope[link=mailto:{mirrors-norway-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:216
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:230
#, no-wrap
msgid "ftp.no.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:218
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:232
#, no-wrap
msgid "link:ftp://ftp.no.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.no.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.no.FreeBSD.org[rsync] link:rsync://ftp.no.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:219
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:233
#, no-wrap
msgid "Poland icon:envelope[link=mailto:{mirrors-poland-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:220
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:234
#, no-wrap
msgid "ftp.pl.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:222
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:236
#, no-wrap
msgid "link:http://ftp.pl.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.pl.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.pl.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp.pl.FreeBSD.org[rsync] link:rsync://ftp.pl.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:223
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:237
#, no-wrap
msgid "Russia icon:envelope[link=mailto:{mirrors-russia-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:224
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:238
#, no-wrap
msgid "ftp.ru.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:226
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:240
#, no-wrap
msgid "link:http://ftp.ru.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.ru.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.ru.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.ru.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.ru.FreeBSD.org[rsync] link:rsync://ftp.ru.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:228
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:242
#, no-wrap
msgid "ftp2.ru.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:230
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:244
#, no-wrap
msgid "link:https://ftp2.ru.FreeBSD.org/pub/FreeBSD[https] link:ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp2.ru.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:231
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:245
#, no-wrap
msgid "Slovenia icon:envelope[link=mailto:{mirrors-slovenia-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:232
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:246
#, no-wrap
msgid "ftp.si.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:234
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:248
#, no-wrap
msgid "link:http://ftp.si.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.si.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.si.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.si.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:235
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:249
#, no-wrap
msgid "South Africa icon:envelope[link=mailto:{mirrors-south-africa-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:236
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:250
#, no-wrap
msgid "ftp.za.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:238
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:252
#, no-wrap
msgid "link:https://ftp.za.FreeBSD.org/pub/FreeBSD[https] link:https://ftp.za.FreeBSD.org/pub/FreeBSD[https_v6] link:rsync://ftp.za.FreeBSD.org[rsync] link:rsync://ftp.za.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:240
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:254
#, no-wrap
msgid "ftp2.za.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:242
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:256
#, no-wrap
msgid "link:http://ftp2.za.FreeBSD.org/pub/FreeBSD[http] link:http://ftp2.za.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp2.za.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:244
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:258
#, no-wrap
msgid "ftp4.za.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:246
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:260
#, no-wrap
msgid "link:http://ftp4.za.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp4.za.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp4.za.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:247
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:261
#, no-wrap
msgid "Sweden icon:envelope[link=mailto:{mirrors-sweden-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:248
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:262
#, no-wrap
msgid "ftp.se.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:250
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:264
#, no-wrap
msgid "link:http://ftp.se.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.se.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.se.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.se.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.se.FreeBSD.org[rsync] link:rsync://ftp.se.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:251
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:265
#, no-wrap
msgid "Taiwan icon:envelope[link=mailto:{mirrors-taiwan-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:252
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:266
#, no-wrap
msgid "ftp4.tw.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:254
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:268
#, no-wrap
msgid "link:https://ftp4.tw.FreeBSD.org/pub/FreeBSD[https] link:ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp4.tw.FreeBSD.org[rsync]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:256
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:270
#, no-wrap
msgid "ftp5.tw.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:258
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:272
#, no-wrap
msgid "link:http://ftp5.tw.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp5.tw.FreeBSD.org/pub/FreeBSD[ftp]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:259
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:273
#, no-wrap
msgid "Ukraine icon:envelope[link=mailto:{mirrors-ukraine-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:260
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:274
#, no-wrap
msgid "ftp.ua.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:262
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:276
#, no-wrap
msgid "link:http://ftp.ua.FreeBSD.org/pub/FreeBSD[http] link:ftp://ftp.ua.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.ua.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.ua.FreeBSD.org[rsync] link:rsync://ftp.ua.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:263
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:277
#, no-wrap
msgid "United Kingdom icon:envelope[link=mailto:{mirrors-uk-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:264
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:278
#, no-wrap
msgid "ftp.uk.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:266
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:280
#, no-wrap
msgid "link:http://ftp.uk.FreeBSD.org/pub/FreeBSD[http] link:http://ftp.uk.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp.uk.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp.uk.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp.uk.FreeBSD.org[rsync] link:rsync://ftp.uk.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:268
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:282
#, no-wrap
msgid "ftp2.uk.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:270
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:284
#, no-wrap
msgid "link:http://ftp2.uk.FreeBSD.org/pub/FreeBSD[http] link:http://ftp2.uk.FreeBSD.org/pub/FreeBSD[http_v6] link:https://ftp2.uk.FreeBSD.org/pub/FreeBSD[https] link:https://ftp2.uk.FreeBSD.org/pub/FreeBSD[https_v6] link:ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:271
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:285
#, no-wrap
msgid "United States of America icon:envelope[link=mailto:{mirrors-us-email}, title=\"mirror contact\"]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:272
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:286
#, no-wrap
msgid "ftp11.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:274
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:288
#, no-wrap
msgid "link:http://ftp11.FreeBSD.org/pub/FreeBSD[http] link:http://ftp11.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp11.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp11.FreeBSD.org/pub/FreeBSD[ftp_v6] link:rsync://ftp11.FreeBSD.org[rsync] link:rsync://ftp11.FreeBSD.org[rsync_v6]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:276
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:290
#, no-wrap
msgid "ftp14.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:278
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:292
#, no-wrap
msgid "link:ftp://ftp14.FreeBSD.org/pub/FreeBSD[ftp] link:rsync://ftp14.FreeBSD.org[rsync] (Former official tier 1)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:280
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:294
#, no-wrap
msgid "ftp5.FreeBSD.org"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:281
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:295
#, no-wrap
msgid "link:http://ftp5.FreeBSD.org/pub/FreeBSD[http] link:http://ftp5.FreeBSD.org/pub/FreeBSD[http_v6] link:ftp://ftp5.FreeBSD.org/pub/FreeBSD[ftp] link:ftp://ftp5.FreeBSD.org/pub/FreeBSD[ftp_v6]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:284
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:298
msgid ""
"The current list of protocols supported by the community mirrors was last "
"updated on 2022-01-31, and it's not guaranteed."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:286
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:300
#, no-wrap
msgid "Using Git"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:289
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:421
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:303
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:435
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:293
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:307
msgid ""
"As of December 2020, FreeBSD uses git as the primary version control system "
"for storing all of FreeBSD's base source code and documentation. As of "
"April 2021, FreeBSD uses git as the only version control system for storing "
"all of FreeBSD's Ports Collection."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:298
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:312
msgid ""
"Git is generally a developer tool. Users may prefer to use `freebsd-update` "
"(crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”]) "
"to update the FreeBSD base system, and `git` (crossref:ports[ports-"
"using,“Using the Ports Collection”]) to update the FreeBSD Ports Collection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:301
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:315
msgid ""
"This section demonstrates how to install Git on a FreeBSD system and use it "
"to create a local copy of a FreeBSD source code repository."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:303
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:447
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:317
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:461
#, no-wrap
msgid "Installation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:306
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:320
msgid "Git can be installed from the Ports Collection, or as a package:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:310
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:324
#, no-wrap
msgid "# pkg install git\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:313
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:327
#, no-wrap
msgid "Running Git"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:317
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:331
msgid ""
"To fetch a clean copy of the sources into a local directory, use `git "
"clone`. This directory of files is called the _working tree_."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:322
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:336
msgid ""
"Git uses URLs to designate a repository. There are three different "
"repositories, `src` for the FreeBSD system source code, `doc` for "
"documentation, and `ports` for the FreeBSD Ports Collection. All three are "
"reachable over two different protocols: HTTPS and SSH. For example, the URL "
"`https://git.FreeBSD.org/src.git` specifies the main branch of the `src` "
"repository, using the `https` protocol."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:324
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:338
#, no-wrap
msgid "FreeBSD Git Repository URL Table"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:327
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:341
#, no-wrap
msgid "Item"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:328
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:342
#, no-wrap
msgid "Git URL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:328
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:342
#, no-wrap
msgid "Read-only src repo via HTTPS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:329
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:343
#, no-wrap
msgid "`https://git.FreeBSD.org/src.git`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:329
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:343
#, no-wrap
msgid "Read-only src repo via anon-ssh"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:330
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:344
#, no-wrap
msgid "`ssh://anongit@git.FreeBSD.org/src.git`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:330
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:344
#, no-wrap
msgid "Read-only doc repo via HTTPS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:331
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:345
#, no-wrap
msgid "`https://git.FreeBSD.org/doc.git`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:331
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:345
#, no-wrap
msgid "Read-only doc repo via anon-ssh"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:332
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:346
#, no-wrap
msgid "`ssh://anongit@git.FreeBSD.org/doc.git`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:332
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:346
#, no-wrap
msgid "Read-only ports repo via HTTPS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:333
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:347
#, no-wrap
msgid "`https://git.FreeBSD.org/ports.git`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:333
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:347
#, no-wrap
msgid "Read-only ports repo via anon-ssh"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:334
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:348
#, no-wrap
msgid "`ssh://anongit@git.FreeBSD.org/ports.git`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:337
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:351
msgid ""
"External mirrors maintained by project members are also available; please "
"refer to the <<external-mirrors>> section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:339
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:353
msgid "To clone a copy of the FreeBSD system source code repository:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:343
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:357
#, no-wrap
msgid "# git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:348
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:362
msgid ""
"The `-o freebsd` option specifies the origin; by convention in the FreeBSD "
"documentation, the origin is assumed to be `freebsd`. Because the initial "
"checkout must download the full branch of the remote repository, it can take "
"a while. Please be patient."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:351
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:365
msgid ""
"Initially, the working tree contains source code for the `main` branch, "
"which corresponds to CURRENT. To switch to 13-STABLE instead:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:355
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:369
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# git checkout stable/13\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:359
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:373
msgid ""
"The working tree can be updated with `git pull`. To update [.filename]#/usr/"
"src# created in the example above, use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:364
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:378
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# git pull --rebase\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:367
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:522
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:381
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:536
msgid ""
"The update is much quicker than a checkout, only transferring files that "
"have changed."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:368
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:382
#, no-wrap
msgid "Web-based repository browser"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:371
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:385
msgid ""
"The FreeBSD project uses cgit as the web-based repository browser: link:"
"https://cgit.FreeBSD.org/[https://cgit.FreeBSD.org/]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:372
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:386
#, no-wrap
msgid "For Developers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:375
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:389
msgid ""
"For information about write access to repositories see the extref:"
"{committers-guide}[Committer's Guide, git-mini-primer]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:377
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:391
#, no-wrap
msgid "External mirrors"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:382
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:396
msgid ""
"Those mirrors are not hosted in FreeBSD.org but still maintained by the "
"project members. Users and developers are welcome to pull or browse "
"repositories on those mirrors. Pull requests for the `doc` and `src` GitHub "
"repositories are being accepted; otherwise, the project workflow with those "
"mirrors is still under discussion."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:383
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:397
#, no-wrap
msgid "Codeberg"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:385
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:399
msgid "doc: https://codeberg.org/FreeBSD/freebsd-doc"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:386
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:400
msgid "ports: https://codeberg.org/FreeBSD/freebsd-ports"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:387
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:401
msgid "src: https://codeberg.org/FreeBSD/freebsd-src"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:388
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:402
#, no-wrap
msgid "GitHub"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:390
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:404
msgid "doc: https://github.com/freebsd/freebsd-doc"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:391
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:405
msgid "ports: https://github.com/freebsd/freebsd-ports"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:392
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:406
msgid "src: https://github.com/freebsd/freebsd-src"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:393
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:407
#, no-wrap
msgid "GitLab"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:395
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:409
msgid "doc: https://gitlab.com/FreeBSD/freebsd-doc"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:396
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:410
msgid "ports: https://gitlab.com/FreeBSD/freebsd-ports"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:397
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:411
msgid "src: https://gitlab.com/FreeBSD/freebsd-src"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:398
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:412
#, no-wrap
msgid "Mailing lists"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:402
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:416
msgid ""
"The main mailing list for general usage and questions about git in the "
"FreeBSD project is https://lists.freebsd.org/subscription/freebsd-"
"git[freebsd-git]. For more details, including commit messages lists, see "
"the crossref:handbook/eresources[eresources-mail, Mailing Lists] chapter."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:403
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:417
#, no-wrap
msgid "SSH host keys"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:406
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:420
msgid "gitrepo.FreeBSD.org host key fingerprints:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:407
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:421
msgid ""
"ECDSA key fingerprint is `SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:408
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:422
msgid ""
"ED25519 key fingerprint is `SHA256:"
"lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:409
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:423
msgid ""
"RSA key fingerprint is `SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:411
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:425
msgid "git.FreeBSD.org host key fingerprints:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:412
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:426
msgid ""
"ECDSA key fingerprint is `SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:413
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:427
msgid ""
"ED25519 key fingerprint is `SHA256:"
"y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:414
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:428
msgid ""
"RSA key fingerprint is `SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:416
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:430
msgid "These are also published as SSHFP records in DNS."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:418
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:432
#, no-wrap
msgid "Using Subversion"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:428
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:442
msgid ""
"As of December 2020, FreeBSD uses git as the primary version control system "
"for storing all of FreeBSD's source code and documentation. Changes from "
"the git repo on the `stable/11`, `stable/12` and related releng branches are "
-"exported to the subversion repository. This export will continue through "
+"exported to the Subversion repository. This export will continue through "
"the life of these branches. From July 2012 to March 2021, FreeBSD used "
"Subversion as the only version control system for storing all of FreeBSD's "
"Ports Collection. As of April 2021, FreeBSD uses git as the only version "
"control system for storing all of FreeBSD's Ports Collection."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:434
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:448
msgid ""
"Subversion is generally a developer tool. Users may prefer to use `freebsd-"
"update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD "
"Update”]) to update the FreeBSD base system, and `git` (crossref:ports[ports-"
"using,“Using the Ports Collection”]) to update the FreeBSD Ports "
-"Collection. After March 2021, subversion use is only for legacy branches "
+"Collection. After March 2021, Subversion use is only for legacy branches "
"(`stable/11` and `stable/12`)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:437
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:451
msgid ""
"This section demonstrates how to install Subversion on a FreeBSD system and "
"use it to create a local copy of a FreeBSD repository. Additional "
"information on the use of Subversion is included."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:439
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:453
#, no-wrap
msgid "Svnlite"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:443
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:457
msgid ""
"A lightweight version of Subversion is already installed on FreeBSD as "
"`svnlite`. The port or package version of Subversion is only needed if the "
"Python or Perl API is needed, or if a later version of Subversion is desired."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:445
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:459
msgid ""
"The only difference from normal Subversion use is that the command name is "
"`svnlite`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:450
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:464
msgid ""
"If `svnlite` is unavailable or the full version of Subversion is needed, "
"then it must be installed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:452
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:466
msgid "Subversion can be installed from the Ports Collection:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:457
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:471
#, no-wrap
msgid ""
"# cd /usr/ports/devel/subversion\n"
"# make install clean\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:460
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:474
msgid "Subversion can also be installed as a package:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:464
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:478
#, no-wrap
msgid "# pkg install subversion\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:467
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:481
#, no-wrap
msgid "Running Subversion"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:471
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:485
msgid ""
"To fetch a clean copy of the sources into a local directory, use `svn`. The "
"files in this directory are called a _local working copy_."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:476
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:490
msgid ""
"Move or delete an existing destination directory before using `checkout` for "
"the first time. Checkout over an existing non-`svn` directory can cause "
"conflicts between the existing files and those brought in from the "
"repository."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:482
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:496
msgid ""
"Subversion uses URLs to designate a repository, taking the form of "
"_protocol://hostname/path_. The first component of the path is the FreeBSD "
"repository to access. There are three different repositories, `base` for "
"the FreeBSD base system source code, `ports` for the Ports Collection, and "
"`doc` for documentation. For example, the URL `https://svn.FreeBSD.org/base/"
"head/` specifies the main branch of the src repository, using the `https` "
"protocol."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:484
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:498
msgid ""
"A checkout from a given repository is performed with a command like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:488
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:502
#, no-wrap
msgid "# svn checkout https://svn.FreeBSD.org/repository/branch lwcdir\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:491
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:505
msgid "where:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:493
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:507
msgid ""
"_repository_ is one of the Project repositories: `base`, `ports`, or `doc`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:494
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:508
msgid ""
"_branch_ depends on the repository used. `ports` and `doc` are mostly "
"updated in the `head` branch, while `base` maintains the latest version of -"
"CURRENT under `head` and the respective latest versions of the -STABLE "
"branches under `stable/11` (11._x_) and `stable/12` (12._x_)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:495
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:509
msgid ""
"_lwcdir_ is the target directory where the contents of the specified branch "
"should be placed. This is usually [.filename]#/usr/ports# for `ports`, [."
"filename]#/usr/src# for `base`, and [.filename]#/usr/doc# for `doc`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:498
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:512
msgid ""
"This example checks out the Source Tree from the FreeBSD repository using "
"the HTTPS protocol, placing the local working copy in [.filename]#/usr/"
"src#. If [.filename]#/usr/src# is already present but was not created by "
"`svn`, remember to rename or delete it before the checkout."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:502
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:516
#, no-wrap
msgid "# svn checkout https://svn.FreeBSD.org/base/head /usr/src\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:506
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:520
msgid ""
"Because the initial checkout must download the full branch of the remote "
"repository, it can take a while. Please be patient."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:508
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:522
msgid ""
"After the initial checkout, the local working copy can be updated by running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:512
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:526
#, no-wrap
msgid "# svn update lwcdir\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:515
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:529
msgid "To update [.filename]#/usr/src# created in the example above, use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:519
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:533
#, no-wrap
msgid "# svn update /usr/src\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:526
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:540
msgid ""
"An alternate way of updating the local working copy after checkout is "
"provided by the [.filename]#Makefile# in the [.filename]#/usr/ports#, [."
"filename]#/usr/src#, and [.filename]#/usr/doc# directories. Set "
"`SVN_UPDATE` and use the `update` target. For example, to update [."
"filename]#/usr/src#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:531
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:545
#, no-wrap
msgid ""
"# cd /usr/src\n"
"# make update SVN_UPDATE=yes\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:534
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:548
#, no-wrap
msgid "Subversion Mirror Sites"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:537
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:551
msgid "The FreeBSD Subversion repository is:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:541
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:555
#, no-wrap
msgid "svn.FreeBSD.org\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:545
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:559
msgid ""
"This is a publicly accessible mirror network that uses GeoDNS to select an "
"appropriate back end server. To view the FreeBSD Subversion repositories "
"through a browser, use https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD."
"org/]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:547
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:561
msgid ""
"HTTPS is the preferred protocol, but the [.filename]#security/ca_root_nss# "
"package will need to be installed in order to automatically validate "
"certificates."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:548
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:562
#, no-wrap
msgid "For More Information"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:551
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:565
msgid ""
"For other information about using Subversion, please see the \"Subversion "
"Book\", titled http://svnbook.red-bean.com/[Version Control with "
"Subversion], or the http://subversion.apache.org/docs/[Subversion "
"Documentation]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:553
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:567
#, no-wrap
msgid "CD and DVD Sets"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:556
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:570
msgid "FreeBSD CD and DVD sets are available from several online retailers:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:566
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:580
#, no-wrap
msgid ""
"FreeBSD Mall, Inc.\n"
"1164 Claremont Dr\n"
"Brentwood, CA\n"
"94513\n"
"USA\n"
"Phone: +1 925 240-6652\n"
"Fax: +1 925 674-0821\n"
"Email: info@freebsdmall.com\n"
"WWW: https://www.freebsdmall.com"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:569
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:583
#, no-wrap
msgid ""
"Getlinux\n"
"WWW: https://www.getlinux.fr/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/mirrors/_index.adoc:576
+#: documentation/content/en/books/handbook/mirrors/_index.adoc:590
#, no-wrap
msgid ""
"Dr. Hinner EDV\n"
"Schäftlarnstr. 10 // 4. Stock\n"
"D-81371 München\n"
"Germany\n"
"Phone: +49 171 417 544 6\n"
"Email: infow@hinner.de\n"
"WWW: http://www.hinner.de/linux/freebsd.html"
msgstr ""
diff --git a/documentation/content/en/books/handbook/network-servers/_index.po b/documentation/content/en/books/handbook/network-servers/_index.po
index 1ac8a70f19..45909f399c 100644
--- a/documentation/content/en/books/handbook/network-servers/_index.po
+++ b/documentation/content/en/books/handbook/network-servers/_index.po
@@ -1,6321 +1,6316 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/network-servers/_index.adoc:1
#, no-wrap
msgid "This chapter covers some of the more frequently used network services on UNIX systems"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1
#, no-wrap
msgid "IV. Network Communication"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/network-servers/_index.adoc:1
#, no-wrap
msgid "Chapter 32. Network Servers"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/network-servers/_index.adoc:14
#, no-wrap
msgid "Network Servers"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:57
msgid ""
"This chapter covers some of the more frequently used network services on "
"UNIX(R) systems. This includes installing, configuring, testing, and "
"maintaining many different types of network services. Example configuration "
"files are included throughout this chapter for reference."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:59
msgid "By the end of this chapter, readers will know:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:61
msgid "How to manage the inetd daemon."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:62
msgid "How to set up the Network File System (NFS)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:63
msgid ""
"How to set up the Network Information Server (NIS) for centralizing and "
"sharing user accounts."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:64
msgid "How to set FreeBSD up to act as an LDAP server or client"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:65
msgid "How to set up automatic network settings using DHCP."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:66
msgid "How to set up a Domain Name Server (DNS)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:67
msgid "How to set up the Apache HTTP Server."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:68
msgid "How to set up a File Transfer Protocol (FTP) server."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:69
msgid ""
"How to set up a file and print server for Windows(R) clients using Samba."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:70
msgid ""
"How to synchronize the time and date, and set up a time server using the "
"Network Time Protocol (NTP)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:71
msgid "How to set up iSCSI."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:73
msgid "This chapter assumes a basic knowledge of:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:75
msgid "[.filename]#/etc/rc# scripts."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:76
msgid "Network terminology."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:77
msgid ""
"Installation of additional third-party software (crossref:ports[ports,"
"Installing Applications: Packages and Ports])."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:79
#, no-wrap
msgid "The inetd Super-Server"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:85
msgid ""
"The man:inetd[8] daemon is sometimes referred to as a Super-Server because "
"it manages connections for many services. Instead of starting multiple "
"applications, only the inetd service needs to be started. When a connection "
"is received for a service that is managed by inetd, it determines which "
"program the connection is destined for, spawns a process for that program, "
"and delegates the program a socket. Using inetd for services that are not "
"heavily used can reduce system load, when compared to running each daemon "
"individually in stand-alone mode."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:87
msgid ""
"Primarily, inetd is used to spawn other daemons, but several trivial "
"protocols are handled internally, such as chargen, auth, time, echo, "
"discard, and daytime."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:89
msgid "This section covers the basics of configuring inetd."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:91
#, no-wrap
msgid "Configuration File"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:97
msgid ""
"Configuration of inetd is done by editing [.filename]#/etc/inetd.conf#. "
"Each line of this configuration file represents an application which can be "
"started by inetd. By default, every line starts with a comment (`+#+`), "
"meaning that inetd is not listening for any applications. To configure "
"inetd to listen for an application's connections, remove the `+#+` at the "
"beginning of the line for that application."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:99
msgid ""
"After saving your edits, configure inetd to start at system boot by editing "
"[.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:103
#, no-wrap
msgid "inetd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:106
msgid ""
"To start inetd now, so that it listens for the service you configured, type:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:110
#, no-wrap
msgid "# service inetd start\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:113
msgid ""
"Once inetd is started, it needs to be notified whenever a modification is "
"made to [.filename]#/etc/inetd.conf#:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/network-servers/_index.adoc:115
#, no-wrap
msgid "Reloading the inetd Configuration File"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:122
#, no-wrap
msgid "# service inetd reload\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:128
msgid ""
"Typically, the default entry for an application does not need to be edited "
"beyond removing the `+#+`. In some situations, it may be appropriate to "
"edit the default entry."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:130
msgid "As an example, this is the default entry for man:ftpd[8] over IPv4:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:134
#, no-wrap
msgid "ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:137
msgid "The seven columns in an entry are as follows:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:147
#, no-wrap
msgid ""
"service-name\n"
"socket-type\n"
"protocol\n"
"{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]\n"
"user[:group][/login-class]\n"
"server-program\n"
"server-program-arguments\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:150
msgid "where:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:151
#, no-wrap
msgid "service-name"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:156
msgid ""
"The service name of the daemon to start. It must correspond to a service "
"listed in [.filename]#/etc/services#. This determines which port inetd "
"listens on for incoming connections to that service. When using a custom "
"service, it must first be added to [.filename]#/etc/services#."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:157
#, no-wrap
msgid "socket-type"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:160
msgid ""
"Either `stream`, `dgram`, `raw`, or `seqpacket`. Use `stream` for TCP "
"connections and `dgram` for UDP services."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:161
#, no-wrap
msgid "protocol"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:163
msgid "Use one of the following protocol names:"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:168
#, no-wrap
msgid "Protocol Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:171
#, no-wrap
msgid "Explanation"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:172
#, no-wrap
msgid "tcp or tcp4"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:174
#, no-wrap
msgid "TCP IPv4"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:175
#, no-wrap
msgid "udp or udp4"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:177
#, no-wrap
msgid "UDP IPv4"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:178
#, no-wrap
msgid "tcp6"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:180
#, no-wrap
msgid "TCP IPv6"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:181
#, no-wrap
msgid "udp6"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:183
#, no-wrap
msgid "UDP IPv6"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:184
#, no-wrap
msgid "tcp46"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:186
#, no-wrap
msgid "Both TCP IPv4 and IPv6"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:187
#, no-wrap
msgid "udp46"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:188
#, no-wrap
msgid "Both UDP IPv4 and IPv6"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:193
msgid ""
"{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-"
"ip]]]:: In this field, `wait` or `nowait` must be specified. `max-child`, "
"`max-connections-per-ip-per-minute` and `max-child-per-ip` are optional."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:197
msgid ""
"`wait|nowait` indicates whether or not the service is able to handle its own "
"socket. `dgram` socket types must use `wait` while `stream` daemons, which "
"are usually multi-threaded, should use `nowait`. `wait` usually hands off "
"multiple sockets to a single daemon, while `nowait` spawns a child daemon "
"for each new socket."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:201
msgid ""
"The maximum number of child daemons inetd may spawn is set by `max-child`. "
"For example, to limit ten instances of the daemon, place a `/10` after "
"`nowait`. Specifying `/0` allows an unlimited number of children."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:207
msgid ""
"`max-connections-per-ip-per-minute` limits the number of connections from "
"any particular IP address per minute. Once the limit is reached, further "
"connections from this IP address will be dropped until the end of the "
"minute. For example, a value of `/10` would limit any particular IP address "
"to ten connection attempts per minute. `max-child-per-ip` limits the number "
"of child processes that can be started on behalf on any single IP address at "
"any moment. These options can limit excessive resource consumption and help "
"to prevent Denial of Service attacks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:209
msgid "An example can be seen in the default settings for man:fingerd[8]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:213
#, no-wrap
msgid "finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -k -s\n"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:215
#, no-wrap
msgid "user"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:218
msgid ""
"The username the daemon will run as. Daemons typically run as `root`, "
"`daemon`, or `nobody`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:219
#, no-wrap
msgid "server-program"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:222
msgid ""
"The full path to the daemon. If the daemon is a service provided by inetd "
"internally, use `internal`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:223
#, no-wrap
msgid "server-program-arguments"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:226
msgid ""
"Used to specify any command arguments to be passed to the daemon on "
"invocation. If the daemon is an internal service, use `internal`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:228
#, no-wrap
msgid "Command-Line Options"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:233
msgid ""
"Like most server daemons, inetd has a number of options that can be used to "
"modify its behavior. By default, inetd is started with `-wW -C 60`. These "
"options enable TCP wrappers for all services, including internal services, "
"and prevent any IP address from requesting any service more than 60 times "
"per minute."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:236
msgid ""
"To change the default options which are passed to inetd, add an entry for "
"`inetd_flags` in [.filename]#/etc/rc.conf#. If inetd is already running, "
"restart it with `service inetd restart`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:238
msgid "The available rate limiting options are:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:239
#, no-wrap
msgid "-c maximum"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:242
msgid ""
"Specify the default maximum number of simultaneous invocations of each "
"service, where the default is unlimited. May be overridden on a per-service "
"basis by using `max-child` in [.filename]#/etc/inetd.conf#."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:243
#, no-wrap
msgid "-C rate"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:246
msgid ""
"Specify the default maximum number of times a service can be invoked from a "
"single IP address per minute. May be overridden on a per-service basis by "
"using `max-connections-per-ip-per-minute` in [.filename]#/etc/inetd.conf#."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:247
#, no-wrap
msgid "-R rate"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:250
msgid ""
"Specify the maximum number of times a service can be invoked in one minute, "
"where the default is `256`. A rate of `0` allows an unlimited number."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network-servers/_index.adoc:251
#, no-wrap
msgid "-s maximum"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:254
msgid ""
"Specify the maximum number of times a service can be invoked from a single "
"IP address at any one time, where the default is unlimited. May be "
"overridden on a per-service basis by using `max-child-per-ip` in [."
"filename]#/etc/inetd.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:256
msgid ""
"Additional options are available. Refer to man:inetd[8] for the full list of "
"options."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:258
#, no-wrap
msgid "Security Considerations"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:264
msgid ""
"Many of the daemons which can be managed by inetd are not security-"
"conscious. Some daemons, such as fingerd, can provide information that may "
"be useful to an attacker. Only enable the services which are needed and "
"monitor the system for excessive connection attempts. `max-connections-per-"
"ip-per-minute`, `max-child` and `max-child-per-ip` can be used to limit such "
"attacks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:267
msgid ""
"By default, TCP wrappers are enabled. Consult man:hosts_access[5] for more "
"information on placing TCP restrictions on various inetd invoked daemons."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network-servers/_index.adoc:269
#, no-wrap
msgid "Network File System (NFS)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:273
msgid ""
"FreeBSD supports the Network File System (NFS), which allows a server to "
"share directories and files with clients over a network. With NFS, users "
"and programs can access files on remote systems as if they were stored "
"locally."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:276
msgid "NFS has many practical uses. Some of the more common uses include:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:278
msgid ""
"Data that would otherwise be duplicated on each client can be kept in a "
"single location and accessed by clients on the network."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:279
msgid ""
"Several clients may need access to the [.filename]#/usr/ports/distfiles# "
"directory. Sharing that directory allows for quick access to the source "
"files without having to download them to each client."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:280
msgid ""
"On large networks, it is often more convenient to configure a central NFS "
"server on which all user home directories are stored. Users can log into a "
"client anywhere on the network and have access to their home directories."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:281
msgid ""
"Administration of NFS exports is simplified. For example, there is only one "
"file system where security or backup policies must be set."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:282
msgid ""
"Removable media storage devices can be used by other machines on the "
"network. This reduces the number of devices throughout the network and "
"provides a centralized location to manage their security. It is often more "
"convenient to install software on multiple machines from a centralized "
"installation media."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:286
msgid ""
"NFS consists of a server and one or more clients. The client remotely "
"accesses the data that is stored on the server machine. In order for this "
"to function properly, a few processes have to be configured and running."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:288
msgid "These daemons must be running on the server:"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:293
#, no-wrap
msgid "Daemon"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:296
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:558
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1007
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1026
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:556
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1005
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1024
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:297
#, no-wrap
msgid "nfsd"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:299
#, no-wrap
msgid "The NFS daemon which services requests from NFS clients."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:300
#, no-wrap
msgid "mountd"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:302
#, no-wrap
msgid "The NFS mount daemon which carries out requests received from nfsd."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:303
#, no-wrap
msgid "rpcbind"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network-servers/_index.adoc:304
#, no-wrap
msgid "This daemon allows NFS clients to discover which port the NFS server is using."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:307
msgid ""
"Running man:nfsiod[8] on the client can improve performance, but is not "
"required."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:309
#, no-wrap
msgid "Configuring the Server"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:315
msgid ""
"The file systems which the NFS server will share are specified in [."
"filename]#/etc/exports#. Each line in this file specifies a file system to "
"be exported, which clients have access to that file system, and any access "
"options. When adding entries to this file, each exported file system, its "
"properties, and allowed hosts must occur on a single line. If no clients "
"are listed in the entry, then any client on the network can mount that file "
"system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:320
msgid ""
"The following [.filename]#/etc/exports# entries demonstrate how to export "
"file systems. The examples can be modified to match the file systems and "
"client names on the reader's network. There are many options that can be "
"used in this file, but only a few will be mentioned here. See man:"
"exports[5] for the full list of options."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:322
msgid ""
"This example shows how to export [.filename]#/cdrom# to three hosts named "
"_alpha_, _bravo_, and _charlie_:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:326
#, no-wrap
msgid "/cdrom -ro alpha bravo charlie\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:331
msgid ""
"The `-ro` flag makes the file system read-only, preventing clients from "
"making any changes to the exported file system. This example assumes that "
"the host names are either in DNS or in [.filename]#/etc/hosts#. Refer to "
"man:hosts[5] if the network does not have a DNS server."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:336
msgid ""
"The next example exports [.filename]#/home# to three clients by IP address. "
"This can be useful for networks without DNS or [.filename]#/etc/hosts# "
"entries. The `-alldirs` flag allows subdirectories to be mount points. In "
"other words, it will not automatically mount the subdirectories, but will "
"permit the client to mount the directories that are required as needed."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:340
#, no-wrap
msgid "/usr/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:345
msgid ""
"This next example exports [.filename]#/a# so that two clients from different "
"domains may access that file system. The `-maproot=root` allows `root` on "
"the remote system to write data on the exported file system as `root`. If `-"
"maproot=root` is not specified, the client's `root` user will be mapped to "
"the server's `nobody` account and will be subject to the access limitations "
"defined for `nobody`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:349
#, no-wrap
msgid "/a -maproot=root host.example.com box.example.org\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:353
msgid ""
"A client can only be specified once per file system. For example, if [."
"filename]#/usr# is a single file system, these entries would be invalid as "
"both entries specify the same host:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:359
#, no-wrap
msgid ""
"# Invalid when /usr is one file system\n"
"/usr/src client\n"
"/usr/ports client\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:362
msgid "The correct format for this situation is to use one entry:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:366
#, no-wrap
msgid "/usr/src /usr/ports client\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:369
msgid ""
"The following is an example of a valid export list, where [.filename]#/usr# "
"and [.filename]#/exports# are local file systems:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:380
#, no-wrap
msgid ""
"# Export src and ports to client01 and client02, but only\n"
"# client01 has root privileges on it\n"
"/usr/src /usr/ports -maproot=root client01\n"
"/usr/src /usr/ports client02\n"
"# The client machines have root and can mount anywhere\n"
"# on /exports. Anyone in the world can mount /exports/obj read-only\n"
"/exports -alldirs -maproot=root client01 client02\n"
"/exports/obj -ro\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:383
msgid ""
"To enable the processes required by the NFS server at boot time, add these "
"options to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:389
#, no-wrap
msgid ""
"rpcbind_enable=\"YES\"\n"
"nfs_server_enable=\"YES\"\n"
"mountd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:392
msgid "The server can be started now by running this command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:396
#, no-wrap
msgid "# service nfsd start\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:401
msgid ""
"Whenever the NFS server is started, mountd also starts automatically. "
"However, mountd only reads [.filename]#/etc/exports# when it is started. To "
"make subsequent [.filename]#/etc/exports# edits take effect immediately, "
"force mountd to reread it:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:405
#, no-wrap
msgid "# service mountd reload\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:408
msgid "Refer to man:nfsv4[4] for a description of an NFS Version 4 setup."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:409
#, no-wrap
msgid "Configuring the Client"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:412
msgid ""
"To enable NFS clients, set this option in each client's [.filename]#/etc/rc."
"conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:416
#, no-wrap
msgid "nfs_client_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:419
msgid "Then, run this command on each NFS client:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:423
#, no-wrap
msgid "# service nfsclient start\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:428
msgid ""
"The client now has everything it needs to mount a remote file system. In "
"these examples, the server's name is `server` and the client's name is "
"`client`. To mount [.filename]#/home# on `server` to the [.filename]#/mnt# "
"mount point on `client`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:432
#, no-wrap
msgid "# mount server:/home /mnt\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:435
msgid ""
"The files and directories in [.filename]#/home# will now be available on "
"`client`, in the [.filename]#/mnt# directory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:437
msgid ""
"To mount a remote file system each time the client boots, add it to [."
"filename]#/etc/fstab#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network-servers/_index.adoc:441
#, no-wrap
msgid "server:/home\t/mnt\tnfs\trw\t0\t0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:444
msgid "Refer to man:fstab[5] for a description of all available options."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network-servers/_index.adoc:445
#, no-wrap
msgid "Locking"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network-servers/_index.adoc:449
msgid ""
"Some applications require file locking to operate correctly. To enable "
-"locking, add these lines to [.filename]#/etc/rc.conf# on both the client and "
-"server:"
+"locking, execute the following command on both the client and server:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:454
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:453
#, no-wrap
-msgid ""
-"rpc_lockd_enable=\"YES\"\n"
-"rpc_statd_enable=\"YES\"\n"
+msgid "# sysrc rpc_lockd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:457
-msgid "Then start the applications:"
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:456
+msgid "Then start the service:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:462
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:460
#, no-wrap
-msgid ""
-"# service lockd start\n"
-"# service statd start\n"
+msgid "# service lockd start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:466
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:464
msgid ""
"If locking is not required on the server, the NFS client can be configured "
"to lock locally by including `-L` when running mount. Refer to man:"
"mount_nfs[8] for further details."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:468
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:466
#, no-wrap
msgid "Automating Mounts with man:autofs[5]"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:475
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:473
msgid ""
"The man:autofs[5] automount facility is supported starting with FreeBSD 10.1-"
"RELEASE. To use the automounter functionality in older versions of FreeBSD, "
"use man:amd[8] instead. This chapter only describes the man:autofs[5] "
"automounter."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:481
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:479
msgid ""
"The man:autofs[5] facility is a common name for several components that, "
"together, allow for automatic mounting of remote and local filesystems "
"whenever a file or directory within that file system is accessed. It "
"consists of the kernel component, man:autofs[5], and several userspace "
"applications: man:automount[8], man:automountd[8] and man:autounmountd[8]. "
"It serves as an alternative for man:amd[8] from previous FreeBSD releases. "
"amd is still provided for backward compatibility purposes, as the two use "
"different map formats; the one used by autofs is the same as with other SVR4 "
"automounters, such as the ones in Solaris, MacOS X, and Linux."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:483
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:481
msgid ""
"The man:autofs[5] virtual filesystem is mounted on specified mountpoints by "
"man:automount[8], usually invoked during boot."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:487
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:485
msgid ""
"Whenever a process attempts to access a file within the man:autofs[5] "
"mountpoint, the kernel will notify man:automountd[8] daemon and pause the "
"triggering process. The man:automountd[8] daemon will handle kernel "
"requests by finding the proper map and mounting the filesystem according to "
"it, then signal the kernel to release blocked process. The man:"
"autounmountd[8] daemon automatically unmounts automounted filesystems after "
"some time, unless they are still being used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:490
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:488
msgid ""
"The primary autofs configuration file is [.filename]#/etc/auto_master#. It "
"assigns individual maps to top-level mounts. For an explanation of [."
"filename]#auto_master# and the map syntax, refer to man:auto_master[5]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:494
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:492
msgid ""
"There is a special automounter map mounted on [.filename]#/net#. When a "
"file is accessed within this directory, man:autofs[5] looks up the "
"corresponding remote mount and automatically mounts it. For instance, an "
"attempt to access a file within [.filename]#/net/foobar/usr# would tell man:"
"automountd[8] to mount the [.filename]#/usr# export from the host `foobar`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:495
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:493
#, no-wrap
msgid "Mounting an Export with man:autofs[5]"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:499
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:497
msgid ""
"In this example, `showmount -e` shows the exported file systems that can be "
"mounted from the NFS server, `foobar`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:507
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:505
#, no-wrap
msgid ""
"% showmount -e foobar\n"
"Exports list on foobar:\n"
"/usr 10.10.10.0\n"
"/a 10.10.10.0\n"
"% cd /net/foobar/usr\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:514
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:512
msgid ""
"The output from `showmount` shows [.filename]#/usr# as an export. When "
"changing directories to [.filename]#/host/foobar/usr#, man:automountd[8] "
"intercepts the request and attempts to resolve the hostname `foobar`. If "
"successful, man:automountd[8] automatically mounts the source export."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:516
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:514
msgid ""
"To enable man:autofs[5] at boot time, add this line to [.filename]#/etc/rc."
"conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:520
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:518
#, no-wrap
msgid "autofs_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:523
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:521
msgid "Then man:autofs[5] can be started by running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:529
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:527
#, no-wrap
msgid ""
"# service automount start\n"
"# service automountd start\n"
"# service autounmountd start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:533
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:531
msgid ""
"The man:autofs[5] map format is the same as in other operating systems. "
"Information about this format from other sources can be useful, like the "
"http://web.archive.org/web/20160813071113/http://images.apple.com/business/"
"docs/Autofs.pdf[Mac OS X document]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:535
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:533
msgid ""
"Consult the man:automount[8], man:automountd[8], man:autounmountd[8], and "
"man:auto_master[5] manual pages for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:537
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:535
#, no-wrap
msgid "Network Information System (NIS)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:542
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:540
msgid ""
"Network Information System (NIS) is designed to centralize administration of "
"UNIX(R)-like systems such as Solaris(TM), HP-UX, AIX(R), Linux, NetBSD, "
"OpenBSD, and FreeBSD. NIS was originally known as Yellow Pages but the name "
"was changed due to trademark issues. This is the reason why NIS commands "
"begin with `yp`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:545
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:543
msgid ""
"NIS is a Remote Procedure Call (RPC)-based client/server system that allows "
"a group of machines within an NIS domain to share a common set of "
"configuration files. This permits a system administrator to set up NIS "
"client systems with only minimal configuration data and to add, remove, or "
"modify configuration data from a single location."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:547
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:545
msgid "FreeBSD uses version 2 of the NIS protocol."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:548
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:546
#, no-wrap
msgid "NIS Terms and Processes"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:551
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:549
msgid "Table 28.1 summarizes the terms and important processes used by NIS:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:552
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:550
#, no-wrap
msgid "NIS Terminology"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:556
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1895
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:554
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1893
#, no-wrap
msgid "Term"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:559
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:557
#, no-wrap
msgid "NIS domain name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:561
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:559
#, no-wrap
msgid "NIS servers and clients share an NIS domain name. Typically, this name does not have anything to do with DNS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:562
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:560
#, no-wrap
msgid "man:rpcbind[8]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:564
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:562
#, no-wrap
msgid "This service enables RPC and must be running in order to run an NIS server or act as an NIS client."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:565
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:563
#, no-wrap
msgid "man:ypbind[8]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:567
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:565
#, no-wrap
msgid "This service binds an NIS client to its NIS server. It will take the NIS domain name and use RPC to connect to the server. It is the core of client/server communication in an NIS environment. If this service is not running on a client machine, it will not be able to access the NIS server."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:568
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:566
#, no-wrap
msgid "man:ypserv[8]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:570
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:568
#, no-wrap
msgid "This is the process for the NIS server. If this service stops running, the server will no longer be able to respond to NIS requests so hopefully, there is a slave server to take over. Some non-FreeBSD clients will not try to reconnect using a slave server and the ypbind process may need to be restarted on these clients."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:571
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:569
#, no-wrap
msgid "man:rpc.yppasswdd[8]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:572
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:570
#, no-wrap
msgid "This process only runs on NIS master servers. This daemon allows NIS clients to change their NIS passwords. If this daemon is not running, users will have to login to the NIS master server and change their passwords there."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:574
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:572
#, no-wrap
msgid "Machine Types"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:577
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:575
msgid "There are three types of hosts in an NIS environment:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:579
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:577
msgid "NIS master server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:583
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:581
msgid ""
"This server acts as a central repository for host configuration information "
"and maintains the authoritative copy of the files used by all of the NIS "
"clients. The [.filename]#passwd#, [.filename]#group#, and other various "
"files used by NIS clients are stored on the master server. While it is "
"possible for one machine to be an NIS master server for more than one NIS "
"domain, this type of configuration will not be covered in this chapter as it "
"assumes a relatively small-scale NIS environment."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:584
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:582
msgid "NIS slave servers"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:587
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:585
msgid ""
"NIS slave servers maintain copies of the NIS master's data files in order to "
"provide redundancy. Slave servers also help to balance the load of the "
"master server as NIS clients always attach to the NIS server which responds "
"first."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:588
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:586
msgid "NIS clients"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:590
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:588
msgid "NIS clients authenticate against the NIS server during log on."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:594
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:592
msgid ""
"Information in many files can be shared using NIS. The [.filename]#master."
"passwd#, [.filename]#group#, and [.filename]#hosts# files are commonly "
"shared via NIS. Whenever a process on a client needs information that would "
"normally be found in these files locally, it makes a query to the NIS server "
"that it is bound to instead."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:595
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:593
#, no-wrap
msgid "Planning Considerations"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:601
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:599
msgid ""
"This section describes a sample NIS environment which consists of 15 FreeBSD "
"machines with no centralized point of administration. Each machine has its "
"own [.filename]#/etc/passwd# and [.filename]#/etc/master.passwd#. These "
"files are kept in sync with each other only through manual intervention. "
"Currently, when a user is added to the lab, the process must be repeated on "
"all 15 machines."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:603
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:601
msgid "The configuration of the lab will be as follows:"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:608
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:606
#, no-wrap
msgid "Machine name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:609
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:607
#, no-wrap
msgid "IP address"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:612
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:610
#, no-wrap
msgid "Machine role"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:613
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:611
#, no-wrap
msgid "`ellington`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:614
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:612
#, no-wrap
msgid "`10.0.0.2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:616
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:614
#, no-wrap
msgid "NIS master"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:617
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:615
#, no-wrap
msgid "`coltrane`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:618
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:616
#, no-wrap
msgid "`10.0.0.3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:620
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:618
#, no-wrap
msgid "NIS slave"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:621
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:619
#, no-wrap
msgid "`basie`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:622
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:620
#, no-wrap
msgid "`10.0.0.4`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:624
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:622
#, no-wrap
msgid "Faculty workstation"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:625
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:623
#, no-wrap
msgid "`bird`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:626
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:624
#, no-wrap
msgid "`10.0.0.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:628
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:626
#, no-wrap
msgid "Client machine"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:629
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:627
#, no-wrap
msgid "`cli[1-11]`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:630
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:628
#, no-wrap
msgid "`10.0.0.[6-17]`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:631
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:629
#, no-wrap
msgid "Other client machines"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:635
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:633
msgid ""
"If this is the first time an NIS scheme is being developed, it should be "
"thoroughly planned ahead of time. Regardless of network size, several "
"decisions need to be made as part of the planning process."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:636
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:634
#, no-wrap
msgid "Choosing a NIS Domain Name"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:641
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:639
msgid ""
"When a client broadcasts its requests for info, it includes the name of the "
"NIS domain that it is part of. This is how multiple servers on one network "
"can tell which server should answer which request. Think of the NIS domain "
"name as the name for a group of hosts."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:647
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:645
msgid ""
"Some organizations choose to use their Internet domain name for their NIS "
"domain name. This is not recommended as it can cause confusion when trying "
"to debug network problems. The NIS domain name should be unique within the "
"network and it is helpful if it describes the group of machines it "
"represents. For example, the Art department at Acme Inc. might be in the "
"\"acme-art\" NIS domain. This example will use the domain name `test-"
"domain`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:650
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:648
msgid ""
"However, some non-FreeBSD operating systems require the NIS domain name to "
"be the same as the Internet domain name. If one or more machines on the "
"network have this restriction, the Internet domain name _must_ be used as "
"the NIS domain name."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:651
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:649
#, no-wrap
msgid "Physical Server Requirements"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:658
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:656
msgid ""
"There are several things to keep in mind when choosing a machine to use as a "
"NIS server. Since NIS clients depend upon the availability of the server, "
"choose a machine that is not rebooted frequently. The NIS server should "
"ideally be a stand alone machine whose sole purpose is to be an NIS server. "
"If the network is not heavily used, it is acceptable to put the NIS server "
"on a machine running other services. However, if the NIS server becomes "
"unavailable, it will adversely affect all NIS clients."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:659
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:657
#, no-wrap
msgid "Configuring the NIS Master Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:666
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:664
msgid ""
"The canonical copies of all NIS files are stored on the master server. The "
"databases used to store the information are called NIS maps. In FreeBSD, "
"these maps are stored in [.filename]#/var/yp/[domainname]# where [."
"filename]#[domainname]# is the name of the NIS domain. Since multiple "
"domains are supported, it is possible to have several directories, one for "
"each domain. Each domain will have its own independent set of maps."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:669
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:667
msgid ""
"NIS master and slave servers handle all NIS requests through man:ypserv[8]. "
"This daemon is responsible for receiving incoming requests from NIS clients, "
"translating the requested domain and map name to a path to the corresponding "
"database file, and transmitting data from the database back to the client."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:672
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:670
msgid ""
"Setting up a master NIS server can be relatively straight forward, depending "
"on environmental needs. Since FreeBSD provides built-in NIS support, it "
"only needs to be enabled by adding the following lines to [.filename]#/etc/"
"rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:678
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:676
#, no-wrap
msgid ""
"nisdomainname=\"test-domain\"\t<.>\n"
"nis_server_enable=\"YES\"\t\t<.>\n"
"nis_yppasswdd_enable=\"YES\"\t<.>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:681
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:679
msgid "This line sets the NIS domain name to `test-domain`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:682
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:680
msgid ""
"This automates the start up of the NIS server processes when the system "
"boots."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:683
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:681
msgid ""
"This enables the man:rpc.yppasswdd[8] daemon so that users can change their "
"NIS password from a client machine."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:688
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:686
msgid ""
"Care must be taken in a multi-server domain where the server machines are "
"also NIS clients. It is generally a good idea to force the servers to bind "
"to themselves rather than allowing them to broadcast bind requests and "
"possibly become bound to each other. Strange failure modes can result if "
"one server goes down and others are dependent upon it. Eventually, all the "
"clients will time out and attempt to bind to other servers, but the delay "
"involved can be considerable and the failure mode is still present since the "
"servers might bind to each other all over again."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:690
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:688
msgid ""
"A server that is also a client can be forced to bind to a particular server "
"by adding these additional lines to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:695
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:693
#, no-wrap
msgid ""
"nis_client_enable=\"YES\"\t\t\t\t<.>\n"
"nis_client_flags=\"-S test-domain,server\"\t<.>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:698
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:696
msgid "This enables running client stuff as well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:699
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:697
msgid "This line sets the NIS domain name to `test-domain` and bind to itself."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:702
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:700
msgid ""
"After saving the edits, type `/etc/netstart` to restart the network and "
"apply the values defined in [.filename]#/etc/rc.conf#. Before initializing "
"the NIS maps, start man:ypserv[8]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:706
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:704
#, no-wrap
msgid "# service ypserv start\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:709
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:707
#, no-wrap
msgid "Initializing the NIS Maps"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:714
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:712
msgid ""
"NIS maps are generated from the configuration files in [.filename]#/etc# on "
"the NIS master, with one exception: [.filename]#/etc/master.passwd#. This "
"is to prevent the propagation of passwords to all the servers in the NIS "
"domain. Therefore, before the NIS maps are initialized, configure the "
"primary password files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:720
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:718
#, no-wrap
msgid ""
"# cp /etc/master.passwd /var/yp/master.passwd\n"
"# cd /var/yp\n"
"# vi master.passwd\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:723
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:721
msgid ""
"It is advisable to remove all entries for system accounts as well as any "
"user accounts that do not need to be propagated to the NIS clients, such as "
"the `root` and any other administrative accounts."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:727
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:725
msgid ""
"Ensure that the [.filename]#/var/yp/master.passwd# is neither group or world "
"readable by setting its permissions to `600`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:732
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:730
msgid ""
"After completing this task, initialize the NIS maps. FreeBSD includes the "
"man:ypinit[8] script to do this. When generating maps for the master "
"server, include `-m` and specify the NIS domain name:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:753
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:751
#, no-wrap
msgid ""
"ellington# ypinit -m test-domain\n"
"Server Type: MASTER Domain: test-domain\n"
"Creating an YP server will require that you answer a few questions.\n"
"Questions will all be asked at the beginning of the procedure.\n"
"Do you want this procedure to quit on non-fatal errors? [y/n: n] n\n"
"Ok, please remember to go back and redo manually whatever fails.\n"
"If not, something might not work.\n"
"At this point, we have to construct a list of this domains YP servers.\n"
"rod.darktech.org is already known as master server.\n"
"Please continue to add any slave servers, one per line. When you are\n"
"done with the list, type a <control D>.\n"
"master server : ellington\n"
"next host to add: coltrane\n"
"next host to add: ^D\n"
"The current list of NIS servers looks like this:\n"
"ellington\n"
"coltrane\n"
"Is this correct? [y/n: y] y\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:755
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:753
#, no-wrap
msgid "[..output from map generation..]\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:758
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:756
#, no-wrap
msgid ""
"NIS Map update completed.\n"
"ellington has been setup as an YP master server without any errors.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:763
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:761
msgid ""
"This will create [.filename]#/var/yp/Makefile# from [.filename]#/var/yp/"
"Makefile.dist#. By default, this file assumes that the environment has a "
"single NIS server with only FreeBSD clients. Since `test-domain` has a "
"slave server, edit this line in [.filename]#/var/yp/Makefile# so that it "
"begins with a comment (`+#+`):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:767
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:765
#, no-wrap
msgid "NOPUSH = \"True\"\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:770
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:768
#, no-wrap
msgid "Adding New Users"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:775
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:773
msgid ""
"Every time a new user is created, the user account must be added to the "
"master NIS server and the NIS maps rebuilt. Until this occurs, the new user "
"will not be able to login anywhere except on the NIS master. For example, "
"to add the new user `jsmith` to the `test-domain` domain, run these commands "
"on the master server:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:781
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:779
#, no-wrap
msgid ""
"# pw useradd jsmith\n"
"# cd /var/yp\n"
"# make test-domain\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:784
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:782
msgid ""
"The user could also be added using `adduser jsmith` instead of `pw useradd "
"smith`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:785
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:783
#, no-wrap
msgid "Setting up a NIS Slave Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:791
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:789
msgid ""
"To set up an NIS slave server, log on to the slave server and edit [."
"filename]#/etc/rc.conf# as for the master server. Do not generate any NIS "
"maps, as these already exist on the master server. When running `ypinit` on "
"the slave server, use `-s` (for slave) instead of `-m` (for master). This "
"option requires the name of the NIS master in addition to the domain name, "
"as seen in this example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:795
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:793
#, no-wrap
msgid "coltrane# ypinit -s ellington test-domain\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:797
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:795
#, no-wrap
msgid "Server Type: SLAVE Domain: test-domain Master: ellington\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:800
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:798
#, no-wrap
msgid ""
"Creating an YP server will require that you answer a few questions.\n"
"Questions will all be asked at the beginning of the procedure.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:802
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:800
#, no-wrap
msgid "Do you want this procedure to quit on non-fatal errors? [y/n: n] n\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:847
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:845
#, no-wrap
msgid ""
"Ok, please remember to go back and redo manually whatever fails.\n"
"If not, something might not work.\n"
"There will be no further questions. The remainder of the procedure\n"
"should take a few minutes, to copy the databases from ellington.\n"
"Transferring netgroup...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring netgroup.byuser...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring netgroup.byhost...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring master.passwd.byuid...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring passwd.byuid...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring passwd.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring group.bygid...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring group.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring services.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring rpc.bynumber...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring rpc.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring protocols.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring master.passwd.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring networks.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring networks.byaddr...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring netid.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring hosts.byaddr...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring protocols.bynumber...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring ypservers...\n"
"ypxfr: Exiting: Map successfully transferred\n"
"Transferring hosts.byname...\n"
"ypxfr: Exiting: Map successfully transferred\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:850
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:848
#, no-wrap
msgid ""
"coltrane has been setup as an YP slave server without any errors.\n"
"Remember to update map ypservers on ellington.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:854
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:852
msgid ""
"This will generate a directory on the slave server called [.filename]#/var/"
"yp/test-domain# which contains copies of the NIS master server's maps. "
"Adding these [.filename]#/etc/crontab# entries on each slave server will "
"force the slaves to sync their maps with the maps on the master server:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:859
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:857
#, no-wrap
msgid ""
"20 * * * * root /usr/libexec/ypxfr passwd.byname\n"
"21 * * * * root /usr/libexec/ypxfr passwd.byuid\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:864
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:862
msgid ""
"These entries are not mandatory because the master server automatically "
"attempts to push any map changes to its slaves. However, since clients may "
"depend upon the slave server to provide correct password information, it is "
"recommended to force frequent password map updates. This is especially "
"important on busy networks where map updates might not always complete."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:866
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:864
msgid ""
"To finish the configuration, run `/etc/netstart` on the slave server in "
"order to start the NIS services."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:867
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:865
#, no-wrap
msgid "Setting Up an NIS Client"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:876
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:874
msgid ""
"An NIS client binds to an NIS server using man:ypbind[8]. This daemon "
"broadcasts RPC requests on the local network. These requests specify the "
"domain name configured on the client. If an NIS server in the same domain "
"receives one of the broadcasts, it will respond to ypbind, which will record "
"the server's address. If there are several servers available, the client "
"will use the address of the first server to respond and will direct all of "
"its NIS requests to that server. The client will automatically ping the "
"server on a regular basis to make sure it is still available. If it fails "
"to receive a reply within a reasonable amount of time, ypbind will mark the "
"domain as unbound and begin broadcasting again in the hopes of locating "
"another server."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:878
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:876
msgid "To configure a FreeBSD machine to be an NIS client:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:882
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:880
msgid ""
"Edit [.filename]#/etc/rc.conf# and add the following lines in order to set "
"the NIS domain name and start man:ypbind[8] during network startup:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:887
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:885
#, no-wrap
msgid ""
"nisdomainname=\"test-domain\"\n"
"nis_client_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:890
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:888
msgid ""
"To import all possible password entries from the NIS server, use `vipw` to "
"remove all user accounts except one from [.filename]#/etc/master.passwd#. "
"When removing the accounts, keep in mind that at least one local account "
"should remain and this account should be a member of `wheel`. If there is a "
"problem with NIS, this local account can be used to log in remotely, become "
"the superuser, and fix the problem. Before saving the edits, add the "
"following line to the end of the file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:894
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1115
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:892
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1113
#, no-wrap
msgid "+:::::::::\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:900
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:898
msgid ""
"This line configures the client to provide anyone with a valid account in "
"the NIS server's password maps an account on the client. There are many "
"ways to configure the NIS client by modifying this line. One method is "
"described in <<network-netgroups>>. For more detailed reading, refer to the "
"book `Managing NFS and NIS`, published by O'Reilly Media."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:901
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:899
msgid ""
"To import all possible group entries from the NIS server, add this line to [."
"filename]#/etc/group#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:905
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:903
#, no-wrap
msgid "+:*::\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:909
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:907
msgid ""
"To start the NIS client immediately, execute the following commands as the "
"superuser:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:914
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:912
#, no-wrap
msgid ""
"# /etc/netstart\n"
"# service ypbind start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:917
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:915
msgid ""
"After completing these steps, running `ypcat passwd` on the client should "
"show the server's [.filename]#passwd# map."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:918
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:916
#, no-wrap
msgid "NIS Security"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:926
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:924
msgid ""
"Since RPC is a broadcast-based service, any system running ypbind within the "
"same domain can retrieve the contents of the NIS maps. To prevent "
"unauthorized transactions, man:ypserv[8] supports a feature called "
"\"securenets\" which can be used to restrict access to a given set of "
"hosts. By default, this information is stored in [.filename]#/var/yp/"
"securenets#, unless man:ypserv[8] is started with `-p` and an alternate "
"path. This file contains entries that consist of a network specification "
"and a network mask separated by white space. Lines starting with `+\"#\"+` "
"are considered to be comments. A sample [.filename]#securenets# might look "
"like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:938
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:936
#, no-wrap
msgid ""
"# allow connections from local host -- mandatory\n"
"127.0.0.1 255.255.255.255\n"
"# allow connections from any host\n"
"# on the 192.168.128.0 network\n"
"192.168.128.0 255.255.255.0\n"
"# allow connections from any host\n"
"# between 10.0.0.0 to 10.0.15.255\n"
"# this includes the machines in the testlab\n"
"10.0.0.0 255.255.240.0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:943
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:941
msgid ""
"If man:ypserv[8] receives a request from an address that matches one of "
"these rules, it will process the request normally. If the address fails to "
"match a rule, the request will be ignored and a warning message will be "
"logged. If the [.filename]#securenets# does not exist, `ypserv` will allow "
"connections from any host."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:947
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:945
msgid ""
"crossref:security[tcpwrappers,\"TCP Wrapper\"] is an alternate mechanism for "
"providing access control instead of [.filename]#securenets#. While either "
"access control mechanism adds some security, they are both vulnerable to "
"\"IP spoofing\" attacks. All NIS-related traffic should be blocked at the "
"firewall."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:951
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:949
msgid ""
"Servers using [.filename]#securenets# may fail to serve legitimate NIS "
"clients with archaic TCP/IP implementations. Some of these implementations "
"set all host bits to zero when doing broadcasts or fail to observe the "
"subnet mask when calculating the broadcast address. While some of these "
"problems can be fixed by changing the client configuration, other problems "
"may force the retirement of these client systems or the abandonment of [."
"filename]#securenets#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:955
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:953
msgid ""
"The use of TCP Wrapper increases the latency of the NIS server. The "
"additional delay may be long enough to cause timeouts in client programs, "
"especially in busy networks with slow NIS servers. If one or more clients "
"suffer from latency, convert those clients into NIS slave servers and force "
"them to bind to themselves."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:956
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:954
#, no-wrap
msgid "Barring Some Users"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:961
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:959
msgid ""
"In this example, the `basie` system is a faculty workstation within the NIS "
"domain. The [.filename]#passwd# map on the master NIS server contains "
"accounts for both faculty and students. This section demonstrates how to "
"allow faculty logins on this system while refusing student logins."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:965
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:963
msgid ""
"To prevent specified users from logging on to a system, even if they are "
"present in the NIS database, use `vipw` to add `-_username_` with the "
"correct number of colons towards the end of [.filename]#/etc/master.passwd# "
"on the client, where _username_ is the username of a user to bar from "
"logging in. The line with the blocked user must be before the `+` line that "
"allows NIS users. In this example, `bill` is barred from logging on to "
"`basie`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:986
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:984
#, no-wrap
msgid ""
"basie# cat /etc/master.passwd\n"
"root:[password]:0:0::0:0:The super-user:/root:/bin/csh\n"
"toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh\n"
"daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin\n"
"operator:*:2:5::0:0:System &:/:/usr/sbin/nologin\n"
"bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/usr/sbin/nologin\n"
"tty:*:4:65533::0:0:Tty Sandbox:/:/usr/sbin/nologin\n"
"kmem:*:5:65533::0:0:KMem Sandbox:/:/usr/sbin/nologin\n"
"games:*:7:13::0:0:Games pseudo-user:/usr/games:/usr/sbin/nologin\n"
"news:*:8:8::0:0:News Subsystem:/:/usr/sbin/nologin\n"
"man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/usr/sbin/nologin\n"
"bind:*:53:53::0:0:Bind Sandbox:/:/usr/sbin/nologin\n"
"uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico\n"
"xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/usr/sbin/nologin\n"
"pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin\n"
"nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin\n"
"-bill:::::::::\n"
"+:::::::::\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:988
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:986
#, no-wrap
msgid "basie#\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:992
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:990
#, no-wrap
msgid "Using Netgroups"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:995
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:993
msgid ""
"Barring specified users from logging on to individual systems becomes "
"unscaleable on larger networks and quickly loses the main benefit of NIS: "
"_centralized_ administration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:998
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:996
msgid ""
"Netgroups were developed to handle large, complex networks with hundreds of "
"users and machines. Their use is comparable to UNIX(R) groups, where the "
"main difference is the lack of a numeric ID and the ability to define a "
"netgroup by including both user accounts and other netgroups."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1000
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:998
msgid ""
"To expand on the example used in this chapter, the NIS domain will be "
"extended to add the users and systems shown in Tables 28.2 and 28.3:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1001
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:999
#, no-wrap
msgid "Additional Users"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1005
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1003
#, no-wrap
msgid "User Name(s)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1008
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1006
#, no-wrap
msgid "`alpha`, `beta`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1010
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1008
#, no-wrap
msgid "IT department employees"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1011
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1009
#, no-wrap
msgid "`charlie`, `delta`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1013
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1011
#, no-wrap
msgid "IT department apprentices"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1014
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1012
#, no-wrap
msgid "`echo`, `foxtrott`, `golf`, ..."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1016
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1014
#, no-wrap
msgid "employees"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1017
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1015
#, no-wrap
msgid "`able`, `baker`, ..."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1018
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1016
#, no-wrap
msgid "interns"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1020
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1018
#, no-wrap
msgid "Additional Systems"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1024
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1022
#, no-wrap
msgid "Machine Name(s)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1027
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1025
#, no-wrap
msgid "`war`, `death`, `famine`, `pollution`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1029
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1027
#, no-wrap
msgid "Only IT employees are allowed to log onto these servers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1030
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1028
#, no-wrap
msgid "`pride`, `greed`, `envy`, `wrath`, `lust`, `sloth`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1032
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1030
#, no-wrap
msgid "All members of the IT department are allowed to login onto these servers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1033
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1031
#, no-wrap
msgid "`one`, `two`, `three`, `four`, ..."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1035
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1033
#, no-wrap
msgid "Ordinary workstations used by employees."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1036
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1034
#, no-wrap
msgid "`trashcan`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1037
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1035
#, no-wrap
msgid "A very old machine without any critical data. Even interns are allowed to use this system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1043
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1041
msgid ""
"When using netgroups to configure this scenario, each user is assigned to "
"one or more netgroups and logins are then allowed or forbidden for all "
"members of the netgroup. When adding a new machine, login restrictions must "
"be defined for all netgroups. When a new user is added, the account must be "
"added to one or more netgroups. If the NIS setup is planned carefully, only "
"one central configuration file needs modification to grant or deny access to "
"machines."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1047
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1045
msgid ""
"The first step is the initialization of the NIS`netgroup` map. In FreeBSD, "
"this map is not created by default. On the NIS master server, use an editor "
"to create a map named [.filename]#/var/yp/netgroup#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1049
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1047
msgid ""
"This example creates four netgroups to represent IT employees, IT "
"apprentices, employees, and interns:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1057
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1055
#, no-wrap
msgid ""
"IT_EMP (,alpha,test-domain) (,beta,test-domain)\n"
"IT_APP (,charlie,test-domain) (,delta,test-domain)\n"
"USERS (,echo,test-domain) (,foxtrott,test-domain) \\\n"
" (,golf,test-domain)\n"
"INTERNS (,able,test-domain) (,baker,test-domain)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1062
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1060
msgid ""
"Each entry configures a netgroup. The first column in an entry is the name "
"of the netgroup. Each set of parentheses represents either a group of one "
"or more users or the name of another netgroup. When specifying a user, the "
"three comma-delimited fields inside each group represent:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1064
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1062
msgid ""
"The name of the host(s) where the other fields representing the user are "
"valid. If a hostname is not specified, the entry is valid on all hosts."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1065
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1063
msgid "The name of the account that belongs to this netgroup."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1066
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1064
msgid ""
"The NIS domain for the account. Accounts may be imported from other NIS "
"domains into a netgroup."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1070
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1068
msgid ""
"If a group contains multiple users, separate each user with whitespace. "
"Additionally, each field may contain wildcards. See man:netgroup[5] for "
"details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1073
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1071
msgid ""
"Netgroup names longer than 8 characters should not be used. The names are "
"case sensitive and using capital letters for netgroup names is an easy way "
"to distinguish between user, machine and netgroup names."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1076
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1074
msgid ""
"Some non-FreeBSD NIS clients cannot handle netgroups containing more than 15 "
"entries. This limit may be circumvented by creating several sub-netgroups "
"with 15 users or fewer and a real netgroup consisting of the sub-netgroups, "
"as seen in this example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1083
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1081
#, no-wrap
msgid ""
"BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]\n"
"BIGGRP2 (,joe16,domain) (,joe17,domain) [...]\n"
"BIGGRP3 (,joe31,domain) (,joe32,domain)\n"
"BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1086
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1084
msgid ""
"Repeat this process if more than 225 (15 times 15) users exist within a "
"single netgroup."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1088
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1086
msgid "To activate and distribute the new NIS map:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1093
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1091
#, no-wrap
msgid ""
"ellington# cd /var/yp\n"
"ellington# make\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1097
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1095
msgid ""
"This will generate the three NIS maps [.filename]#netgroup#, [."
"filename]#netgroup.byhost# and [.filename]#netgroup.byuser#. Use the map "
"key option of man:ypcat[1] to check if the new NIS maps are available:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1103
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1101
#, no-wrap
msgid ""
"ellington% ypcat -k netgroup\n"
"ellington% ypcat -k netgroup.byhost\n"
"ellington% ypcat -k netgroup.byuser\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1108
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1106
msgid ""
"The output of the first command should resemble the contents of [.filename]#/"
"var/yp/netgroup#. The second command only produces output if host-specific "
"netgroups were created. The third command is used to get the list of "
"netgroups for a user."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1111
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1109
msgid ""
"To configure a client, use man:vipw[8] to specify the name of the netgroup. "
"For example, on the server named `war`, replace this line:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1118
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1116
msgid "with"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1122
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1120
#, no-wrap
msgid "+@IT_EMP:::::::::\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1125
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1123
msgid ""
"This specifies that only the users defined in the netgroup `IT_EMP` will be "
"imported into this system's password database and only those users are "
"allowed to login to this system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1130
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1128
msgid ""
"This configuration also applies to the `~` function of the shell and all "
"routines which convert between user names and numerical user IDs. In other "
"words, `cd ~_user_` will not work, `ls -l` will show the numerical ID "
"instead of the username, and `find . -user joe -print` will fail with the "
"message `No such user`. To fix this, import all user entries without "
"allowing them to login into the servers. This can be achieved by adding an "
"extra line:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1134
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1132
#, no-wrap
msgid "+:::::::::/usr/sbin/nologin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1137
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1135
msgid ""
"This line configures the client to import all entries but to replace the "
"shell in those entries with [.filename]#/usr/sbin/nologin#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1140
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1138
msgid ""
"Make sure that extra line is placed _after_ `+@IT_EMP:::::::::`. Otherwise, "
"all user accounts imported from NIS will have [.filename]#/usr/sbin/nologin# "
"as their login shell and no one will be able to login to the system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1142
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1140
msgid ""
"To configure the less important servers, replace the old `+:::::::::` on the "
"servers with these lines:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1148
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1146
#, no-wrap
msgid ""
"+@IT_EMP:::::::::\n"
"+@IT_APP:::::::::\n"
"+:::::::::/usr/sbin/nologin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1151
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1149
msgid "The corresponding lines for the workstations would be:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1157
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1155
#, no-wrap
msgid ""
"+@IT_EMP:::::::::\n"
"+@USERS:::::::::\n"
"+:::::::::/usr/sbin/nologin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1164
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1162
msgid ""
"NIS supports the creation of netgroups from other netgroups which can be "
"useful if the policy regarding user access changes. One possibility is the "
"creation of role-based netgroups. For example, one might create a netgroup "
"called `BIGSRV` to define the login restrictions for the important servers, "
"another netgroup called `SMALLSRV` for the less important servers, and a "
"third netgroup called `USERBOX` for the workstations. Each of these "
"netgroups contains the netgroups that are allowed to login onto these "
"machines. The new entries for the NIS`netgroup` map would look like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1170
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1168
#, no-wrap
msgid ""
"BIGSRV IT_EMP IT_APP\n"
"SMALLSRV IT_EMP IT_APP ITINTERN\n"
"USERBOX IT_EMP ITINTERN USERS\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1175
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1173
msgid ""
"This method of defining login restrictions works reasonably well when it is "
"possible to define groups of machines with identical restrictions. "
"Unfortunately, this is the exception and not the rule. Most of the time, "
"the ability to define login restrictions on a per-machine basis is required."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1180
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1178
msgid ""
"Machine-specific netgroup definitions are another possibility to deal with "
"the policy changes. In this scenario, the [.filename]#/etc/master.passwd# "
"of each system contains two lines starting with \"+\". The first line adds "
"a netgroup with the accounts allowed to login onto this machine and the "
"second line adds all other accounts with [.filename]#/usr/sbin/nologin# as "
"shell. It is recommended to use the \"ALL-CAPS\" version of the hostname as "
"the name of the netgroup:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1185
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1183
#, no-wrap
msgid ""
"+@BOXNAME:::::::::\n"
"+:::::::::/usr/sbin/nologin\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1190
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1188
msgid ""
"Once this task is completed on all the machines, there is no longer a need "
"to modify the local versions of [.filename]#/etc/master.passwd# ever again. "
"All further changes can be handled by modifying the NIS map. Here is an "
"example of a possible `netgroup` map for this scenario:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1228
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1226
#, no-wrap
msgid ""
"# Define groups of users first\n"
"IT_EMP (,alpha,test-domain) (,beta,test-domain)\n"
"IT_APP (,charlie,test-domain) (,delta,test-domain)\n"
"DEPT1 (,echo,test-domain) (,foxtrott,test-domain)\n"
"DEPT2 (,golf,test-domain) (,hotel,test-domain)\n"
"DEPT3 (,india,test-domain) (,juliet,test-domain)\n"
"ITINTERN (,kilo,test-domain) (,lima,test-domain)\n"
"D_INTERNS (,able,test-domain) (,baker,test-domain)\n"
"#\n"
"# Now, define some groups based on roles\n"
"USERS DEPT1 DEPT2 DEPT3\n"
"BIGSRV IT_EMP IT_APP\n"
"SMALLSRV IT_EMP IT_APP ITINTERN\n"
"USERBOX IT_EMP ITINTERN USERS\n"
"#\n"
"# And a groups for a special tasks\n"
"# Allow echo and golf to access our anti-virus-machine\n"
"SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)\n"
"#\n"
"# machine-based netgroups\n"
"# Our main servers\n"
"WAR BIGSRV\n"
"FAMINE BIGSRV\n"
"# User india needs access to this server\n"
"POLLUTION BIGSRV (,india,test-domain)\n"
"#\n"
"# This one is really important and needs more access restrictions\n"
"DEATH IT_EMP\n"
"#\n"
"# The anti-virus-machine mentioned above\n"
"ONE SECURITY\n"
"#\n"
"# Restrict a machine to a single user\n"
"TWO (,hotel,test-domain)\n"
"# [...more groups to follow]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1232
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1230
msgid ""
"It may not always be advisable to use machine-based netgroups. When "
"deploying a couple of dozen or hundreds of systems, role-based netgroups "
"instead of machine-based netgroups may be used to keep the size of the NIS "
"map within reasonable limits."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1233
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1231
#, no-wrap
msgid "Password Formats"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1238
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1236
msgid ""
"NIS requires that all hosts within an NIS domain use the same format for "
"encrypting passwords. If users have trouble authenticating on an NIS "
"client, it may be due to a differing password format. In a heterogeneous "
"network, the format must be supported by all operating systems, where DES is "
"the lowest common standard."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1240
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1238
msgid ""
"To check which format a server or client is using, look at this section of [."
"filename]#/etc/login.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1247
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1245
#, no-wrap
msgid ""
"default:\\\n"
"\t:passwd_format=des:\\\n"
"\t:copyright=/etc/COPYRIGHT:\\\n"
"\t[Further entries elided]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1252
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1250
msgid ""
"In this example, the system is using the DES format for password hashing. "
"Other possible values include `blf` for Blowfish, `md5` for MD5, `sha256` "
"and `sha512` for SHA-256 and SHA-512 respectively. For more information and "
"the up to date list of what is available on your system, consult the man:"
"crypt[3] manpage."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1254
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1252
msgid ""
"If the format on a host needs to be edited to match the one being used in "
"the NIS domain, the login capability database must be rebuilt after saving "
"the change:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1258
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1256
#, no-wrap
msgid "# cap_mkdb /etc/login.conf\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1263
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1261
msgid ""
"The format of passwords for existing user accounts will not be updated until "
"each user changes their password _after_ the login capability database is "
"rebuilt."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1266
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1264
#, no-wrap
msgid "Lightweight Directory Access Protocol (LDAP)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1272
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1270
msgid ""
"The Lightweight Directory Access Protocol (LDAP) is an application layer "
"protocol used to access, modify, and authenticate objects using a "
"distributed directory information service. Think of it as a phone or record "
"book which stores several levels of hierarchical, homogeneous information. "
"It is used in Active Directory and OpenLDAP networks and allows users to "
"access to several levels of internal information utilizing a single "
"account. For example, email authentication, pulling employee contact "
"information, and internal website authentication might all make use of a "
"single user account in the LDAP server's record base."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1275
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1273
msgid ""
"This section provides a quick start guide for configuring an LDAP server on "
"a FreeBSD system. It assumes that the administrator already has a design "
"plan which includes the type of information to store, what that information "
"will be used for, which users should have access to that information, and "
"how to secure this information from unauthorized access."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1276
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1274
#, no-wrap
msgid "LDAP Terminology and Structure"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1282
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1280
msgid ""
"LDAP uses several terms which should be understood before starting the "
"configuration. All directory entries consist of a group of _attributes_. "
"Each of these attribute sets contains a unique identifier known as a "
"_Distinguished Name_ (DN) which is normally built from several other "
"attributes such as the common or _Relative Distinguished Name_ (RDN). "
"Similar to how directories have absolute and relative paths, consider a DN "
"as an absolute path and the RDN as the relative path."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1285
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1283
msgid ""
"An example LDAP entry looks like the following. This example searches for "
"the entry for the specified user account (`uid`), organizational unit "
"(`ou`), and organization (`o`):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1296
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1294
#, no-wrap
msgid ""
"% ldapsearch -xb \"uid=trhodes,ou=users,o=example.com\"\n"
"# extended LDIF\n"
"#\n"
"# LDAPv3\n"
"# base <uid=trhodes,ou=users,o=example.com> with scope subtree\n"
"# filter: (objectclass=*)\n"
"# requesting: ALL\n"
"#\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1303
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1301
#, no-wrap
msgid ""
"# trhodes, users, example.com\n"
"dn: uid=trhodes,ou=users,o=example.com\n"
"mail: trhodes@example.com\n"
"cn: Tom Rhodes\n"
"uid: trhodes\n"
"telephoneNumber: (123) 456-7890\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1307
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1581
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1305
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1579
#, no-wrap
msgid ""
"# search result\n"
"search: 2\n"
"result: 0 Success\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1310
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1584
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1308
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1582
#, no-wrap
msgid ""
"# numResponses: 2\n"
"# numEntries: 1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1314
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1312
msgid ""
"This example entry shows the values for the `dn`, `mail`, `cn`, `uid`, and "
"`telephoneNumber` attributes. The cn attribute is the RDN."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1316
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1314
msgid ""
"More information about LDAP and its terminology can be found at http://www."
"openldap.org/doc/admin24/intro.html[http://www.openldap.org/doc/admin24/"
"intro.html]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1318
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1316
#, no-wrap
msgid "Configuring an LDAP Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1322
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1320
msgid ""
"FreeBSD does not provide a built-in LDAP server. Begin the configuration by "
"installing package:net/openldap-server[] package or port:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1326
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1324
#, no-wrap
msgid "# pkg install openldap-server\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1331
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1329
msgid ""
"There is a large set of default options enabled in the extref:{linux-users}"
"[package, software]. Review them by running `pkg info openldap-server`. If "
"they are not sufficient (for example if SQL support is needed), please "
"consider recompiling the port using the appropriate crossref:ports[ports-"
"using,framework]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1334
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1332
msgid ""
"The installation creates the directory [.filename]#/var/db/openldap-data# to "
"hold the data. The directory to store the certificates must be created:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1338
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1336
#, no-wrap
msgid "# mkdir /usr/local/etc/openldap/private\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1345
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1343
msgid ""
"The next phase is to configure the Certificate Authority. The following "
"commands must be executed from [.filename]#/usr/local/etc/openldap/"
"private#. This is important as the file permissions need to be restrictive "
"and users should not have access to these files. More detailed information "
"about certificates and their parameters can be found in crossref:"
"security[openssl,\"OpenSSL\"]. To create the Certificate Authority, start "
"with this command and follow the prompts:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1349
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1347
#, no-wrap
msgid "# openssl req -days 365 -nodes -new -x509 -keyout ca.key -out ../ca.crt\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1354
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1352
msgid ""
"The entries for the prompts may be generic _except_ for the `Common Name`. "
"This entry must be _different_ than the system hostname. If this will be a "
"self signed certificate, prefix the hostname with `CA` for Certificate "
"Authority."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1357
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1355
msgid ""
"The next task is to create a certificate signing request and a private key. "
"Input this command and follow the prompts:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1361
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1359
#, no-wrap
msgid "# openssl req -days 365 -nodes -new -keyout server.key -out server.csr\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1365
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1363
msgid ""
"During the certificate generation process, be sure to correctly set the "
"`Common Name` attribute. The Certificate Signing Request must be signed "
"with the Certificate Authority in order to be used as a valid certificate:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1369
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1367
#, no-wrap
msgid "# openssl x509 -req -days 365 -in server.csr -out ../server.crt -CA ../ca.crt -CAkey ca.key -CAcreateserial\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1372
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1370
msgid ""
"The final part of the certificate generation process is to generate and sign "
"the client certificates:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1377
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1375
#, no-wrap
msgid ""
"# openssl req -days 365 -nodes -new -keyout client.key -out client.csr\n"
"# openssl x509 -req -days 3650 -in client.csr -out ../client.crt -CA ../ca.crt -CAkey ca.key\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1381
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1379
msgid ""
"Remember to use the same `Common Name` attribute when prompted. When "
"finished, ensure that a total of eight (8) new files have been generated "
"through the proceeding commands."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1384
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1382
msgid ""
"The daemon running the OpenLDAP server is [.filename]#slapd#. Its "
"configuration is performed through [.filename]#slapd.ldif#: the old [."
"filename]#slapd.conf# has been deprecated by OpenLDAP."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1391
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1389
msgid ""
"http://www.openldap.org/doc/admin24/slapdconf2.html[Configuration examples] "
"for [.filename]#slapd.ldif# are available and can also be found in [."
"filename]#/usr/local/etc/openldap/slapd.ldif.sample#. Options are "
"documented in slapd-config(5). Each section of [.filename]#slapd.ldif#, "
"like all the other LDAP attribute sets, is uniquely identified through a "
"DN. Be sure that no blank lines are left between the `dn:` statement and "
"the desired end of the section. In the following example, TLS will be used "
"to implement a secure channel. The first section represents the global "
"configuration:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1413
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1411
#, no-wrap
msgid ""
"#\n"
"# See slapd-config(5) for details on configuration options.\n"
"# This file should NOT be world readable.\n"
"#\n"
"dn: cn=config\n"
"objectClass: olcGlobal\n"
"cn: config\n"
"#\n"
"#\n"
"# Define global ACLs to disable default read access.\n"
"#\n"
"olcArgsFile: /var/run/openldap/slapd.args\n"
"olcPidFile: /var/run/openldap/slapd.pid\n"
"olcTLSCertificateFile: /usr/local/etc/openldap/server.crt\n"
"olcTLSCertificateKeyFile: /usr/local/etc/openldap/private/server.key\n"
"olcTLSCACertificateFile: /usr/local/etc/openldap/ca.crt\n"
"#olcTLSCipherSuite: HIGH\n"
"olcTLSProtocolMin: 3.1\n"
"olcTLSVerifyClient: never\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1418
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1416
msgid ""
"The Certificate Authority, server certificate and server private key files "
"must be specified here. It is recommended to let the clients choose the "
"security cipher and omit option `olcTLSCipherSuite` (incompatible with TLS "
"clients other than [.filename]#openssl#). Option `olcTLSProtocolMin` lets "
"the server require a minimum security level: it is recommended. While "
"verification is mandatory for the server, it is not for the client: "
"`olcTLSVerifyClient: never`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1420
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1418
msgid ""
"The second section is about the backend modules and can be configured as "
"follows:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1436
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1434
#, no-wrap
msgid ""
"#\n"
"# Load dynamic backend modules:\n"
"#\n"
"dn: cn=module,cn=config\n"
"objectClass: olcModuleList\n"
"cn: module\n"
"olcModulepath:\t/usr/local/libexec/openldap\n"
"olcModuleload:\tback_mdb.la\n"
"#olcModuleload:\tback_bdb.la\n"
"#olcModuleload:\tback_hdb.la\n"
"#olcModuleload:\tback_ldap.la\n"
"#olcModuleload:\tback_passwd.la\n"
"#olcModuleload:\tback_shell.la\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1439
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1437
msgid ""
"The third section is devoted to load the needed `ldif` schemas to be used by "
"the databases: they are essential."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1445
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1443
#, no-wrap
msgid ""
"dn: cn=schema,cn=config\n"
"objectClass: olcSchemaConfig\n"
"cn: schema\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1450
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1448
#, no-wrap
msgid ""
"include: file:///usr/local/etc/openldap/schema/core.ldif\n"
"include: file:///usr/local/etc/openldap/schema/cosine.ldif\n"
"include: file:///usr/local/etc/openldap/schema/inetorgperson.ldif\n"
"include: file:///usr/local/etc/openldap/schema/nis.ldif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1453
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1451
msgid "Next, the frontend configuration section:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1487
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1485
#, no-wrap
msgid ""
"# Frontend settings\n"
"#\n"
"dn: olcDatabase={-1}frontend,cn=config\n"
"objectClass: olcDatabaseConfig\n"
"objectClass: olcFrontendConfig\n"
"olcDatabase: {-1}frontend\n"
"olcAccess: to * by * read\n"
"#\n"
"# Sample global access control policy:\n"
"#\tRoot DSE: allow anyone to read it\n"
"#\tSubschema (sub)entry DSE: allow anyone to read it\n"
"#\tOther DSEs:\n"
"#\t\tAllow self write access\n"
"#\t\tAllow authenticated users read access\n"
"#\t\tAllow anonymous users to authenticate\n"
"#\n"
"#olcAccess: to dn.base=\"\" by * read\n"
"#olcAccess: to dn.base=\"cn=Subschema\" by * read\n"
"#olcAccess: to *\n"
"#\tby self write\n"
"#\tby users read\n"
"#\tby anonymous auth\n"
"#\n"
"# if no access controls are present, the default policy\n"
"# allows anyone and everyone to read anything but restricts\n"
"# updates to rootdn. (e.g., \"access to * by * read\")\n"
"#\n"
"# rootdn can always read and write EVERYTHING!\n"
"#\n"
"olcPasswordHash: {SSHA}\n"
"# {SSHA} is already the default for olcPasswordHash\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1490
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1488
msgid ""
"Another section is devoted to the _configuration backend_, the only way to "
"later access the OpenLDAP server configuration is as a global super-user."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1498
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1496
#, no-wrap
msgid ""
"dn: olcDatabase={0}config,cn=config\n"
"objectClass: olcDatabaseConfig\n"
"olcDatabase: {0}config\n"
"olcAccess: to * by * none\n"
"olcRootPW: {SSHA}iae+lrQZILpiUdf16Z9KmDmSwT77Dj4U\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1503
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1501
msgid ""
"The default administrator username is `cn=config`. Type [."
"filename]#slappasswd# in a shell, choose a password and use its hash in "
"`olcRootPW`. If this option is not specified now, before [.filename]#slapd."
"ldif# is imported, no one will be later able to modify the _global "
"configuration_ section."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1505
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1503
msgid "The last section is about the database backend:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1529
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1527
#, no-wrap
msgid ""
"#######################################################################\n"
"# LMDB database definitions\n"
"#######################################################################\n"
"#\n"
"dn: olcDatabase=mdb,cn=config\n"
"objectClass: olcDatabaseConfig\n"
"objectClass: olcMdbConfig\n"
"olcDatabase: mdb\n"
"olcDbMaxSize: 1073741824\n"
"olcSuffix: dc=domain,dc=example\n"
"olcRootDN: cn=mdbadmin,dc=domain,dc=example\n"
"# Cleartext passwords, especially for the rootdn, should\n"
"# be avoided. See slappasswd(8) and slapd-config(5) for details.\n"
"# Use of strong authentication encouraged.\n"
"olcRootPW: {SSHA}X2wHvIWDk6G76CQyCMS1vDCvtICWgn0+\n"
"# The database directory MUST exist prior to running slapd AND\n"
"# should only be accessible by the slapd and slap tools.\n"
"# Mode 700 recommended.\n"
"olcDbDirectory:\t/var/db/openldap-data\n"
"# Indices to maintain\n"
"olcDbIndex: objectClass eq\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1534
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1532
msgid ""
"This database hosts the _actual contents_ of the LDAP directory. Types "
"other than `mdb` are available. Its super-user, not to be confused with the "
"global one, is configured here: a (possibly custom) username in `olcRootDN` "
"and the password hash in `olcRootPW`; [.filename]#slappasswd# can be used as "
"before."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1537
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1535
msgid ""
"This http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=tree;f=tests/"
"data/regressions/its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;"
"hb=HEAD[repository] contains four examples of [.filename]#slapd.ldif#. To "
"convert an existing [.filename]#slapd.conf# into [.filename]#slapd.ldif#, "
"refer to http://www.openldap.org/doc/admin24/slapdconf2.html[this page] "
"(please note that this may introduce some unuseful options)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1540
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1538
msgid ""
"When the configuration is completed, [.filename]#slapd.ldif# must be placed "
"in an empty directory. It is recommended to create it as:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1544
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1542
#, no-wrap
msgid "# mkdir /usr/local/etc/openldap/slapd.d/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1547
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1545
msgid "Import the configuration database:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1551
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1549
#, no-wrap
msgid "# /usr/local/sbin/slapadd -n0 -F /usr/local/etc/openldap/slapd.d/ -l /usr/local/etc/openldap/slapd.ldif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1554
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1552
msgid "Start the [.filename]#slapd# daemon:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1558
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1556
#, no-wrap
msgid "# /usr/local/libexec/slapd -F /usr/local/etc/openldap/slapd.d/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1562
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1560
msgid ""
"Option `-d` can be used for debugging, as specified in slapd(8). To verify "
"that the server is running and working:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1573
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1571
#, no-wrap
msgid ""
"# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts\n"
"# extended LDIF\n"
"#\n"
"# LDAPv3\n"
"# base <> with scope baseObject\n"
"# filter: (objectclass=*)\n"
"# requesting: namingContexts\n"
"#\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1577
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1575
#, no-wrap
msgid ""
"#\n"
"dn:\n"
"namingContexts: dc=domain,dc=example\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1589
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1587
msgid ""
"The server must still be trusted. If that has never been done before, "
"follow these instructions. Install the OpenSSL package or port:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1593
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1591
#, no-wrap
msgid "# pkg install openssl\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1596
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1594
msgid ""
"From the directory where [.filename]#ca.crt# is stored (in this example, [."
"filename]#/usr/local/etc/openldap#), run:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1600
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1598
#, no-wrap
msgid "# c_rehash .\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1604
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1602
msgid ""
"Both the CA and the server certificate are now correctly recognized in their "
"respective roles. To verify this, run this command from the [."
"filename]#server.crt# directory:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1608
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1606
#, no-wrap
msgid "# openssl verify -verbose -CApath . server.crt\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1612
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1610
msgid ""
"If [.filename]#slapd# was running, restart it. As stated in [.filename]#/"
"usr/local/etc/rc.d/slapd#, to properly run [.filename]#slapd# at boot the "
"following lines must be added to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1620
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1618
#, no-wrap
msgid ""
"slapd_enable=\"YES\"\n"
"slapd_flags='-h \"ldapi://%2fvar%2frun%2fopenldap%2fldapi/\n"
"ldap://0.0.0.0/\"'\n"
"slapd_sockets=\"/var/run/openldap/ldapi\"\n"
"slapd_cn_config=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1624
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1622
msgid ""
"[.filename]#slapd# does not provide debugging at boot. Check [.filename]#/"
"var/log/debug.log#, [.filename]#dmesg -a# and [.filename]#/var/log/messages# "
"for this purpose."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1627
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1625
msgid ""
"The following example adds the group `team` and the user `john` to the "
"`domain.example` LDAP database, which is still empty. First, create the "
"file [.filename]#domain.ldif#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1636
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1634
#, no-wrap
msgid ""
"# cat domain.ldif\n"
"dn: dc=domain,dc=example\n"
"objectClass: dcObject\n"
"objectClass: organization\n"
"o: domain.example\n"
"dc: domain\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1641
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1639
#, no-wrap
msgid ""
"dn: ou=groups,dc=domain,dc=example\n"
"objectClass: top\n"
"objectClass: organizationalunit\n"
"ou: groups\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1646
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1644
#, no-wrap
msgid ""
"dn: ou=users,dc=domain,dc=example\n"
"objectClass: top\n"
"objectClass: organizationalunit\n"
"ou: users\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1652
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1650
#, no-wrap
msgid ""
"dn: cn=team,ou=groups,dc=domain,dc=example\n"
"objectClass: top\n"
"objectClass: posixGroup\n"
"cn: team\n"
"gidNumber: 10001\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1665
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1663
#, no-wrap
msgid ""
"dn: uid=john,ou=users,dc=domain,dc=example\n"
"objectClass: top\n"
"objectClass: account\n"
"objectClass: posixAccount\n"
"objectClass: shadowAccount\n"
"cn: John McUser\n"
"uid: john\n"
"uidNumber: 10001\n"
"gidNumber: 10001\n"
"homeDirectory: /home/john/\n"
"loginShell: /usr/bin/bash\n"
"userPassword: secret\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1671
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1669
msgid ""
"See the OpenLDAP documentation for more details. Use [."
"filename]#slappasswd# to replace the plain text password `secret` with a "
"hash in `userPassword`. The path specified as `loginShell` must exist in "
"all the systems where `john` is allowed to login. Finally, use the `mdb` "
"administrator to modify the database:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1675
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1673
#, no-wrap
msgid "# ldapadd -W -D \"cn=mdbadmin,dc=domain,dc=example\" -f domain.ldif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1680
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1678
msgid ""
"Modifications to the _global configuration_ section can only be performed by "
"the global super-user. For example, assume that the option "
"`olcTLSCipherSuite: HIGH:MEDIUM:SSLv3` was initially specified and must now "
"be deleted. First, create a file that contains the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1687
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1685
#, no-wrap
msgid ""
"# cat global_mod\n"
"dn: cn=config\n"
"changetype: modify\n"
"delete: olcTLSCipherSuite\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1690
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1688
msgid "Then, apply the modifications:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1694
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1692
#, no-wrap
msgid "# ldapmodify -f global_mod -x -D \"cn=config\" -W\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1699
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1697
msgid ""
"When asked, provide the password chosen in the _configuration backend_ "
"section. The username is not required: here, `cn=config` represents the DN "
"of the database section to be modified. Alternatively, use `ldapmodify` to "
"delete a single line of the database, `ldapdelete` to delete a whole entry."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1701
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1699
msgid ""
"If something goes wrong, or if the global super-user cannot access the "
"configuration backend, it is possible to delete and re-write the whole "
"configuration:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1705
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1703
#, no-wrap
msgid "# rm -rf /usr/local/etc/openldap/slapd.d/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1709
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1707
msgid ""
"[.filename]#slapd.ldif# can then be edited and imported again. Please, "
"follow this procedure only when no other solution is available."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1712
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1710
msgid ""
"This is the configuration of the server only. The same machine can also "
"host an LDAP client, with its own separate configuration."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1714
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1712
#, no-wrap
msgid "Dynamic Host Configuration Protocol (DHCP)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1721
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1719
msgid ""
"The Dynamic Host Configuration Protocol (DHCP) allows a system to connect to "
"a network in order to be assigned the necessary addressing information for "
"communication on that network. FreeBSD includes the OpenBSD version of "
"`dhclient` which is used by the client to obtain the addressing "
"information. FreeBSD does not install a DHCP server, but several servers "
"are available in the FreeBSD Ports Collection. The DHCP protocol is fully "
"described in http://www.freesoft.org/CIE/RFC/2131/[RFC 2131]. Informational "
"resources are also available at http://www.isc.org/downloads/dhcp/[isc.org/"
"downloads/dhcp/]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1724
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1722
msgid ""
"This section describes how to use the built-in DHCP client. It then "
"describes how to install and configure a DHCP server."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1730
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1728
msgid ""
"In FreeBSD, the man:bpf[4] device is needed by both the DHCP server and DHCP "
"client. This device is included in the [.filename]#GENERIC# kernel that is "
"installed with FreeBSD. Users who prefer to create a custom kernel need to "
"keep this device if DHCP is used."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1732
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1730
msgid ""
"It should be noted that [.filename]#bpf# also allows privileged users to run "
"network packet sniffers on that system."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1735
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1733
#, no-wrap
msgid "Configuring a DHCP Client"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1739
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1737
msgid ""
"DHCP client support is included in the FreeBSD installer, making it easy to "
"configure a newly installed system to automatically receive its networking "
"addressing information from an existing DHCP server. Refer to crossref:"
"bsdinstall[bsdinstall-post,\"Accounts, Time Zone, Services and Hardening\"] "
"for examples of network configuration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1747
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1745
msgid ""
"When `dhclient` is executed on the client machine, it begins broadcasting "
"requests for configuration information. By default, these requests use UDP "
"port 68. The server replies on UDP port 67, giving the client an IP address "
"and other relevant network information such as a subnet mask, default "
"gateway, and DNS server addresses. This information is in the form of a "
"DHCP \"lease\" and is valid for a configurable time. This allows stale IP "
"addresses for clients no longer connected to the network to automatically be "
"reused. DHCP clients can obtain a great deal of information from the "
"server. An exhaustive list may be found in man:dhcp-options[5]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1750
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1748
msgid ""
"By default, when a FreeBSD system boots, its DHCP client runs in the "
"background, or _asynchronously_. Other startup scripts continue to run "
"while the DHCP process completes, which speeds up system startup."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1755
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1753
msgid ""
"Background DHCP works well when the DHCP server responds quickly to the "
"client's requests. However, DHCP may take a long time to complete on some "
"systems. If network services attempt to run before DHCP has assigned the "
"network addressing information, they will fail. Using DHCP in _synchronous_ "
"mode prevents this problem as it pauses startup until the DHCP configuration "
"has completed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1757
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1755
msgid ""
"This line in [.filename]#/etc/rc.conf# is used to configure background or "
"asynchronous mode:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1761
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1759
#, no-wrap
msgid "ifconfig_fxp0=\"DHCP\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1765
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1763
msgid ""
"This line may already exist if the system was configured to use DHCP during "
"installation. Replace the _fxp0_ shown in these examples with the name of "
"the interface to be dynamically configured, as described in crossref:"
"config[config-network-setup,“Setting Up Network Interface Cards”]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1767
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1765
msgid ""
"To instead configure the system to use synchronous mode, and to pause during "
"startup while DHCP completes, use \"`SYNCDHCP`\":"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1771
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1769
#, no-wrap
msgid "ifconfig_fxp0=\"SYNCDHCP\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1775
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1773
msgid ""
"Additional client options are available. Search for `dhclient` in man:rc."
"conf[5] for details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1777
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1775
msgid "The DHCP client uses the following files:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1779
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1777
msgid "[.filename]#/etc/dhclient.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1783
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1781
msgid ""
"The configuration file used by `dhclient`. Typically, this file contains "
"only comments as the defaults are suitable for most clients. This "
"configuration file is described in man:dhclient.conf[5]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1784
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1782
msgid "[.filename]#/sbin/dhclient#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1786
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1784
msgid ""
"More information about the command itself can be found in man:dhclient[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1787
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1785
msgid "[.filename]#/sbin/dhclient-script#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1790
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1788
msgid ""
"The FreeBSD-specific DHCP client configuration script. It is described in "
"man:dhclient-script[8], but should not need any user modification to "
"function properly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1791
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1789
msgid "[.filename]#/var/db/dhclient.leases.interface#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1793
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1791
msgid ""
"The DHCP client keeps a database of valid leases in this file, which is "
"written as a log and is described in man:dhclient.leases[5]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1796
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1794
#, no-wrap
msgid "Installing and Configuring a DHCP Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1800
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1798
msgid ""
"This section demonstrates how to configure a FreeBSD system to act as a DHCP "
"server using the Internet Systems Consortium (ISC) implementation of the "
"DHCP server. This implementation and its documentation can be installed "
"using the package:net/isc-dhcp44-server[] package or port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1803
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1801
msgid ""
"The installation of package:net/isc-dhcp44-server[] installs a sample "
"configuration file. Copy [.filename]#/usr/local/etc/dhcpd.conf.example# to "
"[.filename]#/usr/local/etc/dhcpd.conf# and make any edits to this new file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1806
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1804
msgid ""
"The configuration file is comprised of declarations for subnets and hosts "
"which define the information that is provided to DHCP clients. For example, "
"these lines configure the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1812
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1810
#, no-wrap
msgid ""
"option domain-name \"example.org\";<.>\n"
"option domain-name-servers ns1.example.org;<.>\n"
"option subnet-mask 255.255.255.0;<.>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1816
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1814
#, no-wrap
msgid ""
"default-lease-time 600;<.>\n"
"max-lease-time 72400;<.>\n"
"ddns-update-style none;<.>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1821
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1819
#, no-wrap
msgid ""
"subnet 10.254.239.0 netmask 255.255.255.224 {\n"
" range 10.254.239.10 10.254.239.20;<.>\n"
" option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;<.>\n"
"}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1826
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1824
#, no-wrap
msgid ""
"host fantasia {\n"
" hardware ethernet 08:00:07:26:c0:a5;<.>\n"
" fixed-address fantasia.fugue.com;<.>\n"
"}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1829
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1827
msgid ""
"This option specifies the default search domain that will be provided to "
"clients. Refer to man:resolv.conf[5] for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1830
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1828
msgid ""
"This option specifies a comma separated list of DNS servers that the client "
"should use. They can be listed by their Fully Qualified Domain Names (FQDN), "
"as seen in the example, or by their IP addresses."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1831
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1829
msgid "The subnet mask that will be provided to clients."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1832
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1830
msgid ""
"The default lease expiry time in seconds. A client can be configured to "
"override this value."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1833
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1831
msgid ""
"The maximum allowed length of time, in seconds, for a lease. Should a client "
"request a longer lease, a lease will still be issued, but it will only be "
"valid for `max-lease-time`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1834
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1832
msgid ""
"The default of `none` disables dynamic DNS updates. Changing this to "
"`interim` configures the DHCP server to update a DNS server whenever it "
"hands out a lease so that the DNS server knows which IP addresses are "
"associated with which computers in the network. Do not change the default "
"setting unless the DNS server has been configured to support dynamic DNS."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1835
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1833
msgid ""
"This line creates a pool of available IP addresses which are reserved for "
"allocation to DHCP clients. The range of addresses must be valid for the "
"network or subnet specified in the previous line."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1836
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1834
msgid ""
"Declares the default gateway that is valid for the network or subnet "
"specified before the opening `{` bracket."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1837
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1835
msgid ""
"Specifies the hardware MAC address of a client so that the DHCP server can "
"recognize the client when it makes a request."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1838
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1836
msgid ""
"Specifies that this host should always be given the same IP address. Using "
"the hostname is correct, since the DHCP server will resolve the hostname "
"before returning the lease information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1841
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1839
msgid ""
"This configuration file supports many more options. Refer to dhcpd.conf(5), "
"installed with the server, for details and examples."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1843
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1841
msgid ""
"Once the configuration of [.filename]#dhcpd.conf# is complete, enable the "
"DHCP server in [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1848
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1846
#, no-wrap
msgid ""
"dhcpd_enable=\"YES\"\n"
"dhcpd_ifaces=\"dc0\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1851
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1849
msgid ""
"Replace the `dc0` with the interface (or interfaces, separated by "
"whitespace) that the DHCP server should listen on for DHCP client requests."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1853
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1851
msgid "Start the server by issuing the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1857
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1855
#, no-wrap
msgid "# service isc-dhcpd start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1860
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1858
msgid ""
"Any future changes to the configuration of the server will require the dhcpd "
"service to be stopped and then started using man:service[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1863
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1861
msgid ""
"The DHCP server uses the following files. Note that the manual pages are "
"installed with the server software."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1865
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1863
msgid "[.filename]#/usr/local/sbin/dhcpd#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1867
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1865
msgid "More information about the dhcpd server can be found in dhcpd(8)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1868
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1866
msgid "[.filename]#/usr/local/etc/dhcpd.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1871
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1869
msgid ""
"The server configuration file needs to contain all the information that "
"should be provided to clients, along with information regarding the "
"operation of the server. This configuration file is described in dhcpd."
"conf(5)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1872
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1870
msgid "[.filename]#/var/db/dhcpd.leases#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1875
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1873
msgid ""
"The DHCP server keeps a database of leases it has issued in this file, which "
"is written as a log. Refer to dhcpd.leases(5), which gives a slightly "
"longer description."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1876
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1874
msgid "[.filename]#/usr/local/sbin/dhcrelay#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1880
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1878
msgid ""
"This daemon is used in advanced environments where one DHCP server forwards "
"a request from a client to another DHCP server on a separate network. If "
"this functionality is required, install the package:net/isc-dhcp44-relay[] "
"package or port. The installation includes dhcrelay(8) which provides more "
"detail."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1883
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1881
#, no-wrap
msgid "Domain Name System (DNS)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1888
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1886
msgid ""
"Domain Name System (DNS) is the protocol through which domain names are "
"mapped to IP addresses, and vice versa. DNS is coordinated across the "
"Internet through a somewhat complex system of authoritative root, Top Level "
"Domain (TLD), and other smaller-scale name servers, which host and cache "
"individual domain information. It is not necessary to run a name server to "
"perform DNS lookups on a system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1890
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1888
msgid "The following table describes some of the terms associated with DNS:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1891
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1889
#, no-wrap
msgid "DNS Terminology"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1897
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1895
#, no-wrap
msgid "Definition"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1898
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1896
#, no-wrap
msgid "Forward DNS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1900
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1898
#, no-wrap
msgid "Mapping of hostnames to IP addresses."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1901
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1899
#, no-wrap
msgid "Origin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1903
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1901
#, no-wrap
msgid "Refers to the domain covered in a particular zone file."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1904
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1902
#, no-wrap
msgid "Resolver"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1906
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1904
#, no-wrap
msgid "A system process through which a machine queries a name server for zone information."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1907
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1905
#, no-wrap
msgid "Reverse DNS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1909
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1907
#, no-wrap
msgid "Mapping of IP addresses to hostnames."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1910
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1908
#, no-wrap
msgid "Root zone"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1912
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1910
#, no-wrap
msgid "The beginning of the Internet zone hierarchy. All zones fall under the root zone, similar to how all files in a file system fall under the root directory."
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1913
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1911
#, no-wrap
msgid "Zone"
msgstr ""
#. type: Table
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1914
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1912
#, no-wrap
msgid "An individual domain, subdomain, or portion of the DNS administered by the same authority."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1917
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1915
msgid "Examples of zones:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1919
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1917
msgid "`.` is how the root zone is usually referred to in documentation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1920
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1918
msgid "`org.` is a Top Level Domain (TLD) under the root zone."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1921
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1919
msgid "`example.org.` is a zone under the `org.`TLD."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1922
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1920
msgid ""
"`1.168.192.in-addr.arpa` is a zone referencing all IP addresses which fall "
"under the `192.168.1.*`IP address space."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1926
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1924
msgid ""
"As one can see, the more specific part of a hostname appears to its left. "
"For example, `example.org.` is more specific than `org.`, as `org.` is more "
"specific than the root zone. The layout of each part of a hostname is much "
"like a file system: the [.filename]#/dev# directory falls within the root, "
"and so on."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1927
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1925
#, no-wrap
msgid "Reasons to Run a Name Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1930
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1928
msgid ""
"Name servers generally come in two forms: authoritative name servers, and "
"caching (also known as resolving) name servers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1932
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1930
msgid "An authoritative name server is needed when:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1934
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1932
msgid ""
"One wants to serve DNS information to the world, replying authoritatively to "
"queries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1935
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1933
msgid ""
"A domain, such as `example.org`, is registered and IP addresses need to be "
"assigned to hostnames under it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1936
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1934
msgid "An IP address block requires reverse DNS entries (IP to hostname)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1937
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1935
msgid "A backup or second name server, called a slave, will reply to queries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1939
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1937
msgid "A caching name server is needed when:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1941
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1939
msgid ""
"A local DNS server may cache and respond more quickly than querying an "
"outside name server."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1945
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1943
msgid ""
"When one queries for `www.FreeBSD.org`, the resolver usually queries the "
"uplink ISP's name server, and retrieves the reply. With a local, caching "
"DNS server, the query only has to be made once to the outside world by the "
"caching DNS server. Additional queries will not have to go outside the "
"local network, since the information is cached locally."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1946
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1944
#, no-wrap
msgid "DNS Server Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1951
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1949
msgid ""
"Unbound is provided in the FreeBSD base system. By default, it will provide "
"DNS resolution to the local machine only. While the base system package can "
"be configured to provide resolution services beyond the local machine, it is "
"recommended that such requirements be addressed by installing Unbound from "
"the FreeBSD Ports Collection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1953
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1951
msgid "To enable Unbound, add the following to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1957
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1955
#, no-wrap
msgid "local_unbound_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1960
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1958
msgid ""
"Any existing nameservers in [.filename]#/etc/resolv.conf# will be configured "
"as forwarders in the new Unbound configuration."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1966
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1964
msgid ""
"If any of the listed nameservers do not support DNSSEC, local DNS resolution "
"will fail. Be sure to test each nameserver and remove any that fail the "
"test. The following command will show the trust tree or a failure for a "
"nameserver running on `192.168.1.1`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1970
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1968
#, no-wrap
msgid "% drill -S FreeBSD.org @192.168.1.1\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1974
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1972
msgid "Once each nameserver is confirmed to support DNSSEC, start Unbound:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1978
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1976
#, no-wrap
msgid "# service local_unbound onestart\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1982
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1980
msgid ""
"This will take care of updating [.filename]#/etc/resolv.conf# so that "
"queries for DNSSEC secured domains will now work. For example, run the "
"following to validate the FreeBSD.org DNSSEC trust tree:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:1988
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:1986
#, no-wrap
msgid ""
"% drill -S FreeBSD.org\n"
";; Number of trusted keys: 1\n"
";; Chasing: freebsd.org. A\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2004
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2002
#, no-wrap
msgid ""
"DNSSEC Trust tree:\n"
"freebsd.org. (A)\n"
"|---freebsd.org. (DNSKEY keytag: 36786 alg: 8 flags: 256)\n"
" |---freebsd.org. (DNSKEY keytag: 32659 alg: 8 flags: 257)\n"
" |---freebsd.org. (DS keytag: 32659 digest type: 2)\n"
" |---org. (DNSKEY keytag: 49587 alg: 7 flags: 256)\n"
" |---org. (DNSKEY keytag: 9795 alg: 7 flags: 257)\n"
" |---org. (DNSKEY keytag: 21366 alg: 7 flags: 257)\n"
" |---org. (DS keytag: 21366 digest type: 1)\n"
" | |---. (DNSKEY keytag: 40926 alg: 8 flags: 256)\n"
" | |---. (DNSKEY keytag: 19036 alg: 8 flags: 257)\n"
" |---org. (DS keytag: 21366 digest type: 2)\n"
" |---. (DNSKEY keytag: 40926 alg: 8 flags: 256)\n"
" |---. (DNSKEY keytag: 19036 alg: 8 flags: 257)\n"
";; Chase successful\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2008
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2006
#, no-wrap
msgid "Apache HTTP Server"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2012
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2010
msgid ""
"The open source Apache HTTP Server is the most widely used web server. "
"FreeBSD does not install this web server by default, but it can be installed "
"from the package:www/apache24[] package or port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2015
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2013
msgid ""
"This section summarizes how to configure and start version 2._x_ of the "
"Apache HTTP Server on FreeBSD. For more detailed information about Apache 2."
"X and its configuration directives, refer to http://httpd.apache.org/[httpd."
"apache.org]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2016
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2014
#, no-wrap
msgid "Configuring and Starting Apache"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2021
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2019
msgid ""
"In FreeBSD, the main Apache HTTP Server configuration file is installed as [."
"filename]#/usr/local/etc/apache2x/httpd.conf#, where _x_ represents the "
"version number. This ASCII text file begins comment lines with a `+#+`. "
"The most frequently modified directives are:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2022
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2020
#, no-wrap
msgid "`ServerRoot \"/usr/local\"`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2025
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2023
msgid ""
"Specifies the default directory hierarchy for the Apache installation. "
"Binaries are stored in the [.filename]#bin# and [.filename]#sbin# "
"subdirectories of the server root and configuration files are stored in the "
"[.filename]#etc/apache2x# subdirectory."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2026
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2024
#, no-wrap
msgid "`ServerAdmin you@example.com`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2029
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2027
msgid ""
"Change this to the email address to receive problems with the server. This "
"address also appears on some server-generated pages, such as error documents."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2030
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2028
#, no-wrap
msgid "`ServerName www.example.com:80`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2035
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2033
msgid ""
"Allows an administrator to set a hostname which is sent back to clients for "
"the server. For example, `www` can be used instead of the actual hostname. "
"If the system does not have a registered DNS name, enter its IP address "
"instead. If the server will listen on an alternate report, change `80` to "
"the alternate port number."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2036
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2034
#, no-wrap
msgid "`DocumentRoot \"/usr/local/www/apache2_x_/data\"`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2039
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2037
msgid ""
"The directory where documents will be served from. By default, all requests "
"are taken from this directory, but symbolic links and aliases may be used to "
"point to other locations."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2043
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2041
msgid ""
"It is always a good idea to make a backup copy of the default Apache "
"configuration file before making changes. When the configuration of Apache "
"is complete, save the file and verify the configuration using `apachectl`. "
"Running `apachectl configtest` should return `Syntax OK`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2045
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2043
msgid ""
"To launch Apache at system startup, add the following line to [.filename]#/"
"etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2049
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2047
#, no-wrap
msgid "apache24_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2052
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2050
msgid ""
"If Apache should be started with non-default options, the following line may "
"be added to [.filename]#/etc/rc.conf# to specify the needed flags:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2056
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2054
#, no-wrap
msgid "apache24_flags=\"\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2059
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2057
msgid "If apachectl does not report configuration errors, start `httpd` now:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2063
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2061
#, no-wrap
msgid "# service apache24 start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2067
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2065
msgid ""
"The `httpd` service can be tested by entering `http://_localhost_` in a web "
"browser, replacing _localhost_ with the fully-qualified domain name of the "
"machine running `httpd`. The default web page that is displayed is [."
"filename]#/usr/local/www/apache24/data/index.html#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2069
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2067
msgid ""
"The Apache configuration can be tested for errors after making subsequent "
"configuration changes while `httpd` is running using the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2073
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2071
#, no-wrap
msgid "# service apache24 configtest\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2078
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2076
msgid ""
"It is important to note that `configtest` is not an man:rc[8] standard, and "
"should not be expected to work for all startup scripts."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2080
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2078
#, no-wrap
msgid "Virtual Hosting"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2086
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2084
msgid ""
"Virtual hosting allows multiple websites to run on one Apache server. The "
"virtual hosts can be _IP-based_ or _name-based_. IP-based virtual hosting "
"uses a different IP address for each website. Name-based virtual hosting "
"uses the clients HTTP/1.1 headers to figure out the hostname, which allows "
"the websites to share the same IP address."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2089
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2087
msgid ""
"To setup Apache to use name-based virtual hosting, add a `VirtualHost` block "
"for each website. For example, for the webserver named `www.domain.tld` "
"with a virtual domain of `www.someotherdomain.tld`, add the following "
"entries to [.filename]#httpd.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2096
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2094
#, no-wrap
msgid ""
"<VirtualHost *>\n"
" ServerName www.domain.tld\n"
" DocumentRoot /www/domain.tld\n"
"</VirtualHost>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2101
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2099
#, no-wrap
msgid ""
"<VirtualHost *>\n"
" ServerName www.someotherdomain.tld\n"
" DocumentRoot /www/someotherdomain.tld\n"
"</VirtualHost>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2104
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2102
msgid ""
"For each virtual host, replace the values for `ServerName` and "
"`DocumentRoot` with the values to be used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2106
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2104
msgid ""
"For more information about setting up virtual hosts, consult the official "
"Apache documentation at: http://httpd.apache.org/docs/vhosts/[http://httpd."
"apache.org/docs/vhosts/]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2107
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2105
#, no-wrap
msgid "Apache Modules"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2111
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2109
msgid ""
"Apache uses modules to augment the functionality provided by the basic "
"server. Refer to http://httpd.apache.org/docs/current/mod/[http://httpd."
"apache.org/docs/current/mod/] for a complete listing of and the "
"configuration details for the available modules."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2116
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2114
msgid ""
"In FreeBSD, some modules can be compiled with the package:www/apache24[] "
"port. Type `make config` within [.filename]#/usr/ports/www/apache24# to see "
"which modules are available and which are enabled by default. If the module "
"is not compiled with the port, the FreeBSD Ports Collection provides an easy "
"way to install many modules. This section describes three of the most "
"commonly used modules."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2117
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2115
#, no-wrap
msgid "SSL support"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2124
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2122
msgid ""
"At one in point in time, support for SSL inside of Apache required a "
"secondary module called [.filename]#mod_ssl#. This is no longer the case "
"and the default install of Apache comes with SSL built into the web server. "
"An example of how to enable support for SSL websites is available in the "
"installed file, [.filename]#httpd-ssl.conf# inside of the [.filename]#/usr/"
"local/etc/apache24/extra# directory Inside this directory is also a sample "
"file called named [.filename]#ssl.conf-sample#. It is recommended that both "
"files be evaluated to properly set up secure websites in the Apache web "
"server."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2126
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2124
msgid ""
"After the configuration of SSL is complete, the following line must be "
"uncommented in the main [.filename]#http.conf# to activate the changes on "
"the next restart or reload of Apache:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2130
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2128
#, no-wrap
msgid "#Include etc/apache24/extra/httpd-ssl.conf\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2137
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2135
msgid ""
"SSL version two and version three have known vulnerability issues. It is "
"highly recommended TLS version 1.2 and 1.3 be enabled in place of the older "
"SSL options. This can be accomplished by setting the following options in "
"the [.filename]#ssl.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2144
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2142
#, no-wrap
msgid ""
"SSLProtocol all -SSLv3 -SSLv2 +TLSv1.2 +TLSv1.3\n"
"SSLProxyProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2147
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2145
msgid ""
"To complete the configuration of SSL in the web server, uncomment the "
"following line to ensure that the configuration will be pulled into Apache "
"during restart or reload:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2152
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2150
#, no-wrap
msgid ""
"# Secure (SSL/TLS) connections\n"
"Include etc/apache24/extra/httpd-ssl.conf\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2155
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2153
msgid ""
"The following lines must also be uncommented in the [.filename]#httpd.conf# "
"to fully support SSL in Apache:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2161
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2159
#, no-wrap
msgid ""
"LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so\n"
"LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so\n"
"LoadModule ssl_module libexec/apache24/mod_ssl.so\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2165
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2163
msgid ""
"The next step is to work with a certificate authority to have the "
"appropriate certificates installed on the system. This will set up a chain "
"of trust for the site and prevent any warnings of self-signed certificates."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2166
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2164
#, no-wrap
msgid "[.filename]#mod_perl#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2170
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2168
msgid ""
"The [.filename]#mod_perl# module makes it possible to write Apache modules "
"in Perl. In addition, the persistent interpreter embedded in the server "
"avoids the overhead of starting an external interpreter and the penalty of "
"Perl start-up time."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2173
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2171
msgid ""
"The [.filename]#mod_perl# can be installed using the package:www/mod_perl2[] "
"package or port. Documentation for using this module can be found at http://"
"perl.apache.org/docs/2.0/index.html[http://perl.apache.org/docs/2.0/index."
"html]."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2174
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2172
#, no-wrap
msgid "[.filename]#mod_php#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2178
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2176
msgid ""
"_PHP: Hypertext Preprocessor_ (PHP) is a general-purpose scripting language "
"that is especially suited for web development. Capable of being embedded "
"into HTML, its syntax draws upon C, Java(TM), and Perl with the intention of "
"allowing web developers to write dynamically generated webpages quickly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2180
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2178
msgid ""
"Support for PHP for Apache and any other feature written in the language, "
"can be added by installing the appropriate port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2182
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2180
msgid "For all supported versions, search the package database using `pkg`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2186
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2184
#, no-wrap
msgid "# pkg search php\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2191
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2189
msgid ""
"A list will be displayed including the versions and additional features they "
"provide. The components are completely modular, meaning features are "
"enabled by installing the appropriate port. To install PHP version 7.4 for "
"Apache, issue the following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2195
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2193
#, no-wrap
msgid "# pkg install mod_php74\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2198
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2196
msgid ""
"If any dependency packages need to be installed, they will be installed as "
"well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2201
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2199
msgid ""
"By default, PHP will not be enabled. The following lines will need to be "
"added to the Apache configuration file located in [.filename]#/usr/local/etc/"
"apache24# to make it active:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2210
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2208
#, no-wrap
msgid ""
"<FilesMatch \"\\.php$\">\n"
" SetHandler application/x-httpd-php\n"
"</FilesMatch>\n"
"<FilesMatch \"\\.phps$\">\n"
" SetHandler application/x-httpd-php-source\n"
"</FilesMatch>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2213
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2211
msgid ""
"In addition, the `DirectoryIndex` in the configuration file will also need "
"to be updated and Apache will either need to be restarted or reloaded for "
"the changes to take effect."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2216
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2214
msgid ""
"Support for many of the PHP features may also be installed by using `pkg`. "
"For example, to install support for XML or SSL, install their respective "
"ports:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2220
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2218
#, no-wrap
msgid "# pkg install php74-xml php74-openssl\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2223
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2221
msgid ""
"As before, the Apache configuration will need to be reloaded for the changes "
"to take effect, even in cases where it was just a module install."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2225
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2223
msgid ""
"To perform a graceful restart to reload the configuration, issue the "
"following command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2229
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2227
#, no-wrap
msgid "# apachectl graceful\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2233
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2231
msgid ""
"Once the install is complete, there are two methods of obtaining the "
"installed PHP support modules and the environmental information of the "
"build. The first is to install the full PHP binary and running the command "
"to gain the information:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2237
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2235
#, no-wrap
msgid "# pkg install php74\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2243
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2241
#, no-wrap
msgid "# php -i |less\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2246
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2244
msgid ""
"It is necessary to pass the output to a pager, such as the `more` or `less` "
"to easier digest the amount of output."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2250
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2248
msgid ""
"Finally, to make any changes to the global configuration of PHP there is a "
"well documented file installed into [.filename]#/usr/local/etc/php.ini#. At "
"the time of install, this file will not exist because there are two versions "
"to choose from, one is [.filename]#php.ini-development# and the other is [."
"filename]#php.ini-production#. These are starting points to assist "
"administrators in their deployment."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2251
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2249
#, no-wrap
msgid "HTTP2 Support"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2256
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2254
msgid ""
"Apache support for the HTTP2 protocol is included by default when installing "
"the port with `pkg`. The new version of HTTP includes many improvements "
"over the previous version, including utilizing a single connection to a "
"website, reducing overall roundtrips of TCP connections. Also, packet "
"header data is compressed and HTTP2 requires encryption by default."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2259
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2257
msgid ""
"When Apache is configured to only use HTTP2, web browsers will require "
"secure, encrypted HTTPS connections. When Apache is configured to use both "
"versions, HTTP1.1 will be considered a fall back option if any issues arise "
"during the connection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2262
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2260
msgid ""
"While this change does require administrators to make changes, they are "
"positive and equate to a more secure Internet for everyone. The changes are "
"only required for sites not currently implementing SSL and TLS."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2267
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2265
msgid ""
"This configuration depends on the previous sections, including TLS support. "
"It is recommended those instructions be followed before continuing with this "
"configuration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2270
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2268
msgid ""
"Start the process by enabling the http2 module by uncommenting the line in [."
"filename]#/usr/local/etc/apache24/httpd.conf# and replace the mpm_prefork "
"module with mpm_event as the former does not support HTTP2."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2275
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2273
#, no-wrap
msgid ""
"LoadModule http2_module libexec/apache24/mod_http2.so\n"
"LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2283
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2281
msgid ""
"There is a separate [.filename]#mod_http2# port that is available. It "
"exists to deliver security and bug fixes quicker than the module installed "
"with the bundled [.filename]#apache24# port. It is not required for HTTP2 "
"support but is available. When installed, the [.filename]#mod_h2.so# should "
"be used in place of [.filename]#mod_http2.so# in the Apache configuration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2287
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2285
msgid ""
"There are two methods to implement HTTP2 in Apache; one way is globally for "
"all sites and each VirtualHost running on the system. To enable HTTP2 "
"globally, add the following line under the ServerName directive:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2291
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2289
#, no-wrap
msgid "Protocols h2 http/1.1\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2296
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2294
msgid ""
"To enable HTTP2 over plaintext, use h2h2chttp/1.1 in the [.filename]#httpd."
"conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2300
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2298
msgid ""
"Having the h2c here will allow plaintext HTTP2 data to pass on the system "
"but is not recommended. In addition, using the http/1.1 here will allow "
"fallback to the HTTP1.1 version of the protocol should it be needed by the "
"system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2302
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2300
msgid ""
"To enable HTTP2 for individual VirtualHosts, add the same line within the "
"VirtualHost directive in either [.filename]#httpd.conf# or [.filename]#httpd-"
"ssl.conf#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2304
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2302
msgid ""
"Reload the configuration using the `apachectl`[parameter]#reload# command "
"and test the configuration either by using either of the following methods "
"after visiting one of the hosted pages:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2308
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2306
#, no-wrap
msgid "# grep \"HTTP/2.0\" /var/log/httpd-access.log\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2311
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2309
msgid "This should return something similar to the following:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2318
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2316
#, no-wrap
msgid ""
"192.168.1.205 - - [18/Oct/2020:18:34:36 -0400] \"GET / HTTP/2.0\" 304 -\n"
"192.0.2.205 - - [18/Oct/2020:19:19:57 -0400] \"GET / HTTP/2.0\" 304 -\n"
"192.0.0.205 - - [18/Oct/2020:19:20:52 -0400] \"GET / HTTP/2.0\" 304 -\n"
"192.0.2.205 - - [18/Oct/2020:19:23:10 -0400] \"GET / HTTP/2.0\" 304 -\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2321
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2319
msgid ""
"The other method is using the web browser's built in site debugger or "
"`tcpdump`; however, using either method is beyond the scope of this document."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2324
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2322
msgid ""
"Support for HTTP2 reverse proxy connections by using the [."
"filename]#mod_proxy_http2.so# module. When configuring the ProxyPass or "
"RewriteRules [P] statements, they should use h2:// for the connection."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2325
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2323
#, no-wrap
msgid "Dynamic Websites"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2329
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2327
msgid ""
"In addition to mod_perl and mod_php, other languages are available for "
"creating dynamic web content. These include Django and Ruby on Rails."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2330
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2328
#, no-wrap
msgid "Django"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2336
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2334
msgid ""
"Django is a BSD-licensed framework designed to allow developers to write "
"high performance, elegant web applications quickly. It provides an object-"
"relational mapper so that data types are developed as Python objects. A "
"rich dynamic database-access API is provided for those objects without the "
"developer ever having to write SQL. It also provides an extensible template "
"system so that the logic of the application is separated from the HTML "
"presentation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2340
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2338
msgid ""
"Django depends on [.filename]#mod_python#, and an SQL database engine. In "
"FreeBSD, the package:www/py-django[] port automatically installs [."
"filename]#mod_python# and supports the PostgreSQL, MySQL, or SQLite "
"databases, with the default being SQLite. To change the database engine, "
"type `make config` within [.filename]#/usr/ports/www/py-django#, then "
"install the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2343
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2341
msgid ""
"Once Django is installed, the application will need a project directory "
"along with the Apache configuration in order to use the embedded Python "
"interpreter. This interpreter is used to call the application for specific "
"URLs on the site."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2345
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2343
msgid ""
"To configure Apache to pass requests for certain URLs to the web "
"application, add the following to [.filename]#httpd.conf#, specifying the "
"full path to the project directory:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2356
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2354
#, no-wrap
msgid ""
"<Location \"/\">\n"
" SetHandler python-program\n"
" PythonPath \"['/dir/to/the/django/packages/'] + sys.path\"\n"
" PythonHandler django.core.handlers.modpython\n"
" SetEnv DJANGO_SETTINGS_MODULE mysite.settings\n"
" PythonAutoReload On\n"
" PythonDebug On\n"
"</Location>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2359
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2357
msgid ""
"Refer to https://docs.djangoproject.com[https://docs.djangoproject.com] for "
"more information on how to use Django."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2360
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2358
#, no-wrap
msgid "Ruby on Rails"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2365
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2363
msgid ""
"Ruby on Rails is another open source web framework that provides a full "
"development stack. It is optimized to make web developers more productive "
"and capable of writing powerful applications quickly. On FreeBSD, it can be "
"installed using the package:www/rubygem-rails[] package or port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2367
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2365
msgid ""
"Refer to http://guides.rubyonrails.org[http://guides.rubyonrails.org] for "
"more information on how to use Ruby on Rails."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2369
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2367
#, no-wrap
msgid "File Transfer Protocol (FTP)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2373
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2371
msgid ""
"The File Transfer Protocol (FTP) provides users with a simple way to "
"transfer files to and from an FTP server. FreeBSD includes FTP server "
"software, ftpd, in the base system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2377
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2375
msgid ""
"FreeBSD provides several configuration files for controlling access to the "
"FTP server. This section summarizes these files. Refer to man:ftpd[8] for "
"more details about the built-in FTP server."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2378
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2376
#, no-wrap
msgid "Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2384
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2382
msgid ""
"The most important configuration step is deciding which accounts will be "
"allowed access to the FTP server. A FreeBSD system has a number of system "
"accounts which should not be allowed FTP access. The list of users "
"disallowed any FTP access can be found in [.filename]#/etc/ftpusers#. By "
"default, it includes system accounts. Additional users that should not be "
"allowed access to FTP can be added."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2388
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2386
msgid ""
"In some cases it may be desirable to restrict the access of some users "
"without preventing them completely from using FTP. This can be accomplished "
"be creating [.filename]#/etc/ftpchroot# as described in man:ftpchroot[5]. "
"This file lists users and groups subject to FTP access restrictions."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2393
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2391
msgid ""
"To enable anonymous FTP access to the server, create a user named `ftp` on "
"the FreeBSD system. Users will then be able to log on to the FTP server "
"with a username of `ftp` or `anonymous`. When prompted for the password, "
"any input will be accepted, but by convention, an email address should be "
"used as the password. The FTP server will call man:chroot[2] when an "
"anonymous user logs in, to restrict access to only the home directory of the "
"`ftp` user."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2398
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2396
msgid ""
"There are two text files that can be created to specify welcome messages to "
"be displayed to FTP clients. The contents of [.filename]#/etc/ftpwelcome# "
"will be displayed to users before they reach the login prompt. After a "
"successful login, the contents of [.filename]#/etc/ftpmotd# will be "
"displayed. Note that the path to this file is relative to the login "
"environment, so the contents of [.filename]#~ftp/etc/ftpmotd# would be "
"displayed for anonymous users."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2400
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2398
msgid ""
"Once the FTP server has been configured, set the appropriate variable in [."
"filename]#/etc/rc.conf# to start the service during boot:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2404
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2402
#, no-wrap
msgid "ftpd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2407
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2405
msgid "To start the service now:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2411
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2409
#, no-wrap
msgid "# service ftpd start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2414
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2412
msgid "Test the connection to the FTP server by typing:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2418
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2416
#, no-wrap
msgid "% ftp localhost\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2423
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2421
msgid ""
"The ftpd daemon uses man:syslog[3] to log messages. By default, the system "
"log daemon will write messages related to FTP in [.filename]#/var/log/"
"xferlog#. The location of the FTP log can be modified by changing the "
"following line in [.filename]#/etc/syslog.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2427
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2425
#, no-wrap
msgid "ftp.info /var/log/xferlog\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2436
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2434
msgid ""
"Be aware of the potential problems involved with running an anonymous FTP "
"server. In particular, think twice about allowing anonymous users to upload "
"files. It may turn out that the FTP site becomes a forum for the trade of "
"unlicensed commercial software or worse. If anonymous FTP uploads are "
"required, then verify the permissions so that these files cannot be read by "
"other anonymous users until they have been reviewed by an administrator."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2439
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2437
#, no-wrap
msgid "File and Print Services for Microsoft(R) Windows(R) Clients (Samba)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2446
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2444
msgid ""
"Samba is a popular open source software package that provides file and print "
"services using the SMB/CIFS protocol. This protocol is built into "
"Microsoft(R) Windows(R) systems. It can be added to non-Microsoft(R) "
"Windows(R) systems by installing the Samba client libraries. The protocol "
"allows clients to access shared data and printers. These shares can be "
"mapped as a local disk drive and shared printers can be used as if they were "
"local printers."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2449
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2447
msgid ""
"On FreeBSD, the Samba client libraries can be installed using the package:"
"net/samba413[] port or package. The client provides the ability for a "
"FreeBSD system to access SMB/CIFS shares in a Microsoft(R) Windows(R) "
"network."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2452
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2450
msgid ""
"A FreeBSD system can also be configured to act as a Samba server by "
"installing the same package:net/samba413[] port or package. This allows the "
"administrator to create SMB/CIFS shares on the FreeBSD system which can be "
"accessed by clients running Microsoft(R) Windows(R) or the Samba client "
"libraries."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2453
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2451
#, no-wrap
msgid "Server Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2457
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2455
msgid ""
"Samba is configured in [.filename]#/usr/local/etc/smb4.conf#. This file "
"must be created before Samba can be used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2460
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2458
msgid ""
"A simple [.filename]#smb4.conf# to share directories and printers with "
"Windows(R) clients in a workgroup is shown here. For more complex setups "
"involving LDAP or Active Directory, it is easier to use man:samba-tool[8] to "
"create the initial [.filename]#smb4.conf#."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2470
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2468
#, no-wrap
msgid ""
"[global]\n"
"workgroup = WORKGROUP\n"
"server string = Samba Server Version %v\n"
"netbios name = ExampleMachine\n"
"wins support = Yes\n"
"security = user\n"
"passdb backend = tdbsam\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2482
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2480
#, no-wrap
msgid ""
"# Example: share /usr/src accessible only to 'developer' user\n"
"[src]\n"
"path = /usr/src\n"
"valid users = developer\n"
"writable = yes\n"
"browsable = yes\n"
"read only = no\n"
"guest ok = no\n"
"public = no\n"
"create mask = 0666\n"
"directory mask = 0755\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2485
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2483
#, no-wrap
msgid "Global Settings"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2488
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2486
msgid ""
"Settings that describe the network are added in [.filename]#/usr/local/etc/"
"smb4.conf#:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2489
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2487
#, no-wrap
msgid "`workgroup`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2491
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2489
msgid "The name of the workgroup to be served."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2492
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2490
#, no-wrap
msgid "`netbios name`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2495
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2493
msgid ""
"The NetBIOS name by which a Samba server is known. By default, it is the "
"same as the first component of the host's DNS name."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2496
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2494
#, no-wrap
msgid "`server string`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2498
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2496
msgid ""
"The string that will be displayed in the output of `net view` and some other "
"networking tools that seek to display descriptive text about the server."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2499
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2497
#, no-wrap
msgid "`wins support`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2502
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2500
msgid ""
"Whether Samba will act as a WINS server. Do not enable support for WINS on "
"more than one server on the network."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2504
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2502
#, no-wrap
msgid "Security Settings"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2508
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2506
msgid ""
"The most important settings in [.filename]#/usr/local/etc/smb4.conf# are the "
"security model and the backend password format. These directives control "
"the options:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2509
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2507
#, no-wrap
msgid "`security`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2513
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2511
msgid ""
"The most common settings are `security = share` and `security = user`. If "
"the clients use usernames that are the same as their usernames on the "
"FreeBSD machine, user level security should be used. This is the default "
"security policy and it requires clients to first log on before they can "
"access shared resources."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2516
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2514
msgid ""
"In share level security, clients do not need to log onto the server with a "
"valid username and password before attempting to connect to a shared "
"resource. This was the default security model for older versions of Samba."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2517
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2515
#, no-wrap
msgid "`passdb backend`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2523
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2521
msgid ""
"Samba has several different backend authentication models. Clients may be "
"authenticated with LDAP, NIS+, an SQL database, or a modified password "
"file. The recommended authentication method, `tdbsam`, is ideal for simple "
"networks and is covered here. For larger or more complex networks, "
"`ldapsam` is recommended. `smbpasswd` was the former default and is now "
"obsolete."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2524
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2522
#, no-wrap
msgid "Samba Users"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2528
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2526
msgid ""
"FreeBSD user accounts must be mapped to the `SambaSAMAccount` database for "
"Windows(R) clients to access the share. Map existing FreeBSD user accounts "
"using man:pdbedit[8]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2532
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2530
#, no-wrap
msgid "# pdbedit -a -u username\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2536
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2534
msgid ""
"This section has only mentioned the most commonly used settings. Refer to "
"the https://wiki.samba.org[Official Samba Wiki] for additional information "
"about the available configuration options."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2537
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2535
#, no-wrap
msgid "Starting Samba"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2540
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2538
msgid ""
"To enable Samba at boot time, add the following line to [.filename]#/etc/rc."
"conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2544
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2542
#, no-wrap
msgid "samba_server_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2547
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2545
msgid "To start Samba now:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2554
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2552
#, no-wrap
msgid ""
"# service samba_server start\n"
"Performing sanity check on Samba configuration: OK\n"
"Starting nmbd.\n"
"Starting smbd.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2559
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2557
msgid ""
"Samba consists of three separate daemons. Both the nmbd and smbd daemons "
"are started by `samba_enable`. If winbind name resolution is also required, "
"set:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2563
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2561
#, no-wrap
msgid "winbindd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2566
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2564
msgid "Samba can be stopped at any time by typing:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2570
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2568
#, no-wrap
msgid "# service samba_server stop\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2574
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2572
msgid ""
"Samba is a complex software suite with functionality that allows broad "
"integration with Microsoft(R) Windows(R) networks. For more information "
"about functionality beyond the basic configuration described here, refer to "
"https://www.samba.org[https://www.samba.org]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2576
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2574
#, no-wrap
msgid "Clock Synchronization with NTP"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2582
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2580
msgid ""
"Over time, a computer's clock is prone to drift. This is problematic as "
"many network services require the computers on a network to share the same "
"accurate time. Accurate time is also needed to ensure that file timestamps "
"stay consistent. The Network Time Protocol (NTP) is one way to provide "
"clock accuracy in a network."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2584
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2582
msgid ""
"FreeBSD includes man:ntpd[8] which can be configured to query other NTP "
"servers to synchronize the clock on that machine or to provide time services "
"to other computers in the network."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2587
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2585
msgid ""
"This section describes how to configure ntpd on FreeBSD. Further "
"documentation can be found in [.filename]#/usr/share/doc/ntp/# in HTML "
"format."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2588
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2586
#, no-wrap
msgid "NTP Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2592
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2590
msgid ""
"On FreeBSD, the built-in ntpd can be used to synchronize a system's clock. "
"ntpd is configured using man:rc.conf[5] variables and [.filename]#/etc/ntp."
"conf#, as detailed in the following sections."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2595
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2593
msgid ""
"ntpd communicates with its network peers using UDP packets. Any firewalls "
"between your machine and its NTP peers must be configured to allow UDP "
"packets in and out on port 123."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2596
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2594
#, no-wrap
msgid "The [.filename]#/etc/ntp.conf# file"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2606
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2604
msgid ""
"ntpd reads [.filename]#/etc/ntp.conf# to determine which NTP servers to "
"query. Choosing several NTP servers is recommended in case one of the "
"servers becomes unreachable or its clock proves unreliable. As ntpd "
"receives responses, it favors reliable servers over the less reliable ones. "
"The servers which are queried can be local to the network, provided by an "
"ISP, or selected from an http://support.ntp.org/bin/view/Servers/"
"WebHome[ online list of publicly accessible NTP servers]. When choosing a "
"public NTP server, select one that is geographically close and review its "
"usage policy. The `pool` configuration keyword selects one or more servers "
"from a pool of servers. An http://support.ntp.org/bin/view/Servers/"
"NTPPoolServers[ online list of publicly accessible NTP pools] is available, "
"organized by geographic area. In addition, FreeBSD provides a project-"
"sponsored pool, `0.freebsd.pool.ntp.org`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2607
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2605
#, no-wrap
msgid "Sample [.filename]#/etc/ntp.conf#"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2612
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2610
msgid ""
"This is a simple example of an [.filename]#ntp.conf# file. It can safely be "
"used as-is; it contains the recommended `restrict` options for operation on "
"a publicly-accessible network connection."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2620
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2618
#, no-wrap
msgid ""
"# Disallow ntpq control/query access. Allow peers to be added only\n"
"# based on pool and server statements in this file.\n"
"restrict default limited kod nomodify notrap noquery nopeer\n"
"restrict source limited kod nomodify notrap noquery\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2624
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2622
#, no-wrap
msgid ""
"# Allow unrestricted access from localhost for queries and control.\n"
"restrict 127.0.0.1\n"
"restrict ::1\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2627
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2625
#, no-wrap
msgid ""
"# Add a specific server.\n"
"server ntplocal.example.com iburst\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2631
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2629
#, no-wrap
msgid ""
"# Add FreeBSD pool servers until 3-6 good servers are available.\n"
"tos minclock 3 maxclock 6\n"
"pool 0.freebsd.pool.ntp.org iburst\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2634
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2632
#, no-wrap
msgid ""
"# Use a local leap-seconds file.\n"
"leapfile \"/var/db/ntpd.leap-seconds.list\"\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2640
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2638
msgid ""
"The format of this file is described in man:ntp.conf[5]. The descriptions "
"below provide a quick overview of just the keywords used in the sample file "
"above."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2646
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2644
msgid ""
"By default, an NTP server is accessible to any network host. The `restrict` "
"keyword controls which systems can access the server. Multiple `restrict` "
"entries are supported, each one refining the restrictions given in previous "
"statements. The values shown in the example grant the local system full "
"query and control access, while allowing remote systems only the ability to "
"query the time. For more details, refer to the `Access Control Support` "
"subsection of man:ntp.conf[5]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2652
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2650
msgid ""
"The `server` keyword specifies a single server to query. The file can "
"contain multiple server keywords, with one server listed on each line. The "
"`pool` keyword specifies a pool of servers. ntpd will add one or more "
"servers from this pool as needed to reach the number of peers specified "
"using the `tos minclock` value. The `iburst` keyword directs ntpd to "
"perform a burst of eight quick packet exchanges with a server when contact "
"is first established, to help quickly synchronize system time."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2656
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2654
msgid ""
"The `leapfile` keyword specifies the location of a file containing "
"information about leap seconds. The file is updated automatically by man:"
"periodic[8]. The file location specified by this keyword must match the "
"location set in the `ntp_db_leapfile` variable in [.filename]#/etc/rc.conf#."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2657
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2655
#, no-wrap
msgid "NTP entries in [.filename]#/etc/rc.conf#"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2661
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2659
msgid ""
"Set `ntpd_enable=YES` to start ntpd at boot time. Once `ntpd_enable=YES` "
"has been added to [.filename]#/etc/rc.conf#, ntpd can be started immediately "
"without rebooting the system by typing:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2665
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2663
#, no-wrap
msgid "# service ntpd start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2669
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2667
msgid ""
"Only `ntpd_enable` must be set to use ntpd. The [.filename]#rc.conf# "
"variables listed below may also be set as needed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2673
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2671
msgid ""
"Set `ntpd_sync_on_start=YES` to allow ntpd to step the clock any amount, one "
"time at startup. Normally ntpd will log an error message and exit if the "
"clock is off by more than 1000 seconds. This option is especially useful on "
"systems without a battery-backed realtime clock."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2675
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2673
msgid ""
"Set `ntpd_oomprotect=YES` to protect the ntpd daemon from being killed by "
"the system attempting to recover from an Out Of Memory (OOM) condition."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2677
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2675
msgid ""
"Set `ntpd_config=` to the location of an alternate [.filename]#ntp.conf# "
"file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2679
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2677
msgid ""
"Set `ntpd_flags=` to contain any other ntpd flags as needed, but avoid using "
"these flags which are managed internally by [.filename]#/etc/rc.d/ntpd#:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2681
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2679
msgid "`-p` (pid file location)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2682
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2680
msgid "`-c` (set `ntpd_config=` instead)"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2684
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2682
#, no-wrap
msgid "ntpd and the unpriveleged `ntpd` user"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2691
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2689
msgid ""
"ntpd on FreeBSD can start and run as an unpriveleged user. Doing so "
"requires the man:mac_ntpd[4] policy module. The [.filename]#/etc/rc.d/ntpd# "
"startup script first examines the NTP configuration. If possible, it loads "
"the `mac_ntpd` module, then starts ntpd as unpriveleged user `ntpd` (user id "
"123). To avoid problems with file and directory access, the startup script "
"will not automatically start ntpd as `ntpd` when the configuration contains "
"any file-related options."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2693
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2691
msgid ""
"The presence of any of the following in `ntpd_flags` requires manual "
"configuration as described below to run as the `ntpd` user:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2695
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2693
msgid "-f or --driftfile"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2696
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2694
msgid "-i or --jaildir"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2697
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2695
msgid "-k or --keyfile"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2698
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2696
msgid "-l or --logfile"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2699
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2697
msgid "-s or --statsdir"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2701
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2699
msgid ""
"The presence of any of the following keywords in [.filename]#ntp.conf# "
"requires manual configuration as described below to run as the `ntpd` user:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2703
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2701
msgid "crypto"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2704
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2702
msgid "driftfile"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2705
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2703
msgid "key"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2706
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2704
msgid "logdir"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2707
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2705
msgid "statsdir"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2709
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2707
msgid "To manually configure ntpd to run as user `ntpd` you must:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2711
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2709
msgid ""
"Ensure that the `ntpd` user has access to all the files and directories "
"specified in the configuration."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2712
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2710
msgid ""
"Arrange for the `mac_ntpd` module to be loaded or compiled into the kernel. "
"See man:mac_ntpd[4] for details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2713
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2711
msgid "Set `ntpd_user=\"ntpd\"` in [.filename]#/etc/rc.conf#"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2714
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2712
#, no-wrap
msgid "Using NTP with a PPP Connection"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2719
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2717
msgid ""
"ntpd does not need a permanent connection to the Internet to function "
"properly. However, if a PPP connection is configured to dial out on demand, "
"NTP traffic should be prevented from triggering a dial out or keeping the "
"connection alive. This can be configured with `filter` directives in [."
"filename]#/etc/ppp/ppp.conf#. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2730
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2728
#, no-wrap
msgid ""
"set filter dial 0 deny udp src eq 123\n"
"# Prevent NTP traffic from initiating dial out\n"
"set filter dial 1 permit 0 0\n"
"set filter alive 0 deny udp src eq 123\n"
"# Prevent incoming NTP traffic from keeping the connection open\n"
"set filter alive 1 deny udp dst eq 123\n"
"# Prevent outgoing NTP traffic from keeping the connection open\n"
"set filter alive 2 permit 0/0 0/0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2733
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2731
msgid ""
"For more details, refer to the `PACKET FILTERING` section in man:ppp[8] and "
"the examples in [.filename]#/usr/share/examples/ppp/#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2737
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2735
msgid ""
"Some Internet access providers block low-numbered ports, preventing NTP from "
"functioning since replies never reach the machine."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2740
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2738
#, no-wrap
msgid "iSCSI Initiator and Target Configuration"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2744
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2742
msgid ""
"iSCSI is a way to share storage over a network. Unlike NFS, which works at "
"the file system level, iSCSI works at the block device level."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2748
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2746
msgid ""
"In iSCSI terminology, the system that shares the storage is known as the "
"_target_. The storage can be a physical disk, or an area representing "
"multiple disks or a portion of a physical disk. For example, if the disk(s) "
"are formatted with ZFS, a zvol can be created to use as the iSCSI storage."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2752
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2750
msgid ""
"The clients which access the iSCSI storage are called _initiators_. To "
"initiators, the storage available through iSCSI appears as a raw, "
"unformatted disk known as a LUN. Device nodes for the disk appear in [."
"filename]#/dev/# and the device must be separately formatted and mounted."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2755
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2753
msgid ""
"FreeBSD provides a native, kernel-based iSCSI target and initiator. This "
"section describes how to configure a FreeBSD system as a target or an "
"initiator."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2757
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2755
#, no-wrap
msgid "Configuring an iSCSI Target"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2760
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2758
msgid ""
"To configure an iSCSI target, create the [.filename]#/etc/ctl.conf# "
"configuration file, add a line to [.filename]#/etc/rc.conf# to make sure the "
"man:ctld[8] daemon is automatically started at boot, and then start the "
"daemon."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2763
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2761
msgid ""
"The following is an example of a simple [.filename]#/etc/ctl.conf# "
"configuration file. Refer to man:ctl.conf[5] for a more complete "
"description of this file's available options."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2771
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2849
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2769
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2847
#, no-wrap
msgid ""
"portal-group pg0 {\n"
"\tdiscovery-auth-group no-authentication\n"
"\tlisten 0.0.0.0\n"
"\tlisten [::]\n"
"}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2775
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2773
#, no-wrap
msgid ""
"target iqn.2012-06.com.example:target0 {\n"
"\tauth-group no-authentication\n"
"\tportal-group pg0\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2781
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2879
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2779
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2877
#, no-wrap
msgid ""
"\tlun 0 {\n"
"\t\tpath /data/target0-0\n"
"\t\tsize 4G\n"
"\t}\n"
"}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2787
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2785
msgid ""
"The first entry defines the `pg0` portal group. Portal groups define which "
"network addresses the man:ctld[8] daemon will listen on. The `discovery-"
"auth-group no-authentication` entry indicates that any initiator is allowed "
"to perform iSCSI target discovery without authentication. Lines three and "
"four configure man:ctld[8] to listen on all IPv4 (`listen 0.0.0.0`) and IPv6 "
"(`listen [::]`) addresses on the default port of 3260."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2790
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2788
msgid ""
"It is not necessary to define a portal group as there is a built-in portal "
"group called `default`. In this case, the difference between `default` and "
"`pg0` is that with `default`, target discovery is always denied, while with "
"`pg0`, it is always allowed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2798
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2796
msgid ""
"The second entry defines a single target. Target has two possible meanings: "
"a machine serving iSCSI or a named group of LUNs. This example uses the "
"latter meaning, where `iqn.2012-06.com.example:target0` is the target name. "
"This target name is suitable for testing purposes. For actual use, change "
"`com.example` to the real domain name, reversed. The `2012-06` represents "
"the year and month of acquiring control of that domain name, and `target0` "
"can be any value. Any number of targets can be defined in this "
"configuration file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2800
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2798
msgid ""
"The `auth-group no-authentication` line allows all initiators to connect to "
"the specified target and `portal-group pg0` makes the target reachable "
"through the `pg0` portal group."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2808
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2806
msgid ""
"The next section defines the LUN. To the initiator, each LUN will be "
"visible as a separate disk device. Multiple LUNs can be defined for each "
"target. Each LUN is identified by a number, where LUN 0 is mandatory. The "
"`path /data/target0-0` line defines the full path to a file or zvol backing "
"the LUN. That path must exist before starting man:ctld[8]. The second line "
"is optional and specifies the size of the LUN."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2810
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2808
msgid ""
"Next, to make sure the man:ctld[8] daemon is started at boot, add this line "
"to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2814
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2812
#, no-wrap
msgid "ctld_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2817
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2815
msgid "To start man:ctld[8] now, run this command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2821
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2819
#, no-wrap
msgid "# service ctld start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2825
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2823
msgid ""
"As the man:ctld[8] daemon is started, it reads [.filename]#/etc/ctl.conf#. "
"If this file is edited after the daemon starts, use this command so that the "
"changes take effect immediately:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2829
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2827
#, no-wrap
msgid "# service ctld reload\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2832
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2830
#, no-wrap
msgid "Authentication"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2836
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2834
msgid ""
"The previous example is inherently insecure as it uses no authentication, "
"granting anyone full access to all targets. To require a username and "
"password to access targets, modify the configuration as follows:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2843
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2841
#, no-wrap
msgid ""
"auth-group ag0 {\n"
"\tchap username1 secretsecret\n"
"\tchap username2 anothersecret\n"
"}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2858
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2856
#, no-wrap
msgid ""
"target iqn.2012-06.com.example:target0 {\n"
"\tauth-group ag0\n"
"\tportal-group pg0\n"
"\tlun 0 {\n"
"\t\tpath /data/target0-0\n"
"\t\tsize 4G\n"
"\t}\n"
"}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2864
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2862
msgid ""
"The `auth-group` section defines username and password pairs. An initiator "
"trying to connect to `iqn.2012-06.com.example:target0` must first specify a "
"defined username and secret. However, target discovery is still permitted "
"without authentication. To require target discovery authentication, set "
"`discovery-auth-group` to a defined `auth-group` name instead of `no-"
"authentication`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2867
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2865
msgid ""
"It is common to define a single exported target for every initiator. As a "
"shorthand for the syntax above, the username and password can be specified "
"directly in the target entry:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2873
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2871
#, no-wrap
msgid ""
"target iqn.2012-06.com.example:target0 {\n"
"\tportal-group pg0\n"
"\tchap username1 secretsecret\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2883
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2881
#, no-wrap
msgid "Configuring an iSCSI Initiator"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2889
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2887
msgid ""
"The iSCSI initiator described in this section is supported starting with "
"FreeBSD 10.0-RELEASE. To use the iSCSI initiator available in older "
"versions, refer to man:iscontrol[8]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2894
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2892
msgid ""
"The iSCSI initiator requires that the man:iscsid[8] daemon is running. This "
"daemon does not use a configuration file. To start it automatically at "
"boot, add this line to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2898
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2896
#, no-wrap
msgid "iscsid_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2901
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2899
msgid "To start man:iscsid[8] now, run this command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2905
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2903
#, no-wrap
msgid "# service iscsid start\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2909
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2907
msgid ""
"Connecting to a target can be done with or without an [.filename]#/etc/iscsi."
"conf# configuration file. This section demonstrates both types of "
"connections."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2910
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2908
#, no-wrap
msgid "Connecting to a Target Without a Configuration File"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2913
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2911
msgid ""
"To connect an initiator to a single target, specify the IP address of the "
"portal and the name of the target:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2917
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2915
#, no-wrap
msgid "# iscsictl -A -p 10.10.10.10 -t iqn.2012-06.com.example:target0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2921
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2919
msgid ""
"To verify if the connection succeeded, run `iscsictl` without any "
"arguments. The output should look similar to this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2926
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2924
#, no-wrap
msgid ""
"Target name Target portal State\n"
"iqn.2012-06.com.example:target0 10.10.10.10 Connected: da0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2930
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2928
msgid ""
"In this example, the iSCSI session was successfully established, with [."
"filename]#/dev/da0# representing the attached LUN. If the `iqn.2012-06.com."
"example:target0` target exports more than one LUN, multiple device nodes "
"will be shown in that section of the output:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2934
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2932
#, no-wrap
msgid "Connected: da0 da1 da2.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2938
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2936
msgid ""
"Any errors will be reported in the output, as well as the system logs. For "
"example, this message usually means that the man:iscsid[8] daemon is not "
"running:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2943
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2941
#, no-wrap
msgid ""
"Target name Target portal State\n"
"iqn.2012-06.com.example:target0 10.10.10.10 Waiting for iscsid(8)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2946
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2944
msgid ""
"The following message suggests a networking problem, such as a wrong IP "
"address or port:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2951
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2949
#, no-wrap
msgid ""
"Target name Target portal State\n"
"iqn.2012-06.com.example:target0 10.10.10.11 Connection refused\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2954
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2952
msgid "This message means that the specified target name is wrong:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2959
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2957
#, no-wrap
msgid ""
"Target name Target portal State\n"
"iqn.2012-06.com.example:target0 10.10.10.10 Not found\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2962
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2960
msgid "This message means that the target requires authentication:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2967
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2965
#, no-wrap
msgid ""
"Target name Target portal State\n"
"iqn.2012-06.com.example:target0 10.10.10.10 Authentication failed\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2970
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2968
msgid "To specify a CHAP username and secret, use this syntax:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2974
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2972
#, no-wrap
msgid "# iscsictl -A -p 10.10.10.10 -t iqn.2012-06.com.example:target0 -u user -s secretsecret\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2977
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2975
#, no-wrap
msgid "Connecting to a Target with a Configuration File"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2980
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2978
msgid ""
"To connect using a configuration file, create [.filename]#/etc/iscsi.conf# "
"with contents like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2990
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2988
#, no-wrap
msgid ""
"t0 {\n"
"\tTargetAddress = 10.10.10.10\n"
"\tTargetName = iqn.2012-06.com.example:target0\n"
"\tAuthMethod = CHAP\n"
"\tchapIName = user\n"
"\tchapSecret = secretsecret\n"
"}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2997
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2995
msgid ""
"The `t0` specifies a nickname for the configuration file section. It will "
"be used by the initiator to specify which configuration to use. The other "
"lines specify the parameters to use during connection. The `TargetAddress` "
"and `TargetName` are mandatory, whereas the other options are optional. In "
"this example, the CHAP username and secret are shown."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:2999
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:2997
msgid "To connect to the defined target, specify the nickname:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:3003
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:3001
#, no-wrap
msgid "# iscsictl -An t0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:3006
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:3004
msgid ""
"Alternately, to connect to all targets defined in the configuration file, "
"use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:3010
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:3008
#, no-wrap
msgid "# iscsictl -Aa\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:3013
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:3011
msgid ""
"To make the initiator automatically connect to all targets in [.filename]#/"
"etc/iscsi.conf#, add the following to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/handbook/network-servers/_index.adoc:3018
+#: documentation/content/en/books/handbook/network-servers/_index.adoc:3016
#, no-wrap
msgid ""
"iscsictl_enable=\"YES\"\n"
"iscsictl_flags=\"-Aa\"\n"
msgstr ""
diff --git a/documentation/content/en/books/handbook/network/_index.po b/documentation/content/en/books/handbook/network/_index.po
index a4d775db05..5f6f2a6fad 100644
--- a/documentation/content/en/books/handbook/network/_index.po
+++ b/documentation/content/en/books/handbook/network/_index.po
@@ -1,2052 +1,2029 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:13-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/network/_index.adoc:1
#, no-wrap
-msgid ""
-"This chapter delves into the topic of network configuration and performance, "
-"showcasing the robust networking capabilities of the FreeBSD operating "
-"system."
+msgid "This chapter delves into the topic of network configuration and performance, showcasing the robust networking capabilities of the FreeBSD operating system."
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/network/_index.adoc:1
#, no-wrap
msgid "Part I. Getting Started"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/network/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Network"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/network/_index.adoc:14
#, no-wrap
msgid "Network"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:56
msgid ""
"This chapter delves into the topic of network configuration and performance, "
"showcasing the robust networking capabilities of the FreeBSD operating "
"system. Whether working with wired or wireless networks, this chapter "
"provides a comprehensive guide to configuring and optimizing network "
"connectivity in FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:58
msgid ""
"Before diving into the details, it is beneficial for readers to have a basic "
"understanding of networking concepts such as protocols, network interfaces, "
"and addressing."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:60
msgid "This chapter covers:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:62
msgid ""
"The ability to configure wired networks in FreeBSD, including network "
"interface setup, addressing, and customization options."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:63
msgid ""
"The skills to configure wireless networks in FreeBSD, encompassing wireless "
"network interface setup, security protocols, and troubleshooting techniques."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:64
msgid ""
"FreeBSD's networking capabilities and its reputation for excellent network "
"performance."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:65
msgid ""
"An understanding of various network services and protocols supported by "
"FreeBSD, with configuration instructions for DNS, DHCP and more."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:67
msgid ""
"More information about how to make advanced network configurations in "
"crossref:advanced-networking[advanced-networking,Advanced Networking]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:69
#, no-wrap
msgid "Setting up the Network"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:73
msgid ""
"Setting up a wired or wireless connection is a common task for a FreeBSD "
"user. This section will show how to identify the wired and wireless network "
"adapters and how to configure them."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:75
msgid ""
"Before starting with the configuration it is necessary to know the following "
"network data:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:77
msgid "If the network has DHCP"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:78
msgid "If the network does not have DHCP, the static IP to be used"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:79
msgid "The netmask"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:80
msgid "The IP address of the default gateway"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:84
msgid ""
-"The network connection may have been configured at installation time by "
-"man:bsdinstall[8]."
+"The network connection may have been configured at installation time by man:"
+"bsdinstall[8]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:87
#, no-wrap
msgid "Identify Network Adapters"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:91
msgid ""
"FreeBSD supports a wide variety of network adapters for both wired and "
-"wireless networks. Check the Hardware Compatibility List for the used "
-"link:https://www.freebsd.org/releases/[FreeBSD release] to see if the "
-"network adapter is supported."
+"wireless networks. Check the Hardware Compatibility List for the used link:"
+"https://www.freebsd.org/releases/[FreeBSD release] to see if the network "
+"adapter is supported."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:93
msgid ""
-"To get the network adapters used by our system execute the following "
-"command:"
+"To get the network adapters used by our system execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:97
#, no-wrap
msgid "% pciconf -lv | grep -A1 -B3 network\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:100
#: documentation/content/en/books/handbook/network/_index.adoc:157
#: documentation/content/en/books/handbook/network/_index.adoc:264
#: documentation/content/en/books/handbook/network/_index.adoc:298
#: documentation/content/en/books/handbook/network/_index.adoc:337
#: documentation/content/en/books/handbook/network/_index.adoc:403
#: documentation/content/en/books/handbook/network/_index.adoc:665
#: documentation/content/en/books/handbook/network/_index.adoc:792
msgid "The output should be similar to the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:108
#, no-wrap
msgid ""
-"em0@pci0:0:25:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 "
-"device=0x10f5 subvendor=0x17aa subdevice=0x20ee\n"
+"em0@pci0:0:25:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x10f5 subvendor=0x17aa subdevice=0x20ee\n"
" vendor = 'Intel Corporation' <1>\n"
" device = '82567LM Gigabit Network Connection' <2>\n"
" class = network\n"
" subclass = ethernet\n"
"--\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:113
#, no-wrap
msgid ""
-"iwn0@pci0:3:0:0: class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 "
-"device=0x4237 subvendor=0x8086 subdevice=0x1211\n"
+"iwn0@pci0:3:0:0: class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x4237 subvendor=0x8086 subdevice=0x1211\n"
" vendor = 'Intel Corporation' <1>\n"
" device = 'PRO/Wireless 5100 AGN [Shiloh] Network Connection' <2>\n"
" class = networ\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:117
msgid ""
"The text before the '@' symbol is the name of the driver controlling the "
"device. In this case these are man:em[4] and man:iwn[4]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:119
msgid "Shows the name of the vendor"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:120
msgid "Shows the name of the device"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:124
msgid ""
"It is only necessary to load the network interface card module if FreeBSD "
"has not detected it correctly."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:126
-msgid "For example, to load the man:alc[4] module, execute the following command:"
+msgid ""
+"For example, to load the man:alc[4] module, execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:130
#, no-wrap
msgid "# kldload if_alc\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:133
msgid ""
"Alternatively, to load the driver as a module at boot time, place the "
"following line in [.filename]#/boot/loader.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:137
#, no-wrap
msgid "if_alc_load=\"YES\"\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:141
#, no-wrap
msgid "Wired Networks"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:146
msgid ""
"Once the right driver is loaded the network adapter needs to be configured. "
"FreeBSD uses the driver name followed by a unit number to name the network "
"interface adapter. The unit number represents the order in which the "
"adapter is detected at boot time, or is later discovered."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:148
msgid ""
"For example, `em0` is the first network interface card (NIC) on the system "
"using the man:em[4] driver."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:150
-msgid "To display the network interface configuration, enter the following command:"
+msgid ""
+"To display the network interface configuration, enter the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:154
#, no-wrap
msgid "% ifconfig\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:175
#, no-wrap
msgid ""
"em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
-" "
-"options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
+" options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
" ether 00:1f:16:0f:27:5a\n"
" inet6 fe80::21f:16ff:fe0f:275a%em0 prefixlen 64 scopeid 0x1\n"
" inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255\n"
" media: Ethernet autoselect (1000baseT <full-duplex>)\n"
" status: active\n"
" nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>\n"
"lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384\n"
" options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>\n"
" inet6 ::1 prefixlen 128\n"
" inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2\n"
" inet 127.0.0.1 netmask 0xff000000\n"
" groups: lo\n"
" nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:178
msgid "In this example, the following devices were displayed:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:180
msgid "`em0`: The Ethernet interface."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:181
msgid ""
"`lo0`: The loop interface is a software loopback mechanism which may be used "
"for performance analysis, software testing, and/or local communication. More "
"information in man:lo[4]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:183
msgid "The example shows that `em0` is up and running."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:185
msgid "The key indicators are:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:187
msgid "`UP` means that the interface is configured and ready."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:188
msgid "The interface has an IPv4 Internet (`inet`) address, `192.168.1.19`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:189
msgid ""
-"The interface has an IPv6 Internet (`inet6`) address, "
-"`fe80::21f:16ff:fe0f:275a%em0`."
+"The interface has an IPv6 Internet (`inet6`) address, `fe80::21f:16ff:"
+"fe0f:275a%em0`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:190
msgid ""
"It has a valid subnet mask (`netmask`), where `0xffffff00` is the same as "
"`255.255.255.0`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:191
msgid "It has a valid broadcast address, `192.168.1.255`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:192
msgid "The MAC address of the interface (`ether`) is `00:1f:16:0f:27:5a`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:193
msgid ""
"The physical media selection is on autoselection mode (`media: Ethernet "
"autoselect (1000baseT <full-duplex>)`)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:194
msgid ""
"The status of the link (`status`) is `active`, indicating that the carrier "
"signal is detected. For `em0`, the `status: no carrier` status is normal "
"when an Ethernet cable is not plugged into the interface."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:196
msgid ""
"If the man:ifconfig[8] output had shown something similar to the next output "
"it would indicate the interface has not been configured:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:205
#, no-wrap
msgid ""
"em0: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
-" "
-"options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
+" options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
" ether 00:1f:16:0f:27:5a\n"
" media: Ethernet autoselect\n"
" status: no carrier\n"
" nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:208
#, no-wrap
msgid "Configuring Static IPv4 Address"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:211
msgid ""
"This section provides a guide to configuring a static IPv4 address on a "
"FreeBSD system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:213
msgid ""
"The network interface card configuration can be performed from the command "
"line with man:ifconfig[8] but will not persist after a reboot unless the "
"configuration is also added to [.filename]#/etc/rc.conf#."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:218
msgid ""
"If the network was configured during installation by man:bsdinstall[8], some "
"entries for the network interface card (NICs) may be already present. "
"Double check [.filename]#/etc/rc.conf# before executing man:sysrc[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:221
msgid "The IP address can be set executing the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:225
#, no-wrap
msgid "# ifconfig em0 inet 192.168.1.150/24\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:228
#: documentation/content/en/books/handbook/network/_index.adoc:626
-msgid "To make the change persist across reboots execute the following command:"
+msgid ""
+"To make the change persist across reboots execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:232
#, no-wrap
msgid "# sysrc ifconfig_em0=\"inet 192.168.1.150 netmask 255.255.255.0\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:235
msgid "Add the default router executing the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:239
#, no-wrap
msgid "# sysrc defaultrouter=\"192.168.1.1\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:242
msgid "Add the DNS records to [.filename]#/etc/resolv.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:247
#, no-wrap
msgid ""
"nameserver 8.8.8.8\n"
"nameserver 8.8.4.4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:250
msgid "Then restart `netif` and `routing` executing the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:254
#, no-wrap
msgid "# service netif restart && service routing restart\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:257
#: documentation/content/en/books/handbook/network/_index.adoc:330
msgid "The connection can be tested using man:ping[8]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:261
#: documentation/content/en/books/handbook/network/_index.adoc:334
#, no-wrap
msgid "% ping -c2 www.FreeBSD.org\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:270
#: documentation/content/en/books/handbook/network/_index.adoc:343
#, no-wrap
msgid ""
"PING web.geo.FreeBSD.org (147.28.184.45): 56 data bytes\n"
"64 bytes from 147.28.184.45: icmp_seq=0 ttl=51 time=55.173 ms\n"
"64 bytes from 147.28.184.45: icmp_seq=1 ttl=51 time=53.093 ms\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:274
#: documentation/content/en/books/handbook/network/_index.adoc:347
#, no-wrap
msgid ""
"--- web.geo.FreeBSD.org ping statistics ---\n"
"2 packets transmitted, 2 packets received, 0.0% packet loss\n"
"round-trip min/avg/max/stddev = 53.093/54.133/55.173/1.040 ms\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:277
#, no-wrap
msgid "Configuring Dynamic IPv4 Address"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:282
msgid ""
"If the network has a DHCP server, it is very easy to configure the network "
"interface to use DHCP. FreeBSD uses man:dhclient[8] as the DHCP client. "
"man:dhclient[8] will automatically provide the IP, the netmask and the "
"default router."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:284
msgid "To make the interface work with DHCP execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:288
#, no-wrap
msgid "# sysrc ifconfig_em0=\"DHCP\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:291
msgid "man:dhclient[8] can be used manually by running the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:295
#, no-wrap
msgid "# dhclient em0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:305
#, no-wrap
msgid ""
"DHCPREQUEST on em0 to 255.255.255.255 port 67\n"
"DHCPACK from 192.168.1.1\n"
"unknown dhcp option value 0x7d\n"
"bound to 192.168.1.19 -- renewal in 43200 seconds.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:308
msgid ""
"In this way it can be verified that the address assignment using DHCP works "
"correctly."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:313
msgid ""
"man:dhclient[8] client can be started in background. This can cause trouble "
"with applications depending on a working network, but it will provide a "
"faster startup in many cases."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:315
msgid "To execute man:dhclient[8] in background execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:319
#, no-wrap
msgid "# sysrc background_dhclient=\"YES\"\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:323
msgid "Then restart `netif` executing the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:327
#: documentation/content/en/books/handbook/network/_index.adoc:612
#: documentation/content/en/books/handbook/network/_index.adoc:732
#, no-wrap
msgid "# service netif restart\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:350
#, no-wrap
msgid "IPv6"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:353
-msgid "IPv6 is the new version of the well-known IP protocol, also known as IPv4."
+msgid ""
+"IPv6 is the new version of the well-known IP protocol, also known as IPv4."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:355
-msgid "IPv6 provides several advantages over IPv4 as well as many new features:"
+msgid ""
+"IPv6 provides several advantages over IPv4 as well as many new features:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:357
msgid ""
"Its 128-bit address space allows for "
"340,282,366,920,938,463,463,374,607,431,768,211,456 addresses. This "
"addresses the IPv4 address shortage and eventual IPv4 address exhaustion."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:358
msgid ""
"Routers only store network aggregation addresses in their routing tables, "
"thus reducing the average space of a routing table to 8192 entries. This "
"addresses the scalability issues associated with IPv4, which required every "
"allocated block of IPv4 addresses to be exchanged between Internet routers, "
"causing their routing tables to become too large to allow efficient routing."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:359
-msgid "Address autoconfiguration (http://www.ietf.org/rfc/rfc2462.txt[RFC2462])."
+msgid ""
+"Address autoconfiguration (http://www.ietf.org/rfc/rfc2462.txt[RFC2462])."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:360
msgid "Mandatory multicast addresses."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:361
msgid "Built-in IPsec (IP security)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:362
msgid "Simplified header structure."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:363
msgid "Support for mobile IP."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:364
msgid "IPv6-to-IPv4 transition mechanisms."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:366
msgid ""
"FreeBSD includes the http://www.kame.net/[KAME project] IPv6 reference "
"implementation and comes with everything needed to use IPv6."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:368
msgid "This section focuses on getting IPv6 configured and running."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:370
msgid "There are three different types of IPv6 addresses:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network/_index.adoc:371
#, no-wrap
msgid "Unicast"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:373
msgid ""
"A packet sent to a unicast address arrives at the interface belonging to the "
"address."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network/_index.adoc:374
#, no-wrap
msgid "Anycast"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:378
msgid ""
"These addresses are syntactically indistinguishable from unicast addresses "
"but they address a group of interfaces. The packet destined for an anycast "
"address will arrive at the nearest router interface. Anycast addresses are "
"only used by routers."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/handbook/network/_index.adoc:379
#, no-wrap
msgid "Multicast"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:383
msgid ""
"These addresses identify a group of interfaces. A packet destined for a "
"multicast address will arrive at all interfaces belonging to the multicast "
"group. The IPv4 broadcast address, usually `xxx.xxx.xxx.255`, is expressed "
"by multicast addresses in IPv6."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:386
msgid ""
-"When reading an IPv6 address, the canonical form is represented as "
-"`x:x:x:x:x:x:x:x`, where each `x` represents a 16 bit hex value. An example "
-"is `FEBC:A574:382B:23C1:AA49:4592:4EFE:9982`."
+"When reading an IPv6 address, the canonical form is represented as `x:x:x:x:"
+"x:x:x:x`, where each `x` represents a 16 bit hex value. An example is `FEBC:"
+"A574:382B:23C1:AA49:4592:4EFE:9982`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:391
msgid ""
"Often, an address will have long substrings of all zeros. A `::` (double "
"colon) can be used to replace one substring per address. Also, up to three "
"leading ``0``s per hex value can be omitted. For example, `fe80::1` "
"corresponds to the canonical form `fe80:0000:0000:0000:0000:0000:0000:0001`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:394
msgid ""
"A third form is to write the last 32 bits using the well known IPv4 "
"notation. For example, `2002::10.0.0.1` corresponds to the hexadecimal "
"canonical representation `2002:0000:0000:0000:0000:0000:0a00:0001`, which in "
"turn is equivalent to `2002::a00:1`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:396
msgid "To view a FreeBSD system's IPv6 address execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:400
#, no-wrap
msgid "# ifconfig\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:414
#, no-wrap
msgid ""
"em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n"
-" "
-"options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
+" options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>\n"
" ether 00:1f:16:0f:27:5a\n"
" inet 192.168.1.150 netmask 0xffffff00 broadcast 192.168.1.255\n"
" inet6 fe80::21f:16ff:fe0f:275a%em0 prefixlen 64 scopeid 0x1\n"
" media: Ethernet autoselect (1000baseT <full-duplex>)\n"
" status: active\n"
" nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:417
msgid ""
-"In this example, the `em0` interface is using "
-"`fe80::21f:16ff:fe0f:275a%em0`, an auto-configured link-local address which "
-"was automatically generated from the MAC address."
+"In this example, the `em0` interface is using `fe80::21f:16ff:"
+"fe0f:275a%em0`, an auto-configured link-local address which was "
+"automatically generated from the MAC address."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:420
msgid ""
"Some IPv6 addresses are reserved. A list of reserved addresses can be "
"checked in the following table:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/handbook/network/_index.adoc:422
#, no-wrap
msgid "Example IPv6 Reserved Addresses"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:426
#, no-wrap
msgid "IPv6 address"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:427
#, no-wrap
msgid "Prefixlength (Bits)"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:428
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:430
#, no-wrap
msgid "Notes"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:431
#, no-wrap
msgid "`::`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:432
#: documentation/content/en/books/handbook/network/_index.adoc:437
#, no-wrap
msgid "128 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:433
#, no-wrap
msgid "unspecified"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:435
#, no-wrap
msgid "Equivalent to `0.0.0.0` in IPv4."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:436
#, no-wrap
msgid "`::1`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:438
#, no-wrap
msgid "loopback address"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:440
#, no-wrap
msgid "Equivalent to `127.0.0.1` in IPv4."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:441
#, no-wrap
msgid "`::00:xx:xx:xx:xx`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:442
#: documentation/content/en/books/handbook/network/_index.adoc:447
#, no-wrap
msgid "96 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:443
#, no-wrap
msgid "embedded IPv4"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:445
#, no-wrap
msgid "The lower 32 bits are the compatible IPv4 address."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:446
#, no-wrap
msgid "`::ff:xx:xx:xx:xx`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:448
#, no-wrap
msgid "IPv4 mapped IPv6 address"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:450
#, no-wrap
msgid "The lower 32 bits are the IPv4 address for hosts which do not support IPv6."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:451
#, no-wrap
msgid "`fe80::/10`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:452
#, no-wrap
msgid "10 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:453
#, no-wrap
msgid "link-local"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:455
#, no-wrap
msgid "Equivalent to 169.254.0.0/16 in IPv4."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:456
#, no-wrap
msgid "`fc00::/7`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:457
#, no-wrap
msgid "7 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:458
#, no-wrap
msgid "unique-local"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:460
#, no-wrap
-msgid ""
-"Unique local addresses are intended for local communication and are only "
-"routable within a set of cooperating sites."
+msgid "Unique local addresses are intended for local communication and are only routable within a set of cooperating sites."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:461
#, no-wrap
msgid "`ff00::`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:462
#, no-wrap
msgid "8 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:463
#, no-wrap
msgid "multicast"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:466
#, no-wrap
msgid "``2000::-3fff::``"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:467
#, no-wrap
msgid "3 bits"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:468
#, no-wrap
msgid "global unicast"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:469
#, no-wrap
-msgid ""
-"All global unicast addresses are assigned from this pool. The first 3 bits "
-"are `001`."
+msgid "All global unicast addresses are assigned from this pool. The first 3 bits are `001`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:472
msgid ""
-"For further information on the structure of IPv6 addresses, refer to "
-"http://www.ietf.org/rfc/rfc3513.txt[RFC3513]."
+"For further information on the structure of IPv6 addresses, refer to http://"
+"www.ietf.org/rfc/rfc3513.txt[RFC3513]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:474
#, no-wrap
msgid "Configuring Static IPv6 Address"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:477
msgid ""
"To configure a FreeBSD system as an IPv6 client with a static IPv6 address "
"it is necessary to set the IPv6 address."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:479
msgid "Execute the following commands to meet the requirements:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:483
#, no-wrap
-msgid ""
-"# sysrc ifconfig_em0_ipv6=\"inet6 2001:db8:4672:6565:2026:5043:2d42:5344 "
-"prefixlen 64\"\n"
+msgid "# sysrc ifconfig_em0_ipv6=\"inet6 2001:db8:4672:6565:2026:5043:2d42:5344 prefixlen 64\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:486
msgid ""
"To assign a default router, specify its address executing the following "
"command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:490
#, no-wrap
msgid "# sysrc ipv6_defaultrouter=\"2001:db8:4672:6565::1\"\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:493
#, no-wrap
msgid "Configuring Dynamic IPv6 Address"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:497
msgid ""
"If the network has a DHCP server, it is very easy to configure the network "
"interface to use DHCP. man:dhclient[8] will provide automatically the IP, "
"the netmask and the default router."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:499
msgid "To make the interface works with DHCP execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:504
#, no-wrap
msgid ""
"# sysrc ifconfig_em0_ipv6=\"inet6 accept_rtadv\"\n"
"# sysrc rtsold_enable=\"YES\"\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:506
#, no-wrap
msgid "Router Advertisement and Host Auto Configuration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:509
msgid ""
"This section demonstrates how to setup man:rtadvd[8] on an IPv6 router to "
"advertise the IPv6 network prefix and default route."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:511
msgid "To enable man:rtadvd[8], execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:515
#, no-wrap
msgid "# sysrc rtadvd_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:519
msgid ""
"It is important to specify the interface on which to do IPv6 router "
"advertisement. For example, to tell man:rtadvd[8] to use `em0`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:523
#, no-wrap
msgid "# sysrc rtadvd_interfaces=\"em0\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:526
msgid ""
"Next, create the configuration file, [.filename]#/etc/rtadvd.conf# as seen "
"in this example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:531
#, no-wrap
msgid ""
"em0:\\\n"
"\t:addrs#1:addr=\"2001:db8:1f11:246::\":prefixlen#64:tc=ether:\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:534
msgid ""
"Replace `em0` with the interface to be used and `2001:db8:1f11:246::` with "
"the prefix of the allocation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:537
msgid ""
"For a dedicated `/64` subnet, nothing else needs to be changed. Otherwise, "
"change the `prefixlen#` to the correct value."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:538
#, no-wrap
msgid "IPv6 and IPv4 Address mapping"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:543
msgid ""
"When IPv6 is enabled on a server, there may be a need to enable IPv4 mapped "
"IPv6 address communication. This compatibility option allows for IPv4 "
"addresses to be represented as IPv6 addresses. Permitting IPv6 applications "
"to communicate with IPv4 and vice versa may be a security issue."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:547
msgid ""
"This option may not be required in most cases and is available only for "
"compatibility. This option will allow IPv6-only applications to work with "
"IPv4 in a dual stack environment. This is most useful for third party "
"applications which may not support an IPv6-only environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:549
msgid "To enable this feature execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:553
#, no-wrap
msgid "# sysrc ipv6_ipv4mapping=\"YES\"\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:556
#, no-wrap
msgid "Wireless Networks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:559
msgid ""
-"Most wireless networks are based on the "
-"link:https://en.wikipedia.org/wiki/IEEE_802.11[IEEE(R) 802.11 standards]."
+"Most wireless networks are based on the link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11[IEEE(R) 802.11 standards]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:561
msgid ""
-"FreeBSD supports networks that operate using "
-"link:https://en.wikipedia.org/wiki/IEEE_802.11a-1999[802.11a], "
-"link:https://en.wikipedia.org/wiki/IEEE_802.11b-1999[802.11b], "
-"link:https://en.wikipedia.org/wiki/IEEE_802.11g-2003[802.11g] and "
-"link:https://en.wikipedia.org/wiki/IEEE_802.11n-2009[802.11n]."
+"FreeBSD supports networks that operate using link:https://en.wikipedia.org/"
+"wiki/IEEE_802.11a-1999[802.11a], link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11b-1999[802.11b], link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11g-2003[802.11g] and link:https://en.wikipedia.org/wiki/"
+"IEEE_802.11n-2009[802.11n]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:565
msgid ""
"link:https://en.wikipedia.org/wiki/IEEE_802.11ac-2013[802.11ac] support on "
"FreeBSD is currently under development."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:568
msgid ""
"A basic wireless network consists of multiple stations communicating with "
"radios that broadcast in either the 2.4GHz or 5GHz band, though this varies "
"according to the locale and is also changing to enable communication in the "
"2.3GHz and 4.9GHz ranges."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:570
msgid "There are three basic steps to configure a wireless network:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:572
msgid "Scan and select an access point"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:573
msgid "Authenticate the station"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:574
msgid "Configure an IP address or use DHCP."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:576
msgid "The following sections discuss each step."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:578
#, no-wrap
msgid "Quick Start to Connect to a Wireless Network"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:581
msgid ""
"Connecting FreeBSD to an existing wireless network is a very common "
"situation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:583
msgid "This procedure shows the steps required:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:585
msgid ""
"The first step will be to obtain the SSID (Service Set Identifier) and PSK "
"(Pre-Shared Key) for the wireless network from the network administrator."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:587
msgid ""
-"The second step will be to add an entry for this network to "
-"[.filename]#/etc/wpa_supplicant.conf#. If the file does not exist, create "
-"it:"
+"The second step will be to add an entry for this network to [.filename]#/etc/"
+"wpa_supplicant.conf#. If the file does not exist, create it:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:594
#, no-wrap
msgid ""
"network={\n"
" ssid=\"myssid\" <.>\n"
" psk=\"mypsk\" <.>\n"
"}\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:597
msgid ""
"Is the SSID of the wireless network. Replace it with the name of the "
"wireless network."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:598
msgid ""
"Is the PSK of the wireless network. Replace it with the password of the "
"wireless network."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:600
msgid ""
"The third step will be to add the network entry to configure the network on "
"startup:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:605
#, no-wrap
msgid ""
"# sysrc wlans_iwn0=\"wlan0\"\n"
"# sysrc ifconfig_wlan0=\"WPA DHCP\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:608
msgid ""
"And the last step will be the restart `netif` service executing the "
"following command:"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:615
#, no-wrap
msgid "Basic Wireless Configuration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:619
msgid ""
"The first step will be to configure the wireless network card to an "
"interface. To find out what wireless network cards are in the system check "
"the section <<config-identify-network-adapter>>."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:623
#, no-wrap
msgid "# ifconfig wlan0 create wlandevice iwm0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:630
#, no-wrap
msgid "# sysrc wlans_iwn0=\"wlan0\"\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:635
msgid ""
"Since the regulatory situation is different in various parts of the world, "
"it is necessary to correctly set the domains that apply to your location to "
"have the correct information about what channels can be used."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:638
msgid ""
-"The available region definitions can be found in "
-"[.filename]#/etc/regdomain.xml#. To set the data at runtime, use "
-"`ifconfig`:"
+"The available region definitions can be found in [.filename]#/etc/regdomain."
+"xml#. To set the data at runtime, use `ifconfig`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:642
#, no-wrap
msgid "# ifconfig wlan0 regdomain etsi2 country AT\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:645
msgid "To persist the settings, add it to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:649
#, no-wrap
msgid "# sysrc create_args_wlan0=\"country AT regdomain etsi2\"\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:653
#, no-wrap
msgid "Scan Wireless Networks"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:656
msgid "Available wireless networks can be scanned using man:ifconfig[8]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:658
msgid "To list the wireless networks execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:662
#, no-wrap
msgid "# ifconfig wlan0 up list scan\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:675
#, no-wrap
msgid ""
-"SSID/MESH ID BSSID CHAN RATE S:N "
-"INT CAPS\n"
-"FreeBSD e8:d1:1b:1b:58:ae 1 54M -47:-96 "
-"100 EP RSN BSSLOAD HTCAP WPS WME\n"
-"NetBSD d4:b9:2f:35:fe:08 1 54M -80:-96 "
-"100 EP RSN BSSLOAD HTCAP WPS WME\n"
-"OpenBSD fc:40:09:c6:31:bd 36 54M -94:-96 "
-"100 EPS VHTPWRENV APCHANREP RSN WPS BSSLOAD HTCAP VHTCAP VHTOPMODE WME\n"
-"GNU-Linux dc:f8:b9:a0:a8:e0 44 54M -95:-96 "
-"100 EP WPA RSN WPS HTCAP VHTCAP VHTOPMODE WME VHTPWRENV\n"
-"Windows 44:48:b9:b3:c3:ff 44 54M -84:-96 "
-"100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS\n"
-"MacOS 46:48:b9:b3:c3:ff 44 54M -84:-96 "
-"100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS\n"
+"SSID/MESH ID BSSID CHAN RATE S:N INT CAPS\n"
+"FreeBSD e8:d1:1b:1b:58:ae 1 54M -47:-96 100 EP RSN BSSLOAD HTCAP WPS WME\n"
+"NetBSD d4:b9:2f:35:fe:08 1 54M -80:-96 100 EP RSN BSSLOAD HTCAP WPS WME\n"
+"OpenBSD fc:40:09:c6:31:bd 36 54M -94:-96 100 EPS VHTPWRENV APCHANREP RSN WPS BSSLOAD HTCAP VHTCAP VHTOPMODE WME\n"
+"GNU-Linux dc:f8:b9:a0:a8:e0 44 54M -95:-96 100 EP WPA RSN WPS HTCAP VHTCAP VHTOPMODE WME VHTPWRENV\n"
+"Windows 44:48:b9:b3:c3:ff 44 54M -84:-96 100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS\n"
+"MacOS 46:48:b9:b3:c3:ff 44 54M -84:-96 100 EP BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:678
msgid "SSID/MESH ID identifies the name of the network."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:679
msgid "BSSID identifies the MAC address of the access point."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:680
msgid ""
"CAPS field identifies the type of each network and the capabilities of the "
-"stations operating there (see the definition of `list scan` in "
-"man:ifconfig[8] for more details)."
+"stations operating there (see the definition of `list scan` in man:"
+"ifconfig[8] for more details)."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:682
#, no-wrap
msgid "Connection and Authentication to a Wireless Network"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:687
msgid ""
"Once a wireless network has been selected from the list of scanned networks, "
-"it is necessary to perform the connection ant the authentication. In the "
+"it is necessary to perform the connection and the authentication. In the "
"vast majority of wireless networks, authentication is done with a password "
"configured in the router. Other schemes require cryptographic handshakes to "
"be completed before data traffic can flow, either using pre-shared keys or "
"secrets, or more complex schemes that involve backend services such as "
"RADIUS."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/network/_index.adoc:689
#, no-wrap
msgid "Authenticate with WPA2/WPA/Personal"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:692
msgid ""
-"The authentication process in a wireless network is managed by "
-"man:wpa_supplicant[8]."
+"The authentication process in a wireless network is managed by man:"
+"wpa_supplicant[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:695
msgid ""
-"The man:wpa_supplicant[8] configuration will be made in the "
-"[.filename]#/etc/wpa_supplicant.conf# file. For more information, see "
-"man:wpa_supplicant.conf[5]."
+"The man:wpa_supplicant[8] configuration will be made in the [.filename]#/etc/"
+"wpa_supplicant.conf# file. For more information, see man:wpa_supplicant."
+"conf[5]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:697
msgid ""
"Once the scanning of the wireless networks has been carried out, a network "
"has been chosen and have the password (PSK), that information will be added "
"to the file [.filename]#/etc/wpa_supplicant.conf# as in the following "
"example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:705
#, no-wrap
msgid ""
"network={\n"
" scan_ssid=1 <.>\n"
" ssid=\"FreeBSD\" <.>\n"
" psk=\"12345678\" <.>\n"
"}\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:708
-msgid "SSID scan technique. Only need to use this option if the network is hidden."
+msgid ""
+"SSID scan technique. Only need to use this option if the network is hidden."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:709
msgid "Network name."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:710
msgid "Passwork of the wireless network."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:712
msgid ""
-"The next step will be to configure the wireless connection in the file "
-"[.filename]#/etc/rc.conf#."
+"The next step will be to configure the wireless connection in the file [."
+"filename]#/etc/rc.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:714
msgid ""
"To use a static address it will be necessary to execute the following "
"command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:718
#, no-wrap
msgid "# sysrc ifconfig_wlan0=\"inet 192.168.1.20 netmask 255.255.255.0\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:721
msgid ""
"To use a dynamic address it will be necessary to execute the following "
"command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:725
#, no-wrap
msgid "# ifconfig_wlan0=\"WPA DHCP\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:728
msgid "Then restart the network executing the following command:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:737
msgid ""
"More information on how to perform more advanced methods of authentication "
-"can be obtained at "
-"crossref:advanced-networking[network-advanced-wireless,\"Wireless Advanced "
-"Authentication\"]."
+"can be obtained at crossref:advanced-networking[network-advanced-wireless,"
+"\"Wireless Advanced Authentication\"]."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/network/_index.adoc:740
#, no-wrap
msgid "Authenticate with Open Networks"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:745
msgid ""
"It is important that the user is *very* careful when connecting to open "
"networks without any kind of authentication."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:748
msgid ""
"Once the wireless network scan is done and the SSID of the wireless network "
"is selected, execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:752
#, no-wrap
-msgid "# ifconfig wlan0 SSID\n"
+msgid "# ifconfig wlan0 ssid SSID\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:755
msgid "And then execute man:dhclient[8] to get the address configured:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:759
#, no-wrap
msgid "# dhclient wlan0\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:761
#, no-wrap
msgid "Using Both Wired and Wireless Connections"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:765
msgid ""
"A wired connection provides better performance and reliability, while a "
"wireless connection provides flexibility and mobility. Laptop users "
"typically want to roam seamlessly between the two types of connections."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:768
msgid ""
"On FreeBSD, it is possible to combine two or even more network interfaces "
"together in a \"failover\" fashion. This type of configuration uses the "
"most preferred and available connection from a group of network interfaces, "
"and the operating system switches automatically when the link state changes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:770
msgid ""
-"Link aggregation and failover is covered in "
-"crossref:advanced-networking[network-aggregation,\"Link Aggregation and "
-"Failover\"] and an example for using both wired and wireless connections is "
-"provided at "
+"Link aggregation and failover is covered in crossref:advanced-"
+"networking[network-aggregation,\"Link Aggregation and Failover\"] and an "
+"example for using both wired and wireless connections is provided at "
"crossref:advanced-networking[networking-lagg-wired-and-wireless,\"Failover "
"Mode Between Ethernet and Wireless Interfaces\"]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:772
#, no-wrap
msgid "Hostname"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:775
msgid ""
"The hostname represents the fully qualified domain name (FQDN) of the host "
"on the network."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:779
msgid ""
"If no hostname has been set for the host FreeBSD will assign the value "
"`Amnesiac`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:782
#, no-wrap
msgid "Check The Current Hostname"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:785
msgid "man:hostname[1] can be used to check the current hostname:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:789
#, no-wrap
msgid "$ hostname\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:796
#, no-wrap
msgid "freebsdhostname.example.com\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:799
#, no-wrap
msgid "Change Hostname"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:802
msgid ""
"To change the hostname of the host and persist it across reboots execute the "
"following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:806
#, no-wrap
msgid "# sysrc hostname=\"freebsdhostname.example.com\"\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:809
#, no-wrap
msgid "DNS"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:812
msgid ""
-"The DNS could be understanded as a "
-"link:https://en.wikipedia.org/wiki/Telephone_directory[telephone directory] "
-"in which an IP is identified to a hostname and vice versa."
+"The DNS could be understanded as a link:https://en.wikipedia.org/wiki/"
+"Telephone_directory[telephone directory] in which an IP is identified to a "
+"hostname and vice versa."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:815
msgid ""
"There are three files that handle how a FreeBSD system interact with the "
-"DNS. These three files are man:hosts[5], man:resolv.conf[5] and "
-"man:nsswitch.conf[5]"
+"DNS. These three files are man:hosts[5], man:resolv.conf[5] and man:"
+"nsswitch.conf[5]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:817
msgid ""
"Unless otherwise stated in the [.filename]#/etc/nsswitch.conf# file, FreeBSD "
"will look at the addresses in the [.filename]#/etc/hosts# file and then the "
"DNS information in the [.filename]#/etc/resolv.conf# file."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:821
msgid ""
"The man:nsswitch.conf[5] file specifies how the nsdispatch (name-service "
"switch dispatcher) should operate."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:823
msgid ""
"By default, the hosts section of the [.filename]#/etc/nsswitch.conf# file "
"will be as follows:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:827
#, no-wrap
msgid "hosts: files dns\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:831
msgid ""
"For example, in case of using the man:nscd[8] service. The order of "
"preference could be changed by leaving the line as follows:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:835
#, no-wrap
msgid "hosts: files cache dns\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:839
#, no-wrap
msgid "Local addresses"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:844
msgid ""
"The [.filename]#/etc/hosts# file is a simple text database who provide host "
"name to IP address mappings. Entries for local computers connected via a "
"LAN can be added to this file for simplistic naming purposes instead of "
"setting up a DNS server. Additionally, [.filename]#/etc/hosts# can be used "
"to provide a local record of Internet names, reducing the need to query "
"external DNS servers for commonly accessed names."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:846
msgid ""
-"For example, in the case of having a local instance of "
-"package:www/gitlab-ce[] in a local environment, it could be added as follows "
-"to the file [.filename]#/etc/hosts#:"
+"For example, in the case of having a local instance of package:www/gitlab-"
+"ce[] in a local environment, it could be added as follows to the file [."
+"filename]#/etc/hosts#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:850
#, no-wrap
msgid "192.168.1.150 git.example.com git\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:853
#, no-wrap
msgid "Configuring the Nameserver"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:856
msgid ""
"How a FreeBSD system accesses the Internet Domain Name System (DNS) is "
"controlled by man:resolv.conf[5]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:858
msgid "The most common entries to [.filename]#/etc/resolv.conf# are:"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:864
#, no-wrap
msgid "`nameserver`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:866
#, no-wrap
-msgid ""
-"The IP address of a name server the resolver should query. The servers are "
-"queried in the order listed with a maximum of three."
+msgid "The IP address of a name server the resolver should query. The servers are queried in the order listed with a maximum of three."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:867
#, no-wrap
msgid "`search`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:869
#, no-wrap
-msgid ""
-"Search list for hostname lookup. This is normally determined by the domain "
-"of the local hostname."
+msgid "Search list for hostname lookup. This is normally determined by the domain of the local hostname."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:870
#, no-wrap
msgid "`domain`"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/network/_index.adoc:871
#, no-wrap
msgid "The local domain name."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:874
msgid "A typical [.filename]#/etc/resolv.conf# looks like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:880
#, no-wrap
msgid ""
"search example.com\n"
"nameserver 147.11.1.11\n"
"nameserver 147.11.100.30\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:885
msgid "Only one of the `search` and `domain` options should be used."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:888
msgid ""
-"When using DHCP, man:dhclient[8] usually rewrites "
-"[.filename]#/etc/resolv.conf# with information received from the DHCP "
-"server."
+"When using DHCP, man:dhclient[8] usually rewrites [.filename]#/etc/resolv."
+"conf# with information received from the DHCP server."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:892
msgid ""
"If the machine in which the configuration is being made is *not* a DNS "
"server, man:local-unbound[8] can be used to improve DNS lookup performance."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:894
msgid "To enable it at boot time execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:898
#, no-wrap
msgid "# sysrc local_unbound_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:901
-msgid "To start the man:local-unbound[8] service execute the following command:"
+msgid ""
+"To start the man:local-unbound[8] service execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/network/_index.adoc:905
#, no-wrap
msgid "# service local_unbound start\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/network/_index.adoc:909
#, no-wrap
msgid "Troubleshooting"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:912
msgid ""
"When troubleshooting hardware and software configurations, check the simple "
"things first."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:914
msgid "Is the network cable plugged in?"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:915
msgid "Are the network services properly configured?"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:916
msgid "Is the firewall configured correctly?"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:917
msgid "Is the NIC supported by FreeBSD?"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:918
msgid "Is the router working correctly?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/network/_index.adoc:922
msgid ""
-"Before sending a bug report, always check the Hardware Notes in the "
-"link:https://www.freebsd.org/releases/[FreeBSD release page], update the "
-"version of FreeBSD to the latest STABLE version, check the mailing list "
-"archives, and search the Internet."
+"Before sending a bug report, always check the Hardware Notes in the link:"
+"https://www.freebsd.org/releases/[FreeBSD release page], update the version "
+"of FreeBSD to the latest STABLE version, check the mailing list archives, "
+"and search the Internet."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:925
#, no-wrap
msgid "Troubleshooting in Wired Networks"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:929
msgid ""
"If the card works, yet performance is poor, read through man:tuning[7]. "
"Also, check the network configuration as incorrect network settings can "
"cause slow connections."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:934
msgid ""
"`No route to host` messages occur if the system is unable to route a packet "
"to the destination host. This can happen if no default route is specified "
"or if a cable is unplugged. Check the output of `netstat -rn` and make sure "
-"there is a valid route to the host. If there is not, read "
-"crossref:advanced-networking[network-routing,\"Gateways and Routes\"]."
+"there is a valid route to the host. If there is not, read crossref:advanced-"
+"networking[network-routing,\"Gateways and Routes\"]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:938
msgid ""
"`ping: sendto: Permission denied` error messages are often caused by a "
"misconfigured firewall. If a firewall is enabled on FreeBSD but no rules "
-"have been defined, the default policy is to deny all traffic, even "
-"man:ping[8]. Refer to crossref:firewalls[firewalls,Firewalls] for more "
+"have been defined, the default policy is to deny all traffic, even man:"
+"ping[8]. Refer to crossref:firewalls[firewalls,Firewalls] for more "
"information."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/network/_index.adoc:940
#, no-wrap
msgid "Troubleshooting in Wireless Networks"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:943
msgid ""
"This section describes a number of steps to help troubleshoot common "
"wireless networking problems."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:945
msgid ""
"If the access point is not listed when scanning, check that the "
"configuration has not limited the wireless device to a limited set of "
"channels."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:947
msgid ""
"If the device cannot associate with an access point, verify that the "
"configuration matches the settings on the access point. This includes the "
"authentication scheme and any security protocols. Simplify the configuration "
"as much as possible. If using a security protocol such as WPA2 or WPA, "
"configure the access point for open authentication and no security to see if "
"traffic will pass."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:949
msgid ""
"Once the system can associate with the access point, diagnose the network "
"configuration using tools like man:ping[8]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/network/_index.adoc:950
msgid ""
"There are many lower-level debugging tools. Debugging messages can be "
"enabled in the 802.11 protocol support layer using man:wlandebug[8]."
msgstr ""
diff --git a/documentation/content/en/books/handbook/ports/_index.po b/documentation/content/en/books/handbook/ports/_index.po
index 5bc057368e..1958f31939 100644
--- a/documentation/content/en/books/handbook/ports/_index.po
+++ b/documentation/content/en/books/handbook/ports/_index.po
@@ -1,2554 +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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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"
+"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"
+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 explicity 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 "Restoring the Package Database"
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:567
-msgid ""
-"Unlike the traditional package management system, pkg includes its own "
-"package database backup mechanism. This functionality is enabled by default."
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/ports/_index.adoc:571
-msgid ""
-"To disable the periodic script from backing up the package database, set "
-"`daily_backup_pkgdb_enable=\"NO\"` in man:periodic.conf[5]."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:575
-msgid ""
-"To restore the contents of a previous package database backup, run the "
-"following command replacing _/path/to/pkg.sql_ with the location of the "
-"backup:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/ports/_index.adoc:579
-#, no-wrap
-msgid "# pkg backup -r /path/to/pkg.sql\n"
-msgstr ""
-
-#. type: delimited block = 4
-#: documentation/content/en/books/handbook/ports/_index.adoc:584
-msgid ""
-"If restoring a backup taken by the periodic script, it must be decompressed "
-"prior to being restored."
-msgstr ""
-
-#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:588
-msgid ""
-"To run a manual backup of the pkg database, run the following command, "
-"replacing _/path/to/pkg.sql_ with a suitable file name and location:"
-msgstr ""
-
-#. type: delimited block . 4
-#: documentation/content/en/books/handbook/ports/_index.adoc:592
-#, no-wrap
-msgid "# pkg backup -d /path/to/pkg.sql\n"
-msgstr ""
-
-#. type: Title ===
-#: documentation/content/en/books/handbook/ports/_index.adoc:595
-#, no-wrap
msgid "Removing Stale Packages"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:600
+#: 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:604
+#: 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:607
+#: 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:611
+#: 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:614
+#: 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:620
+#: 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:622
+#: 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:626
+#: 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:629
+#: 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:633
+#: 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:636
+#: 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:641
+#: 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:643
+#: 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:647
+#: 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:650
+#: 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:654
+#: 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:660
+#: 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:664
+#: 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:668
+#: 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:672
+#: 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:674
+#: 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:681
+#: 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:687
+#: 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:689
+#: 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:690
+#: 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:691
+#: 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:692
+#: 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:693
+#: 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:696
+#: 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:699
+#: 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:701
+#: 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:705
+#: 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:710
+#: 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:714
+#: 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:716
+#: 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:721
+#: 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:724
+#: 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:728
+#: 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:731
+#: 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:735
+#: 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:738
+#: 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:742
+#: 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:745
+#: 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:749
+#: 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:752
+#: 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:756
+#: 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:759
+#: 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:763
+#: 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:771
+#: 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:775
+#: 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:778
+#: 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:800
+#: 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:813
+#: 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:817
+#: 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:822
+#: 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:825
+#: 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:831
+#: 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:836
+#: 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:838
+#: 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:846
+#: 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:852
+#: 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:859
+#: 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:863
+#: 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:868
+#: 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:871
+#: 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:877
+#: 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:880
+#: 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:884
+#: 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:887
+#: 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:891
+#: 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:894
+#: 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:898
+#: 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:901
+#: 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:904
+#: 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:906
+#: 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:910
+#: 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:912
+#: 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:920
+#: 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:922
+#: 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:925
+#: 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:930
+#: 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:932
+#: 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:936
+#: 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:940
+#: 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:944
+#: 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:951
+#: 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:954
+#: 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:958
+#: 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:961
+#: 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:966
+#: 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:969
+#: 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:974
+#: 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:979
+#: 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:982
+#: 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:984
+#: 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:985
+#: 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:986
+#: 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:987
+#: 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:989
+#: 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:1010
+#: 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:1013
+#: 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:1016
+#: 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:1020
+#: 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:1030
+#: 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:1033
+#: 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:1037
+#: 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:1041
+#: 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:1045
+#: 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:1048
+#: 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:1050
+#: 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:1055
+#: 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:1060
+#: 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:1063
+#: 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:1066
+#: 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:1070
+#: 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:1074
+#: 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:1078
+#: 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:1085
+#: 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:1089
+#: 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:1093
+#: 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:1095
+#: 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:1097
+#: 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:1103
+#: 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:1107
+#: 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:1111
+#: 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:1115
+#: 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:1118
+#: 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:1122
+#: 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:1125
+#: 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:1129
+#: 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:1132
+#: 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:1134
+#: 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:1136
+#: documentation/content/en/books/handbook/ports/_index.adoc:1104
#, no-wrap
-msgid "Building Packages with Poudriere"
+msgid "Building Packages with poudriere"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:1143
+#: documentation/content/en/books/handbook/ports/_index.adoc:1111
msgid ""
-"Poudriere is a `BSD`-licensed utility for creating and testing FreeBSD "
+"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:1148
+#: documentation/content/en/books/handbook/ports/_index.adoc:1116
msgid ""
-"Poudriere is installed using the package:ports-mgmt/poudriere[] package or "
+"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:1154
+#: 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:1158
+#: 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:1160
+#: 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:1166
+#: 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:1213
+#: 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:1220
+#: 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:1225
+#: 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:1229
+#: 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:1231
+#: documentation/content/en/books/handbook/ports/_index.adoc:1199
msgid ""
-"Packages to be built are entered in `13amd64-local-workstation-pkglist`:"
+"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:1238
+#: 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:1241
+#: 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:1245
+#: 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:1248
+#: 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:1252
+#: 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:1256
+#: 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 "
+"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:1258
+#: 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:1260
+#: 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:1261
+#: documentation/content/en/books/handbook/ports/_index.adoc:1230
#, no-wrap
-msgid "Configuring pkg Clients to Use a Poudriere Repository"
+msgid "Configuring pkg Clients to Use a poudriere Repository"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/handbook/ports/_index.adoc:1266
+#: 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:1272
+#: 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:1276
+#: 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:1279
+#: 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:1286
+#: 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:1289
+#: 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:1296
+#: 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:1299
+#: 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:1303
+#: 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:1305
+#: 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:1306
+#: 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:1307
+#: 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:1312
+#: 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:1315
+#: 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:1316
+#: 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:1318
+#: 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:1321
+#: 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:1323
+#: 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:1324
+#: 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:1330
+#: 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:1333
+#: 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:1336
+#: 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:1337
+#: 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:1337
+#: documentation/content/en/books/handbook/ports/_index.adoc:1306
msgid ""
"Install the package instead of the port using the instructions in <<pkgng-"
"intro>>."
msgstr ""
diff --git a/documentation/content/en/books/handbook/wine/_index.po b/documentation/content/en/books/handbook/wine/_index.po
index e78678e746..67e9b10ed5 100644
--- a/documentation/content/en/books/handbook/wine/_index.po
+++ b/documentation/content/en/books/handbook/wine/_index.po
@@ -1,2325 +1,2326 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/wine/_index.adoc:1
#, no-wrap
msgid "This chapter will describe how to install WINE on a FreeBSD system and how to configure WINE"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/wine/_index.adoc:1
#, no-wrap
msgid "Part II. Common Tasks"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/wine/_index.adoc:1
#, no-wrap
msgid "Chapter 13. WINE"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/wine/_index.adoc:14
#, no-wrap
msgid "WINE"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:52
#, no-wrap
msgid "Synopsis"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:56
msgid ""
"https://www.winehq.org/[WINE], which stands for Wine Is Not an Emulator, is "
"technically a software translation layer. It enables to install and run "
"some software written for Windows(R) on FreeBSD (and other) systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:60
msgid ""
"It operates by intercepting system calls, or requests from the software to "
"the operating system, and translating them from Windows(R) calls to calls "
"that FreeBSD understands. It will also translate any responses as needed "
"into what the Windows(R) software is expecting. So in some ways, it "
"_emulates_ a Windows(R) environment, in that it provides many of the "
"resources Windows(R) applications are expecting."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:68
msgid ""
"However, it is not an emulator in the traditional sense. Many of these "
"solutions operate by constructing an entire other computer using software "
"processes in place of hardware. Virtualization (such as that provided by "
"the package:emulators/qemu[] port) operates in this way. One of the "
"benefits of this approach is the ability to install a full version of the OS "
"in question to the emulator. It means that the environment will not look "
"any different to applications than a real machine, and chances are good that "
"everything will work on it. The downside to this approach is the fact that "
"software acting as hardware is inherently slower than actual hardware. The "
"computer built in software (called the _guest_) requires resources from the "
"real machine (the _host_), and holds on to those resources for as long as it "
"is running."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:73
msgid ""
"The WINE Project, on the other hand, is much lighter on system's resources. "
"It will translate system calls on the fly, so while it is difficult to be as "
"fast as a real Windows(R) computer, it can come very close. On the other "
"hand, WINE is trying to keep up with a moving target in terms of all the "
"different system calls and other functionality it needs to support. As a "
"result there may be applications that do not work as expected on WINE, will "
"not work at all, or will not even install to begin with."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:76
msgid ""
"At the end of the day, WINE provides another option to try to get a "
"particular Windows(R) software program running on FreeBSD. It can always "
"serve as the first option which, if successful, offers a good experience "
"without unnecessarily depleting the host FreeBSD system's resources."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:78
msgid "This chapter will describe:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:80
msgid "How to install WINE on a FreeBSD system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:81
msgid ""
"How WINE operates, and how it is different from other alternatives like "
"virtualizaton."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:82
msgid "How to fine-tune WINE to the specific needs of some applications."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:83
msgid "How to install GUI helpers for WINE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:84
msgid "Common tips and solutions for on FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:85
msgid ""
"Considerations for WINE on FreeBSD in terms of the multi-user environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:87
msgid "Before reading this chapter, it will be useful to:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:89
msgid "Understand the crossref:basics[basics,basics of UNIX(R) and FreeBSD]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:90
msgid "Know how to crossref:bsdinstall[bsdinstall,install FreeBSD]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:91
msgid ""
"Know how to crossref:advanced-networking[advanced-networking,set up a "
"network connection]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:92
msgid ""
"Know how to crossref:ports[ports,install additional third-party software]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:94
#, no-wrap
msgid "WINE Overview & Concepts"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:97
msgid ""
"WINE is a complex system, so before running it on a FreeBSD system it is "
"worth gaining an understanding of what it is and how it works."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:99
#, no-wrap
msgid "What is WINE?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:103
msgid ""
"As mentioned in the <<wine-synopsis,Synopsis>> for this chapter, WINE is a "
"compatibility layer that allows Windows(R) applications to run on other "
"operating systems. In theory, it means these programs should run on systems "
"like FreeBSD, macOS, and Android."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:105
msgid "When WINE runs a Windows(R) executable, two things occur:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:107
msgid ""
"Firstly, WINE implements an environment that mimics that of various versions "
"of Windows(R). For example, if an application requests access to a resource "
"such as RAM, WINE has a memory interface that looks and acts (as far as the "
"application is concerned) like Windows(R)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:108
msgid ""
"Then, once that application makes use of that interface, WINE takes the "
"incoming request for space in memory and translates it to something "
"compatible with the host system. In the same way when the application "
"retrieves that data, WINE facilitates fetching it from the host system and "
"passing it back to the Windows(R) application."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:110
#, no-wrap
msgid "WINE and the FreeBSD System"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:113
msgid ""
"Installing WINE on a FreeBSD system will entail a few different components:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:115
msgid ""
"FreeBSD applications for tasks such as running the Windows(R) executables, "
"configuring the WINE sub-system, or compiling programs with WINE support."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:116
msgid ""
"A large number of libraries that implement the core functions of Windows(R) "
"(for example [.filename]#/lib/wine/api-ms-core-memory-l1-1-1.dll.so#, which "
"is part of the aforementioned memory interface)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:117
msgid ""
"A number of Windows(R) executables, which are (or mimic) common utilities "
"(such as [.filename]#/lib/wine/notepad.exe.so#, which provides the standard "
"Windows(R) text editor)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:118
msgid ""
"Additional Windows(R) assets, in particular fonts (like the Tahoma font, "
"which is stored in [.filename]#share/wine/fonts/tahoma.ttf# in the install "
"root)."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:120
#, no-wrap
msgid "Graphical Versus Text Mode/Terminal Programs in WINE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:125
msgid ""
"As an operating system where terminal utilities are \"first-class citizens,"
"\" it is natural to assume that WINE will contain extensive support for text-"
"mode program. However, the majority of applications for Windows(R), "
"especially the most popular ones, are designed with a graphical user "
"interface (GUI) in mind. Therefore, WINE's utilities are designed by "
"default to launch graphical programs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:127
msgid ""
"However, there are three methods available to run these so-called Console "
"User Interface (CUI) programs:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:129
msgid ""
"The _Bare Streams_ approach will display the output directly to standard "
"output."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:130
msgid ""
"The _wineconsole_ utility can be used with either the _user_ or _curses_ "
"backed to utilize some of the enhancements the WINE system provides for CUI "
"applications."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:132
msgid ""
"These approaches are described in greater detail on the https://wiki.winehq."
"org/Wine_User%27s_Guide#Text_mode_programs_.28CUI:"
"_Console_User_Interface.29[WINE Wiki]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:134
#, no-wrap
msgid "WINE Derivative Projects"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:137
msgid ""
"WINE itself is a mature open source project, so it is little surprise it is "
"used as the foundation of more complex solutions."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:139
#, no-wrap
msgid "Commercial WINE Implementations"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:143
msgid ""
"A number of companies have taken WINE and made it a core of their own, "
"proprietary products (WINE's LGPL license permits this). Two of the most "
"famous of these are as follows:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:145
msgid "Codeweavers CrossOver"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:148
msgid ""
"This solution provides a simplified \"one-click\" installation of WINE, "
"which contains additional enhancements and optimizations (although the "
"company contributes many of these back upstream to the WINE project). One "
"area of focus for Codeweavers is to make the most popular applications "
"install and run smoothly."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:151
msgid ""
"While the company once produced a native FreeBSD version of their CrossOver "
"solution, it appears to have long been abandoned. While some resources "
"(such as a https://www.codeweavers.com/compatibility/crossover/forum/"
"freebsd[dedicated forum]) are still present, they also have seen no activity "
"for some time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:153
msgid "Steam Proton"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:156
msgid ""
"Gaming company Steam also uses WINE to enable Windows(R) games to install "
"and run on other systems. it is primary target is Linux-based systems, "
"though some support exists for macOS as well."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:158
msgid ""
-"While Steam does not offer a native FreeBSD client,there are several options "
-"for using the Linux(R) client using FreeBSD's Linux Compatibility Layer."
+"While Steam does not offer a native FreeBSD client, there are several "
+"options for using the Linux(R) client using FreeBSD's Linux Compatibility "
+"Layer."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:160
#, no-wrap
msgid "WINE Companion Programs"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:164
msgid ""
"In addition to proprietary offerings, other projects have released "
"applications designed to work in tandem with the standard, open source "
"version of WINE. The goals for these can range from making installation "
"easier to offering easy ways to get popular software installed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:166
msgid ""
"These solutions are covered in greater detail in the later section on <<wine-"
"management-guis,GUI frontends>>, and include the following:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:168
msgid "winetricks"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:169
#: documentation/content/en/books/handbook/wine/_index.adoc:557
#, no-wrap
-msgid "Homura"
+msgid "Suyimazu"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:171
#, no-wrap
msgid "Alternatives to WINE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:174
msgid "For FreeBSD users, some alternatives to using WINE are as follows:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:176
msgid ""
"Dual-Booting: A straightforward option is to run desired Windows(R) "
"applications natively on that OS. This of course means exiting FreeBSD in "
"order to boot Windows(R), so this method is not feasible if access to "
"programs in both systems is required simultaneously."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:177
msgid ""
"Virtual Machines: Virtual Machines (VMs), as mentioned earlier in this "
"chapter, are software processes that emulate full sets of hardware, on which "
"additional operating systems (including Windows(R)) can be installed and "
"run. Modern tools make VMs easy to create and manage, but this method comes "
"at a cost. A good portion of the host systems resources must be allocated to "
"each VM, and those resources cannot be reclaimed by the host as long as the "
"VM is running. A few examples of VM managers include the open source "
"solutions qemu, bhyve, and VirtualBox. See the chapter on <<virtualization,"
"Virtualization>> for more detail."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:178
msgid ""
"Remote Access: Like many other UNIX(R)-like systems, FreeBSD can run a "
"variety of applications enabling users to remotely access Windows(R) "
"computers and use their programs or data. In addtion to clients such as xrdp "
"that connect to the standard Windows(R) Remote Desktop Protocol, other open "
"source standards such as vnc can also be used (provided a compatible server "
"is present on the other side)."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:180
#, no-wrap
msgid "Installing WINE on FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:183
msgid "WINE can be installed via the pkg tool, or by compiling the port(s)."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:185
#, no-wrap
msgid "WINE Prerequistes"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:188
msgid ""
"Before installing WINE itself, it is useful to have the following pre-"
"requisites installed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:190
msgid "A GUI"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:194
msgid ""
"Most Windows(R) programs are expecting to have a graphical user interface "
"available. If WINE is installed without one present, its dependencies will "
"include the Wayland compositor, and so a GUI will be installed along with "
"WINE. But it is useful to have the GUI of choice installed, configured, and "
"working correctly before installing WINE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:196
msgid "wine-gecko"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:202
msgid ""
"The Windows(R) operating system has for some time had a default web browser "
"pre-installed: Internet Explorer. As a result, some applications work under "
"the assumption that there will always be something capable of displaying web "
"pages. In order to provide this functionality, the WINE layer includes a "
"web browser component using the Mozilla project's Gecko engine. When WINE "
"is first launched it will offer to download and install this, and there are "
"reasons users might want it do so (these will be covered in a later "
"chapter). But they can also install it prior to installing WINE, or "
"alongside the install of WINE proper."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:204
msgid "Install this package with the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:208
#, no-wrap
msgid "# pkg install wine-gecko\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:211
msgid "Alternately, compile the port with the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:216
#, no-wrap
msgid ""
"# cd /usr/ports/emulator/wine-gecko\n"
"# make install\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:219
msgid "wine-mono"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:222
msgid ""
"This port installs the MONO framework, an open source implementation of "
"Microsoft's .NET. Including this with the WINE installation will make it "
"that much more likely that any applications written in .NET will install and "
"run on the system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:224
msgid "To install the package:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:228
#, no-wrap
msgid "# pkg install wine-mono\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:231
msgid "To compile from the ports collection:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:236
#, no-wrap
msgid ""
"# cd /usr/ports/emulator/wine-mono\n"
"# make install\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:239
#, no-wrap
msgid "Installing WINE via FreeBSD Package Repositories"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:242
msgid ""
"With the pre-requisites in place, install WINE via package with the "
"following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:246
#, no-wrap
msgid "# pkg install wine\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:249
msgid "Alternately compile the WINE sub-system from source with the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:254
#, no-wrap
msgid ""
"# cd /usr/ports/emulator/wine\n"
"# make install\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:257
#, no-wrap
msgid "Concerns of 32- Versus 64-Bit in WINE Installations"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:262
msgid ""
"Like most software, Windows(R) applications made the upgrade from the older "
"32-bit architecture to 64 bits. And most recent software is written for 64-"
"bit operating systems, although modern OSes can sometimes continue to run "
"older 32-bit programs as well. FreeBSD is no different, having had support "
"for 64-bit since the 5.x series."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:265
msgid ""
"However, using old software no longer supported by default is a common use "
"for emulators, and users commonly turn to WINE to play games and use other "
"programs that do not run properly on modern hardware. Fortunately, FreeBSD "
"can support all three scenarios:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:267
msgid ""
"On modern, 64-bit machine and want to run 64-bit Windows(R) software, simply "
"install the ports mentioned in the above sections. The ports system will "
"automatically install the 64-bit version."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:268
msgid ""
"Alternately, users might have an older 32-bit machine that they do not want "
"to run with its original, now non-supported software. They can install the "
"32-bit (i386) version of FreeBSD, then install the ports in the above "
"sections."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:270
#, no-wrap
msgid "Running a First WINE Program on FreeBSD"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:274
msgid ""
"Now that WINE is installed, the next step is to try it out by running a "
"simple program. An easy way to do this is to download a self-contained "
"application, i.e., one can simply unpack and run without any complex "
"installation process."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:276
msgid ""
"So-called \"portable\" versions of applications are good choices for this "
"test, as are programs that run with only a single executable file."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:278
#, no-wrap
msgid "Running a Program from the Command Line"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:282
msgid ""
"There are two different methods to launch a Windows program from the "
"terminal. The first, and most straightforward is to navigate to the "
"directory containing the program's executable ([.filename]#.EXE#) and issue "
"the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:286
#, no-wrap
msgid "% wine program.exe\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:289
msgid ""
"For applications that take command-line arguments, add them after the "
"executable as usual:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:293
#, no-wrap
msgid "% wine program2.exe -file file.txt\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:296
msgid ""
"Alternately, supply the full path to the executable to use it in a script, "
"for example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:300
#, no-wrap
msgid "% wine /home/user/bin/program.exe\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:303
#, no-wrap
msgid "Running a Program from a GUI"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:307
msgid ""
"After installation graphical shells should be updated with new associations "
"for Windows executable ([.filename]#.EXE#) files. It will now be possible "
"to browse the system using a file manager, and launch the Windows "
"application in the same way as other files and programs (either a single- or "
"double-click, depending on the desktop's settings)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:310
msgid ""
"On most desktops, check to make sure this association is correct by right-"
"clicking on the file, and looking for an entry in the context menu to open "
"the file. One of the options (hopefully the default one) will be with the "
"*Wine Windows Program Loader*, as shown in the below screenshot:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:311
#, no-wrap
msgid "wine-run-np++-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:314
msgid ""
"In the event the program does not run as expected, try launching it from the "
"command line and review any messages displayed in the terminal to "
"troubleshoot."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:316
msgid ""
"In the event WINE is not the default application for [.filename]#.EXE# files "
"after install, check the MIME associate for this extension in the current "
"desktop environment, graphical shell, or file manager."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:318
#, no-wrap
msgid "Configuring WINE Installation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:322
msgid ""
"With an understanding of what WINE is and how it works at a high level, the "
"next step to effectively using it on FreeBSD is becoming familiar with its "
"configuration. The following sections will describe the key concept of the "
"_WINE prefix_, and illustrate how it is used to control the behavior of "
"applications run through WINE."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:324
#, no-wrap
msgid "WINE Prefixes"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:329
msgid ""
"A WINE _prefix_ is a directory, usually located beneath the default location "
"of [.filename]#$HOME/.wine# though it can be located elsewhere. The prefix "
"is a set of configurations and support files used by the wine to configure "
"and run the Windows(R) environment a given application needs. By default, a "
"brand new WINE installation will create the following structure when first "
"launched by a user:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:331
msgid ""
"[.filename]#.update-timestamp#: contains the last modified date of [."
"filename]#file /usr/share/wine/wine.inf#. It is used by WINE to determine if "
"a prefix is out of date, and automatically update it if needed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:332
msgid ""
"[.filename]#dosdevices/#: contains information on mappings of Windows(R) "
"resources to resources on the host FreeBSD system. For example, after a new "
"WINE installation, this should contain at least two entries which enable "
"access to the FreeBSD filesystem using Windows(R)-style drive letters:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:334
msgid "[.filename]#c:@#: A link to [.filename]#drive_c# described below."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:335
msgid "[.filename]#z:@#: A link to the root directory of the system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:337
msgid ""
"[.filename]#drive_c/#: emulates the main (i.e., [.filename]#C:#) drive of a "
"Windows(R) system. It contains a directory structure and associated files "
"mirroring that of standard Windows(R) systems. A fresh WINE prefix will "
"contain Windows(R) 10 directories such as _Users_ and _Windows_ that holds "
"the OS itself. Furthermore, applications installed within a prefix will be "
"located in either _Program Files_ or _Program Files (x86)_, depending on "
"their architecture."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:338
msgid ""
"[.filename]#system.reg#: This Registry file contains information on the "
"Windows(R) installation, which in the case of WINE is the environment in [."
"filename]#drive_c#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:339
msgid ""
"[.filename]#user.reg#: This Registry file contains the current user's "
"personal configurations, made either by varous software or through the use "
"of the Registry Editor."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:340
msgid ""
"[.filename]#userdef.reg#: This Registry file is a default set of "
"configurations for newly-created users."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:342
#, no-wrap
msgid "Creating and Using WINE Prefixes"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:346
msgid ""
"While WINE will create a default prefix in the user's [.filename]#$HOME/."
"wine/#, it is possible to set up multiple prefixes. There are a few reasons "
"to do this:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:348
msgid ""
"The most common reason is to emulate different versions of Windows(R), "
"according to the compatibility needs of the software in question."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:349
msgid ""
"In addition, it is common to encounter software that does not work correctly "
"in the default environment, and requires special configuration. it is useful "
"to isolate these in their own, custom prefixes, so the changes do not impact "
"other applications."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:350
msgid ""
"Similarly, copying the default or \"main\" prefix into a separate "
"\"testing\" one in order to evaluate an application's compatibility can "
"reduce the chance of corruption."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:352
msgid "Creating a prefix from the terminal requires the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:356
#, no-wrap
msgid "% WINEPREFIX=\"/home/username/.wine-new\" winecfg\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:360
msgid ""
"This will run the `winecfg` program, which can be used to configure wine "
"prefixes (more on this in a later section). But by providing a directory "
"path value for the `WINEPREFIX` environment variable, a new prefix is "
"created at that location if one does not already exist."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:362
msgid ""
"Supplying the same variable to the wine program will similarly cause the "
"selected program to be run with the specified prefix:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:366
#, no-wrap
msgid "% WINEPREFIX=\"/home/username/.wine-new\" wine program.exe\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:369
#, no-wrap
msgid "Configuring WINE Prefixes with winecfg"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:374
msgid ""
"As described above WINE includes a tool called `winecfg` to configure "
"prefixes from within a GUI. It contains a variety of functions, which are "
"detailed in the sections below. When `winecfg` is run from within a prefix, "
"or provided the location of a prefix within the `WINEPREFIX` variable, it "
"enables the configuration of the selected prefix as described in the below "
"sections."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:377
msgid ""
"Selections made on the _Applications_ tab will affect the scope of changes "
"made in the _Libraries_ and _Graphics_ tabs, which will be limited to the "
"application selected. See the section on https://wiki.winehq.org/"
"Wine_User%27s_Guide#Using_Winecfg[Using Winecfg] in the WINE Wiki for more "
"details."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:379
#, no-wrap
msgid "Applications"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:381
#, no-wrap
msgid "wine-config-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:386
msgid ""
"The _Applications_ contains controls enabling the association of programs "
"with a particular version of Windows(R). On first start-up the _Application "
"settings_ section will contain a single entry: _Default Settings_. This "
"corresponds to all the default configurations of the prefix, which (as the "
"disabled _Remove application_ button implies) cannot be deleted."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:388
msgid "But additional applications can be added with the following process:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:390
msgid "Click the _Add application_ button."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:391
msgid "Use the provided dialog to select the desired program's executable."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:392
msgid "Select the version of Windows(R) to be used with the selected program."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:394
#, no-wrap
msgid "Libraries"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:396
#, no-wrap
msgid "wine-config-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:401
msgid ""
"WINE provides a set of open source library files as part of its distribution "
"that provide the same functions as their Windows(R) counterparts. However, "
"as noted earlier in this chapter, the WINE project is always trying to keep "
"pace with new updates to these libraries. As a result, the versions that "
"ship with WINE may be missing functionality that the latest Windows(R) "
"programs are expecting."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:403
msgid ""
"However, `winecfg` makes it possible specify overrides for the built-in "
"libraries, particularly there is a version of Windows(R) available on the "
"same machine as the host FreeBSD installation. For each library to be "
"overridden, do the following:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:405
msgid ""
"Open the _New override for library_ drop-down and select the library to be "
"replaced."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:406
msgid "Click the _Add_ button."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:407
msgid ""
"The new override will appear in the _Existing overrides_ list, notice the "
"_native, builtin_ designation in parentheses."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:408
msgid "Click to select the library."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:409
msgid "Click the _Edit_ button."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:410
msgid ""
"Use the provided dialog to select a corresponding library to be used in "
"place of the built-in one."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:412
msgid ""
"Be sure to select a file that is truly the corresponding version of the "
"built-in one, otherwise there may be unexpected behavior."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:414
#, no-wrap
msgid "Graphics"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:416
#, no-wrap
msgid "wine-config-3.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:419
msgid ""
"The _Graphics_ tab provides some options to make the windows of programs run "
"via WINE operate smoothly with FreeBSD:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:421
msgid "Automatic mouse capture when windows are full-screen."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:422
msgid ""
"Allowing the FreeBSD window manager to decorate the windows, such as their "
"title bars, for programs running via WINE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:423
msgid ""
"Allowing the window manager to control windows for programs running via "
"WINE, such as running resizing functions on them."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:424
msgid ""
"Create an emulated virtual desktop, within which all WINE programs will run. "
"If this item is selected, the size of the virtual desktop can be specified "
"using the _Desktop size_ input boxes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:425
msgid "Setting the screen resolution for programs running via WINE."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:427
#, no-wrap
msgid "Desktop Integration"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:429
#, no-wrap
msgid "wine-config-4.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:432
msgid "This tab allows configuration of the following items:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:434
msgid ""
"The theme and related visual settings to be used for programs running via "
"WINE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:435
msgid ""
"Whether the WINE sub-system should manage MIME types (used to determine "
"which application opens a particular file type) internally."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:436
msgid ""
"Mappings of directories in the host FreeBSD system to useful folders within "
"the Windows(R) environment. To change an existing association, select the "
"desired item and click _Browse_, then use the provided dialog to select a "
"directory."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:438
#, no-wrap
msgid "Drives"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:440
#, no-wrap
msgid "wine-config-5.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:445
msgid ""
"The _Drives_ tab allows linking of directories in the host FreeBSD system to "
"drive letters in the Windows(R) environment. The default values in this tab "
"should look familiar, as they are displaying the contents of [."
"filename]#dosdevices/# in the current WINE prefix. Changes made via this "
"dialog will reflect in [.filename]#dosdevices#, and properly-formatted links "
"created in that directory will display in this tab."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:447
msgid ""
"To create a new entry, such as for a CD-ROM (mounted at [.filename]#/mnt/"
"cdrom#), take the following steps:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:449
msgid "Click the _Add _ button."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:450
msgid "In the provided dialog, choose a free drive letter."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:451
msgid "Click _OK_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:452
msgid ""
"Fill in the _Path_ input box by either typing the path to the resource, or "
"click _Browse _ and use the provided dialog to select it."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:455
msgid ""
"By default WINE will autodetect the type of resource linked, but this can be "
"manually overridden. See https://wiki.winehq.org/"
"Wine_User%27s_Guide#Drive_Settings[the section in the WINE Wiki] for more "
"detail on advanced options."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:457
#, no-wrap
msgid "Audio"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:459
#, no-wrap
msgid "wine-config-6.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:462
msgid ""
"This tab contains some configurable options for routing sound from "
"Windows(R) programs to the native FreeBSD sound system, including:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:464
msgid "Driver selection"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:465
msgid "Default device selection"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:466
msgid "Sound test"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:468
#, no-wrap
msgid "About"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:470
#, no-wrap
msgid "wine-config-7.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:474
msgid ""
"The final tab contains information on the WINE project, including a link to "
"the website. It also allows entry of (entirely optional) user information, "
"although this is not sent anywhere as it is in other operating systems."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:476
#, no-wrap
msgid "WINE Management GUIs"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:481
msgid ""
"While the base install of WINE comes with a GUI configuration tool in "
"`winecfg`, it is main purpose is just that: strictly configuring an existing "
"WINE prefix. There are, however, more advanced applications that will "
"assist in the initial installation of applications as well as optimizing "
"their WINE environments. The below sections include a selection of the most "
"popular."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:483
#, no-wrap
msgid "Winetricks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:488
msgid ""
"The `winetricks` tool is a cross-platform, general purpose helper program "
"for WINE. It is not developed by the WINE project proper, but rather "
"maintained on https://github.com/Winetricks/winetricks[Github] by a group of "
"contributors. It contains some automated \"recipes\" for getting common "
"applications to work on WINE, both by optimizing the settings as well as "
"acquiring some DLL libraries automatically."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:490
#, no-wrap
msgid "Installing winetricks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:493
msgid ""
"To install `winetricks` on a FreeBSD using binary packages, use the "
"following commands (note `winetricks` requires either the i386-wine or i386-"
"wine-devel package, and is therefore not installed automatically with other "
"dependencies):"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:497
#, no-wrap
msgid "# pkg install i386-wine winetricks\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:500
msgid "To compile it from source, issue the following in the terminal:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:507
#, no-wrap
msgid ""
"# cd /usr/ports/emulators/i386-wine\n"
"# make install\n"
"# cd /usr/ports/emulators/winetricks\n"
"# make install\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:510
msgid ""
"If a manual installation is required, refer to the https://github.com/"
"Winetricks/winetricks[Github] account for instructions."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:512
#, no-wrap
msgid "Using winetricks"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:515
msgid "Run `winetricks` with the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:519
#, no-wrap
msgid "% winetricks\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:523
msgid ""
"Note: this should be in a 32-bit prefix to run `winetricks`. Launching "
"`winetricks` displays a window with a number of choices, as follows:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:524
#, no-wrap
msgid "winetricks-run-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:527
msgid ""
"Selecting either _Install an application_, _Install a benchmark_, or "
"_Install a game_ shows a list with supported options, such as the one below "
"for applications:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:528
#, no-wrap
msgid "winetricks-run-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:532
msgid ""
"Selecting one or more items and clicking _OK_ will start their installation "
"process(es). Initially, some messages that appear to be errors may show up, "
"but they're actually informational alerts as `winetricks` configures the "
"WINE environment to get around known issues for the application:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:533
#, no-wrap
msgid "winetricks-app-install-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:536
msgid ""
"Once these are circumvented, the actual installer for the application will "
"be run:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:537
#, no-wrap
msgid "winetricks-app-install-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:540
msgid ""
"Once the installation completes, the new Windows application should be "
"available from the desktop environment's standard menu (shown in the "
"screenshot below for the LXQT desktop environment):"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:541
#, no-wrap
msgid "winetricks-menu-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:544
msgid ""
"In order to remove the application, run `winetricks` again, and select _Run "
"an uninstaller_."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:545
#, no-wrap
msgid "winetricks-uninstall-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:549
msgid ""
"A Windows(R)-style dialog will appear with a list of installed programs and "
"components. Select the application to be removed, then click the _Modify/"
"Remove_ button."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:550
#, no-wrap
msgid "winetricks-uninstall-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:553
msgid ""
"This will run the applications built-in installer, which should also have "
"the option to uninstall."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:554
#, no-wrap
msgid "winetricks-uninstall-3.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:561
msgid ""
-"Homura is an application similar to `winetricks`, although it was inspired "
+"Suyimazu is an application similar to `winetricks`, although it was inspired "
"by the https://lutris.net/[Lutris] gaming system for Linux. But while it is "
"focused on games, there are also non-gaming applications available for "
-"install through Homura."
+"install through Suyimazu."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:563
#, no-wrap
-msgid "Installing Homura"
+msgid "Installing Suyimazu"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:566
-msgid "To install Homura's binary package, issue the following command:"
+msgid "To install Suyimazu's binary package, issue the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:570
#, no-wrap
-msgid "# pkg install homura\n"
+msgid "# pkg install suyimazu\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:574
msgid ""
-"Homura is available in the FreeBSD Ports system. However, than the "
+"Suyimazu is available in the FreeBSD Ports system. However, than the "
"_emulators_ section of Ports or binary packages, look for it in the _games_ "
"section."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:579
#, no-wrap
msgid ""
-"# cd /usr/ports/games/homura\n"
+"# cd /usr/ports/games/suyimazu\n"
"# make install\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:582
#, no-wrap
-msgid "Using Homura"
+msgid "Using Suyimazu"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:586
msgid ""
-"Homura's usage is quite similar to that of `winetricks`. When using it for "
-"the first time, launch it from the command line (or a desktop environment "
-"runner applet) with:"
+"Suyimazu's usage is quite similar to that of `winetricks`. When using it "
+"for the first time, launch it from the command line (or a desktop "
+"environment runner applet) with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:590
#, no-wrap
-msgid "% Homura\n"
+msgid "% Suyimazu\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:594
msgid ""
"This should result in a friendly welcome message. Click _OK_ to continue."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:595
#, no-wrap
msgid "homura-launch-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:598
msgid ""
"The program will also offer to place a link in the application menu of "
"compatible environments:"
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:599
#, no-wrap
msgid "homura-run-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:602
msgid ""
-"Depending on the setup of the FreeBSD machine, Homura may display a message "
-"urging the install of native graphics drivers."
+"Depending on the setup of the FreeBSD machine, Suyimazu may display a "
+"message urging the install of native graphics drivers."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:603
#, no-wrap
msgid "homura-run-3.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:607
msgid ""
"The application's window should then appear, which amounts to a \"main "
"menu\" with all its options. Many of the items are the same as "
-"`winetricks`, although Homura offers some additional, helpful options such "
-"as opening its data folder (_Open Homura Folder_) or running a specified "
+"`winetricks`, although Suyimazu offers some additional, helpful options such "
+"as opening its data folder (_Open Suyimazu Folder_) or running a specified "
"program (_Run a executable in prefix_)."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:608
#, no-wrap
msgid "homura-install-1.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:613
msgid ""
-"To select one of Homura's supported applications to install, select "
+"To select one of Suyimazu's supported applications to install, select "
"_Installation_, and click _OK_. This will display a list of applications "
"Homura can install automatically. Select one, and click _OK_ to start the "
"process."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:614
#, no-wrap
msgid "homura-install-2.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:618
msgid ""
-"As a first step Homura will download the selected program. A notification "
+"As a first step Suyimazu will download the selected program. A notification "
"may appear in supported desktop environments."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:619
#, no-wrap
msgid "homura-install-3.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:623
msgid ""
"The program will also create a new prefix for the application. A standard "
"WINE dialog with this message will display."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:624
#, no-wrap
msgid "homura-install-4.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:628
msgid ""
-"Next, Homura will install any prerequisites for the selected program. This "
-"may involve downloading and extracting a fair number of files, the details "
-"of which will show in dialogs."
+"Next, Suyimazu will install any prerequisites for the selected program. "
+"This may involve downloading and extracting a fair number of files, the "
+"details of which will show in dialogs."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:629
#, no-wrap
msgid "homura-install-5.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:632
msgid "Downloaded packages are automatically opened and run as required."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:633
#, no-wrap
msgid "homura-install-6.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:638
msgid ""
"The installation may end with a simple desktop notification or message in "
-"the terminal, depending on how Homura was launched. But in either case "
-"Homura should return to the main screen. To confirm the installation was "
+"the terminal, depending on how Suyimazu was launched. But in either case "
+"Suyimazu should return to the main screen. To confirm the installation was "
"successful, select _Launcher_, and click _OK_."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:639
#, no-wrap
msgid "homura-install-7.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:642
msgid "This will display a list of installed applications."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:643
#, no-wrap
msgid "homura-install-8.png"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:648
msgid ""
"To run the new program, select it from the list, and click _OK_. To "
"uninstall the application, select _Uninstallation_ from the main screen, "
"which will display a similar list. Select the program to be removed, and "
"click _OK_."
msgstr ""
#. type: Target for macro image
#: documentation/content/en/books/handbook/wine/_index.adoc:649
#, no-wrap
msgid "homura-uninstall-1.png"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:652
#, no-wrap
msgid "Running Multiple Management GUIs"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:656
msgid ""
"it is worth noting that the above solutions are not mutually exclusive. it "
"is perfectly acceptable, even advantageous, to have both installed at the "
"same time, as they support a different set of programs."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:660
msgid ""
"However, it is wise to ensure that they do not access any of the same WINE "
"prefixes. Each of these solutions applies workarounds and makes changes to "
"the registries based on known workarounds to existing WINE issues in order "
"to make a given application run smoothly. Allowing both `winetricks` and "
"Homura to access the same prefix could lead to some of these being "
"overwritten, with the result being some or all applications do not work as "
"expected."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:662
#, no-wrap
msgid "WINE in Multi-User FreeBSD Installations"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:665
#, no-wrap
msgid "Issues with Using a Common WINE Prefix"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:670
msgid ""
"Like most UNIX(R)-like operating systems, FreeBSD is designed for multiple "
"users to be logged in and working at the same time. On the other hand, "
"Windows(R) is multi-user in the sense that there can be multiple user "
"accounts set up on one system. But the expectation is that only one will be "
"using the physical machine (a desktop or laptop PC) at any given moment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:674
msgid ""
"More recent consumer versions of Windows(R) have taken some steps to improve "
"the OS in multi-user scenarios. But it is still largely structured around a "
"single-user experience. Furthermore, the measures the WINE project has "
"taken to create a compatible environment means, unlike FreeBSD applications "
"(including WINE itself), it will resemble this single-user environment."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:678
msgid ""
"So it follows that each user will have to maintain their own set of "
"configurations, which is potentially good. Yet it is advantageous to "
"install applications, particularly large ones like office suites or games, "
"only once. Two examples of reasons to do this are maintenance (software "
"updates need only be applied once) and efficiency in storage (no duplicated "
"files)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:680
msgid ""
"There are two strategies to minimize the impact of multiple WINE users in "
"the system."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:682
#, no-wrap
msgid "Installing Applications to a Common Drive"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:687
msgid ""
"As shown in the section on WINE Configuration, WINE provides the ability to "
"attach additional drives to a given prefix. In this way, applications can "
"be installed to a common location, while each user will still have an prefix "
"where individual settings may be kept (depending on the program). This is a "
"good setup if there are relatively few applications to be shared between "
"users, and they are programs that require few custom tweaks changes to the "
"prefix in order to function."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:689
msgid "The steps to make install applications in this way are as follows:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:691
msgid ""
"First, set up a shared location on the system where the files will be "
"stored, such as [.filename]#/mnt/windows-drive_d/#. Creating new directories "
"is described in the man:mkdir[1] manual page."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:692
msgid ""
"Next, set permissions for this new directory to allow only desired users to "
"access it. One approach to this is to create a new group such as \"windows,"
"\" add the desired users to that group (see the sub-section on groups in the "
"crossref:basics[users-groups,Users and Basic Account Management] section), "
"and set to the permissions on the directory to `770` (the section on "
"crossref:basics[permissions,Permissions] illustrates this process)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:693
msgid ""
"Finally, add the location as a drive to the user's prefix using the "
"`winecfg` as described in the above section on WINE Configuration in this "
"chapter."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:697
msgid ""
"Once complete, applications can be installed to this location, and "
"subsequently run using the assigned drive letter (or the standard UNIX(R)-"
"style directory path). However, as noted above, only one user should be "
"running these applications (which may be accessing files within their "
"installation directory) at the same time. Some applications may also "
"exhibit unexpected behavior when run by a user who is not the owner, despite "
"being a member of the group that should have full \"read/write/execute\" "
"permissions for the entire directory."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:699
#, no-wrap
msgid "Using a Common Installation of WINE"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:706
msgid ""
"If, on the other hand, there are many applications to be shared, or they "
"require specific tuning in order to work correctly, a different approach may "
"be required. In this method, a completely separate user is created "
"specifically for the purposes of storing the WINE prefix and all its "
"installed applications. Individual users are then granted permission to run "
"programs as this user using the man:sudo[8] command. The result is that "
"these users can launch a WINE application as they normally would, only it "
"will act as though launched by the newly-created user, and therefore use the "
"centrally-maintained prefix containing both settings and programs. To "
"accomplish this, take the following steps:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:708
msgid ""
"Create a new user with the following command (as `root`), which will step "
"through the required details:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:712
#, no-wrap
msgid "# adduser\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:717
msgid ""
"Enter the username (e.g., _windows_) and Full name (\"Microsoft Windows\"). "
"Then accept the defaults for the remainder of the questions. Next, install "
"the `sudo` utility using binary packages with the following:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:721
#, no-wrap
msgid "# pkg install sudo\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:724
msgid "Once installed, edit [.filename]#/etc/sudoers# as follows:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:728
#, no-wrap
msgid "# User alias specification\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:731
#, no-wrap
msgid ""
"# define which users can run the wine/windows programs\n"
"User_Alias WINDOWS_USERS = user1,user2\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:734
#, no-wrap
msgid ""
"# define which users can administrate (become root)\n"
"User_Alias ADMIN = user1\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:736
#, no-wrap
msgid "# Cmnd alias specification\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:739
#, no-wrap
msgid ""
"# define which commands the WINDOWS_USERS may run\n"
"Cmnd_Alias WINDOWS = /usr/bin/wine,/usr/bin/winecfg\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:745
#, no-wrap
msgid ""
"# Defaults\n"
"Defaults:WINDOWS_USERS env_reset\n"
"Defaults:WINDOWS_USERS env_keep += DISPLAY\n"
"Defaults:WINDOWS_USERS env_keep += XAUTHORITY\n"
"Defaults !lecture,tty_tickets,!fqdn\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:748
#, no-wrap
msgid ""
"# User privilege specification\n"
"root ALL=(ALL) ALL\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:751
#, no-wrap
msgid ""
"# Members of the admin user_alias, defined above, may gain root privileges\n"
"ADMIN ALL=(ALL) ALL\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:754
#, no-wrap
msgid ""
"# The WINDOWS_USERS may run WINDOWS programs as user windows without a password\n"
"WINDOWS_USERS ALL = (windows) NOPASSWD: WINDOWS\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:759
msgid ""
"The result of these changes is the users named in the _User_Alias_ section "
"are permitted to run the programs listed in the _Cmnd Alias_ section using "
"the resources listed in the _Defaults_ section (the current display) as if "
"they were the user listed in the final line of the file. In other words, "
"users designates as _WINDOWS_USERS_ can run the WINE and `winecfg` "
"applications as user _windows_. As a bonus, the configuration here means "
"they will not be required to enter the password for the _windows_ user."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:761
msgid ""
"Next provide access to the display back to the _windows_ user, as whom the "
"WINE programs will be running:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:765
#, no-wrap
msgid "% xhost +local:windows\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:769
msgid ""
"This should be added to the list of commands run either at login or when the "
"default graphical environment starts. Once all the above are complete, a "
"user configured as one of the `WINDOW_USERS` in [.filename]#sudoers# can run "
"programs using the shared prefix with the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:773
#, no-wrap
msgid "% sudo -u windows wine program.exe\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:779
msgid ""
"it is worth noting that multiple users accessing this shared environment at "
"the same time is still risky. However, consider also that the shared "
"environment can itself contain multiple prefixes. In this way an "
"administrator can create a tested and verified set of programs, each with "
"its own prefix. At the same time, one user can play a game while another "
"works with office programs without the need for redundant software "
"installations."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/wine/_index.adoc:781
#, no-wrap
msgid "WINE on FreeBSD FAQ"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:784
msgid ""
"The following section describes some frequently asked questions, tips/"
"tricks, or common issues in running WINE on FreeBSD, along with their "
"respective answers."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:786
#, no-wrap
msgid "Basic Installation and Usage"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:789
#, no-wrap
msgid "How to Install 32-bit and 64-bit WINE on the Same System?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:793
msgid ""
"As described earlier in this section, the wine and i386-wine packages "
"conflict with one another, and therefore cannot be installed on the same "
"system in the normal way. However, multiple installs can be achieved using "
"mechanisms like chroots/jails, or by building WINE from source (note this "
"does _not_ mean building the port)."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:795
#, no-wrap
msgid "Can DOS Programs Be Run on WINE?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:801
msgid ""
"They can, as \"Console User Interface\" applications as mentioned earlier in "
"this section. However, there is an arguably better method for running DOS "
"software: package:emulators/dosbox[DOSBox]. On the other hand, there is "
"little reason not to at least try it. Simply create a new prefix, install "
"the software, and if it does not work delete the prefix."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:803
#, no-wrap
msgid "Should the package:emulators/wine-devel[] Package/Port be Installed to Use the Development Version of WINE Instead of Stable?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:807
msgid ""
"Yes, installing this version will install the \"development\" version of "
"WINE. As with the 32- and 64-bit versions, they cannot be installed "
"together with the stable versions unless additional measures are taken."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:811
msgid ""
"Note that WINE also has a \"Staging\" version, which contains the most "
"recent updates. This was at one time available as a FreeBSD port; however, "
"it has since been removed. It can be compiled directly from source however."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:813
#, no-wrap
msgid "Install Optimization"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:816
#, no-wrap
msgid "How Should Windows(R) Hardware (e.g., Graphics) Drivers be Handled?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:822
msgid ""
"Operating system drivers transfer commands between applications and "
"hardware. WINE emulates a Windows(R) environment, including the drivers, "
"which in turn use FreeBSD's native drivers for this transfer. it is not "
"advisable to install Windows(R) drivers, as the WINE system is designed to "
"use the host systems drivers. If, for example, a graphics card that "
"benefits from dedicated drivers, install them using the standard FreeBSD "
"methods, not Windows(R) installers."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:824
#, no-wrap
msgid "Is There a way to Make Windows(R) Fonts Look Better?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:827
msgid ""
"A user on the FreeBSD forums suggests this configuration to fix out-of-the-"
"box look of WINE fonts, which can be slightly pixelated."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:829
msgid ""
"According to https://forums.freebsd.org/threads/make-wine-ui-fonts-look-"
"good.68273/[a post in the FreeBSD Forums], adding the following to [."
"filename]#.config/fontconfig/fonts.conf# will add anti-aliasing and make "
"text more readable."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:834
#, no-wrap
msgid ""
"<?xml version=\"1.0\"?>\n"
"<!DOCTYPE fontconfig SYSTEM \"fonts.dtd>\"\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:836
#, no-wrap
msgid "<fontconfig>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/wine/_index.adoc:845
#, no-wrap
msgid ""
" <!-- antialias all fonts -->\n"
" <match target=\"font\">\n"
" <edit name=\"antialias\" mode=\"assign\"><bool>true</bool></edit>>\n"
" <edit name=\"hinting\" mode=\"assign\"><bool>true</bool></edit>>\n"
" <edit name=\"hintstyle\" mode=\"assign\"><const>hintslight</const></edit>>\n"
" <edit name=\"rgba\" mode=\"assign\"><const>rgb</const></edit>>\n"
" </match>\n"
"</fontconfig>\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:849
#, no-wrap
msgid "Does Having Windows(R) Installed Elsewhere on a System Help WINE Operate?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:854
msgid ""
"It may, depending on the application being run. As mentioned in the section "
"describing `winecfg`, some built-in WINE DLLs and other libraries can be "
"overridden by providing a path to an alternate version. Provided the "
"Windows(R) partition or drive is mounted to the FreeBSD system and "
"accessible to the user, configuring some of these overrides will use native "
"Windows(R) libraries and may decrease the chance of unexpected behavior."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:856
#, no-wrap
msgid "Application-Specific"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:859
#, no-wrap
msgid "Where is the Best Place to see if Application X Works on WINE?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:863
msgid ""
"The first step in determining compatibility should be the https://appdb."
"winehq.org/[WINE AppDB]. This is a compilation of reports of programs "
"working (or not) on all supported platforms, although (as previously "
"mentioned), solutions for one platform are often applicable to others."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:865
#, no-wrap
msgid "Is There Anything That Will Help Games Run Better?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:870
msgid ""
"Perhaps. Many Windows(R) games rely on DirectX, a proprietary Microsoft "
"graphics layer. However there are projects in the open source community "
"attempting to implement support for this technology."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:873
msgid ""
"The _dxvk_ project, which is an attempt to implement DirectX using the "
"FreeBSD-compatible Vulkan graphics sub-system, is one such. Although its "
"primary target is WINE on Linux, https://forums.freebsd.org/threads/what-"
"about-gaming-on-freebsd.723/page-9[some FreeBSD users report] compiling and "
"using dxvk."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:877
msgid ""
"In addition, work is under way on a https://www.freshports.org/emulators/"
"wine-proton/[wine-proton port]. This will bring the work of Valve, "
"developer of the Steam gaming platform, to FreeBSD. Proton is a "
"distribution of WINE designed to allow many Windows(R) games to run on other "
"operating systems with minimal setup."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/wine/_index.adoc:879
#, no-wrap
msgid "Is There Anywhere FreeBSD WINE Users Gather to Exchange Tips and Tricks?"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:882
msgid ""
"There are plenty of places FreeBSD users discuss issues related to WINE that "
"can be searched for solutions:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:884
msgid ""
"https://forums.freebsd.org/[The FreeBSD forums], particularly the "
"_Installation and Maintenance of Ports or Packages_ or _Emulation and "
"virtualization_ forums."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:885
msgid ""
"https://wiki.freebsd.org/IRC/Channels[FreeBSD IRC channels] including "
"#freebsd (for general support), #freebsd-games, and others."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:886
msgid ""
"https://discord.gg/2CCuhCt[The BSD World Discord server's] channels "
"including _bsd-desktop_, _bsd-gaming_, _bsd-wine_, and others."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/wine/_index.adoc:888
#, no-wrap
msgid "Other OS Resources"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:891
msgid ""
"There are a number of resources focused on other operating systems that may "
"be useful for FreeBSD users:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:893
msgid ""
"https://wiki.winehq.org/[The WINE Wiki] has a wealth of information on using "
"WINE, much of which is applicable across many of WINE's supported operating "
"systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:894
msgid ""
"Similarly, the documentation available from other OS projects can also be of "
"good value. https://wiki.archlinux.org/index.php/wine[The WINE page] on the "
"Arch Linux Wiki is a particularly good example, although some of the \"Third-"
"party applications\" (i.e., \"companion applications\") are obviously not "
"available on FreeBSD."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/wine/_index.adoc:894
msgid ""
"Finally, Codeweavers (a developer of a commercial version of WINE) is an "
"active upstream contributor. Oftentimes answers to questions in https://www."
"codeweavers.com/support/forums[their support forum] can be of aid in "
"troubleshooting problems with the open source version of WINE."
msgstr ""
diff --git a/documentation/content/en/books/handbook/zfs/_index.po b/documentation/content/en/books/handbook/zfs/_index.po
index 3ea0a66942..62fcdee9c6 100644
--- a/documentation/content/en/books/handbook/zfs/_index.po
+++ b/documentation/content/en/books/handbook/zfs/_index.po
@@ -1,5039 +1,5039 @@
# 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: 2023-07-15 16:41-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/zfs/_index.adoc:1
#, no-wrap
msgid "ZFS is an advanced file system designed to solve major problems found in previous storage subsystem software"
msgstr ""
#. type: YAML Front Matter: part
#: documentation/content/en/books/handbook/zfs/_index.adoc:1
#, no-wrap
msgid "Part III. System Administration"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/handbook/zfs/_index.adoc:1
#, no-wrap
msgid "Chapter 22. The Z File System (ZFS)"
msgstr ""
#. type: Title =
#: documentation/content/en/books/handbook/zfs/_index.adoc:14
#, no-wrap
msgid "The Z File System (ZFS)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:52
msgid ""
"ZFS is an advanced file system designed to solve major problems found in "
"previous storage subsystem software."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:54
msgid ""
"Originally developed at Sun(TM), ongoing open source ZFS development has "
"moved to the http://open-zfs.org[OpenZFS Project]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:56
msgid "ZFS has three major design goals:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:58
msgid ""
"Data integrity: All data includes a <<zfs-term-checksum,checksum>> of the "
"data. ZFS calculates checksums and writes them along with the data. When "
"reading that data later, ZFS recalculates the checksums. If the checksums do "
"not match, meaning detecting one or more data errors, ZFS will attempt to "
"automatically correct errors when ditto-, mirror-, or parity-blocks are "
"available."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:59
msgid ""
"Pooled storage: adding physical storage devices to a pool, and allocating "
"storage space from that shared pool. Space is available to all file systems "
"and volumes, and increases by adding new storage devices to the pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:60
msgid ""
"Performance: caching mechanisms provide increased performance. <<zfs-term-"
"arc,ARC>> is an advanced memory-based read cache. ZFS provides a second "
"level disk-based read cache with <<zfs-term-l2arc,L2ARC>>, and a disk-based "
"synchronous write cache named <<zfs-term-zil,ZIL>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:62
msgid "A complete list of features and terminology is in <<zfs-term>>."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:64
#, no-wrap
msgid "What Makes ZFS Different"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:77
msgid ""
"More than a file system, ZFS is fundamentally different from traditional "
"file systems. Combining the traditionally separate roles of volume manager "
"and file system provides ZFS with unique advantages. The file system is now "
"aware of the underlying structure of the disks. Traditional file systems "
"could exist on a single disk alone at a time. If there were two disks then "
"creating two separate file systems was necessary. A traditional hardware "
"RAID configuration avoided this problem by presenting the operating system "
"with a single logical disk made up of the space provided by physical disks "
"on top of which the operating system placed a file system. Even with "
"software RAID solutions like those provided by GEOM, the UFS file system "
"living on top of the RAID believes it's dealing with a single device. ZFS' "
"combination of the volume manager and the file system solves this and allows "
"the creation of file systems that all share a pool of available storage. "
"One big advantage of ZFS' awareness of the physical disk layout is that "
"existing file systems grow automatically when adding extra disks to the "
"pool. This new space then becomes available to the file systems. ZFS can "
"also apply different properties to each file system. This makes it useful to "
"create separate file systems and datasets instead of a single monolithic "
"file system."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:79
#, no-wrap
msgid "Quick Start Guide"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:83
msgid ""
"FreeBSD can mount ZFS pools and datasets during system initialization. To "
"enable it, add this line to [.filename]#/etc/rc.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:87
#, no-wrap
msgid "zfs_enable=\"YES\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:90
msgid "Then start the service:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:94
#, no-wrap
msgid "# service zfs start\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:98
msgid ""
"The examples in this section assume three SCSI disks with the device names [."
"filename]#da0#, [.filename]#da1#, and [.filename]#da2#. Users of SATA "
"hardware should instead use [.filename]#ada# device names."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:100
#, no-wrap
msgid "Single Disk Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:103
msgid "To create a simple, non-redundant pool using a single disk device:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:107
#, no-wrap
msgid "# zpool create example /dev/da0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:110
msgid "To view the new pool, review the output of `df`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:119
#, no-wrap
msgid ""
"# df\n"
"Filesystem 1K-blocks Used Avail Capacity Mounted on\n"
"/dev/ad0s1a 2026030 235230 1628718 13% /\n"
"devfs 1 1 0 100% /dev\n"
"/dev/ad0s1d 54098308 1032846 48737598 2% /usr\n"
"example 17547136 0 17547136 0% /example\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:123
msgid ""
"This output shows creating and mounting of the `example` pool, and that is "
"now accessible as a file system. Create files for users to browse:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:134
#, no-wrap
msgid ""
"# cd /example\n"
"# ls\n"
"# touch testfile\n"
"# ls -al\n"
"total 4\n"
"drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .\n"
"drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..\n"
"-rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:138
msgid ""
"This pool is not using any advanced ZFS features and properties yet. To "
"create a dataset on this pool with compression enabled:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:143
#, no-wrap
msgid ""
"# zfs create example/compressed\n"
"# zfs set compression=gzip example/compressed\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:147
msgid ""
"The `example/compressed` dataset is now a ZFS compressed file system. Try "
"copying some large files to [.filename]#/example/compressed#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:149
msgid "Disable compression with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:153
#, no-wrap
msgid "# zfs set compression=off example/compressed\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:156
msgid "To unmount a file system, use `zfs umount` and then verify with `df`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:166
#, no-wrap
msgid ""
"# zfs umount example/compressed\n"
"# df\n"
"Filesystem 1K-blocks Used Avail Capacity Mounted on\n"
"/dev/ad0s1a 2026030 235232 1628716 13% /\n"
"devfs 1 1 0 100% /dev\n"
"/dev/ad0s1d 54098308 1032864 48737580 2% /usr\n"
"example 17547008 0 17547008 0% /example\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:169
msgid ""
"To re-mount the file system to make it accessible again, use `zfs mount` and "
"verify with `df`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:180
#, no-wrap
msgid ""
"# zfs mount example/compressed\n"
"# df\n"
"Filesystem 1K-blocks Used Avail Capacity Mounted on\n"
"/dev/ad0s1a 2026030 235234 1628714 13% /\n"
"devfs 1 1 0 100% /dev\n"
"/dev/ad0s1d 54098308 1032864 48737580 2% /usr\n"
"example 17547008 0 17547008 0% /example\n"
"example/compressed 17547008 0 17547008 0% /example/compressed\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:183
msgid "Running `mount` shows the pool and file systems:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:192
#, no-wrap
msgid ""
"# mount\n"
"/dev/ad0s1a on / (ufs, local)\n"
"devfs on /dev (devfs, local)\n"
"/dev/ad0s1d on /usr (ufs, local, soft-updates)\n"
"example on /example (zfs, local)\n"
"example/compressed on /example/compressed (zfs, local)\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:198
msgid ""
"Use ZFS datasets like any file system after creation. Set other available "
"features on a per-dataset basis when needed. The example below creates a "
"new file system called `data`. It assumes the file system contains "
"important files and configures it to store two copies of each data block."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:203
#, no-wrap
msgid ""
"# zfs create example/data\n"
"# zfs set copies=2 example/data\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:206
msgid "Use `df` to see the data and space usage:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:217
#, no-wrap
msgid ""
"# df\n"
"Filesystem 1K-blocks Used Avail Capacity Mounted on\n"
"/dev/ad0s1a 2026030 235234 1628714 13% /\n"
"devfs 1 1 0 100% /dev\n"
"/dev/ad0s1d 54098308 1032864 48737580 2% /usr\n"
"example 17547008 0 17547008 0% /example\n"
"example/compressed 17547008 0 17547008 0% /example/compressed\n"
"example/data 17547008 0 17547008 0% /example/data\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:222
msgid ""
"Notice that all file systems in the pool have the same available space. "
"Using `df` in these examples shows that the file systems use the space they "
"need and all draw from the same pool. ZFS gets rid of concepts such as "
"volumes and partitions, and allows several file systems to share the same "
"pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:224
msgid "To destroy the file systems and then the pool that is no longer needed:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:230
#, no-wrap
msgid ""
"# zfs destroy example/compressed\n"
"# zfs destroy example/data\n"
"# zpool destroy example\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:233
#, no-wrap
msgid "RAID-Z"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:239
msgid ""
"Disks fail. One way to avoid data loss from disk failure is to use RAID. "
"ZFS supports this feature in its pool design. RAID-Z pools require three or "
"more disks but provide more usable space than mirrored pools."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:241
msgid ""
"This example creates a RAID-Z pool, specifying the disks to add to the pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:245
#, no-wrap
msgid "# zpool create storage raidz da0 da1 da2\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:253
msgid ""
"Sun(TM) recommends that the number of devices used in a RAID-Z configuration "
"be between three and nine. For environments requiring a single pool "
"consisting of 10 disks or more, consider breaking it up into smaller RAID-Z "
"groups. If two disks are available, ZFS mirroring provides redundancy if "
"required. Refer to man:zpool[8] for more details."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:257
msgid ""
"The previous example created the `storage` zpool. This example makes a new "
"file system called `home` in that pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:261
#, no-wrap
msgid "# zfs create storage/home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:264
msgid "Enable compression and store an extra copy of directories and files:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:269
#, no-wrap
msgid ""
"# zfs set copies=2 storage/home\n"
"# zfs set compression=gzip storage/home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:272
msgid ""
"To make this the new home directory for users, copy the user data to this "
"directory and create the appropriate symbolic links:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:279
#, no-wrap
msgid ""
"# cp -rp /home/* /storage/home\n"
"# rm -rf /home /usr/home\n"
"# ln -s /storage/home /home\n"
"# ln -s /storage/home /usr/home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:283
msgid ""
"Users data is now stored on the freshly-created [.filename]#/storage/home#. "
"Test by adding a new user and logging in as that user."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:285
msgid "Create a file system snapshot to roll back to later:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:289
#, no-wrap
msgid "# zfs snapshot storage/home@08-30-08\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:292
msgid "ZFS creates snapshots of a dataset, not a single directory or file."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:295
msgid ""
"The `@` character is a delimiter between the file system name or the volume "
"name. Before deleting an important directory, back up the file system, then "
"roll back to an earlier snapshot in which the directory still exists:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:299
#, no-wrap
msgid "# zfs rollback storage/home@08-30-08\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:303
msgid ""
"To list all available snapshots, run `ls` in the file system's [.filename]#."
"zfs/snapshot# directory. For example, to see the snapshot taken:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:307
#, no-wrap
msgid "# ls /storage/home/.zfs/snapshot\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:312
msgid ""
"Write a script to take regular snapshots of user data. Over time, snapshots "
"can use up a lot of disk space. Remove the previous snapshot using the "
"command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:316
#, no-wrap
msgid "# zfs destroy storage/home@08-30-08\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:320
msgid ""
"After testing, make [.filename]#/storage/home# the real [.filename]#/home# "
"with this command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:324
#, no-wrap
msgid "# zfs set mountpoint=/home storage/home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:327
msgid ""
"Run `df` and `mount` to confirm that the system now treats the file system "
"as the real [.filename]#/home#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:343
#, no-wrap
msgid ""
"# mount\n"
"/dev/ad0s1a on / (ufs, local)\n"
"devfs on /dev (devfs, local)\n"
"/dev/ad0s1d on /usr (ufs, local, soft-updates)\n"
"storage on /storage (zfs, local)\n"
"storage/home on /home (zfs, local)\n"
"# df\n"
"Filesystem 1K-blocks Used Avail Capacity Mounted on\n"
"/dev/ad0s1a 2026030 235240 1628708 13% /\n"
"devfs 1 1 0 100% /dev\n"
"/dev/ad0s1d 54098308 1032826 48737618 2% /usr\n"
"storage 26320512 0 26320512 0% /storage\n"
"storage/home 26320512 0 26320512 0% /home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:347
msgid ""
"This completes the RAID-Z configuration. Add daily status updates about the "
"created file systems to the nightly man:periodic[8] runs by adding this line "
"to [.filename]#/etc/periodic.conf#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:351
#, no-wrap
msgid "daily_status_zfs_enable=\"YES\"\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:354
#, no-wrap
msgid "Recovering RAID-Z"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:358
msgid ""
"Every software RAID has a method of monitoring its `state`. View the status "
"of RAID-Z devices using:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:362
#, no-wrap
msgid "# zpool status -x\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:365
msgid ""
"If all pools are <<zfs-term-online,Online>> and everything is normal, the "
"message shows:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:369
#, no-wrap
msgid "all pools are healthy\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:372
msgid ""
"If there is a problem, perhaps a disk being in the <<zfs-term-offline,"
"Offline>> state, the pool state will look like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:384
#, no-wrap
msgid ""
" pool: storage\n"
" state: DEGRADED\n"
"status: One or more devices has been taken offline by the administrator.\n"
"\tSufficient replicas exist for the pool to continue functioning in a\n"
"\tdegraded state.\n"
"action: Online the device using 'zpool online' or replace the device with\n"
"\t'zpool replace'.\n"
" scrub: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:391
#, no-wrap
msgid ""
"\tNAME STATE READ WRITE CKSUM\n"
"\tstorage DEGRADED 0 0 0\n"
"\t raidz1 DEGRADED 0 0 0\n"
"\t da0 ONLINE 0 0 0\n"
"\t da1 OFFLINE 0 0 0\n"
"\t da2 ONLINE 0 0 0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:393
#: documentation/content/en/books/handbook/zfs/_index.adoc:428
#: documentation/content/en/books/handbook/zfs/_index.adoc:474
#: documentation/content/en/books/handbook/zfs/_index.adoc:517
#: documentation/content/en/books/handbook/zfs/_index.adoc:540
#: documentation/content/en/books/handbook/zfs/_index.adoc:572
#: documentation/content/en/books/handbook/zfs/_index.adoc:651
#: documentation/content/en/books/handbook/zfs/_index.adoc:705
#: documentation/content/en/books/handbook/zfs/_index.adoc:742
#: documentation/content/en/books/handbook/zfs/_index.adoc:771
#: documentation/content/en/books/handbook/zfs/_index.adoc:851
#: documentation/content/en/books/handbook/zfs/_index.adoc:924
#: documentation/content/en/books/handbook/zfs/_index.adoc:955
#: documentation/content/en/books/handbook/zfs/_index.adoc:1055
#: documentation/content/en/books/handbook/zfs/_index.adoc:1099
#: documentation/content/en/books/handbook/zfs/_index.adoc:1124
#: documentation/content/en/books/handbook/zfs/_index.adoc:1144
#, no-wrap
msgid "errors: No known data errors\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:396
msgid ""
"\"OFFLINE\" shows the administrator took [.filename]#da1# offline using:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:400
#, no-wrap
msgid "# zpool offline storage da1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:404
msgid ""
"Power down the computer now and replace [.filename]#da1#. Power up the "
"computer and return [.filename]#da1# to the pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:408
#, no-wrap
msgid "# zpool replace storage da1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:411
msgid ""
"Next, check the status again, this time without `-x` to display all pools:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:419
#, no-wrap
msgid ""
"# zpool status storage\n"
" pool: storage\n"
" state: ONLINE\n"
" scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:426
#: documentation/content/en/books/handbook/zfs/_index.adoc:472
#, no-wrap
msgid ""
"\tNAME STATE READ WRITE CKSUM\n"
"\tstorage ONLINE 0 0 0\n"
"\t raidz1 ONLINE 0 0 0\n"
"\t da0 ONLINE 0 0 0\n"
"\t da1 ONLINE 0 0 0\n"
"\t da2 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:431
msgid "In this example, everything is normal."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:433
#, no-wrap
msgid "Data Verification"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:437
msgid ""
"ZFS uses checksums to verify the integrity of stored data. Creating file "
"systems automatically enables them."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:444
msgid ""
"Disabling Checksums is possible but _not_ recommended! Checksums take little "
"storage space and provide data integrity. Most ZFS features will not work "
"properly with checksums disabled. Disabling these checksums will not "
"increase performance noticeably."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:447
msgid ""
"Verifying the data checksums (called _scrubbing_) ensures integrity of the "
"`storage` pool with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:451
#, no-wrap
msgid "# zpool scrub storage\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:457
msgid ""
"The duration of a scrub depends on the amount of data stored. Larger "
"amounts of data will take proportionally longer to verify. Since scrubbing "
"is I/O intensive, ZFS allows a single scrub to run at a time. After "
"scrubbing completes, view the status with `zpool status`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:465
#, no-wrap
msgid ""
"# zpool status storage\n"
" pool: storage\n"
" state: ONLINE\n"
" scrub: scrub completed with 0 errors on Sat Jan 26 19:57:37 2013\n"
"config:\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:478
msgid ""
"Displaying the completion date of the last scrubbing helps decide when to "
"start another. Routine scrubs help protect data from silent corruption and "
"ensure the integrity of the pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:480
msgid "Refer to man:zfs[8] and man:zpool[8] for other ZFS options."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:482
#, no-wrap
msgid "`zpool` Administration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:487
msgid ""
"ZFS administration uses two main utilities. The `zpool` utility controls "
"the operation of the pool and allows adding, removing, replacing, and "
"managing disks. The <<zfs-zfs,`zfs`>> utility allows creating, destroying, "
"and managing datasets, both <<zfs-term-filesystem,file systems>> and <<zfs-"
"term-volume,volumes>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:489
#, no-wrap
msgid "Creating and Destroying Storage Pools"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:498
msgid ""
"Creating a ZFS storage pool requires permanent decisions, as the pool "
"structure cannot change after creation. The most important decision is "
"which types of vdevs to group the physical disks into. See the list of "
"<<zfs-term-vdev,vdev types>> for details about the possible options. After "
"creating the pool, most vdev types do not allow adding disks to the vdev. "
"The exceptions are mirrors, which allow adding new disks to the vdev, and "
"stripes, which upgrade to mirrors by attaching a new disk to the vdev. "
"Although adding new vdevs expands a pool, the pool layout cannot change "
"after pool creation. Instead, back up the data, destroy the pool, and "
"recreate it."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:500
msgid "Create a simple mirror pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:509
#, no-wrap
msgid ""
"# zpool create mypool mirror /dev/ada1 /dev/ada2\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:515
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 0\n"
" ada2 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:520
msgid ""
"To create more than one vdev with a single command, specify groups of disks "
"separated by the vdev type keyword, `mirror` in this example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:529
#, no-wrap
msgid ""
"# zpool create mypool mirror /dev/ada1 /dev/ada2 mirror /dev/ada3 /dev/ada4\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:538
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 0\n"
" ada2 ONLINE 0 0 0\n"
" mirror-1 ONLINE 0 0 0\n"
" ada3 ONLINE 0 0 0\n"
" ada4 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:549
msgid ""
"Pools can also use partitions rather than whole disks. Putting ZFS in a "
"separate partition allows the same disk to have other partitions for other "
"purposes. In particular, it allows adding partitions with bootcode and file "
"systems needed for booting. This allows booting from disks that are also "
"members of a pool. ZFS adds no performance penalty on FreeBSD when using a "
"partition rather than a whole disk. Using partitions also allows the "
"administrator to _under-provision_ the disks, using less than the full "
"capacity. If a future replacement disk of the same nominal size as the "
"original actually has a slightly smaller capacity, the smaller partition "
"will still fit, using the replacement disk."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:551
msgid "Create a <<zfs-term-vdev-raidz,RAID-Z2>> pool using partitions:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:560
#, no-wrap
msgid ""
"# zpool create mypool raidz2 /dev/ada0p3 /dev/ada1p3 /dev/ada2p3 /dev/ada3p3 /dev/ada4p3 /dev/ada5p3\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:570
#: documentation/content/en/books/handbook/zfs/_index.adoc:769
#: documentation/content/en/books/handbook/zfs/_index.adoc:953
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" raidz2-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0\n"
" ada2p3 ONLINE 0 0 0\n"
" ada3p3 ONLINE 0 0 0\n"
" ada4p3 ONLINE 0 0 0\n"
" ada5p3 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:579
msgid ""
"Destroy a pool that is no longer needed to reuse the disks. Destroying a "
"pool requires unmounting the file systems in that pool first. If any "
"dataset is in use, the unmount operation fails without destroying the pool. "
"Force the pool destruction with `-f`. This can cause undefined behavior in "
"applications which had open files on those datasets."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:581
#, no-wrap
msgid "Adding and Removing Devices"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:585
msgid ""
"Two ways exist for adding disks to a pool: attaching a disk to an existing "
"vdev with `zpool attach`, or adding vdevs to the pool with `zpool add`. "
"Some <<zfs-term-vdev,vdev types>> allow adding disks to the vdev after "
"creation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:594
msgid ""
"A pool created with a single disk lacks redundancy. It can detect "
"corruption but can not repair it, because there is no other copy of the "
"data. The <<zfs-term-copies,copies>> property may be able to recover from a "
"small failure such as a bad sector, but does not provide the same level of "
"protection as mirroring or RAID-Z. Starting with a pool consisting of a "
"single disk vdev, use `zpool attach` to add a new disk to the vdev, creating "
"a mirror. Also use `zpool attach` to add new disks to a mirror group, "
"increasing redundancy and read performance. When partitioning the disks "
"used for the pool, replicate the layout of the first disk on to the second. "
"Use `gpart backup` and `gpart restore` to make this process easier."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:596
msgid ""
"Upgrade the single disk (stripe) vdev [.filename]#ada0p3# to a mirror by "
"attaching [.filename]#ada1p3#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:604
#: documentation/content/en/books/handbook/zfs/_index.adoc:801
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:608
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:612
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool attach mypool ada0p3 ada1p3\n"
"Make sure to wait until resilvering finishes before rebooting.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:614
#, no-wrap
msgid "If you boot from pool 'mypool', you may need to update boot code on newly attached disk _ada1p3_.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:616
#, no-wrap
msgid "Assuming you use GPT partitioning and _da0_ is your new boot disk you may use the following command:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:630
#, no-wrap
msgid ""
" gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0\n"
"# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1\n"
"bootcode written to ada1\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
"status: One or more devices is currently being resilvered. The pool will\n"
" continue to function, possibly in a degraded state.\n"
"action: Wait for the resilver to complete.\n"
" scan: resilver in progress since Fri May 30 08:19:19 2014\n"
" 527M scanned out of 781M at 47.9M/s, 0h0m to go\n"
" 527M resilvered, 67.53% done\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:636
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0 (resilvering)\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:643
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:15:58 2014\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:649
#: documentation/content/en/books/handbook/zfs/_index.adoc:682
#: documentation/content/en/books/handbook/zfs/_index.adoc:740
#: documentation/content/en/books/handbook/zfs/_index.adoc:807
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:659
msgid ""
"When adding disks to the existing vdev is not an option, as for RAID-Z, an "
"alternative method is to add another vdev to the pool. Adding vdevs "
"provides higher performance by distributing writes across the vdevs. Each "
"vdev provides its own redundancy. Mixing vdev types like `mirror` and `RAID-"
"Z` is possible but discouraged. Adding a non-redundant vdev to a pool "
"containing mirror or RAID-Z vdevs risks the data on the entire pool. "
"Distributing writes means a failure of the non-redundant disk will result in "
"the loss of a fraction of every block written to the pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:664
msgid ""
"ZFS stripes data across each of the vdevs. For example, with two mirror "
"vdevs, this is effectively a RAID 10 that stripes writes across two sets of "
"mirrors. ZFS allocates space so that each vdev reaches 100% full at the "
"same time. Having vdevs with different amounts of free space will lower "
"performance, as more data writes go to the less full vdev."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:666
msgid ""
"When attaching new devices to a boot pool, remember to update the bootcode."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:668
msgid ""
"Attach a second mirror group ([.filename]#ada2p3# and [.filename]#ada3p3#) "
"to the existing mirror:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:676
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:19:35 2014\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:694
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool add mypool mirror ada2p3 ada3p3\n"
"# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2\n"
"bootcode written to ada2\n"
"# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada3\n"
"bootcode written to ada3\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:703
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0\n"
" mirror-1 ONLINE 0 0 0\n"
" ada2p3 ONLINE 0 0 0\n"
" ada3p3 ONLINE 0 0 0\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:709
msgid ""
"Removing vdevs from a pool is impossible and removal of disks from a mirror "
"is exclusive if there is enough remaining redundancy. If a single disk "
"remains in a mirror group, that group ceases to be a mirror and becomes a "
"stripe, risking the entire pool if that remaining disk fails."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:711
msgid "Remove a disk from a three-way mirror group:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:719
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:726
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0\n"
" ada2p3 ONLINE 0 0 0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:734
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool detach mypool ada2p3\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014\n"
"config:\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:745
#, no-wrap
msgid "Checking the Status of a Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:751
msgid ""
"Pool status is important. If a drive goes offline or ZFS detects a read, "
"write, or checksum error, the corresponding error count increases. The "
"`status` output shows the configuration and status of each device in the "
"pool and the status of the entire pool. Actions to take and details about "
"the last <<zfs-zpool-scrub,`scrub`>> are also shown."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:759
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: scrub repaired 0 in 2h25m with 0 errors on Sat Sep 14 04:25:50 2013\n"
"config:\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:774
#, no-wrap
msgid "Clearing Errors"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:780
msgid ""
"When detecting an error, ZFS increases the read, write, or checksum error "
"counts. Clear the error message and reset the counts with `zpool clear "
"_mypool_`. Clearing the error state can be important for automated scripts "
"that alert the administrator when the pool encounters an error. Without "
"clearing old errors, the scripts may fail to report further errors."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:782
#, no-wrap
msgid "Replacing a Functioning Device"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:791
msgid ""
"It may be desirable to replace one disk with a different disk. When "
"replacing a working disk, the process keeps the old disk online during the "
"replacement. The pool never enters a <<zfs-term-degraded,degraded>> state, "
"reducing the risk of data loss. Running `zpool replace` copies the data "
"from the old disk to the new one. After the operation completes, ZFS "
"disconnects the old disk from the vdev. If the new disk is larger than the "
"old disk, it may be possible to grow the zpool, using the new space. See "
"<<zfs-zpool-online,Growing a Pool>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:793
msgid "Replace a functioning device in the pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:811
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool replace mypool ada1p3 ada2p3\n"
"Make sure to wait until resilvering finishes before rebooting.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:813
#, no-wrap
msgid "When booting from the pool 'zroot', update the boot code on the newly attached disk 'ada2p3'.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:815
#, no-wrap
msgid "Assuming GPT partitioning is used and [.filename]#da0# is the new boot disk, use the following command:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:828
#, no-wrap
msgid ""
" gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0\n"
"# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
"status: One or more devices is currently being resilvered. The pool will\n"
" continue to function, possibly in a degraded state.\n"
"action: Wait for the resilver to complete.\n"
" scan: resilver in progress since Mon Jun 2 14:21:35 2014\n"
" 604M scanned out of 781M at 46.5M/s, 0h0m to go\n"
" 604M resilvered, 77.39% done\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:836
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" replacing-1 ONLINE 0 0 0\n"
" ada1p3 ONLINE 0 0 0\n"
" ada2p3 ONLINE 0 0 0 (resilvering)\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:843
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: resilvered 781M in 0h0m with 0 errors on Mon Jun 2 14:21:52 2014\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:849
#: documentation/content/en/books/handbook/zfs/_index.adoc:922
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" ada2p3 ONLINE 0 0 0\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:854
#, no-wrap
msgid "Dealing with Failed Devices"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:862
msgid ""
"When a disk in a pool fails, the vdev to which the disk belongs enters the "
"<<zfs-term-degraded,degraded>> state. The data is still available, but with "
"reduced performance because ZFS computes missing data from the available "
"redundancy. To restore the vdev to a fully functional state, replace the "
"failed physical device. ZFS is then instructed to begin the <<zfs-term-"
"resilver,resilver>> operation. ZFS recomputes data on the failed device "
"from available redundancy and writes it to the replacement device. After "
"completion, the vdev returns to <<zfs-term-online,online>> status."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:865
msgid ""
"If the vdev does not have any redundancy, or if devices have failed and "
"there is not enough redundancy to compensate, the pool enters the <<zfs-term-"
"faulted,faulted>> state. Unless enough devices can reconnect the pool "
"becomes inoperative requiring a data restore from backups."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:868
msgid ""
"When replacing a failed disk, the name of the failed disk changes to the "
"GUID of the new disk. A new device name parameter for `zpool replace` is "
"not required if the replacement device has the same device name."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:870
msgid "Replace a failed disk using `zpool replace`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:882
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: DEGRADED\n"
"status: One or more devices could not be opened. Sufficient replicas exist for\n"
" the pool to continue functioning in a degraded state.\n"
"action: Attach the missing device and online it using 'zpool online'.\n"
" see: http://illumos.org/msg/ZFS-8000-2Q\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:888
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool DEGRADED 0 0 0\n"
" mirror-0 DEGRADED 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" 316502962686821739 UNAVAIL 0 0 0 was /dev/ada1p3\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:901
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool replace mypool 316502962686821739 ada2p3\n"
"# zpool status\n"
" pool: mypool\n"
" state: DEGRADED\n"
"status: One or more devices is currently being resilvered. The pool will\n"
" continue to function, possibly in a degraded state.\n"
"action: Wait for the resilver to complete.\n"
" scan: resilver in progress since Mon Jun 2 14:52:21 2014\n"
" 641M scanned out of 781M at 49.3M/s, 0h0m to go\n"
" 640M resilvered, 82.04% done\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:909
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool DEGRADED 0 0 0\n"
" mirror-0 DEGRADED 0 0 0\n"
" ada0p3 ONLINE 0 0 0\n"
" replacing-1 UNAVAIL 0 0 0\n"
" 15732067398082357289 UNAVAIL 0 0 0 was /dev/ada1p3/old\n"
" ada2p3 ONLINE 0 0 0 (resilvering)\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:916
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: resilvered 781M in 0h0m with 0 errors on Mon Jun 2 14:52:38 2014\n"
"config:\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:927
#, no-wrap
msgid "Scrubbing a Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:932
msgid ""
"Routinely <<zfs-term-scrub,scrub>> pools, ideally at least once every "
"month. The `scrub` operation is disk-intensive and will reduce performance "
"while running. Avoid high-demand periods when scheduling `scrub` or use "
"<<zfs-advanced-tuning-scrub_delay,`vfs.zfs.scrub_delay`>> to adjust the "
"relative priority of the `scrub` to keep it from slowing down other "
"workloads."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:943
#, no-wrap
msgid ""
"# zpool scrub mypool\n"
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
" scan: scrub in progress since Wed Feb 19 20:52:54 2014\n"
" 116G scanned out of 8.60T at 649M/s, 3h48m to go\n"
" 0 repaired, 1.32% done\n"
"config:\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:958
msgid "To cancel a scrub operation if needed, run `zpool scrub -s _mypool_`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:960
#, no-wrap
msgid "Self-Healing"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:971
msgid ""
"The checksums stored with data blocks enable the file system to _self-"
"heal_. This feature will automatically repair data whose checksum does not "
"match the one recorded on another device that is part of the storage pool. "
"For example, a mirror configuration with two disks where one drive is "
"starting to malfunction and cannot properly store the data any more. This "
"is worse when the data was not accessed for a long time, as with long term "
"archive storage. Traditional file systems need to run commands that check "
"and repair the data like man:fsck[8]. These commands take time, and in "
"severe cases, an administrator has to decide which repair operation to "
"perform. When ZFS detects a data block with a mismatched checksum, it tries "
"to read the data from the mirror disk. If that disk can provide the correct "
"data, ZFS will give that to the application and correct the data on the disk "
"with the wrong checksum. This happens without any interaction from a system "
"administrator during normal pool operation."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:973
msgid ""
"The next example shows this self-healing behavior by creating a mirrored "
"pool of disks [.filename]#/dev/ada0# and [.filename]#/dev/ada1#."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:982
#, no-wrap
msgid ""
"# zpool create healer mirror /dev/ada0 /dev/ada1\n"
"# zpool status healer\n"
" pool: healer\n"
" state: ONLINE\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:988
#: documentation/content/en/books/handbook/zfs/_index.adoc:1142
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" healer ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:993
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"healer 960M 92.5K 960M - - 0% 0% 1.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:996
msgid ""
"Copy some important data to the pool to protect from data errors using the "
"self-healing feature and create a checksum of the pool for later comparison."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1006
#, no-wrap
msgid ""
"# cp /some/important/data /healer\n"
"# zfs list\n"
"NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT\n"
"healer 960M 67.7M 892M 7% 1.00x ONLINE -\n"
"# sha1 /healer > checksum.txt\n"
"# cat checksum.txt\n"
"SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1010
msgid ""
"Simulate data corruption by writing random data to the beginning of one of "
"the disks in the mirror. To keep ZFS from healing the data when detected, "
"export the pool before the corruption and import it again afterwards."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1018
msgid ""
"This is a dangerous operation that can destroy vital data, shown here for "
"demonstration alone. *Do not try* it during normal operation of a storage "
"pool. Nor should this intentional corruption example run on any disk with a "
"file system not using ZFS on another partition in it. Do not use any other "
"disk device names other than the ones that are part of the pool. Ensure "
"proper backups of the pool exist and test them before running the command!"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1028
#, no-wrap
msgid ""
"# zpool export healer\n"
"# dd if=/dev/random of=/dev/ada1 bs=1m count=200\n"
"200+0 records in\n"
"200+0 records out\n"
"209715200 bytes transferred in 62.992162 secs (3329227 bytes/sec)\n"
"# zpool import healer\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1034
msgid ""
"The pool status shows that one device has experienced an error. Note that "
"applications reading data from the pool did not receive any incorrect data. "
"ZFS provided data from the [.filename]#ada0# device with the correct "
"checksums. To find the device with the wrong checksum, look for one whose "
"`CKSUM` column contains a nonzero value."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1047
#, no-wrap
msgid ""
"# zpool status healer\n"
" pool: healer\n"
" state: ONLINE\n"
" status: One or more devices has experienced an unrecoverable error. An\n"
" attempt was made to correct the error. Applications are unaffected.\n"
" action: Determine if the device needs to be replaced, and clear the errors\n"
" using 'zpool clear' or replace the device with 'zpool replace'.\n"
" see: http://illumos.org/msg/ZFS-8000-4J\n"
" scan: none requested\n"
" config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1053
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" healer ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1059
msgid ""
"ZFS detected the error and handled it by using the redundancy present in the "
"unaffected [.filename]#ada0# mirror disk. A checksum comparison with the "
"original one will reveal whether the pool is consistent again."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1066
#, no-wrap
msgid ""
"# sha1 /healer >> checksum.txt\n"
"# cat checksum.txt\n"
"SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f\n"
"SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1075
msgid ""
"Generate checksums before and after the intentional tampering while the pool "
"data still matches. This shows how ZFS is capable of detecting and "
"correcting any errors automatically when the checksums differ. Note this is "
"possible with enough redundancy present in the pool. A pool consisting of a "
"single device has no self-healing capabilities. That is also the reason why "
"checksums are so important in ZFS; do not disable them for any reason. ZFS "
"requires no man:fsck[8] or similar file system consistency check program to "
"detect and correct this, and keeps the pool available while there is a "
"problem. A scrub operation is now required to overwrite the corrupted data "
"on [.filename]#ada1#."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1091
#, no-wrap
msgid ""
"# zpool scrub healer\n"
"# zpool status healer\n"
" pool: healer\n"
" state: ONLINE\n"
"status: One or more devices has experienced an unrecoverable error. An\n"
" attempt was made to correct the error. Applications are unaffected.\n"
"action: Determine if the device needs to be replaced, and clear the errors\n"
" using 'zpool clear' or replace the device with 'zpool replace'.\n"
" see: http://illumos.org/msg/ZFS-8000-4J\n"
" scan: scrub in progress since Mon Dec 10 12:23:30 2012\n"
" 10.4M scanned out of 67.0M at 267K/s, 0h3m to go\n"
" 9.63M repaired, 15.56% done\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1097
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" healer ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 627 (repairing)\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1103
msgid ""
"The scrub operation reads data from [.filename]#ada0# and rewrites any data "
"with a wrong checksum on [.filename]#ada1#, shown by the `(repairing)` "
"output from `zpool status`. After the operation is complete, the pool "
"status changes to:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1116
#, no-wrap
msgid ""
"# zpool status healer\n"
" pool: healer\n"
" state: ONLINE\n"
"status: One or more devices has experienced an unrecoverable error. An\n"
" attempt was made to correct the error. Applications are unaffected.\n"
"action: Determine if the device needs to be replaced, and clear the errors\n"
" using 'zpool clear' or replace the device with 'zpool replace'.\n"
" see: http://illumos.org/msg/ZFS-8000-4J\n"
" scan: scrub repaired 66.5M in 0h2m with 0 errors on Mon Dec 10 12:26:25 2012\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1122
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" healer ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
" ada0 ONLINE 0 0 0\n"
" ada1 ONLINE 0 0 2.72K\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1127
msgid ""
"After the scrubbing operation completes with all the data synchronized from "
"[.filename]#ada0# to [.filename]#ada1#, <<zfs-zpool-clear,clear>> the error "
"messages from the pool status by running `zpool clear`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1136
#, no-wrap
msgid ""
"# zpool clear healer\n"
"# zpool status healer\n"
" pool: healer\n"
" state: ONLINE\n"
" scan: scrub repaired 66.5M in 0h2m with 0 errors on Mon Dec 10 12:26:25 2012\n"
"config:\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1147
msgid ""
"The pool is now back to a fully working state, with all error counts now "
"zero."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1149
#, no-wrap
msgid "Growing a Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1158
msgid ""
"The smallest device in each vdev limits the usable size of a redundant "
"pool. Replace the smallest device with a larger device. After completing a "
"<<zfs-zpool-replace,replace>> or <<zfs-term-resilver,resilver>> operation, "
"the pool can grow to use the capacity of the new device. For example, "
"consider a mirror of a 1 TB drive and a 2 TB drive. The usable space is 1 "
"TB. When replacing the 1 TB drive with another 2 TB drive, the resilvering "
"process copies the existing data onto the new drive. As both of the devices "
"now have 2 TB capacity, the mirror's available space grows to 2 TB."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1161
msgid ""
"Start expansion by using `zpool online -e` on each device. After expanding "
"all devices, the extra space becomes available to the pool."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1163
#, no-wrap
msgid "Importing and Exporting Pools"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1171
msgid ""
"_Export_ pools before moving them to another system. ZFS unmounts all "
"datasets, marking each device as exported but still locked to prevent use by "
"other disks. This allows pools to be _imported_ on other machines, other "
"operating systems that support ZFS, and even different hardware "
"architectures (with some caveats, see man:zpool[8]). When a dataset has "
"open files, use `zpool export -f` to force exporting the pool. Use this "
"with caution. The datasets are forcibly unmounted, potentially resulting in "
"unexpected behavior by the applications which had open files on those "
"datasets."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1173
msgid "Export a pool that is not in use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1177
#, no-wrap
msgid "# zpool export mypool\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1185
msgid ""
"Importing a pool automatically mounts the datasets. If this is undesired "
"behavior, use `zpool import -N` to prevent it. `zpool import -o` sets "
"temporary properties for this specific import. `zpool import altroot=` "
"allows importing a pool with a base mount point instead of the root of the "
"file system. If the pool was last used on a different system and was not "
"properly exported, force the import using `zpool import -f`. `zpool import -"
"a` imports all pools that do not appear to be in use by another system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1187
msgid "List all available pools for import:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1196
#, no-wrap
msgid ""
"# zpool import\n"
" pool: mypool\n"
" id: 9930174748043525076\n"
" state: ONLINE\n"
" action: The pool can be imported using its name or numeric identifier.\n"
" config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1199
#, no-wrap
msgid ""
" mypool ONLINE\n"
" ada2p3 ONLINE\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1202
msgid "Import the pool with an alternative root directory:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1210
#, no-wrap
msgid ""
"# zpool import -o altroot=/mnt mypool\n"
"# zfs list\n"
"zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 110K 47.0G 31K /mnt/mypool\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1213
#, no-wrap
msgid "Upgrading a Storage Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1219
msgid ""
"After upgrading FreeBSD, or if importing a pool from a system using an older "
"version, manually upgrade the pool to the latest ZFS version to support "
"newer features. Consider whether the pool may ever need importing on an "
"older system before upgrading. Upgrading is a one-way process. Upgrade "
"older pools is possible, but downgrading pools with newer features is not."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1221
msgid "Upgrade a v28 pool to support `Feature Flags`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1234
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
"status: The pool is formatted using a legacy on-disk format. The pool can\n"
" still be used, but some features are unavailable.\n"
"action: Upgrade the pool using 'zpool upgrade'. Once this is done, the\n"
" pool will no longer be accessible on software that does not support feat\n"
" flags.\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1240
#: documentation/content/en/books/handbook/zfs/_index.adoc:1288
#, no-wrap
msgid ""
" NAME STATE READ WRITE CKSUM\n"
" mypool ONLINE 0 0 0\n"
" mirror-0 ONLINE 0 0 0\n"
"\t ada0 ONLINE 0 0 0\n"
"\t ada1 ONLINE 0 0 0\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1244
#: documentation/content/en/books/handbook/zfs/_index.adoc:1292
#, no-wrap
msgid ""
"errors: No known data errors\n"
"# zpool upgrade\n"
"This system supports ZFS pool feature flags.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1247
#, no-wrap
msgid ""
"The following pools are formatted with legacy version numbers and are upgraded to use feature flags.\n"
"After being upgraded, these pools will no longer be accessible by software that does not support feature flags.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1251
#, no-wrap
msgid ""
"VER POOL\n"
"--- ------------\n"
"28 mypool\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1256
#, no-wrap
msgid ""
"Use 'zpool upgrade -v' for a list of available legacy versions.\n"
"Every feature flags pool has all supported features enabled.\n"
"# zpool upgrade mypool\n"
"This system supports ZFS pool feature flags.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1263
#, no-wrap
msgid ""
"Successfully upgraded 'mypool' from version 28 to feature flags.\n"
"Enabled the following features on 'mypool':\n"
" async_destroy\n"
" empty_bpobj\n"
" lz4_compress\n"
" multi_vdev_crash_dump\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1267
msgid ""
"The newer features of ZFS will not be available until `zpool upgrade` has "
"completed. Use `zpool upgrade -v` to see what new features the upgrade "
"provides, as well as which features are already supported."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1269
msgid "Upgrade a pool to support new feature flags:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1282
#, no-wrap
msgid ""
"# zpool status\n"
" pool: mypool\n"
" state: ONLINE\n"
"status: Some supported features are not enabled on the pool. The pool can\n"
" still be used, but some features are unavailable.\n"
"action: Enable all features using 'zpool upgrade'. Once this is done,\n"
" the pool may no longer be accessible by software that does not support\n"
" the features. See zpool-features(7) for details.\n"
" scan: none requested\n"
"config:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1294
#, no-wrap
msgid "All pools are formatted using feature flags.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1298
#, no-wrap
msgid ""
"Some supported features are not enabled on the following pools. Once a\n"
"feature is enabled the pool may become incompatible with software\n"
"that does not support the feature. See zpool-features(7) for details.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1311
#, no-wrap
msgid ""
"POOL FEATURE\n"
"---------------\n"
"zstore\n"
" multi_vdev_crash_dump\n"
" spacemap_histogram\n"
" enabled_txg\n"
" hole_birth\n"
" extensible_dataset\n"
" bookmarks\n"
" filesystem_limits\n"
"# zpool upgrade mypool\n"
"This system supports ZFS pool feature flags.\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1319
#, no-wrap
msgid ""
"Enabled the following features on 'mypool':\n"
" spacemap_histogram\n"
" enabled_txg\n"
" hole_birth\n"
" extensible_dataset\n"
" bookmarks\n"
" filesystem_limits\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1326
msgid ""
"Update the boot code on systems that boot from a pool to support the new "
"pool version. Use `gpart bootcode` on the partition that contains the boot "
"code. Two types of bootcode are available, depending on way the system "
"boots: GPT (the most common option) and EFI (for more modern systems)."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1328
msgid "For legacy boot using GPT, use the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1332
#, no-wrap
msgid "# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1335
msgid "For systems using EFI to boot, execute the following command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1339
#, no-wrap
msgid "# gpart bootcode -p /boot/boot1.efifat -i 1 ada1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1343
msgid ""
"Apply the bootcode to all bootable disks in the pool. See man:gpart[8] for "
"more information."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1346
#, no-wrap
msgid "Displaying Recorded Pool History"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1352
msgid ""
"ZFS records commands that change the pool, including creating datasets, "
"changing properties, or replacing a disk. Reviewing history about a pool's "
"creation is useful, as is checking which user performed a specific action "
"and when. History is not kept in a log file, but is part of the pool "
"itself. The command to review this history is aptly named `zpool history`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1361
#, no-wrap
msgid ""
"# zpool history\n"
"History for 'tank':\n"
"2013-02-26.23:02:35 zpool create tank mirror /dev/ada0 /dev/ada1\n"
"2013-02-27.18:50:58 zfs set atime=off tank\n"
"2013-02-27.18:51:09 zfs set checksum=fletcher4 tank\n"
"2013-02-27.18:51:18 zfs create tank/backup\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1366
msgid ""
"The output shows `zpool` and `zfs` commands altering the pool in some way "
"along with a timestamp. Commands like `zfs list` are not included. When "
"specifying no pool name, ZFS displays history of all pools."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1369
msgid ""
"`zpool history` can show even more information when providing the options `-"
"i` or `-l`. `-i` displays user-initiated events as well as internally "
"logged ZFS events."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1381
#, no-wrap
msgid ""
"# zpool history -i\n"
"History for 'tank':\n"
"2013-02-26.23:02:35 [internal pool create txg:5] pool spa 28; zfs spa 28; zpl 5;uts 9.1-RELEASE 901000 amd64\n"
"2013-02-27.18:50:53 [internal property set txg:50] atime=0 dataset = 21\n"
"2013-02-27.18:50:58 zfs set atime=off tank\n"
"2013-02-27.18:51:04 [internal property set txg:53] checksum=7 dataset = 21\n"
"2013-02-27.18:51:09 zfs set checksum=fletcher4 tank\n"
"2013-02-27.18:51:13 [internal create txg:55] dataset = 39\n"
"2013-02-27.18:51:18 zfs create tank/backup\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1385
msgid ""
"Show more details by adding `-l`. Showing history records in a long format, "
"including information like the name of the user who issued the command and "
"the hostname on which the change happened."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1394
#, no-wrap
msgid ""
"# zpool history -l\n"
"History for 'tank':\n"
"2013-02-26.23:02:35 zpool create tank mirror /dev/ada0 /dev/ada1 [user 0 (root) on :global]\n"
"2013-02-27.18:50:58 zfs set atime=off tank [user 0 (root) on myzfsbox:global]\n"
"2013-02-27.18:51:09 zfs set checksum=fletcher4 tank [user 0 (root) on myzfsbox:global]\n"
"2013-02-27.18:51:18 zfs create tank/backup [user 0 (root) on myzfsbox:global]\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1400
msgid ""
"The output shows that the `root` user created the mirrored pool with disks [."
"filename]#/dev/ada0# and [.filename]#/dev/ada1#. The hostname `myzfsbox` is "
"also shown in the commands after the pool's creation. The hostname display "
"becomes important when exporting the pool from one system and importing on "
"another. It's possible to distinguish the commands issued on the other "
"system by the hostname recorded for each command."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1403
msgid ""
"Combine both options to `zpool history` to give the most detailed "
"information possible for any given pool. Pool history provides valuable "
"information when tracking down the actions performed or when needing more "
"detailed output for debugging."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1405
#, no-wrap
msgid "Performance Monitoring"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1412
msgid ""
"A built-in monitoring system can display pool I/O statistics in real time. "
"It shows the amount of free and used space on the pool, read and write "
"operations performed per second, and I/O bandwidth used. By default, ZFS "
"monitors and displays all pools in the system. Provide a pool name to limit "
"monitoring to that pool. A basic example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1420
#, no-wrap
msgid ""
"# zpool iostat\n"
" capacity operations bandwidth\n"
"pool alloc free read write read write\n"
"---------- ----- ----- ----- ----- ----- -----\n"
"data 288G 1.53T 2 11 11.3K 57.1K\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1426
msgid ""
"To continuously see I/O activity, specify a number as the last parameter, "
"indicating an interval in seconds to wait between updates. The next "
"statistic line prints after each interval. Press kbd:[Ctrl+C] to stop this "
"continuous monitoring. Give a second number on the command line after the "
"interval to specify the total number of statistics to display."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1431
msgid ""
"Display even more detailed I/O statistics with `-v`. Each device in the "
"pool appears with a statistics line. This is useful for seeing read and "
"write operations performed on each device, and can help determine if any "
"individual device is slowing down the pool. This example shows a mirrored "
"pool with two devices:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1443
#, no-wrap
msgid ""
"# zpool iostat -v \n"
" capacity operations bandwidth\n"
"pool alloc free read write read write\n"
"----------------------- ----- ----- ----- ----- ----- -----\n"
"data 288G 1.53T 2 12 9.23K 61.5K\n"
" mirror 288G 1.53T 2 12 9.23K 61.5K\n"
" ada1 - - 0 4 5.61K 61.7K\n"
" ada2 - - 1 4 5.04K 61.7K\n"
"----------------------- ----- ----- ----- ----- ----- -----\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1446
#, no-wrap
msgid "Splitting a Storage Pool"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1453
msgid ""
"ZFS can split a pool consisting of one or more mirror vdevs into two pools. "
"Unless otherwise specified, ZFS detaches the last member of each mirror and "
"creates a new pool containing the same data. Be sure to make a dry run of "
"the operation with `-n` first. This displays the details of the requested "
"operation without actually performing it. This helps confirm that the "
"operation will do what the user intends."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:1455
#, no-wrap
msgid "`zfs` Administration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1459
msgid ""
"The `zfs` utility can create, destroy, and manage all existing ZFS datasets "
"within a pool. To manage the pool itself, use <<zfs-zpool,`zpool`>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1461
#, no-wrap
msgid "Creating and Destroying Datasets"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1471
msgid ""
"Unlike traditional disks and volume managers, space in ZFS is _not_ "
"preallocated. With traditional file systems, after partitioning and "
"assigning the space, there is no way to add a new file system without adding "
"a new disk. With ZFS, creating new file systems is possible at any time. "
"Each <<zfs-term-dataset,_dataset_>> has properties including features like "
"compression, deduplication, caching, and quotas, as well as other useful "
"properties like readonly, case sensitivity, network file sharing, and a "
"mount point. Nesting datasets within each other is possible and child "
"datasets will inherit properties from their ancestors. <<zfs-zfs-allow,"
"Delegate>>, <<zfs-zfs-send,replicate>>, <<zfs-zfs-snapshot,snapshot>>, <<zfs-"
"zfs-jail,jail>> allows administering and destroying each dataset as a unit. "
"Creating a separate dataset for each different type or set of files has "
"advantages. The drawbacks to having a large number of datasets are that "
"some commands like `zfs list` will be slower, and that mounting of hundreds "
"or even thousands of datasets will slow the FreeBSD boot process."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1473
msgid ""
"Create a new dataset and enable <<zfs-term-compression-lz4,LZ4 compression>> "
"on it:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1508
#, no-wrap
msgid ""
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 781M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 616K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.20M 93.2G 608K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
"# zfs create -o compress=lz4 mypool/usr/mydataset\n"
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 781M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 704K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/mydataset 87.5K 93.2G 87.5K /usr/mydataset\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.20M 93.2G 610K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1511
msgid ""
"Destroying a dataset is much quicker than deleting the files on the dataset, "
"as it does not involve scanning the files and updating the corresponding "
"metadata."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1513
msgid "Destroy the created dataset:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1548
#, no-wrap
msgid ""
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 880M 93.1G 144K none\n"
"mypool/ROOT 777M 93.1G 144K none\n"
"mypool/ROOT/default 777M 93.1G 777M /\n"
"mypool/tmp 176K 93.1G 176K /tmp\n"
"mypool/usr 101M 93.1G 144K /usr\n"
"mypool/usr/home 184K 93.1G 184K /usr/home\n"
"mypool/usr/mydataset 100M 93.1G 100M /usr/mydataset\n"
"mypool/usr/ports 144K 93.1G 144K /usr/ports\n"
"mypool/usr/src 144K 93.1G 144K /usr/src\n"
"mypool/var 1.20M 93.1G 610K /var\n"
"mypool/var/crash 148K 93.1G 148K /var/crash\n"
"mypool/var/log 178K 93.1G 178K /var/log\n"
"mypool/var/mail 144K 93.1G 144K /var/mail\n"
"mypool/var/tmp 152K 93.1G 152K /var/tmp\n"
"# zfs destroy mypool/usr/mydataset\n"
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 781M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 616K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.21M 93.2G 612K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1556
msgid ""
"In modern versions of ZFS, `zfs destroy` is asynchronous, and the free space "
"might take minutes to appear in the pool. Use `zpool get freeing "
"_poolname_` to see the `freeing` property, that shows which datasets are "
"having their blocks freed in the background. If there are child datasets, "
"like <<zfs-term-snapshot,snapshots>> or other datasets, destroying the "
"parent is impossible. To destroy a dataset and its children, use `-r` to "
"recursively destroy the dataset and its children. Use `-n -v` to list "
"datasets and snapshots destroyed by this operation, without actually destroy "
"anything. Space reclaimed by destroying snapshots is also shown."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1558
#, no-wrap
msgid "Creating and Destroying Volumes"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1563
msgid ""
"A volume is a special dataset type. Rather than mounting as a file system, "
"expose it as a block device under [.filename]#/dev/zvol/poolname/dataset#. "
"This allows using the volume for other file systems, to back the disks of a "
"virtual machine, or to make it available to other network hosts using "
"protocols like iSCSI or HAST."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1568
msgid ""
"Format a volume with any file system or without a file system to store raw "
"data. To the user, a volume appears to be a regular disk. Putting ordinary "
"file systems on these _zvols_ provides features that ordinary disks or file "
"systems do not have. For example, using the compression property on a 250 "
"MB volume allows creation of a compressed FAT file system."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1582
#, no-wrap
msgid ""
"# zfs create -V 250m -o compression=on tank/fat32\n"
"# zfs list tank\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"tank 258M 670M 31K /tank\n"
"# newfs_msdos -F32 /dev/zvol/tank/fat32\n"
"# mount -t msdosfs /dev/zvol/tank/fat32 /mnt\n"
"# df -h /mnt | grep fat32\n"
"Filesystem Size Used Avail Capacity Mounted on\n"
"/dev/zvol/tank/fat32 249M 24k 249M 0% /mnt\n"
"# mount | grep fat32\n"
"/dev/zvol/tank/fat32 on /mnt (msdosfs, local)\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1586
msgid ""
"Destroying a volume is much the same as destroying a regular file system "
"dataset. The operation is nearly instantaneous, but it may take minutes to "
"reclaim the free space in the background."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1588
#, no-wrap
msgid "Renaming a Dataset"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1595
msgid ""
"To change the name of a dataset, use `zfs rename`. To change the parent of "
"a dataset, use this command as well. Renaming a dataset to have a different "
"parent dataset will change the value of those properties inherited from the "
"parent dataset. Renaming a dataset unmounts then remounts it in the new "
"location (inherited from the new parent dataset). To prevent this behavior, "
"use `-u`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1597
msgid "Rename a dataset and move it to be under a different parent dataset:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1633
#, no-wrap
msgid ""
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 780M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 704K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/mydataset 87.5K 93.2G 87.5K /usr/mydataset\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.21M 93.2G 614K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
"# zfs rename mypool/usr/mydataset mypool/var/newname\n"
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 780M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 616K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.29M 93.2G 614K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/newname 87.5K 93.2G 87.5K /var/newname\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1638
msgid ""
"Renaming snapshots uses the same command. Due to the nature of snapshots, "
"rename cannot change their parent dataset. To rename a recursive snapshot, "
"specify `-r`; this will also rename all snapshots with the same name in "
"child datasets."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1648
#, no-wrap
msgid ""
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/newname@first_snapshot 0 - 87.5K -\n"
"# zfs rename mypool/var/newname@first_snapshot new_snapshot_name\n"
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/newname@new_snapshot_name 0 - 87.5K -\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1651
#, no-wrap
msgid "Setting Dataset Properties"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1661
msgid ""
"Each ZFS dataset has properties that control its behavior. Most properties "
"are automatically inherited from the parent dataset, but can be overridden "
"locally. Set a property on a dataset with `zfs set _property=value "
"dataset_`. Most properties have a limited set of valid values, `zfs get` "
"will display each possible property and valid values. Using `zfs inherit` "
"reverts most properties to their inherited values. User-defined properties "
"are also possible. They become part of the dataset configuration and "
"provide further information about the dataset or its contents. To "
"distinguish these custom properties from the ones supplied as part of ZFS, "
"use a colon (`:`) to create a custom namespace for the property."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1668
#, no-wrap
msgid ""
"# zfs set custom:costcenter=1234 tank\n"
"# zfs get custom:costcenter tank\n"
"NAME PROPERTY VALUE SOURCE\n"
"tank custom:costcenter 1234 local\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1672
msgid ""
"To remove a custom property, use `zfs inherit` with `-r`. If the custom "
"property is not defined in any of the parent datasets, this option removes "
"it (but the pool's history still records the change)."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1681
#, no-wrap
msgid ""
"# zfs inherit -r custom:costcenter tank\n"
"# zfs get custom:costcenter tank\n"
"NAME PROPERTY VALUE SOURCE\n"
"tank custom:costcenter - -\n"
"# zfs get all tank | grep custom:costcenter\n"
"#\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1684
#, no-wrap
msgid "Getting and Setting Share Properties"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1690
msgid ""
"Two commonly used and useful dataset properties are the NFS and SMB share "
"options. Setting these defines if and how ZFS shares datasets on the "
"network. At present, FreeBSD supports setting NFS sharing alone. To get "
"the current status of a share, enter:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1699
#, no-wrap
msgid ""
"# zfs get sharenfs mypool/usr/home\n"
"NAME PROPERTY VALUE SOURCE\n"
"mypool/usr/home sharenfs on local\n"
"# zfs get sharesmb mypool/usr/home\n"
"NAME PROPERTY VALUE SOURCE\n"
"mypool/usr/home sharesmb off local\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1702
msgid "To enable sharing of a dataset, enter:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1706
#, no-wrap
msgid "# zfs set sharenfs=on mypool/usr/home\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1710
msgid ""
"Set other options for sharing datasets through NFS, such as `-alldirs`, `-"
"maproot` and `-network`. To set options on a dataset shared through NFS, "
"enter:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1714
#, no-wrap
msgid "# zfs set sharenfs=\"-alldirs,-maproot=root,-network=192.168.1.0/24\" mypool/usr/home\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:1717
#, no-wrap
msgid "Managing Snapshots"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1731
msgid ""
"<<zfs-term-snapshot,Snapshots>> are one of the most powerful features of "
"ZFS. A snapshot provides a read-only, point-in-time copy of the dataset. "
"With Copy-On-Write (COW), ZFS creates snapshots fast by preserving older "
"versions of the data on disk. If no snapshots exist, ZFS reclaims space for "
"future use when data is rewritten or deleted. Snapshots preserve disk space "
"by recording just the differences between the current dataset and a previous "
"version. Allowing snapshots on whole datasets, not on individual files or "
"directories. A snapshot from a dataset duplicates everything contained in "
"it. This includes the file system properties, files, directories, "
"permissions, and so on. Snapshots use no extra space when first created, "
"but consume space as the blocks they reference change. Recursive snapshots "
"taken with `-r` create snapshots with the same name on the dataset and its "
"children, providing a consistent moment-in-time snapshot of the file "
"systems. This can be important when an application has files on related "
"datasets or that depend upon each other. Without snapshots, a backup would "
"have copies of the files from different points in time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1740
msgid ""
"Snapshots in ZFS provide a variety of features that even other file systems "
"with snapshot functionality lack. A typical example of snapshot use is as a "
"quick way of backing up the current state of the file system when performing "
"a risky action like a software installation or a system upgrade. If the "
"action fails, rolling back to the snapshot returns the system to the same "
"state when creating the snapshot. If the upgrade was successful, delete the "
"snapshot to free up space. Without snapshots, a failed upgrade often "
"requires restoring backups, which is tedious, time consuming, and may "
"require downtime during which the system is unusable. Rolling back to "
"snapshots is fast, even while the system is running in normal operation, "
"with little or no downtime. The time savings are enormous with multi-"
"terabyte storage systems considering the time required to copy the data from "
"backup. Snapshots are not a replacement for a complete backup of a pool, "
"but offer a quick and easy way to store a dataset copy at a specific time."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1742
#, no-wrap
msgid "Creating Snapshots"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1746
msgid ""
"To create snapshots, use `zfs snapshot _dataset_@_snapshotname_`. Adding `-"
"r` creates a snapshot recursively, with the same name on all child datasets."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1748
msgid "Create a recursive snapshot of the entire pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1786
#, no-wrap
msgid ""
"# zfs list -t all\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool 780M 93.2G 144K none\n"
"mypool/ROOT 777M 93.2G 144K none\n"
"mypool/ROOT/default 777M 93.2G 777M /\n"
"mypool/tmp 176K 93.2G 176K /tmp\n"
"mypool/usr 616K 93.2G 144K /usr\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/ports 144K 93.2G 144K /usr/ports\n"
"mypool/usr/src 144K 93.2G 144K /usr/src\n"
"mypool/var 1.29M 93.2G 616K /var\n"
"mypool/var/crash 148K 93.2G 148K /var/crash\n"
"mypool/var/log 178K 93.2G 178K /var/log\n"
"mypool/var/mail 144K 93.2G 144K /var/mail\n"
"mypool/var/newname 87.5K 93.2G 87.5K /var/newname\n"
"mypool/var/newname@new_snapshot_name 0 - 87.5K -\n"
"mypool/var/tmp 152K 93.2G 152K /var/tmp\n"
"# zfs snapshot -r mypool@my_recursive_snapshot\n"
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool@my_recursive_snapshot 0 - 144K -\n"
"mypool/ROOT@my_recursive_snapshot 0 - 144K -\n"
"mypool/ROOT/default@my_recursive_snapshot 0 - 777M -\n"
"mypool/tmp@my_recursive_snapshot 0 - 176K -\n"
"mypool/usr@my_recursive_snapshot 0 - 144K -\n"
"mypool/usr/home@my_recursive_snapshot 0 - 184K -\n"
"mypool/usr/ports@my_recursive_snapshot 0 - 144K -\n"
"mypool/usr/src@my_recursive_snapshot 0 - 144K -\n"
"mypool/var@my_recursive_snapshot 0 - 616K -\n"
"mypool/var/crash@my_recursive_snapshot 0 - 148K -\n"
"mypool/var/log@my_recursive_snapshot 0 - 178K -\n"
"mypool/var/mail@my_recursive_snapshot 0 - 144K -\n"
"mypool/var/newname@new_snapshot_name 0 - 87.5K -\n"
"mypool/var/newname@my_recursive_snapshot 0 - 87.5K -\n"
"mypool/var/tmp@my_recursive_snapshot 0 - 152K -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1791
msgid ""
"Snapshots are not shown by a normal `zfs list` operation. To list "
"snapshots, append `-t snapshot` to `zfs list`. `-t all` displays both file "
"systems and snapshots."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1795
msgid ""
"Snapshots are not mounted directly, showing no path in the `MOUNTPOINT` "
"column. ZFS does not mention available disk space in the `AVAIL` column, as "
"snapshots are read-only after their creation. Compare the snapshot to the "
"original dataset:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1802
#, no-wrap
msgid ""
"# zfs list -rt all mypool/usr/home\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/usr/home 184K 93.2G 184K /usr/home\n"
"mypool/usr/home@my_recursive_snapshot 0 - 184K -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1808
msgid ""
"Displaying both the dataset and the snapshot together reveals how snapshots "
"work in <<zfs-term-cow,COW>> fashion. They save the changes (_delta_) made "
"and not the complete file system contents all over again. This means that "
"snapshots take little space when making changes. Observe space usage even "
"more by copying a file to the dataset, then creating a second snapshot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1818
#, no-wrap
msgid ""
"# cp /etc/passwd /var/tmp\n"
"# zfs snapshot mypool/var/tmp@after_cp\n"
"# zfs list -rt all mypool/var/tmp\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/tmp 206K 93.2G 118K /var/tmp\n"
"mypool/var/tmp@my_recursive_snapshot 88K - 152K -\n"
"mypool/var/tmp@after_cp 0 - 118K -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1823
msgid ""
"The second snapshot contains the changes to the dataset after the copy "
"operation. This yields enormous space savings. Notice that the size of the "
"snapshot `_mypool/var/tmp@my_recursive_snapshot_` also changed in the `USED` "
"column to show the changes between itself and the snapshot taken afterwards."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1825
#, no-wrap
msgid "Comparing Snapshots"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1831
msgid ""
"ZFS provides a built-in command to compare the differences in content "
"between two snapshots. This is helpful with a lot of snapshots taken over "
"time when the user wants to see how the file system has changed over time. "
"For example, `zfs diff` lets a user find the latest snapshot that still "
"contains a file deleted by accident. Doing this for the two snapshots "
"created in the previous section yields this output:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1842
#, no-wrap
msgid ""
"# zfs list -rt all mypool/var/tmp\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/tmp 206K 93.2G 118K /var/tmp\n"
"mypool/var/tmp@my_recursive_snapshot 88K - 152K -\n"
"mypool/var/tmp@after_cp 0 - 118K -\n"
"# zfs diff mypool/var/tmp@my_recursive_snapshot\n"
"M /var/tmp/\n"
"+ /var/tmp/passwd\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1846
msgid ""
"The command lists the changes between the specified snapshot (in this case "
"`_mypool/var/tmp@my_recursive_snapshot_`) and the live file system. The "
"first column shows the change type:"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1852
#, no-wrap
msgid "+"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1854
#, no-wrap
msgid "Adding the path or file."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1855
#, no-wrap
msgid "-"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1857
#, no-wrap
msgid "Deleting the path or file."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1858
#, no-wrap
msgid "M"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1860
#, no-wrap
msgid "Modifying the path or file."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1861
#, no-wrap
msgid "R"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:1862
#, no-wrap
msgid "Renaming the path or file."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1867
msgid ""
"Comparing the output with the table, it becomes clear that ZFS added [."
"filename]#passwd# after creating the snapshot `_mypool/var/"
"tmp@my_recursive_snapshot_`. This also resulted in a modification to the "
"parent directory mounted at `_/var/tmp_`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1869
msgid ""
"Comparing two snapshots is helpful when using the ZFS replication feature to "
"transfer a dataset to a different host for backup purposes."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1871
msgid ""
"Compare two snapshots by providing the full dataset name and snapshot name "
"of both datasets:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1883
#, no-wrap
msgid ""
"# cp /var/tmp/passwd /var/tmp/passwd.copy\n"
"# zfs snapshot mypool/var/tmp@diff_snapshot\n"
"# zfs diff mypool/var/tmp@my_recursive_snapshot mypool/var/tmp@diff_snapshot\n"
"M /var/tmp/\n"
"+ /var/tmp/passwd\n"
"+ /var/tmp/passwd.copy\n"
"# zfs diff mypool/var/tmp@my_recursive_snapshot mypool/var/tmp@after_cp\n"
"M /var/tmp/\n"
"+ /var/tmp/passwd\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1887
msgid ""
"A backup administrator can compare two snapshots received from the sending "
"host and determine the actual changes in the dataset. See the <<zfs-zfs-"
"send,Replication>> section for more information."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1889
#, no-wrap
msgid "Snapshot Rollback"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1902
msgid ""
"When at least one snapshot is available, roll back to it at any time. Most "
"often this is the case when the current state of the dataset is no longer "
"and if preferring an older version. Scenarios such as local development "
"tests gone wrong, botched system updates hampering the system functionality, "
"or the need to restore deleted files or directories are all too common "
"occurrences. To roll back a snapshot, use `zfs rollback _snapshotname_`. "
"If a lot of changes are present, the operation will take a long time. "
"During that time, the dataset always remains in a consistent state, much "
"like a database that conforms to ACID principles is performing a rollback. "
"This is happening while the dataset is live and accessible without requiring "
"a downtime. Once the snapshot rolled back, the dataset has the same state "
"as it had when the snapshot was originally taken. Rolling back to a "
"snapshot discards all other data in that dataset not part of the snapshot. "
"Taking a snapshot of the current state of the dataset before rolling back to "
"a previous one is a good idea when requiring some data later. This way, the "
"user can roll back and forth between snapshots without losing data that is "
"still valuable."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1904
msgid ""
"In the first example, roll back a snapshot because of a careless `rm` "
"operation that removes too much data than intended."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1918
#, no-wrap
msgid ""
"# zfs list -rt all mypool/var/tmp\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/tmp 262K 93.2G 120K /var/tmp\n"
"mypool/var/tmp@my_recursive_snapshot 88K - 152K -\n"
"mypool/var/tmp@after_cp 53.5K - 118K -\n"
"mypool/var/tmp@diff_snapshot 0 - 120K -\n"
"# ls /var/tmp\n"
"passwd passwd.copy vi.recover\n"
"# rm /var/tmp/passwd*\n"
"# ls /var/tmp\n"
"vi.recover\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1923
msgid ""
"At this point, the user notices the removal of extra files and wants them "
"back. ZFS provides an easy way to get them back using rollbacks, when "
"performing snapshots of important data on a regular basis. To get the files "
"back and start over from the last snapshot, issue the command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1929
#, no-wrap
msgid ""
"# zfs rollback mypool/var/tmp@diff_snapshot\n"
"# ls /var/tmp\n"
"passwd passwd.copy vi.recover\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1934
msgid ""
"The rollback operation restored the dataset to the state of the last "
"snapshot. Rolling back to a snapshot taken much earlier with other "
"snapshots taken afterwards is also possible. When trying to do this, ZFS "
"will issue this warning:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1947
#, no-wrap
msgid ""
"# zfs list -rt snapshot mypool/var/tmp\n"
"AME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/tmp@my_recursive_snapshot 88K - 152K -\n"
"mypool/var/tmp@after_cp 53.5K - 118K -\n"
"mypool/var/tmp@diff_snapshot 0 - 120K -\n"
"# zfs rollback mypool/var/tmp@my_recursive_snapshot\n"
"cannot rollback to 'mypool/var/tmp@my_recursive_snapshot': more recent snapshots exist\n"
"use '-r' to force deletion of the following snapshots:\n"
"mypool/var/tmp@after_cp\n"
"mypool/var/tmp@diff_snapshot\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1954
msgid ""
"This warning means that snapshots exist between the current state of the "
"dataset and the snapshot to which the user wants to roll back. To complete "
"the rollback delete these snapshots. ZFS cannot track all the changes "
"between different states of the dataset, because snapshots are read-only. "
"ZFS will not delete the affected snapshots unless the user specifies `-r` to "
"confirm that this is the desired action. If that is the intention, and "
"understanding the consequences of losing all intermediate snapshots, issue "
"the command:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1963
#, no-wrap
msgid ""
"# zfs rollback -r mypool/var/tmp@my_recursive_snapshot\n"
"# zfs list -rt snapshot mypool/var/tmp\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool/var/tmp@my_recursive_snapshot 8K - 152K -\n"
"# ls /var/tmp\n"
"vi.recover\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1966
msgid ""
"The output from `zfs list -t snapshot` confirms the removal of the "
"intermediate snapshots as a result of `zfs rollback -r`."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:1968
#, no-wrap
msgid "Restoring Individual Files from Snapshots"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1975
msgid ""
"Snapshots live in a hidden directory under the parent dataset: [.filename]#."
"zfs/snapshots/snapshotname#. By default, these directories will not show "
"even when executing a standard `ls -a` . Although the directory doesn't "
"show, access it like any normal directory. The property named `snapdir` "
"controls whether these hidden directories show up in a directory listing. "
"Setting the property to `visible` allows them to appear in the output of "
"`ls` and other commands that deal with directory contents."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:1986
#, no-wrap
msgid ""
"# zfs get snapdir mypool/var/tmp\n"
"NAME PROPERTY VALUE SOURCE\n"
"mypool/var/tmp snapdir hidden default\n"
"# ls -a /var/tmp\n"
". .. passwd vi.recover\n"
"# zfs set snapdir=visible mypool/var/tmp\n"
"# ls -a /var/tmp\n"
". .. .zfs passwd vi.recover\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:1991
msgid ""
"Restore individual files to a previous state by copying them from the "
"snapshot back to the parent dataset. The directory structure below [."
"filename]#.zfs/snapshot# has a directory named like the snapshots taken "
"earlier to make it easier to identify them. The next example shows how to "
"restore a file from the hidden [.filename]#.zfs# directory by copying it "
"from the snapshot containing the latest version of the file:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2002
#, no-wrap
msgid ""
"# rm /var/tmp/passwd\n"
"# ls -a /var/tmp\n"
". .. .zfs vi.recover\n"
"# ls /var/tmp/.zfs/snapshot\n"
"after_cp my_recursive_snapshot\n"
"# ls /var/tmp/.zfs/snapshot/after_cp\n"
"passwd vi.recover\n"
"# cp /var/tmp/.zfs/snapshot/after_cp/passwd /var/tmp\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2009
msgid ""
"Even if the `snapdir` property is set to hidden, running `ls .zfs/snapshot` "
"will still list the contents of that directory. The administrator decides "
"whether to display these directories. This is a per-dataset setting. "
"Copying files or directories from this hidden [.filename]#.zfs/snapshot# is "
"simple enough. Trying it the other way around results in this error:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2014
#, no-wrap
msgid ""
"# cp /etc/rc.conf /var/tmp/.zfs/snapshot/after_cp/\n"
"cp: /var/tmp/.zfs/snapshot/after_cp/rc.conf: Read-only file system\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2018
msgid ""
"The error reminds the user that snapshots are read-only and cannot change "
"after creation. Copying files into and removing them from snapshot "
"directories are both disallowed because that would change the state of the "
"dataset they represent."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2021
msgid ""
"Snapshots consume space based on how much the parent file system has changed "
"since the time of the snapshot. The `written` property of a snapshot tracks "
"the space the snapshot uses."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2025
msgid ""
"To destroy snapshots and reclaim the space, use `zfs destroy "
"_dataset_@_snapshot_`. Adding `-r` recursively removes all snapshots with "
"the same name under the parent dataset. Adding `-n -v` to the command "
"displays a list of the snapshots to be deleted and an estimate of the space "
"it would reclaim without performing the actual destroy operation."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2027
#, no-wrap
msgid "Managing Clones"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2036
msgid ""
"A clone is a copy of a snapshot treated more like a regular dataset. Unlike "
"a snapshot, a clone is writeable and mountable, and has its own properties. "
"After creating a clone using `zfs clone`, destroying the originating "
"snapshot is impossible. To reverse the child/parent relationship between "
"the clone and the snapshot use `zfs promote`. Promoting a clone makes the "
"snapshot become a child of the clone, rather than of the original parent "
"dataset. This will change how ZFS accounts for the space, but not actually "
"change the amount of space consumed. Mounting the clone anywhere within the "
"ZFS file system hierarchy is possible, not only below the original location "
"of the snapshot."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2038
msgid "To show the clone feature use this example dataset:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2046
#, no-wrap
msgid ""
"# zfs list -rt all camino/home/joe\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"camino/home/joe 108K 1.3G 87K /usr/home/joe\n"
"camino/home/joe@plans 21K - 85.5K -\n"
"camino/home/joe@backup 0K - 87K -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2052
msgid ""
"A typical use for clones is to experiment with a specific dataset while "
"keeping the snapshot around to fall back to in case something goes wrong. "
"Since snapshots cannot change, create a read/write clone of a snapshot. "
"After achieving the desired result in the clone, promote the clone to a "
"dataset and remove the old file system. Removing the parent dataset is not "
"strictly necessary, as the clone and dataset can coexist without problems."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2059
#, no-wrap
msgid ""
"# zfs clone camino/home/joe@backup camino/home/joenew\n"
"# ls /usr/home/joe*\n"
"/usr/home/joe:\n"
"backup.txz plans.txt\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2066
#, no-wrap
msgid ""
"/usr/home/joenew:\n"
"backup.txz plans.txt\n"
"# df -h /usr/home\n"
"Filesystem Size Used Avail Capacity Mounted on\n"
"usr/home/joe 1.3G 31k 1.3G 0% /usr/home/joe\n"
"usr/home/joenew 1.3G 31k 1.3G 0% /usr/home/joenew\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2075
msgid ""
-"Creating a clone makes it an exact copy of the state the dataset as it was "
-"when taking the snapshot. Changing the clone independently from its "
-"originating dataset is possible now. The connection between the two is the "
-"snapshot. ZFS records this connection in the property `origin`. Promoting "
-"the clone with `zfs promote` makes the clone an independent dataset. This "
-"removes the value of the `origin` property and disconnects the newly "
-"independent dataset from the snapshot. This example shows it:"
+"Creating a clone makes it an exact copy of the state the dataset was in when "
+"taking the snapshot. Changing the clone independently from its originating "
+"dataset is possible now. The connection between the two is the snapshot. "
+"ZFS records this connection in the property `origin`. Promoting the clone "
+"with `zfs promote` makes the clone an independent dataset. This removes the "
+"value of the `origin` property and disconnects the newly independent dataset "
+"from the snapshot. This example shows it:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2085
#, no-wrap
msgid ""
"# zfs get origin camino/home/joenew\n"
"NAME PROPERTY VALUE SOURCE\n"
"camino/home/joenew origin camino/home/joe@backup -\n"
"# zfs promote camino/home/joenew\n"
"# zfs get origin camino/home/joenew\n"
"NAME PROPERTY VALUE SOURCE\n"
"camino/home/joenew origin - -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2090
msgid ""
"After making some changes like copying [.filename]#loader.conf# to the "
"promoted clone, for example, the old directory becomes obsolete in this "
"case. Instead, the promoted clone can replace it. To do this, `zfs "
"destroy` the old dataset first and then `zfs rename` the clone to the old "
"dataset name (or to an entirely different name)."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2101
#, no-wrap
msgid ""
"# cp /boot/defaults/loader.conf /usr/home/joenew\n"
"# zfs destroy -f camino/home/joe\n"
"# zfs rename camino/home/joenew camino/home/joe\n"
"# ls /usr/home/joe\n"
"backup.txz loader.conf plans.txt\n"
"# df -h /usr/home\n"
"Filesystem Size Used Avail Capacity Mounted on\n"
"usr/home/joe 1.3G 128k 1.3G 0% /usr/home/joe\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2110
msgid ""
"The cloned snapshot is now an ordinary dataset. It contains all the data "
"from the original snapshot plus the files added to it like [."
"filename]#loader.conf#. Clones provide useful features to ZFS users in "
"different scenarios. For example, provide jails as snapshots containing "
"different sets of installed applications. Users can clone these snapshots "
"and add their own applications as they see fit. Once satisfied with the "
"changes, promote the clones to full datasets and provide them to end users "
"to work with like they would with a real dataset. This saves time and "
"administrative overhead when providing these jails."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2112
#, no-wrap
msgid "Replication"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2120
msgid ""
"Keeping data on a single pool in one location exposes it to risks like theft "
"and natural or human disasters. Making regular backups of the entire pool "
"is vital. ZFS provides a built-in serialization feature that can send a "
"stream representation of the data to standard output. Using this feature, "
"storing this data on another pool connected to the local system is possible, "
"as is sending it over a network to another system. Snapshots are the basis "
"for this replication (see the section on <<zfs-zfs-snapshot,ZFS "
"snapshots>>). The commands used for replicating data are `zfs send` and "
"`zfs receive`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2122
msgid "These examples show ZFS replication with these two pools:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2129
#, no-wrap
msgid ""
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"backup 960M 77K 896M - - 0% 0% 1.00x ONLINE -\n"
"mypool 984M 43.7M 940M - - 0% 4% 1.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2137
msgid ""
"The pool named _mypool_ is the primary pool where writing and reading data "
"happens on a regular basis. Using a second standby pool _backup_ in case "
"the primary pool becomes unavailable. Note that this fail-over is not done "
"automatically by ZFS, but must be manually done by a system administrator "
"when needed. Use a snapshot to provide a consistent file system version to "
"replicate. After creating a snapshot of _mypool_, copy it to the _backup_ "
"pool by replicating snapshots. This does not include changes made since the "
"most recent snapshot."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2144
#, no-wrap
msgid ""
"# zfs snapshot mypool@backup1\n"
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool@backup1 0 - 43.6M -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2149
msgid ""
"Now that a snapshot exists, use `zfs send` to create a stream representing "
"the contents of the snapshot. Store this stream as a file or receive it on "
"another pool. Write the stream to standard output, but redirect to a file "
"or pipe or an error appears:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2155
#, no-wrap
msgid ""
"# zfs send mypool@backup1\n"
"Error: Stream can not be written to a terminal.\n"
"You must redirect standard output.\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2159
msgid ""
"To back up a dataset with `zfs send`, redirect to a file located on the "
"mounted backup pool. Ensure that the pool has enough free space to "
"accommodate the size of the sent snapshot, which means the data contained in "
"the snapshot, not the changes from the previous snapshot."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2167
#, no-wrap
msgid ""
"# zfs send mypool@backup1 > /backup/backup1\n"
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"backup 960M 63.7M 896M - - 0% 6% 1.00x ONLINE -\n"
"mypool 984M 43.7M 940M - - 0% 4% 1.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2171
msgid ""
"The `zfs send` transferred all the data in the snapshot called _backup1_ to "
"the pool named _backup_. To create and send these snapshots automatically, "
"use a man:cron[8] job."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2177
msgid ""
"Instead of storing the backups as archive files, ZFS can receive them as a "
"live file system, allowing direct access to the backed up data. To get to "
"the actual data contained in those streams, use `zfs receive` to transform "
"the streams back into files and directories. The example below combines "
"`zfs send` and `zfs receive` using a pipe to copy the data from one pool to "
"another. Use the data directly on the receiving pool after the transfer is "
"complete. It is only possible to replicate a dataset to an empty dataset."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2185
#, no-wrap
msgid ""
"# zfs snapshot mypool@replica1\n"
"# zfs send -v mypool@replica1 | zfs receive backup/mypool\n"
"send from @ to mypool@replica1 estimated size is 50.1M\n"
"total estimated size is 50.1M\n"
"TIME SENT SNAPSHOT\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2190
#, no-wrap
msgid ""
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"backup 960M 63.7M 896M - - 0% 6% 1.00x ONLINE -\n"
"mypool 984M 43.7M 940M - - 0% 4% 1.00x ONLINE -\n"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:2193
#, no-wrap
msgid "Incremental Backups"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2198
msgid ""
"`zfs send` can also determine the difference between two snapshots and send "
"individual differences between the two. This saves disk space and transfer "
"time. For example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2210
#, no-wrap
msgid ""
"# zfs snapshot mypool@replica2\n"
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"mypool@replica1 5.72M - 43.6M -\n"
"mypool@replica2 0 - 44.1M -\n"
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"backup 960M 61.7M 898M - - 0% 6% 1.00x ONLINE -\n"
"mypool 960M 50.2M 910M - - 0% 5% 1.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2216
msgid ""
"Create a second snapshot called _replica2_. This second snapshot contains "
"changes made to the file system between now and the previous snapshot, "
"_replica1_. Using `zfs send -i` and indicating the pair of snapshots "
"generates an incremental replica stream containing the changed data. This "
"succeeds if the initial snapshot already exists on the receiving side."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2223
#, no-wrap
msgid ""
"# zfs send -v -i mypool@replica1 mypool@replica2 | zfs receive /backup/mypool\n"
"send from @replica1 to mypool@replica2 estimated size is 5.02M\n"
"total estimated size is 5.02M\n"
"TIME SENT SNAPSHOT\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2228
#, no-wrap
msgid ""
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"backup 960M 80.8M 879M - - 0% 8% 1.00x ONLINE -\n"
"mypool 960M 50.2M 910M - - 0% 5% 1.00x ONLINE -\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2234
#, no-wrap
msgid ""
"# zfs list\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"backup 55.4M 240G 152K /backup\n"
"backup/mypool 55.3M 240G 55.2M /backup/mypool\n"
"mypool 55.6M 11.6G 55.0M /mypool\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2241
#, no-wrap
msgid ""
"# zfs list -t snapshot\n"
"NAME USED AVAIL REFER MOUNTPOINT\n"
"backup/mypool@replica1 104K - 50.2M -\n"
"backup/mypool@replica2 0 - 55.2M -\n"
"mypool@replica1 29.9K - 50.0M -\n"
"mypool@replica2 0 - 55.0M -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2246
msgid ""
"The incremental stream replicated the changed data rather than the entirety "
"of _replica1_. Sending the differences alone took much less time to "
"transfer and saved disk space by not copying the whole pool each time. This "
"is useful when replicating over a slow network or one charging per "
"transferred byte."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2251
msgid ""
"A new file system, _backup/mypool_, is available with the files and data "
"from the pool _mypool_. Specifying `-p` copies the dataset properties "
"including compression settings, quotas, and mount points. Specifying `-R` "
"copies all child datasets of the dataset along with their properties. "
"Automate sending and receiving to create regular backups on the second pool."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:2253
#, no-wrap
msgid "Sending Encrypted Backups over SSH"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2261
msgid ""
"Sending streams over the network is a good way to keep a remote backup, but "
"it does come with a drawback. Data sent over the network link is not "
"encrypted, allowing anyone to intercept and transform the streams back into "
"data without the knowledge of the sending user. This is undesirable when "
"sending the streams over the internet to a remote host. Use SSH to securely "
"encrypt data sent over a network connection. Since ZFS requires redirecting "
"the stream from standard output, piping it through SSH is easy. To keep the "
"contents of the file system encrypted in transit and on the remote system, "
"consider using https://wiki.freebsd.org/PEFS[PEFS]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2264
msgid ""
"Change some settings and take security precautions first. This describes "
"the necessary steps required for the `zfs send` operation; for more "
"information on SSH, see crossref:security[openssh,\"OpenSSH\"]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2266
msgid "Change the configuration as follows:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2268
msgid ""
"Passwordless SSH access between sending and receiving host using SSH keys"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2269
msgid ""
"ZFS requires the privileges of the `root` user to send and receive streams. "
"This requires logging in to the receiving system as `root`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2270
msgid "Security reasons prevent `root` from logging in by default."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2272
msgid ""
"Use the <<zfs-zfs-allow,ZFS Delegation>> system to allow a non-`root` user "
"on each system to perform the respective send and receive operations. On "
"the sending system:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2276
#, no-wrap
msgid "# zfs allow -u someuser send,snapshot mypool\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2279
msgid ""
"To mount the pool, the unprivileged user must own the directory, and regular "
"users need permission to mount file systems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2281
msgid "On the receiving system:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2290
#, no-wrap
msgid ""
"# sysctl vfs.usermount=1\n"
"vfs.usermount: 0 -> 1\n"
"# echo vfs.usermount=1 >> /etc/sysctl.conf\n"
"# zfs create recvpool/backup\n"
"# zfs allow -u someuser create,mount,receive recvpool/backup\n"
"# chown someuser /recvpool/backup\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2293
msgid ""
"The unprivileged user can receive and mount datasets now, and replicates the "
"_home_ dataset to the remote system:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2298
#, no-wrap
msgid ""
"% zfs snapshot -r mypool/home@monday\n"
"% zfs send -R mypool/home@monday | ssh someuser@backuphost zfs recv -dvu recvpool/backup\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2308
msgid ""
"Create a recursive snapshot called _monday_ of the file system dataset "
"_home_ on the pool _mypool_. Then `zfs send -R` includes the dataset, all "
"child datasets, snapshots, clones, and settings in the stream. Pipe the "
"output through SSH to the waiting `zfs receive` on the remote host "
"_backuphost_. Using an IP address or fully qualified domain name is good "
"practice. The receiving machine writes the data to the _backup_ dataset on "
"the _recvpool_ pool. Adding `-d` to `zfs recv` overwrites the name of the "
"pool on the receiving side with the name of the snapshot. `-u` causes the "
"file systems to not mount on the receiving side. Using `-v` shows more "
"details about the transfer, including the elapsed time and the amount of "
"data transferred."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2310
#, no-wrap
msgid "Dataset, User, and Group Quotas"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2315
msgid ""
"Use <<zfs-term-quota,Dataset quotas>> to restrict the amount of space "
"consumed by a particular dataset. <<zfs-term-refquota,Reference Quotas>> "
"work in much the same way, but count the space used by the dataset itself, "
"excluding snapshots and child datasets. Similarly, use <<zfs-term-userquota,"
"user>> and <<zfs-term-groupquota,group>> quotas to prevent users or groups "
"from using up all the space in the pool or dataset."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2320
msgid ""
"The following examples assume that the users already exist in the system. "
"Before adding a user to the system, make sure to create their home dataset "
"first and set the `mountpoint` to `/home/_bob_`. Then, create the user and "
"make the home directory point to the dataset's `mountpoint` location. This "
"will properly set owner and group permissions without shadowing any pre-"
"existing home directory paths that might exist."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2322
msgid "To enforce a dataset quota of 10 GB for [.filename]#storage/home/bob#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2326
#, no-wrap
msgid "# zfs set quota=10G storage/home/bob\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2329
msgid ""
"To enforce a reference quota of 10 GB for [.filename]#storage/home/bob#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2333
#, no-wrap
msgid "# zfs set refquota=10G storage/home/bob\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2336
msgid "To remove a quota of 10 GB for [.filename]#storage/home/bob#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2340
#, no-wrap
msgid "# zfs set quota=none storage/home/bob\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2343
msgid ""
"The general format is `userquota@_user_=_size_`, and the user's name must be "
"in one of these formats:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2345
msgid "POSIX compatible name such as _joe_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2346
msgid "POSIX numeric ID such as _789_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2347
msgid "SID name such as _joe.bloggs@example.com_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2348
msgid "SID numeric ID such as _S-1-123-456-789_."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2350
msgid "For example, to enforce a user quota of 50 GB for the user named _joe_:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2354
#, no-wrap
msgid "# zfs set userquota@joe=50G\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2357
msgid "To remove any quota:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2361
#, no-wrap
msgid "# zfs set userquota@joe=none\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2368
msgid ""
"User quota properties are not displayed by `zfs get all`. Non-`root` users "
"can't see other's quotas unless granted the `userquota` privilege. Users "
"with this privilege are able to view and set everyone's quota."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2371
msgid ""
"The general format for setting a group quota is: `groupquota@_group_=_size_`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2373
msgid "To set the quota for the group _firstgroup_ to 50 GB, use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2377
#, no-wrap
msgid "# zfs set groupquota@firstgroup=50G\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2380
msgid ""
"To remove the quota for the group _firstgroup_, or to make sure that one is "
"not set, instead use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2384
#, no-wrap
msgid "# zfs set groupquota@firstgroup=none\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2388
msgid ""
"As with the user quota property, non-`root` users can see the quotas "
"associated with the groups to which they belong. A user with the "
"`groupquota` privilege or `root` can view and set all quotas for all groups."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2392
msgid ""
"To display the amount of space used by each user on a file system or "
"snapshot along with any quotas, use `zfs userspace`. For group information, "
"use `zfs groupspace`. For more information about supported options or how "
"to display specific options alone, refer to man:zfs[1]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2394
msgid ""
"Privileged users and `root` can list the quota for [.filename]#storage/home/"
"bob# using:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2398
#, no-wrap
msgid "# zfs get quota storage/home/bob\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2401
#, no-wrap
msgid "Reservations"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2406
msgid ""
"<<zfs-term-reservation,Reservations>> guarantee an always-available amount "
"of space on a dataset. The reserved space will not be available to any "
"other dataset. This useful feature ensures that free space is available for "
"an important dataset or log files."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2408
msgid ""
"The general format of the `reservation` property is `reservation=_size_`, so "
"to set a reservation of 10 GB on [.filename]#storage/home/bob#, use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2412
#, no-wrap
msgid "# zfs set reservation=10G storage/home/bob\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2415
msgid "To clear any reservation:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2419
#, no-wrap
msgid "# zfs set reservation=none storage/home/bob\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2422
msgid ""
"The same principle applies to the `refreservation` property for setting a "
"<<zfs-term-refreservation,Reference Reservation>>, with the general format "
"`refreservation=_size_`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2424
msgid ""
"This command shows any reservations or refreservations that exist on [."
"filename]#storage/home/bob#:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2429
#, no-wrap
msgid ""
"# zfs get reservation storage/home/bob\n"
"# zfs get refreservation storage/home/bob\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2432
#, no-wrap
msgid "Compression"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2438
msgid ""
"ZFS provides transparent compression. Compressing data written at the block "
"level saves space and also increases disk throughput. If data compresses by "
"25% the compressed data writes to the disk at the same rate as the "
"uncompressed version, resulting in an effective write speed of 125%. "
"Compression can also be a great alternative to <<zfs-zfs-deduplication,"
"Deduplication>> because it does not require extra memory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2444
msgid ""
"ZFS offers different compression algorithms, each with different trade-"
"offs. The introduction of LZ4 compression in ZFS v5000 enables compressing "
"the entire pool without the large performance trade-off of other "
"algorithms. The biggest advantage to LZ4 is the _early abort_ feature. If "
"LZ4 does not achieve at least 12.5% compression in the header part of the "
"data, ZFS writes the block uncompressed to avoid wasting CPU cycles trying "
"to compress data that is either already compressed or uncompressible. For "
"details about the different compression algorithms available in ZFS, see the "
"<<zfs-term-compression,Compression>> entry in the terminology section."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2446
msgid ""
"The administrator can see the effectiveness of compression using dataset "
"properties."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2455
#, no-wrap
msgid ""
"# zfs get used,compressratio,compression,logicalused mypool/compressed_dataset\n"
"NAME PROPERTY VALUE SOURCE\n"
"mypool/compressed_dataset used 449G -\n"
"mypool/compressed_dataset compressratio 1.11x -\n"
"mypool/compressed_dataset compression lz4 local\n"
"mypool/compressed_dataset logicalused 496G -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2460
msgid ""
"The dataset is using 449 GB of space (the used property). Without "
"compression, it would have taken 496 GB of space (the `logicalused` "
"property). This results in a 1.11:1 compression ratio."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2466
msgid ""
"Compression can have an unexpected side effect when combined with <<zfs-term-"
"userquota,User Quotas>>. User quotas restrict how much actual space a user "
"consumes on a dataset _after compression_. If a user has a quota of 10 GB, "
"and writes 10 GB of compressible data, they will still be able to store more "
"data. If they later update a file, say a database, with more or less "
"compressible data, the amount of space available to them will change. This "
"can result in the odd situation where a user did not increase the actual "
"amount of data (the `logicalused` property), but the change in compression "
"caused them to reach their quota limit."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2470
msgid ""
"Compression can have a similar unexpected interaction with backups. Quotas "
"are often used to limit data storage to ensure there is enough backup space "
"available. Since quotas do not consider compression ZFS may write more data "
"than would fit with uncompressed backups."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2472
#, no-wrap
msgid "Zstandard Compression"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2476
msgid ""
"OpenZFS 2.0 added a new compression algorithm. Zstandard (Zstd) offers "
"higher compression ratios than the default LZ4 while offering much greater "
"speeds than the alternative, gzip. OpenZFS 2.0 is available starting with "
"FreeBSD 12.1-RELEASE via package:sysutils/openzfs[] and has been the default "
"in since FreeBSD 13.0-RELEASE."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2480
msgid ""
"Zstd provides a large selection of compression levels, providing fine-"
"grained control over performance versus compression ratio. One of the main "
"advantages of Zstd is that the decompression speed is independent of the "
"compression level. For data written once but read often, Zstd allows the "
"use of the highest compression levels without a read performance penalty."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2485
msgid ""
"Even with frequent data updates, enabling compression often provides higher "
"performance. One of the biggest advantages comes from the compressed ARC "
"feature. ZFS's Adaptive Replacement Cache (ARC) caches the compressed "
"version of the data in RAM, decompressing it each time. This allows the "
"same amount of RAM to store more data and metadata, increasing the cache hit "
"ratio."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2491
msgid ""
"ZFS offers 19 levels of Zstd compression, each offering incrementally more "
"space savings in exchange for slower compression. The default level is "
"`zstd-3` and offers greater compression than LZ4 without being much slower. "
"Levels above 10 require large amounts of memory to compress each block and "
"systems with less than 16 GB of RAM should not use them. ZFS uses a "
"selection of the Zstd_fast_ levels also, which get correspondingly faster "
"but supports lower compression ratios. ZFS supports `zstd-fast-1` through "
"`zstd-fast-10`, `zstd-fast-20` through `zstd-fast-100` in increments of 10, "
"and `zstd-fast-500` and `zstd-fast-1000` which provide minimal compression, "
"but offer high performance."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2495
msgid ""
"If ZFS is not able to get the required memory to compress a block with Zstd, "
"it will fall back to storing the block uncompressed. This is unlikely to "
"happen except at the highest levels of Zstd on memory constrained systems. "
"ZFS counts how often this has occurred since loading the ZFS module with "
"`kstat.zfs.misc.zstd.compress_alloc_fail`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2497
#, no-wrap
msgid "Deduplication"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2503
msgid ""
"When enabled, <<zfs-term-deduplication,deduplication>> uses the checksum of "
"each block to detect duplicate blocks. When a new block is a duplicate of "
"an existing block, ZFS writes a new reference to the existing data instead "
"of the whole duplicate block. Tremendous space savings are possible if the "
"data contains a lot of duplicated files or repeated information. Warning: "
"deduplication requires a large amount of memory, and enabling compression "
"instead provides most of the space savings without the extra cost."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2505
msgid "To activate deduplication, set the `dedup` property on the target pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2509
#, no-wrap
msgid "# zfs set dedup=on pool\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2514
msgid ""
"Deduplicating only affects new data written to the pool. Merely activating "
"this option will not deduplicate data already written to the pool. A pool "
"with a freshly activated deduplication property will look like this example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2520
#, no-wrap
msgid ""
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"pool 2.84G 2.19M 2.83G - - 0% 0% 1.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2525
msgid ""
"The `DEDUP` column shows the actual rate of deduplication for the pool. A "
"value of `1.00x` shows that data has not deduplicated yet. The next example "
"copies some system binaries three times into different directories on the "
"deduplicated pool created above."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2531
#, no-wrap
msgid ""
"# for d in dir1 dir2 dir3; do\n"
"> mkdir $d && cp -R /usr/bin $d &\n"
"> done\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2534
msgid "To observe deduplicating of redundant data, use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2540
#, no-wrap
msgid ""
"# zpool list\n"
"NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT\n"
"pool 2.84G 20.9M 2.82G - - 0% 0% 3.00x ONLINE -\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2545
msgid ""
"The `DEDUP` column shows a factor of `3.00x`. Detecting and deduplicating "
"copies of the data uses a third of the space. The potential for space "
"savings can be enormous, but comes at the cost of having enough memory to "
"keep track of the deduplicated blocks."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2548
msgid ""
"Deduplication is not always beneficial when the data in a pool is not "
"redundant. ZFS can show potential space savings by simulating deduplication "
"on an existing pool:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2553
#, no-wrap
msgid ""
"# zdb -S pool\n"
"Simulated DDT histogram:\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2569
#, no-wrap
msgid ""
"bucket allocated referenced\n"
"______ ______________________________ ______________________________\n"
"refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE\n"
"------ ------ ----- ----- ----- ------ ----- ----- -----\n"
" 1 2.58M 289G 264G 264G 2.58M 289G 264G 264G\n"
" 2 206K 12.6G 10.4G 10.4G 430K 26.4G 21.6G 21.6G\n"
" 4 37.6K 692M 276M 276M 170K 3.04G 1.26G 1.26G\n"
" 8 2.18K 45.2M 19.4M 19.4M 20.0K 425M 176M 176M\n"
" 16 174 2.83M 1.20M 1.20M 3.33K 48.4M 20.4M 20.4M\n"
" 32 40 2.17M 222K 222K 1.70K 97.2M 9.91M 9.91M\n"
" 64 9 56K 10.5K 10.5K 865 4.96M 948K 948K\n"
" 128 2 9.50K 2K 2K 419 2.11M 438K 438K\n"
" 256 5 61.5K 12K 12K 1.90K 23.0M 4.47M 4.47M\n"
" 1K 2 1K 1K 1K 2.98K 1.49M 1.49M 1.49M\n"
" Total 2.82M 303G 275G 275G 3.20M 319G 287G 287G\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2571
#, no-wrap
msgid "dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2580
msgid ""
"After `zdb -S` finishes analyzing the pool, it shows the space reduction "
"ratio that activating deduplication would achieve. In this case, `1.16` is "
"a poor space saving ratio mainly provided by compression. Activating "
"deduplication on this pool would not save any amount of space, and is not "
"worth the amount of memory required to enable deduplication. Using the "
"formula _ratio = dedup * compress / copies_, system administrators can plan "
"the storage allocation, deciding whether the workload will contain enough "
"duplicate blocks to justify the memory requirements. If the data is "
"reasonably compressible, the space savings may be good. Good practice is to "
"enable compression first as compression also provides greatly increased "
"performance. Enable deduplication in cases where savings are considerable "
"and with enough available memory for the <<zfs-term-deduplication,DDT>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2582
#, no-wrap
msgid "ZFS and Jails"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2588
msgid ""
"Use `zfs jail` and the corresponding `jailed` property to delegate a ZFS "
"dataset to a crossref:jails[jails,Jail]. `zfs jail _jailid_` attaches a "
"dataset to the specified jail, and `zfs unjail` detaches it. To control the "
"dataset from within a jail, set the `jailed` property. ZFS forbids mounting "
"a jailed dataset on the host because it may have mount points that would "
"compromise the security of the host."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:2590
#, no-wrap
msgid "Delegated Administration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2598
msgid ""
"A comprehensive permission delegation system allows unprivileged users to "
"perform ZFS administration functions. For example, if each user's home "
"directory is a dataset, users need permission to create and destroy "
"snapshots of their home directories. A user performing backups can get "
"permission to use replication features. ZFS allows a usage statistics "
"script to run with access to only the space usage data for all users. "
"Delegating the ability to delegate permissions is also possible. Permission "
"delegation is possible for each subcommand and most properties."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2600
#, no-wrap
msgid "Delegating Dataset Creation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2606
msgid ""
"`zfs allow _someuser_ create _mydataset_` gives the specified user "
"permission to create child datasets under the selected parent dataset. A "
"caveat: creating a new dataset involves mounting it. That requires setting "
"the FreeBSD `vfs.usermount` man:sysctl[8] to `1` to allow non-root users to "
"mount a file system. Another restriction aimed at preventing abuse: non-"
"`root` users must own the mountpoint where mounting the file system."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2608
#, no-wrap
msgid "Delegating Permission Delegation"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2612
msgid ""
"`zfs allow _someuser_ allow _mydataset_` gives the specified user the "
"ability to assign any permission they have on the target dataset, or its "
"children, to other users. If a user has the `snapshot` permission and the "
"`allow` permission, that user can then grant the `snapshot` permission to "
"other users."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:2614
#, no-wrap
msgid "Advanced Topics"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2617
#, no-wrap
msgid "Tuning"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2620
msgid "Adjust tunables to make ZFS perform best for different workloads."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2622
msgid ""
"[[zfs-advanced-tuning-arc_max]] `_vfs.zfs.arc.max_` starting with 13.x (`vfs."
"zfs.arc_max` for 12.x) - Upper size of the <<zfs-term-arc,ARC>>. The default "
"is all RAM but 1 GB, or 5/8 of all RAM, whichever is more. Use a lower value "
"if the system runs any other daemons or processes that may require memory. "
"Adjust this value at runtime with man:sysctl[8] and set it in [.filename]#/"
"boot/loader.conf# or [.filename]#/etc/sysctl.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2623
msgid ""
"[[zfs-advanced-tuning-arc_meta_limit]] `_vfs.zfs.arc.meta_limit_` starting "
"with 13.x (`vfs.zfs.arc_meta_limit` for 12.x)` - Limit the amount of the "
"<<zfs-term-arc,ARC>> used to store metadata. The default is one fourth of "
"`vfs.zfs.arc.max`. Increasing this value will improve performance if the "
"workload involves operations on a large number of files and directories, or "
"frequent metadata operations, at the cost of less file data fitting in the "
"<<zfs-term-arc,ARC>>. Adjust this value at runtime with man:sysctl[8] in [."
"filename]#/boot/loader.conf# or [.filename]#/etc/sysctl.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2624
msgid ""
"[[zfs-advanced-tuning-arc_min]] `_vfs.zfs.arc.min_` starting with 13.x (`vfs."
"zfs.arc_min` for 12.x) - Lower size of the <<zfs-term-arc,ARC>>. The default "
"is one half of `vfs.zfs.arc.meta_limit`. Adjust this value to prevent other "
"applications from pressuring out the entire <<zfs-term-arc,ARC>>. Adjust "
"this value at runtime with man:sysctl[8] and in [.filename]#/boot/loader."
"conf# or [.filename]#/etc/sysctl.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2625
msgid ""
"[[zfs-advanced-tuning-vdev-cache-size]] `_vfs.zfs.vdev.cache.size_` - A "
"preallocated amount of memory reserved as a cache for each device in the "
"pool. The total amount of memory used will be this value multiplied by the "
"number of devices. Set this value at boot time and in [.filename]#/boot/"
"loader.conf#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2626
msgid ""
"[[zfs-advanced-tuning-min-auto-ashift]] `_vfs.zfs.min_auto_ashift_` - Lower "
"`ashift` (sector size) used automatically at pool creation time. The value "
"is a power of two. The default value of `9` represents `2^9 = 512`, a sector "
"size of 512 bytes. To avoid _write amplification_ and get the best "
"performance, set this value to the largest sector size used by a device in "
"the pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2632
msgid ""
"Common drives have 4 KB sectors. Using the default `ashift` of `9` with "
"these drives results in write amplification on these devices. Data "
"contained in a single 4 KB write is instead written in eight 512-byte "
"writes. ZFS tries to read the native sector size from all devices when "
"creating a pool, but drives with 4 KB sectors report that their sectors are "
"512 bytes for compatibility. Setting `vfs.zfs.min_auto_ashift` to `12` "
"(`2^12 = 4096`) before creating a pool forces ZFS to use 4 KB blocks for "
"best performance on these drives."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2635
msgid ""
"Forcing 4 KB blocks is also useful on pools with planned disk upgrades. "
"Future disks use 4 KB sectors, and `ashift` values cannot change after "
"creating a pool."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2639
msgid ""
"In some specific cases, the smaller 512-byte block size might be "
"preferable. When used with 512-byte disks for databases or as storage for "
"virtual machines, less data transfers during small random reads. This can "
"provide better performance when using a smaller ZFS record size."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2640
msgid ""
"[[zfs-advanced-tuning-prefetch_disable]] `_vfs.zfs.prefetch_disable_` - "
"Disable prefetch. A value of `0` enables and `1` disables it. The default is "
"`0`, unless the system has less than 4 GB of RAM. Prefetch works by reading "
"larger blocks than requested into the <<zfs-term-arc,ARC>> in hopes to soon "
"need the data. If the workload has a large number of random reads, disabling "
"prefetch may actually improve performance by reducing unnecessary reads. "
"Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2641
msgid ""
"[[zfs-advanced-tuning-vdev-trim_on_init]] `_vfs.zfs.vdev.trim_on_init_` - "
"Control whether new devices added to the pool have the `TRIM` command run on "
"them. This ensures the best performance and longevity for SSDs, but takes "
"extra time. If the device has already been secure erased, disabling this "
"setting will make the addition of the new device faster. Adjust this value "
"at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2642
msgid ""
"[[zfs-advanced-tuning-vdev-max_pending]] `_vfs.zfs.vdev.max_pending_` - "
"Limit the number of pending I/O requests per device. A higher value will "
"keep the device command queue full and may give higher throughput. A lower "
"value will reduce latency. Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2643
msgid ""
"[[zfs-advanced-tuning-top_maxinflight]] `_vfs.zfs.top_maxinflight_` - Upper "
"number of outstanding I/Os per top-level <<zfs-term-vdev,vdev>>. Limits the "
"depth of the command queue to prevent high latency. The limit is per top-"
"level vdev, meaning the limit applies to each <<zfs-term-vdev-mirror,"
"mirror>>, <<zfs-term-vdev-raidz,RAID-Z>>, or other vdev independently. "
"Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2644
msgid ""
"[[zfs-advanced-tuning-l2arc_write_max]] `_vfs.zfs.l2arc_write_max_` - Limit "
"the amount of data written to the <<zfs-term-l2arc,L2ARC>> per second. This "
"tunable extends the longevity of SSDs by limiting the amount of data written "
"to the device. Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2645
msgid ""
"[[zfs-advanced-tuning-l2arc_write_boost]] `_vfs.zfs.l2arc_write_boost_` - "
"Adds the value of this tunable to <<zfs-advanced-tuning-l2arc_write_max,`vfs."
"zfs.l2arc_write_max`>> and increases the write speed to the SSD until "
"evicting the first block from the <<zfs-term-l2arc,L2ARC>>. This \"Turbo "
"Warmup Phase\" reduces the performance loss from an empty <<zfs-term-l2arc,"
"L2ARC>> after a reboot. Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2646
msgid ""
"[[zfs-advanced-tuning-scrub_delay]]`_vfs.zfs.scrub_delay_` - Number of ticks "
"to delay between each I/O during a <<zfs-term-scrub,`scrub`>>. To ensure "
"that a `scrub` does not interfere with the normal operation of the pool, if "
"any other I/O is happening the `scrub` will delay between each command. This "
"value controls the limit on the total IOPS (I/Os Per Second) generated by "
"the `scrub`. The granularity of the setting is determined by the value of "
"`kern.hz` which defaults to 1000 ticks per second. Changing this setting "
"results in a different effective IOPS limit. The default value is `4`, "
"resulting in a limit of: 1000 ticks/sec / 4 = 250 IOPS. Using a value of "
"_20_ would give a limit of: 1000 ticks/sec / 20 = 50 IOPS. Recent activity "
"on the pool limits the speed of `scrub`, as determined by <<zfs-advanced-"
"tuning-scan_idle,`vfs.zfs.scan_idle`>>. Adjust this value at any time with "
"man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2647
msgid ""
"[[zfs-advanced-tuning-resilver_delay]] `_vfs.zfs.resilver_delay_` - Number "
"of milliseconds of delay inserted between each I/O during a <<zfs-term-"
"resilver,resilver>>. To ensure that a resilver does not interfere with the "
"normal operation of the pool, if any other I/O is happening the resilver "
"will delay between each command. This value controls the limit of total IOPS "
"(I/Os Per Second) generated by the resilver. ZFS determins the granularity "
"of the setting by the value of `kern.hz` which defaults to 1000 ticks per "
"second. Changing this setting results in a different effective IOPS limit. "
"The default value is 2, resulting in a limit of: 1000 ticks/sec / 2 = 500 "
"IOPS. Returning the pool to an <<zfs-term-online,Online>> state may be more "
"important if another device failing could <<zfs-term-faulted,Fault>> the "
"pool, causing data loss. A value of 0 will give the resilver operation the "
"same priority as other operations, speeding the healing process. Other "
"recent activity on the pool limits the speed of resilver, as determined by "
"<<zfs-advanced-tuning-scan_idle,`vfs.zfs.scan_idle`>>. Adjust this value at "
"any time with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2648
msgid ""
"[[zfs-advanced-tuning-scan_idle]] `_vfs.zfs.scan_idle_` - Number of "
"milliseconds since the last operation before considering the pool is idle. "
"ZFS disables the rate limiting for <<zfs-term-scrub,`scrub`>> and <<zfs-term-"
"resilver,resilver>> when the pool is idle. Adjust this value at any time "
"with man:sysctl[8]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2649
msgid ""
"[[zfs-advanced-tuning-txg-timeout]] `_vfs.zfs.txg.timeout_` - Upper number "
"of seconds between <<zfs-term-txg,transaction group>>s. The current "
"transaction group writes to the pool and a fresh transaction group starts if "
"this amount of time elapsed since the previous transaction group. A "
"transaction group may trigger earlier if writing enough data. The default "
"value is 5 seconds. A larger value may improve read performance by delaying "
"asynchronous writes, but this may cause uneven performance when writing the "
"transaction group. Adjust this value at any time with man:sysctl[8]."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/handbook/zfs/_index.adoc:2651
#, no-wrap
msgid "ZFS on i386"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2654
msgid ""
"Some of the features provided by ZFS are memory intensive, and may require "
"tuning for upper efficiency on systems with limited RAM."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:2655
#, no-wrap
msgid "Memory"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2663
msgid ""
"As a lower value, the total system memory should be at least one gigabyte. "
"The amount of recommended RAM depends upon the size of the pool and which "
"features ZFS uses. A general rule of thumb is 1 GB of RAM for every 1 TB of "
"storage. If using the deduplication feature, a general rule of thumb is 5 "
"GB of RAM per TB of storage to deduplicate. While some users use ZFS with "
"less RAM, systems under heavy load may panic due to memory exhaustion. ZFS "
"may require further tuning for systems with less than the recommended RAM "
"requirements."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:2664
#, no-wrap
msgid "Kernel Configuration"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2667
msgid ""
"Due to the address space limitations of the i386(TM) platform, ZFS users on "
"the i386(TM) architecture must add this option to a custom kernel "
"configuration file, rebuild the kernel, and reboot:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2671
#, no-wrap
msgid "options KVA_PAGES=512\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2676
msgid ""
"This expands the kernel address space, allowing the `vm.kvm_size` tunable to "
"push beyond the imposed limit of 1 GB, or the limit of 2 GB for PAE. To "
"find the most suitable value for this option, divide the desired address "
"space in megabytes by four. In this example `512` for 2 GB."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/handbook/zfs/_index.adoc:2677
#, no-wrap
msgid "Loader Tunables"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2681
msgid ""
"Increases the [.filename]#kmem# address space on all FreeBSD architectures. "
"A test system with 1 GB of physical memory benefitted from adding these "
"options to [.filename]#/boot/loader.conf# and then restarting:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/handbook/zfs/_index.adoc:2688
#, no-wrap
msgid ""
"vm.kmem_size=\"330M\"\n"
"vm.kmem_size_max=\"330M\"\n"
"vfs.zfs.arc.max=\"40M\"\n"
"vfs.zfs.vdev.cache.size=\"5M\"\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2691
msgid ""
"For a more detailed list of recommendations for ZFS-related tuning, see "
"https://wiki.freebsd.org/ZFSTuningGuide[]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:2693
#, no-wrap
msgid "Further Resources"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2696
msgid "https://openzfs.org/[OpenZFS]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2697
msgid "https://wiki.freebsd.org/ZFSTuningGuide[FreeBSD Wiki - ZFS Tuning]"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2698
msgid ""
"https://calomel.org/zfs_raid_speed_capacity.html[Calomel Blog - ZFS Raidz "
"Performance, Capacity and Integrity]"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/handbook/zfs/_index.adoc:2700
#, no-wrap
msgid "ZFS Features and Terminology"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/handbook/zfs/_index.adoc:2709
msgid ""
"More than a file system, ZFS is fundamentally different. ZFS combines the "
"roles of file system and volume manager, enabling new storage devices to add "
"to a live system and having the new space available on the existing file "
"systems in that pool at once. By combining the traditionally separate "
"roles, ZFS is able to overcome previous limitations that prevented RAID "
"groups being able to grow. A _vdev_ is a top level device in a pool and can "
"be a simple disk or a RAID transformation such as a mirror or RAID-Z array. "
"ZFS file systems (called _datasets_) each have access to the combined free "
"space of the entire pool. Used blocks from the pool decrease the space "
"available to each file system. This approach avoids the common pitfall with "
"extensive partitioning where free space becomes fragmented across the "
"partitions."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2715
#, no-wrap
msgid "[[zfs-term-pool]]pool"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2718
#, no-wrap
msgid ""
"A storage _pool_ is the most basic building block of ZFS. A pool consists of one or more vdevs, the underlying devices that store the data. A pool is then used to create one or more file systems (datasets) or block devices (volumes).\n"
"These datasets and volumes share the pool of remaining free space. Each pool is uniquely identified by a name and a GUID. The ZFS version number on the pool determines the features available."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2719
#, no-wrap
msgid "[[zfs-term-vdev]]vdev Types"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2749
#, no-wrap
msgid ""
"A pool consists of one or more vdevs, which themselves are a single disk or a group of disks, transformed to a RAID. When using a lot of vdevs, ZFS spreads data across the vdevs to increase performance and maximize usable space. All vdevs must be at least 128 MB in size. \n"
"\n"
"* [[zfs-term-vdev-disk]] _Disk_ - The most basic vdev type is a standard block device. This can be an entire disk (such as [.filename]#/dev/ada0# or [.filename]#/dev/da0#) or a partition ([.filename]#/dev/ada0p3#). On FreeBSD, there is no performance penalty for using a partition rather than the entire disk. This differs from recommendations made by the Solaris documentation.\n"
"+\n"
"[CAUTION]\n"
"====\n"
"Using an entire disk as part of a bootable pool is strongly discouraged, as this may render the pool unbootable.\n"
"Likewise, you should not use an entire disk as part of a mirror or RAID-Z vdev.\n"
"Reliably determining the size of an unpartitioned disk at boot time is impossible and there's no place to put in boot code.\n"
"====\n"
"\n"
"* [[zfs-term-vdev-file]] _File_ - Regular files may make up ZFS pools, which is useful for testing and experimentation. Use the full path to the file as the device path in `zpool create`.\n"
"* [[zfs-term-vdev-mirror]] _Mirror_ - When creating a mirror, specify the `mirror` keyword followed by the list of member devices for the mirror. A mirror consists of two or more devices, writing all data to all member devices. A mirror vdev will hold as much data as its smallest member. A mirror vdev can withstand the failure of all but one of its members without losing any data.\n"
"+\n"
"[NOTE]\n"
"====\n"
"To upgrade a regular single disk vdev to a mirror vdev at any time, use `zpool <<zfs-zpool-attach,attach>>`.\n"
"====\n"
"\n"
"* [[zfs-term-vdev-raidz]] _RAID-Z_ - ZFS uses RAID-Z, a variation on standard RAID-5 that offers better distribution of parity and eliminates the \"RAID-5 write hole\" in which the data and parity information become inconsistent after an unexpected restart. ZFS supports three levels of RAID-Z which provide varying levels of redundancy in exchange for decreasing levels of usable storage. ZFS uses RAID-Z1 through RAID-Z3 based on the number of parity devices in the array and the number of disks which can fail before the pool stops being operational.\n"
"+\n"
"In a RAID-Z1 configuration with four disks, each 1 TB, usable storage is 3 TB and the pool will still be able to operate in degraded mode with one faulted disk. If another disk goes offline before replacing and resilvering the faulted disk would result in losing all pool data.\n"
"+\n"
"In a RAID-Z3 configuration with eight disks of 1 TB, the volume will provide 5 TB of usable space and still be able to operate with three faulted disks. Sun(TM) recommends no more than nine disks in a single vdev. If more disks make up the configuration, the recommendation is to divide them into separate vdevs and stripe the pool data across them.\n"
"+\n"
"A configuration of two RAID-Z2 vdevs consisting of 8 disks each would create something like a RAID-60 array. A RAID-Z group's storage capacity is about the size of the smallest disk multiplied by the number of non-parity disks. Four 1 TB disks in RAID-Z1 has an effective size of about 3 TB, and an array of eight 1 TB disks in RAID-Z3 will yield 5 TB of usable space.\n"
"* [[zfs-term-vdev-spare]] _Spare_ - ZFS has a special pseudo-vdev type for keeping track of available hot spares. Note that installed hot spares are not deployed automatically; manually configure them to replace the failed device using `zfs replace`.\n"
"* [[zfs-term-vdev-log]] _Log_ - ZFS Log Devices, also known as ZFS Intent Log (<<zfs-term-zil,ZIL>>) move the intent log from the regular pool devices to a dedicated device, typically an SSD. Having a dedicated log device improves the performance of applications with a high volume of synchronous writes like databases. Mirroring of log devices is possible, but RAID-Z is not supported. If using a lot of log devices, writes will be load-balanced across them.\n"
"* [[zfs-term-vdev-cache]] _Cache_ - Adding a cache vdev to a pool will add the storage of the cache to the <<zfs-term-l2arc,L2ARC>>. Mirroring cache devices is impossible. Since a cache device stores only new copies of existing data, there is no risk of data loss."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2750
#, no-wrap
msgid "[[zfs-term-txg]] Transaction Group (TXG)"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2756
#, no-wrap
msgid ""
"Transaction Groups are the way ZFS groups blocks changes together and writes them to the pool. Transaction groups are the atomic unit that ZFS uses to ensure consistency. ZFS assigns each transaction group a unique 64-bit consecutive identifier. There can be up to three active transaction groups at a time, one in each of these three states: \n"
"\n"
"* _Open_ - A new transaction group begins in the open state and accepts new writes. There is always a transaction group in the open state, but the transaction group may refuse new writes if it has reached a limit. Once the open transaction group has reached a limit, or reaching the <<zfs-advanced-tuning-txg-timeout,`vfs.zfs.txg.timeout`>>, the transaction group advances to the next state.\n"
"* _Quiescing_ - A short state that allows any pending operations to finish without blocking the creation of a new open transaction group. Once all the transactions in the group have completed, the transaction group advances to the final state.\n"
"* _Syncing_ - Write all the data in the transaction group to stable storage. This process will in turn change other data, such as metadata and space maps, that ZFS will also write to stable storage. The process of syncing involves several passes. On the first and biggest, all the changed data blocks; next come the metadata, which may take several passes to complete. Since allocating space for the data blocks generates new metadata, the syncing state cannot finish until a pass completes that does not use any new space. The syncing state is also where _synctasks_ complete. Synctasks are administrative operations such as creating or destroying snapshots and datasets that complete the uberblock change. Once the sync state completes the transaction group in the quiescing state advances to the syncing state. All administrative functions, such as <<zfs-term-snapshot,`snapshot`>> write as part of the transaction group. ZFS adds a created synctask to the open transaction group, and that group advances as fast as possible to the syncing state to reduce the latency of administrative commands."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2757
#, no-wrap
msgid "[[zfs-term-arc]]Adaptive Replacement Cache (ARC)"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2759
#, no-wrap
msgid "ZFS uses an Adaptive Replacement Cache (ARC), rather than a more traditional Least Recently Used (LRU) cache. An LRU cache is a simple list of items in the cache, sorted by how recently object was used, adding new items to the head of the list. When the cache is full, evicting items from the tail of the list makes room for more active objects. An ARC consists of four lists; the Most Recently Used (MRU) and Most Frequently Used (MFU) objects, plus a ghost list for each. These ghost lists track evicted objects to prevent adding them back to the cache. This increases the cache hit ratio by avoiding objects that have a history of occasional use. Another advantage of using both an MRU and MFU is that scanning an entire file system would evict all data from an MRU or LRU cache in favor of this freshly accessed content. With ZFS, there is also an MFU that tracks the most frequently used objects, and the cache of the most commonly accessed blocks remains."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2760
#, no-wrap
msgid "[[zfs-term-l2arc]]L2ARC"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2762
#, no-wrap
msgid "L2ARC is the second level of the ZFS caching system. RAM stores the primary ARC. Since the amount of available RAM is often limited, ZFS can also use <<zfs-term-vdev-cache,cache vdevs>>. Solid State Disks (SSDs) are often used as these cache devices due to their higher speed and lower latency compared to traditional spinning disks. L2ARC is entirely optional, but having one will increase read speeds for cached files on the SSD instead of having to read from the regular disks. L2ARC can also speed up <<zfs-term-deduplication,deduplication>> because a deduplication table (DDT) that does not fit in RAM but does fit in the L2ARC will be much faster than a DDT that must read from disk. Limits on the data rate added to the cache devices prevents prematurely wearing out SSDs with extra writes. Until the cache is full (the first block evicted to make room), writes to the L2ARC limit to the sum of the write limit and the boost limit, and afterwards limit to the write limit. A pair of man:sysctl[8] values control these rate limits. <<zfs-advanced-tuning-l2arc_write_max,`vfs.zfs.l2arc_write_max`>> controls the number of bytes written to the cache per second, while <<zfs-advanced-tuning-l2arc_write_boost,`vfs.zfs.l2arc_write_boost`>> adds to this limit during the \"Turbo Warmup Phase\" (Write Boost)."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2763
#, no-wrap
msgid "[[zfs-term-zil]]ZIL"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2765
#, no-wrap
msgid "ZIL accelerates synchronous transactions by using storage devices like SSDs that are faster than those used in the main storage pool. When an application requests a synchronous write (a guarantee that the data is stored to disk rather than merely cached for later writes), writing the data to the faster ZIL storage then later flushing it out to the regular disks greatly reduces latency and improves performance. Synchronous workloads like databases will profit from a ZIL alone. Regular asynchronous writes such as copying files will not use the ZIL at all."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2766
#, no-wrap
msgid "[[zfs-term-cow]]Copy-On-Write"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2768
#, no-wrap
msgid "Unlike a traditional file system, ZFS writes a different block rather than overwriting the old data in place. When completing this write the metadata updates to point to the new location. When a shorn write (a system crash or power loss in the middle of writing a file) occurs, the entire original contents of the file are still available and ZFS discards the incomplete write. This also means that ZFS does not require a man:fsck[8] after an unexpected shutdown."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2769
#, no-wrap
msgid "[[zfs-term-dataset]]Dataset"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2771
#, no-wrap
msgid "_Dataset_ is the generic term for a ZFS file system, volume, snapshot or clone. Each dataset has a unique name in the format _poolname/path@snapshot_. The root of the pool is a dataset as well. Child datasets have hierarchical names like directories. For example, _mypool/home_, the home dataset, is a child of _mypool_ and inherits properties from it. Expand this further by creating _mypool/home/user_. This grandchild dataset will inherit properties from the parent and grandparent. Set properties on a child to override the defaults inherited from the parent and grandparent. Administration of datasets and their children can be <<zfs-zfs-allow,delegated>>."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2772
#, no-wrap
msgid "[[zfs-term-filesystem]]File system"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2774
#, no-wrap
msgid "A ZFS dataset is most often used as a file system. Like most other file systems, a ZFS file system mounts somewhere in the systems directory hierarchy and contains files and directories of its own with permissions, flags, and other metadata."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2775
#, no-wrap
msgid "[[zfs-term-volume]]Volume"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2777
#, no-wrap
msgid "ZFS can also create volumes, which appear as disk devices. Volumes have a lot of the same features as datasets, including copy-on-write, snapshots, clones, and checksumming. Volumes can be useful for running other file system formats on top of ZFS, such as UFS virtualization, or exporting iSCSI extents."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2778
#, no-wrap
msgid "[[zfs-term-snapshot]]Snapshot"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2780
#, no-wrap
msgid "The <<zfs-term-cow,copy-on-write>> (COW) design of ZFS allows for nearly instantaneous, consistent snapshots with arbitrary names. After taking a snapshot of a dataset, or a recursive snapshot of a parent dataset that will include all child datasets, new data goes to new blocks, but without reclaiming the old blocks as free space. The snapshot contains the original file system version and the live file system contains any changes made since taking the snapshot using no other space. New data written to the live file system uses new blocks to store this data. The snapshot will grow as the blocks are no longer used in the live file system, but in the snapshot alone. Mount these snapshots read-only allows recovering of previous file versions. A <<zfs-zfs-snapshot,rollback>> of a live file system to a specific snapshot is possible, undoing any changes that took place after taking the snapshot. Each block in the pool has a reference counter which keeps track of the snapshots, clones, datasets, or volumes use that block. As files and snapshots get deleted, the reference count decreases, reclaiming the free space when no longer referencing a block. Marking snapshots with a <<zfs-zfs-snapshot,hold>> results in any attempt to destroy it will returns an `EBUSY` error. Each snapshot can have holds with a unique name each. The <<zfs-zfs-snapshot,release>> command removes the hold so the snapshot can deleted. Snapshots, cloning, and rolling back works on volumes, but independently mounting does not."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2781
#, no-wrap
msgid "[[zfs-term-clone]]Clone"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2783
#, no-wrap
msgid "Cloning a snapshot is also possible. A clone is a writable version of a snapshot, allowing the file system to fork as a new dataset. As with a snapshot, a clone initially consumes no new space. As new data written to a clone uses new blocks, the size of the clone grows. When blocks are overwritten in the cloned file system or volume, the reference count on the previous block decreases. Removing the snapshot upon which a clone bases is impossible because the clone depends on it. The snapshot is the parent, and the clone is the child. Clones can be _promoted_, reversing this dependency and making the clone the parent and the previous parent the child. This operation requires no new space. Since the amount of space used by the parent and child reverses, it may affect existing quotas and reservations."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2784
#, no-wrap
msgid "[[zfs-term-checksum]]Checksum"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2791
#, no-wrap
msgid ""
"Every block is also checksummed. The checksum algorithm used is a per-dataset property, see <<zfs-zfs-set,`set`>>. The checksum of each block is transparently validated when read, allowing ZFS to detect silent corruption. If the data read does not match the expected checksum, ZFS will attempt to recover the data from any available redundancy, like mirrors or RAID-Z. Triggering a validation of all checksums with <<zfs-term-scrub,`scrub`>>. Checksum algorithms include:\n"
"\n"
"* `fletcher2`\n"
"* `fletcher4`\n"
"* `sha256`\n"
" The `fletcher` algorithms are faster, but `sha256` is a strong cryptographic hash and has a much lower chance of collisions at the cost of some performance. Deactivating checksums is possible, but strongly discouraged."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2792
#, no-wrap
msgid "[[zfs-term-compression]]Compression"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2806
#, no-wrap
msgid ""
"Each dataset has a compression property, which defaults to off. Set this property to an available compression algorithm. This causes compression of all new data written to the dataset. Beyond a reduction in space used, read and write throughput often increases because fewer blocks need reading or writing. \n"
"\n"
"[[zfs-term-compression-lz4]]\n"
"* _LZ4_ - Added in ZFS pool version 5000 (feature flags), LZ4 is now the recommended compression algorithm. LZ4 works about 50% faster than LZJB when operating on compressible data, and is over three times faster when operating on uncompressible data. LZ4 also decompresses about 80% faster than LZJB. On modern CPUs, LZ4 can often compress at over 500 MB/s, and decompress at over 1.5 GB/s (per single CPU core).\n"
"\n"
"[[zfs-term-compression-lzjb]]\n"
"* _LZJB_ - The default compression algorithm. Created by Jeff Bonwick (one of the original creators of ZFS). LZJB offers good compression with less CPU overhead compared to GZIP. In the future, the default compression algorithm will change to LZ4.\n"
"\n"
"[[zfs-term-compression-gzip]]\n"
"* _GZIP_ - A popular stream compression algorithm available in ZFS. One of the main advantages of using GZIP is its configurable level of compression. When setting the `compress` property, the administrator can choose the level of compression, ranging from `gzip1`, the lowest level of compression, to `gzip9`, the highest level of compression. This gives the administrator control over how much CPU time to trade for saved disk space.\n"
"\n"
"[[zfs-term-compression-zle]]\n"
"* _ZLE_ - Zero Length Encoding is a special compression algorithm that compresses continuous runs of zeros alone. This compression algorithm is useful when the dataset contains large blocks of zeros."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2807
#, no-wrap
msgid "[[zfs-term-copies]]Copies"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2809
#, no-wrap
msgid "When set to a value greater than 1, the `copies` property instructs ZFS to maintain copies of each block in the <<zfs-term-filesystem,file system>> or <<zfs-term-volume,volume>>. Setting this property on important datasets provides added redundancy from which to recover a block that does not match its checksum. In pools without redundancy, the copies feature is the single form of redundancy. The copies feature can recover from a single bad sector or other forms of minor corruption, but it does not protect the pool from the loss of an entire disk."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2810
#, no-wrap
msgid "[[zfs-term-deduplication]]Deduplication"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2812
#, no-wrap
msgid "Checksums make it possible to detect duplicate blocks when writing data. With deduplication, the reference count of an existing, identical block increases, saving storage space. ZFS keeps a deduplication table (DDT) in memory to detect duplicate blocks. The table contains a list of unique checksums, the location of those blocks, and a reference count. When writing new data, ZFS calculates checksums and compares them to the list. When finding a match it uses the existing block. Using the SHA256 checksum algorithm with deduplication provides a secure cryptographic hash. Deduplication is tunable. If `dedup` is `on`, then a matching checksum means that the data is identical. Setting `dedup` to `verify`, ZFS performs a byte-for-byte check on the data ensuring they are actually identical. If the data is not identical, ZFS will note the hash collision and store the two blocks separately. As the DDT must store the hash of each unique block, it consumes a large amount of memory. A general rule of thumb is 5-6 GB of ram per 1 TB of deduplicated data). In situations not practical to have enough RAM to keep the entire DDT in memory, performance will suffer greatly as the DDT must read from disk before writing each new block. Deduplication can use L2ARC to store the DDT, providing a middle ground between fast system memory and slower disks. Consider using compression instead, which often provides nearly as much space savings without the increased memory."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2813
#, no-wrap
msgid "[[zfs-term-scrub]]Scrub"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2815
#, no-wrap
msgid "Instead of a consistency check like man:fsck[8], ZFS has `scrub`. `scrub` reads all data blocks stored on the pool and verifies their checksums against the known good checksums stored in the metadata. A periodic check of all the data stored on the pool ensures the recovery of any corrupted blocks before needing them. A scrub is not required after an unclean shutdown, but good practice is at least once every three months. ZFS verifies the checksum of each block during normal use, but a scrub makes certain to check even infrequently used blocks for silent corruption. ZFS improves data security in archival storage situations. Adjust the relative priority of `scrub` with <<zfs-advanced-tuning-scrub_delay,`vfs.zfs.scrub_delay`>> to prevent the scrub from degrading the performance of other workloads on the pool."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2816
#, no-wrap
msgid "[[zfs-term-quota]]Dataset Quota"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2827
#, no-wrap
msgid ""
"ZFS provides fast and accurate dataset, user, and group space accounting as well as quotas and space reservations. This gives the administrator fine grained control over space allocation and allows reserving space for critical file systems. \n"
"\n"
"ZFS supports different types of quotas: the dataset quota, the <<zfs-term-refquota,reference quota (refquota)>>, the <<zfs-term-userquota,user quota>>, and the <<zfs-term-groupquota,group quota>>.\n"
"\n"
"Quotas limit the total size of a dataset and its descendants, including snapshots of the dataset, child datasets, and the snapshots of those datasets.\n"
"\n"
"[NOTE]\n"
"====\n"
"Volumes do not support quotas, as the `volsize` property acts as an implicit quota.\n"
"===="
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2828
#, no-wrap
msgid "[[zfs-term-refquota]]Reference Quota"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2830
#, no-wrap
msgid "A reference quota limits the amount of space a dataset can consume by enforcing a hard limit. This hard limit includes space referenced by the dataset alone and does not include space used by descendants, such as file systems or snapshots."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2831
#, no-wrap
msgid "[[zfs-term-userquota]]User Quota"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2833
#, no-wrap
msgid "User quotas are useful to limit the amount of space used by the specified user."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2834
#, no-wrap
msgid "[[zfs-term-groupquota]]Group Quota"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2836
#, no-wrap
msgid "The group quota limits the amount of space that a specified group can consume."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2837
#, no-wrap
msgid "[[zfs-term-reservation]]Dataset Reservation"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2841
#, no-wrap
msgid ""
"The `reservation` property makes it possible to guarantee an amount of space for a specific dataset and its descendants. This means that setting a 10 GB reservation on [.filename]#storage/home/bob# prevents other datasets from using up all free space, reserving at least 10 GB of space for this dataset. Unlike a regular <<zfs-term-refreservation,`refreservation`>>, space used by snapshots and descendants is not counted against the reservation. For example, if taking a snapshot of [.filename]#storage/home/bob#, enough disk space other than the `refreservation` amount must exist for the operation to succeed. Descendants of the main data set are not counted in the `refreservation` amount and so do not encroach on the space set.\n"
"\n"
"Reservations of any sort are useful in situations such as planning and testing the suitability of disk space allocation in a new system, or ensuring that enough space is available on file systems for audio logs or system recovery procedures and files."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2842
#, no-wrap
msgid "[[zfs-term-refreservation]]Reference Reservation"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2844
#, no-wrap
msgid "The `refreservation` property makes it possible to guarantee an amount of space for the use of a specific dataset _excluding_ its descendants. This means that setting a 10 GB reservation on [.filename]#storage/home/bob#, and another dataset tries to use the free space, reserving at least 10 GB of space for this dataset. In contrast to a regular <<zfs-term-reservation,reservation>>, space used by snapshots and descendant datasets is not counted against the reservation. For example, if taking a snapshot of [.filename]#storage/home/bob#, enough disk space other than the `refreservation` amount must exist for the operation to succeed. Descendants of the main data set are not counted in the `refreservation` amount and so do not encroach on the space set."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2845
#, no-wrap
msgid "[[zfs-term-resilver]]Resilver"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2846
#, no-wrap
msgid "When replacing a failed disk, ZFS must fill the new disk with the lost data. _Resilvering_ is the process of using the parity information distributed across the remaining drives to calculate and write the missing data to the new drive."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2847
#, no-wrap
msgid "[[zfs-term-online]]Online"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2849
#, no-wrap
msgid "A pool or vdev in the `Online` state has its member devices connected and fully operational. Individual devices in the `Online` state are functioning."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2850
#, no-wrap
msgid "[[zfs-term-offline]]Offline"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2852
#, no-wrap
msgid "The administrator puts individual devices in an `Offline` state if enough redundancy exists to avoid putting the pool or vdev into a <<zfs-term-faulted,Faulted>> state. An administrator may choose to offline a disk in preparation for replacing it, or to make it easier to identify."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2853
#, no-wrap
msgid "[[zfs-term-degraded]]Degraded"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2855
#, no-wrap
msgid "A pool or vdev in the `Degraded` state has one or more disks that disappeared or failed. The pool is still usable, but if other devices fail, the pool may become unrecoverable. Reconnecting the missing devices or replacing the failed disks will return the pool to an <<zfs-term-online,Online>> state after the reconnected or new device has completed the <<zfs-term-resilver,Resilver>> process."
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2856
#, no-wrap
msgid "[[zfs-term-faulted]]Faulted"
msgstr ""
#. type: Table
#: documentation/content/en/books/handbook/zfs/_index.adoc:2857
#, no-wrap
msgid "A pool or vdev in the `Faulted` state is no longer operational. Accessing the data is no longer possible. A pool or vdev enters the `Faulted` state when the number of missing or failed devices exceeds the level of redundancy in the vdev. If reconnecting missing devices the pool will return to an <<zfs-term-online,Online>> state. Insufficient redundancy to compensate for the number of failed disks loses the pool contents and requires restoring from backups."
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/flavors/_index.po b/documentation/content/en/books/porters-handbook/flavors/_index.po
index 80f7be67e3..9f99570134 100644
--- a/documentation/content/en/books/porters-handbook/flavors/_index.po
+++ b/documentation/content/en/books/porters-handbook/flavors/_index.po
@@ -1,640 +1,669 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/flavors/_index.adoc:1
#, no-wrap
msgid "Flavors are a way to have multiple variations of a port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:1
#, no-wrap
msgid "Chapter 7. Flavors"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:13
#, no-wrap
msgid "Flavors"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:51
#, no-wrap
msgid "An Introduction to Flavors"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:55
msgid ""
"Flavors are a way to have multiple variations of a port. The port is built "
"multiple times, with variations."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:57
msgid ""
"For example, a port can have a normal version with many features and quite a "
"few dependencies, and a light \"lite\" version with only basic features and "
"minimal dependencies."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:59
msgid ""
"Another example could be, a port can have a GTK flavor and a QT flavor, "
"depending on which toolkit it uses."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:61
#, no-wrap
msgid "Using FLAVORS"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:65
msgid ""
"To declare a port having multiple flavors, add `FLAVORS` to its [."
"filename]#Makefile#. The first flavor in `FLAVORS` is the default flavor."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:69
msgid ""
"It can help simplify the logic of the [.filename]#Makefile# to also define "
"`FLAVOR` as:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:73
#, no-wrap
msgid "FLAVOR?=\t${FLAVORS:[1]}\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:79
msgid ""
"To distinguish flavors from options, which are always uppercase letters, "
"flavor names can _only_ contain lowercase letters, numbers, and the "
"underscore `_`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:82
#, no-wrap
msgid "Basic Flavors Usage"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:86
msgid ""
"If a port has a \"lite\" slave port, the slave port can be removed, and the "
"port can be converted to flavors with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:95
#, no-wrap
msgid ""
"FLAVORS=\tdefault lite\n"
"lite_PKGNAMESUFFIX=\t-lite\n"
"[...]\n"
".if ${FLAVOR:U} != lite\n"
"[enable non lite features]\n"
".endif\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:100
#, no-wrap
msgid "Another Basic Flavors Usage"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:104
msgid ""
"If a port has a `-nox11` slave port, the slave port can be removed, and the "
"port can be converted to flavors with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:114
#, no-wrap
msgid ""
"FLAVORS=\tx11 nox11\n"
"FLAVOR?=\t${FLAVORS:[1]}\n"
"nox11_PKGNAMESUFFIX=\t-nox11\n"
"[...]\n"
".if ${FLAVOR} == x11\n"
"[enable x11 features]\n"
".endif\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:119
#, no-wrap
msgid "More Complex Flavors Usage"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:124
msgid ""
"Here is a slightly edited excerpt of what is present in package:devel/"
"libpeas[], a port that uses the <<flavors-auto-python,Python flavors>>. "
"With the default Python 2 and 3 versions being 2.7 and 3.6, it will "
"automatically get `FLAVORS=py27 py36`"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:129
#, no-wrap
msgid ""
"USES=\t\tgnome python\n"
"USE_PYTHON=\tflavors \n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:132
#, no-wrap
msgid ""
".if ${FLAVOR:Upy27:Mpy2*} \n"
"USE_GNOME=\tpygobject3 \n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:134
#, no-wrap
msgid "CONFIGURE_ARGS+=\t--enable-python2 --disable-python3\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:139
#, no-wrap
msgid ""
"BUILD_WRKSRC=\t${WRKSRC}/loaders/python \n"
"INSTALL_WRKSRC=\t${WRKSRC}/loaders/python \n"
".else # py3*\n"
"USE_GNOME+=\tpy3gobject3 \n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:142
#, no-wrap
msgid ""
"CONFIGURE_ARGS+=\t--disable-python2 --enable-python3 \\\n"
"\t\t\tac_cv_path_PYTHON3_CONFIG=${LOCALBASE}/bin/python${PYTHON_VER}-config \n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:146
#, no-wrap
msgid ""
"BUILD_WRKSRC=\t${WRKSRC}/loaders/python3 \n"
"INSTALL_WRKSRC=\t${WRKSRC}/loaders/python3 \n"
".endif\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:150
#, no-wrap
msgid ""
"py34_PLIST=\t${.CURDIR}/pkg-plist-py3 \n"
"py35_PLIST=\t${.CURDIR}/pkg-plist-py3 \n"
"py36_PLIST=\t${.CURDIR}/pkg-plist-py3\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:158
msgid ""
"This port does not use `USE_PYTHON=distutils` but needs Python flavors "
"anyway. To guard against `FLAVOR` being empty, which would cause a man:"
"make[1] error, use `${FLAVOR:U}` in string comparisons instead of `${FLAVOR}"
"`. The Gnome Python gobject3 bindings have two different names, one for "
"Python 2, pygobject3 and one for Python 3, py3gobject3. The `configure` "
"script has to run in [.filename]#${WRKSRC}#, but we are only interested in "
"building and installing the Python 2 or Python 3 parts of the software, so "
"set the build and install base directories appropriately. Hint about the "
"correct Python 3 config script path name. The packing list is different "
"when the built with Python 3. As there are three possible Python 3 versions, "
"set `PLIST` for all three using the <<flavors-using-helpers,helper>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:161
#, no-wrap
msgid "Flavors Helpers"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:164
msgid ""
"To make the [.filename]#Makefile# easier to write, a few flavors helpers "
"exist."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:166
msgid "This list of helpers will set their variable:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:168
msgid "`__flavor___PKGNAMEPREFIX`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:169
msgid "`__flavor___PKGNAMESUFFIX`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:170
msgid "`__flavor___PLIST`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:171
msgid "`__flavor___DESCR`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:173
msgid "This list of helpers will append to their variable:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:175
msgid "`__flavor___CONFLICTS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:176
msgid "`__flavor___CONFLICTS_BUILD`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:177
msgid "`__flavor___CONFLICTS_INSTALL`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:178
msgid "`__flavor___PKG_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:179
msgid "`__flavor___EXTRACT_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:180
msgid "`__flavor___PATCH_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:181
msgid "`__flavor___FETCH_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:182
msgid "`__flavor___BUILD_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:183
msgid "`__flavor___LIB_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:184
msgid "`__flavor___RUN_DEPENDS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:185
msgid "`__flavor___TEST_DEPENDS`"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:187
#, no-wrap
msgid "Flavor Specific `PKGNAME`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:191
msgid ""
"As all packages must have a different package name, flavors must change "
"theirs, using `__flavor___PKGNAMEPREFIX` and `__flavor___PKGNAMESUFFIX` "
"makes this easy:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:196
#, no-wrap
msgid ""
"FLAVORS=\tnormal lite\n"
"lite_PKGNAMESUFFIX=\t-lite\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:201
#, no-wrap
msgid "`USES=php` and Flavors"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:205
msgid ""
"When using crossref:uses[uses-php,`php`] with one of these arguments, "
"`phpize`, `ext`, `zend`, or `pecl`, the port will automatically have "
"`FLAVORS` filled in with the PHP versions it supports."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:207
#, no-wrap
msgid "Simple `USES=php` Extension"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:211
msgid "This will generate package for all the supported versions:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:217
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:228
#, no-wrap
msgid ""
"PORTNAME=\tsome-ext\n"
"PORTVERSION=\t0.0.1\n"
"PKGNAMEPREFIX=\t${PHP_PKGNAMEPREFIX}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:219
#, no-wrap
msgid "USES=\t\tphp:ext\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:222
msgid "This will generate package for all the supported versions but 7.2:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:231
#, no-wrap
msgid ""
"USES=\t\tphp:ext\n"
"IGNORE_WITH_PHP=\t72\n"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:236
#, no-wrap
msgid "PHP Flavors with PHP Applications"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:239
msgid "PHP applications can also be flavorized."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:241
msgid ""
"This allows generating packages for all PHP versions, so that users can use "
"them with whatever version they need on their servers."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:245
msgid ""
"PHP applications that are flavorized _must_ append `PHP_PKGNAMESUFFIX` to "
"their package names."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:248
#, no-wrap
msgid "Flavorizing a PHP Application"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:252
msgid "Adding Flavors support to a PHP application is straightforward:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:256
#, no-wrap
msgid "PKGNAMESUFFIX=\t${PHP_PKGNAMESUFFIX}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:258
#, no-wrap
msgid "USES=\tphp:flavors\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:266
msgid ""
"When adding a dependency on a PHP flavored port, use `@${PHP_FLAVOR}`. "
"_Never_ use `FLAVOR` directly."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:269
#, no-wrap
msgid "`USES=python` and Flavors"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:273
msgid ""
"When using crossref:uses[uses-python,`python`] and `USE_PYTHON=distutils`, "
"the port will automatically have `FLAVORS` filled in with the Python "
"versions it supports."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:275
#, no-wrap
msgid "Simple `USES=python`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:279
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:302
msgid ""
"Supposing the current Python supported versions are 2.7, 3.4, 3.5, and 3.6, "
"and the default Python 2 and 3 versions are 2.7 and 3.6, a port with:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:284
#, no-wrap
msgid ""
"USES=\tpython\n"
"USE_PYTHON=\tdistutils\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:287
msgid "Will get these flavors: `py27`, and `py36`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:292
#, no-wrap
msgid ""
"USES=\tpython\n"
"USE_PYTHON=\tdistutils allflavors\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:295
msgid "Will get these flavors: `py27`, `py34`, `py35` and `py36`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:298
#, no-wrap
msgid "`USES=python` with Version Requirements"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:307
#, no-wrap
msgid ""
"USES=\tpython:-3.5\n"
"USE_PYTHON=\tdistutils\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:310
msgid "Will get this flavor: `py27`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:315
#, no-wrap
msgid ""
"USES=\tpython:-3.5\n"
"USE_PYTHON=\tdistutils allflavors\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:318
msgid "Will get these flavors: `py27`, `py34`, and `py35`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:323
#, no-wrap
msgid ""
"USES=\tpython:3.4+\n"
"USE_PYTHON=\tdistutils\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:326
msgid "Will get this flavor: `py36`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:331
#, no-wrap
msgid ""
"USES=\tpython:3.4+\n"
"USE_PYTHON=\tdistutils allflavors\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:334
msgid "Will get these flavors: `py34`, `py35`, and `py36`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:338
msgid ""
"`PY_FLAVOR` is available to depend on the correct version of Python "
"modules. All dependencies on flavored Python ports should use `PY_FLAVOR`, "
"and not `FLAVOR` directly.."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:340
#, no-wrap
msgid "For a Port Not Using `distutils`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:344
msgid ""
"If the default Python 3 version is 3.6, the following will set `PY_FLAVOR` "
"to `py36`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:348
#, no-wrap
msgid "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:350
#, no-wrap
msgid "USES=\tpython:3.5+\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:355
#, no-wrap
msgid "`USES=lua` and Flavors"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:361
msgid ""
"When using crossref:uses[uses-lua,`lua:module`] or crossref:uses[uses-lua,"
"`lua:flavors`], the port will automatically have `FLAVORS` filled in with "
"the Lua versions it supports. However, it is not expected that ordinary "
"applications (rather than Lua modules) should use this feature; most "
"applications that embed or otherwise use Lua should simply use `USES=lua`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:363
msgid ""
"`LUA_FLAVOR` is available (and must be used) to depend on the correct "
"version of dependencies regardless of whether the port used the `flavors` or "
"`module` parameters."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:364
+#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:365
msgid "See crossref:special[using-lua,Using Lua] for further information."
msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:367
+#, no-wrap
+msgid "`USES=guile` and Flavors"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:374
+msgid ""
+"When using crossref:uses[uses-guile,`guile:flavors`], the port will "
+"automatically have `FLAVORS` filled in with the Guile versions it supports. "
+"However, it is not expected that ordinary applications should use this "
+"feature; it is primarily intended for use by libraries and extensions, such "
+"as `guile-lib` or `guile-cairo`."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:376
+msgid ""
+"`GUILE_FLAVOR` is available (and must be used) to depend on the correct "
+"version of flavored dependencies regardless of whether the port used the "
+"`flavors` parameter or not."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/flavors/_index.adoc:377
+msgid "See crossref:special[using-guile,Using Guile] for further information."
+msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/makefiles/_index.po b/documentation/content/en/books/porters-handbook/makefiles/_index.po
index 29382d2a94..df60947ca5 100644
--- a/documentation/content/en/books/porters-handbook/makefiles/_index.po
+++ b/documentation/content/en/books/porters-handbook/makefiles/_index.po
@@ -1,11623 +1,11636 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/makefiles/_index.adoc:1
#, no-wrap
msgid "Configuring the Makefile for FreeBSD Ports"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1
#, no-wrap
msgid "Chapter 5. Configuring the Makefile"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:13
#, no-wrap
msgid "Configuring the Makefile"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:54
msgid ""
"Configuring the [.filename]#Makefile# is pretty simple, and again we suggest "
"looking at existing examples before starting. Also, there is a crossref:"
"porting-samplem[porting-samplem,sample Makefile] in this handbook, so take a "
"look and please follow the ordering of variables and sections in that "
"template to make the port easier for others to read."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:56
msgid ""
"Consider these problems in sequence during the design of the new [."
"filename]#Makefile#:"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:58
#, no-wrap
msgid "The Original Source"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:62
msgid ""
"Does it live in `DISTDIR` as a standard ``gzip``ped tarball named something "
"like [.filename]#foozolix-1.2.tar.gz#? If so, go on to the next step. If "
"not, the distribution file format might require overriding one or more of "
"`DISTVERSION`, `DISTNAME`, `EXTRACT_CMD`, `EXTRACT_BEFORE_ARGS`, "
"`EXTRACT_AFTER_ARGS`, `EXTRACT_SUFX`, or `DISTFILES`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:65
msgid ""
"In the worst case, create a custom `do-extract` target to override the "
"default. This is rarely, if ever, necessary."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:67
#, no-wrap
msgid "Naming"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:70
msgid ""
"The first part of the port's [.filename]#Makefile# names the port, describes "
"its version number, and lists it in the correct category."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:72
#, no-wrap
msgid "`PORTNAME`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:76
msgid ""
"Set `PORTNAME` to the base name of the software. It is used as the base for "
"the FreeBSD package, and for <<makefile-distname,`DISTNAME`>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:82
msgid ""
"The package name must be unique across the entire ports tree. Make sure "
"that the `PORTNAME` is not already in use by an existing port, and that no "
"other port already has the same `PKGBASE`. If the name has already been "
"used, add either <<porting-pkgnameprefix-suffix,`PKGNAMEPREFIX` or "
"`PKGNAMESUFFIX`>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:85
#, no-wrap
msgid "Versions, `DISTVERSION` _or_ `PORTVERSION`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:88
msgid "Set `DISTVERSION` to the version number of the software."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:92
msgid ""
"`PORTVERSION` is the version used for the FreeBSD package. It will be "
"automatically derived from `DISTVERSION` to be compatible with FreeBSD's "
"package versioning scheme. If the version contains _letters_, it might be "
"needed to set `PORTVERSION` and not `DISTVERSION`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:96
msgid "Only one of `PORTVERSION` and `DISTVERSION` can be set at a time."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:99
msgid ""
"From time to time, some software will use a version scheme that is not "
"compatible with how `DISTVERSION` translates in `PORTVERSION`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:104
msgid ""
"When updating a port, it is possible to use man:pkg-version[8]'s `-t` "
"argument to check if the new version is greater or lesser than before. See "
"<<makefile-versions-ex-pkg-version>>."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:107
#, no-wrap
msgid "Using man:pkg-version[8] to Compare Versions"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:111
msgid ""
"`pkg version -t` takes two versions as arguments, it will respond with `<`, "
"`=` or `>` if the first version is less, equal, or more than the second "
"version, respectively."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:117
#, no-wrap
msgid ""
"% pkg version -t 1.2 1.3\n"
"< <.>\n"
"% pkg version -t 1.2 1.2\n"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:117
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:119
#, no-wrap
msgid "<.>"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:119
msgid "% pkg version -t 1.2 1.2.0"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:126
msgid ""
"% pkg version -t 1.2 1.2.p1 > <.> % pkg version -t 1.2.a1 1.2.b1 < <.> % pkg "
"version -t 1.2 1.2p1 < <.>"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:129
msgid "`1.2` is before `1.3`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:130
msgid "`1.2` and `1.2` are equal as they have the same version."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:131
msgid "`1.2` and `1.2.0` are equal as nothing equals zero."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:132
msgid "`1.2` is after `1.2.p1` as `.p1`, think \"pre-release 1\"."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:133
msgid ""
"`1.2.a1` is before `1.2.b1`, think \"alpha\" and \"beta\", and `a` is before "
"`b`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:134
msgid ""
"`1.2` is before `1.2p1` as `2p1`, think \"2, patch level 1\" which is a "
"version after any `2.X` but before `3`."
msgstr ""
#. type: delimited block * 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:139
msgid ""
"In here, the `a`, `b`, and `p` are used as if meaning \"alpha\", \"beta\" or "
"\"pre-release\" and \"patch level\", but they are only letters and are "
"sorted alphabetically, so any letter can be used, and they will be sorted "
"appropriately."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:143
#, no-wrap
msgid "Examples of `DISTVERSION` and the Derived `PORTVERSION`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:147
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:490
#, no-wrap
msgid "DISTVERSION"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:149
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:491
#, no-wrap
msgid "PORTVERSION"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:150
#, no-wrap
msgid "0.7.1d"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:152
#, no-wrap
msgid "0.7.1.d"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:153
#, no-wrap
msgid "10Alpha3"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:155
#, no-wrap
msgid "10.a3"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:156
#, no-wrap
msgid "3Beta7-pre2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:158
#, no-wrap
msgid "3.b7.p2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:159
#, no-wrap
msgid "8:f_17"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:160
#, no-wrap
msgid "8f.17"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:163
#, no-wrap
msgid "Using `DISTVERSION`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:167
msgid ""
"When the version only contains numbers separated by dots, dashes or "
"underscores, use `DISTVERSION`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:172
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSION=\t1.2-4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:175
msgid "It will generate a `PORTVERSION` of `1.2.4`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:178
#, no-wrap
msgid "Using `DISTVERSION` When the Version Starts with a Letter or a Prefix"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:182
msgid ""
"When the version starts or ends with a letter, or a prefix or a suffix that "
"is not part of the version, use `DISTVERSIONPREFIX`, `DISTVERSION`, and "
"`DISTVERSIONSUFFIX`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:184
msgid "If the version is `v1.2-4`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:190
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSIONPREFIX= v\n"
"DISTVERSION=\t1_2_4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:194
msgid ""
"Some of the time, projects using GitHub will use their name in their "
"versions. For example, the version could be `nekoto-1.2-4`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:200
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSIONPREFIX= nekoto-\n"
"DISTVERSION=\t1.2_4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:203
msgid ""
"Those projects also sometimes use some string at the end of the version, for "
"example, `1.2-4_RELEASE`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:209
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSION=\t1.2-4\n"
"DISTVERSIONSUFFIX= _RELEASE\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:212
msgid "Or they do both, for example, `nekoto-1.2-4_RELEASE`:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:219
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSIONPREFIX= nekoto-\n"
"DISTVERSION=\t1.2-4\n"
"DISTVERSIONSUFFIX= _RELEASE\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:222
msgid ""
"`DISTVERSIONPREFIX` and `DISTVERSIONSUFFIX` will not be used while "
"constructing `PORTVERSION`, but only used in `DISTNAME`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:224
msgid "All will generate a `PORTVERSION` of `1.2.4`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:227
#, no-wrap
msgid "Using `DISTVERSION` When the Version Contains Letters Meaning \"alpha\", \"beta\", or \"pre-release\""
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:231
msgid ""
"When the version contains numbers separated by dots, dashes or underscores, "
"and letters are used to mean \"alpha\", \"beta\" or \"pre-release\", which "
"is, before the version without the letters, use `DISTVERSION`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:236
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSION=\t1.2-pre4\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:242
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"DISTVERSION=\t1.2p4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:245
msgid ""
"Both will generate a `PORTVERSION` of `1.2.p4` which is before than 1.2. man:"
"pkg-version[8] can be used to check that fact:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:250
#, no-wrap
msgid ""
"% pkg version -t 1.2.p4 1.2\n"
"<\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:255
#, no-wrap
msgid "Not Using `DISTVERSION` When the Version Contains Letters Meaning \"Patch Level\""
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:259
msgid ""
"When the version contains letters that are not meant as \"alpha\", \"beta\", "
"or \"pre\", but more in a \"patch level\", and meaning after the version "
"without the letters, use `PORTVERSION`."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:264
#, no-wrap
msgid ""
"PORTNAME= nekoto\n"
"PORTVERSION=\t1.2p4\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:268
msgid ""
"In this case, using `DISTVERSION` is not possible because it would generate "
"a version of `1.2.p4` which would be before `1.2` and not after. man:pkg-"
"version[8] will verify this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:275
#, no-wrap
msgid ""
"% pkg version -t 1.2 1.2.p4\n"
"> <.>\n"
"% pkg version -t 1.2 1.2p4\n"
"< <.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:278
msgid "`1.2` is after `1.2.p4`, which is _wrong_ in this case."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:279
msgid "`1.2` is before `1.2p4`, which is what was needed."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:282
msgid ""
"For some more advanced examples of setting `PORTVERSION`, when the "
"software's versioning is really not compatible with FreeBSD's, or `DISTNAME` "
"when the distribution file does not contain the version itself, see "
"<<makefile-distname>>."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:284
#, no-wrap
msgid "`PORTREVISION` and `PORTEPOCH`"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:287
#, no-wrap
msgid "`PORTREVISION`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:291
msgid ""
"`PORTREVISION` is a monotonically increasing value which is reset to 0 with "
"every increase of `DISTVERSION`, typically every time there is a new "
"official vendor release. If `PORTREVISION` is non-zero, the value is "
"appended to the package name. Changes to `PORTREVISION` are used by "
"automated tools like man:pkg-version[8] to determine that a new package is "
"available."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:294
msgid ""
"`PORTREVISION` must be increased each time a change is made to the port that "
"changes the generated package in any way. That includes changes that only "
"affect a package built with non-default <<makefile-options,options>>."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:296
msgid "Examples of when `PORTREVISION` must be bumped:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:298
msgid ""
"Addition of patches to correct security vulnerabilities, bugs, or to add new "
"functionality to the port."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:299
msgid ""
"Changes to the port [.filename]#Makefile# to enable or disable compile-time "
"options in the package."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:300
msgid ""
"Changes in the packing list or the install-time behavior of the package. For "
"example, a change to a script which generates initial data for the package, "
"like man:ssh[1] host keys."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:301
msgid ""
"Version bump of a port's shared library dependency (in this case, someone "
"trying to install the old package after installing a newer version of the "
"dependency will fail since it will look for the old libfoo.x instead of "
"libfoo.(x+1))."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:302
msgid ""
"Silent changes to the port distfile which have significant functional "
"differences. For example, changes to the distfile requiring a correction to "
"[.filename]#distinfo# with no corresponding change to `DISTVERSION`, where a "
"`diff -ru` of the old and new versions shows non-trivial changes to the code."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:303
msgid "Changes to `MAINTAINER`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:305
msgid "Examples of changes which do not require a `PORTREVISION` bump:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:307
msgid ""
"Style changes to the port skeleton with no functional change to what appears "
"in the resulting package."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:308
msgid ""
"Changes to `MASTER_SITES` or other functional changes to the port which do "
"not affect the resulting package."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:309
msgid ""
"Trivial patches to the distfile such as correction of typos, which are not "
"important enough that users of the package have to go to the trouble of "
"upgrading."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:310
msgid ""
"Build fixes which cause a package to become compilable where it was "
"previously failing. As long as the changes do not introduce any functional "
"change on any other platforms on which the port did previously build. Since "
"`PORTREVISION` reflects the content of the package, if the package was not "
"previously buildable then there is no need to increase `PORTREVISION` to "
"mark a change."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:315
msgid ""
"A rule of thumb is to decide whether a change committed to a port is "
"something which _some_ people would benefit from having. Either because of "
"an enhancement, fix, or by virtue that the new package will actually work at "
"all. Then weigh that against that fact that it will cause everyone who "
"regularly updates their ports tree to be compelled to update. If yes, "
"`PORTREVISION` must be bumped."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:320
msgid ""
"People using binary packages will _never_ see the update if `PORTREVISION` "
"is not bumped. Without increasing `PORTREVISION`, the package builders have "
"no way to detect the change and thus, will not rebuild the package."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:323
#, no-wrap
msgid "`PORTEPOCH`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:327
msgid ""
"From time to time a software vendor or FreeBSD porter will do something "
"silly and release a version of their software which is actually numerically "
"less than the previous version. An example of this is a port which goes "
"from foo-20000801 to foo-1.0 (the former will be incorrectly treated as a "
"newer version since 20000801 is a numerically greater value than 1)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:333
msgid ""
"The results of version number comparisons are not always obvious. `pkg "
"version` (see man:pkg-version[8]) can be used to test the comparison of two "
"version number strings. For example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:338
#, no-wrap
msgid ""
"% pkg version -t 0.031 0.29\n"
">\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:341
msgid ""
"The `>` output indicates that version 0.031 is considered greater than "
"version 0.29, which may not have been obvious to the porter."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:348
msgid ""
"In situations such as this, `PORTEPOCH` must be increased. If `PORTEPOCH` "
"is nonzero it is appended to the package name as described in section 0 "
"above. `PORTEPOCH` must never be decreased or reset to zero, because that "
"would cause comparison to a package from an earlier epoch to fail. For "
"example, the package would not be detected as out of date. The new version "
"number, `1.0,1` in the above example, is still numerically less than the "
"previous version, 20000801, but the `,1` suffix is treated specially by "
"automated tools and found to be greater than the implied suffix `,0` on the "
"earlier package."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:351
msgid ""
"Dropping or resetting `PORTEPOCH` incorrectly leads to no end of grief. If "
"the discussion above was not clear enough, please consult the {freebsd-"
"ports}."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:355
msgid ""
"It is expected that `PORTEPOCH` will not be used for the majority of ports, "
"and that sensible use of `DISTVERSION`, or that use `PORTVERSION` carefully, "
"can often preempt it becoming necessary if a future release of the software "
"changes the version structure. However, care is needed by FreeBSD porters "
"when a vendor release is made without an official version number - such as a "
"code \"snapshot\" release. The temptation is to label the release with the "
"release date, which will cause problems as in the example above when a new "
"\"official\" release is made."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:358
msgid ""
"For example, if a snapshot release is made on the date `20000917`, and the "
"previous version of the software was version `1.2`, do not use `20000917` "
"for `DISTVERSION`. The correct way is a `DISTVERSION` of `1.2.20000917`, or "
"similar, so that the succeeding release, say `1.3`, is still a numerically "
"greater value."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:360
#, no-wrap
msgid "Example of `PORTREVISION` and `PORTEPOCH` Usage"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:363
msgid ""
"The `gtkmumble` port, version `0.10`, is committed to the ports collection:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:368
#, no-wrap
msgid ""
"PORTNAME=\tgtkmumble\n"
"DISTVERSION=\t0.10\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:371
msgid "`PKGNAME` becomes `gtkmumble-0.10`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:374
msgid ""
"A security hole is discovered which requires a local FreeBSD patch. "
"`PORTREVISION` is bumped accordingly."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:380
#, no-wrap
msgid ""
"PORTNAME=\tgtkmumble\n"
"DISTVERSION=\t0.10\n"
"PORTREVISION=\t1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:383
msgid "`PKGNAME` becomes `gtkmumble-0.10_1`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:387
msgid ""
"A new version is released by the vendor, numbered `0.2` (it turns out the "
"author actually intended `0.10` to actually mean `0.1.0`, not \"what comes "
"after 0.9\" - oops, too late now). Since the new minor version `2` is "
"numerically less than the previous version `10`, `PORTEPOCH` must be bumped "
"to manually force the new package to be detected as \"newer\". Since it is "
"a new vendor release of the code, `PORTREVISION` is reset to 0 (or removed "
"from the [.filename]#Makefile#)."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:393
#, no-wrap
msgid ""
"PORTNAME=\tgtkmumble\n"
"DISTVERSION=\t0.2\n"
"PORTEPOCH=\t1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:396
msgid "`PKGNAME` becomes `gtkmumble-0.2,1`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:399
msgid ""
"The next release is 0.3. Since `PORTEPOCH` never decreases, the version "
"variables are now:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:405
#, no-wrap
msgid ""
"PORTNAME=\tgtkmumble\n"
"DISTVERSION=\t0.3\n"
"PORTEPOCH=\t1\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:408
msgid "`PKGNAME` becomes `gtkmumble-0.3,1`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:413
msgid ""
"If `PORTEPOCH` were reset to `0` with this upgrade, someone who had "
"installed the `gtkmumble-0.10_1` package would not detect the "
"`gtkmumble-0.3` package as newer, since `3` is still numerically less than "
"`10`. Remember, this is the whole point of `PORTEPOCH` in the first place."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:416
#, no-wrap
msgid "`PKGNAMEPREFIX` and `PKGNAMESUFFIX`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:423
msgid ""
"Two optional variables, `PKGNAMEPREFIX` and `PKGNAMESUFFIX`, are combined "
"with `PORTNAME` and `PORTVERSION` to form `PKGNAME` as "
"`${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Make sure "
"this conforms to our <<porting-pkgname,guidelines for a good package "
"name>>. In particular, the use of a hyphen (`-`) in `PORTVERSION` is _not_ "
"allowed. Also, if the package name has the _language-_ or the _-compiled."
"specifics_ part (see below), use `PKGNAMEPREFIX` and `PKGNAMESUFFIX`, "
"respectively. Do not make them part of `PORTNAME`."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:425
#, no-wrap
msgid "Package Naming Conventions"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:429
msgid ""
"These are the conventions to follow when naming packages. This is to make "
"the package directory easy to scan, as there are already thousands of "
"packages and users are going to turn away if they hurt their eyes!"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:431
msgid ""
"Package names take the form of [.filename]#language_region-name-compiled."
"specifics-version.numbers#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:434
msgid ""
"The package name is defined as `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-"
"${PORTVERSION}`. Make sure to set the variables to conform to that format."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:436
#, no-wrap
msgid "[.filename]#language_region-#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:440
msgid ""
"FreeBSD strives to support the native language of its users. The _language-"
"_ part is a two letter abbreviation of the natural language defined by "
"ISO-639 when the port is specific to a certain language. Examples are `ja` "
"for Japanese, `ru` for Russian, `vi` for Vietnamese, `zh` for Chinese, `ko` "
"for Korean and `de` for German."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:443
msgid ""
"If the port is specific to a certain region within the language area, add "
"the two letter country code as well. Examples are `en_US` for US English "
"and `fr_CH` for Swiss French."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:445
msgid "The _language-_ part is set in `PKGNAMEPREFIX`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:447
#, no-wrap
msgid "[.filename]#name#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:452
msgid ""
"Make sure that the port's name and version are clearly separated and placed "
"into `PORTNAME` and `DISTVERSION`. The only reason for `PORTNAME` to "
"contain a version part is if the upstream distribution is really named that "
"way, as in the package:textproc/libxml2[] or package:japanese/kinput2-"
"freewnn[] ports. Otherwise, `PORTNAME` cannot contain any version-specific "
"information. It is quite normal for several ports to have the same "
"`PORTNAME`, as the package:www/apache*[] ports do; in that case, different "
"versions (and different index entries) are distinguished by `PKGNAMEPREFIX` "
"and `PKGNAMESUFFIX` values."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:455
msgid ""
"There is a tradition of naming `Perl 5` modules by prepending `p5-` and "
"converting the double-colon separator to a hyphen. For example, the `Data::"
"Dumper` module becomes `p5-Data-Dumper`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:456
#, no-wrap
msgid "[.filename]#-compiled.specifics#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:460
msgid ""
"If the port can be built with different <<makefile-masterdir,hardcoded "
"defaults>> (usually part of the directory name in a family of ports), the _-"
"compiled.specifics_ part states the compiled-in defaults. The hyphen is "
"optional. Examples are paper size and font units."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:462
msgid "The _-compiled.specifics_ part is set in `PKGNAMESUFFIX`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:464
#, no-wrap
msgid "[.filename]#-version.numbers#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:470
msgid ""
"The version string follows a dash (`-`) and is a period-separated list of "
"integers and single lowercase alphabetics. In particular, it is not "
"permissible to have another dash inside the version string. The only "
"exception is the string `pl` (meaning \"patchlevel\"), which can be used "
"_only_ when there are no major and minor version numbers in the software. "
"If the software version has strings like \"alpha\", \"beta\", \"rc\", or "
"\"pre\", take the first letter and put it immediately after a period. If "
"the version string continues after those names, the numbers follow the "
"single alphabet without an extra period between them (for example, `1.0b2`)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:474
msgid ""
"The idea is to make it easier to sort ports by looking at the version "
"string. In particular, make sure version number components are always "
"delimited by a period, and if the date is part of the string, use the "
"`d__yyyy.mm.dd__` format, not `_dd.mm.yyyy_` or the non-Y2K compliant `_yy."
"mm.dd_` format. It is important to prefix the version with a letter, here "
"`d` (for date), in case a release with an actual version number is made, "
"which would be numerically less than `_yyyy_`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:478
msgid ""
"Package name must be unique among all of the ports tree, check that there is "
"not already a port with the same `PORTNAME` and if there is add one of "
"<<porting-pkgnameprefix-suffix,`PKGNAMEPREFIX` or `PKGNAMESUFFIX`>>."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:481
msgid ""
"Here are some (real) examples on how to convert the name as called by the "
"software authors to a suitable package name, for each line, only one of "
"`DISTVERSION` or `PORTVERSION` is set in, depending on which would be used "
"in the port's [.filename]#Makefile#:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:482
#, no-wrap
msgid "Package Naming Examples"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:486
#, no-wrap
msgid "Distribution Name"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:487
#, no-wrap
msgid "PKGNAMEPREFIX"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:488
#, no-wrap
msgid "PORTNAME"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:489
#, no-wrap
msgid "PKGNAMESUFFIX"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:493
#, no-wrap
msgid "Reason or comment"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:494
#, no-wrap
msgid "mule-2.2.2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:495
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:497
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:503
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:511
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:513
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:519
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:521
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:527
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:529
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:535
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:537
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:543
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:545
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:551
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:553
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:559
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:561
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:567
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:569
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:577
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:583
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:591
#, no-wrap
msgid "(empty)"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:496
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:504
#, no-wrap
msgid "mule"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:498
#, no-wrap
msgid "2.2.2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:501
#, no-wrap
msgid "No changes required"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:502
#, no-wrap
msgid "mule-1.0.1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:505
#, no-wrap
msgid "1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:506
#, no-wrap
msgid "1.0.1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:509
#, no-wrap
msgid "This is version 1 of mule, and version 2 already exists"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:510
#, no-wrap
msgid "EmiClock-1.0.2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:512
#, no-wrap
msgid "emiclock"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:514
#, no-wrap
msgid "1.0.2"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:517
#, no-wrap
msgid "No uppercase names for single programs"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:518
#, no-wrap
msgid "rdist-1.3alpha"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:520
#, no-wrap
msgid "rdist"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:522
#, no-wrap
msgid "1.3alpha"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:525
#, no-wrap
msgid "Version will be `1.3.a`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:526
#, no-wrap
msgid "es-0.9-beta1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:528
#, no-wrap
msgid "es"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:530
#, no-wrap
msgid "0.9-beta1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:533
#, no-wrap
msgid "Version will be `0.9.b1`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:534
#, no-wrap
msgid "mailman-2.0rc3"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:536
#, no-wrap
msgid "mailman"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:538
#, no-wrap
msgid "2.0rc3"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:541
#, no-wrap
msgid "Version will be `2.0.r3`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:542
#, no-wrap
msgid "v3.3beta021.src"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:544
#, no-wrap
msgid "tiff"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:547
#, no-wrap
msgid "3.3"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:549
#, no-wrap
msgid "What the heck was that anyway?"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:550
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:552
#, no-wrap
msgid "tvtwm"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:555
#, no-wrap
msgid "p11"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:557
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:565
#, no-wrap
msgid "No version in the filename, use what upstream says it is"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:558
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:560
#, no-wrap
msgid "piewm"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:562
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:594
#, no-wrap
msgid "1.0"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:566
#, no-wrap
msgid "xvgr-2.10pl1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:568
#, no-wrap
msgid "xvgr"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:571
#, no-wrap
msgid "2.10.pl1"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:573
#, no-wrap
msgid "In that case, `pl1` means patch level, so using DISTVERSION is not possible."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:574
#, no-wrap
msgid "gawk-2.15.6"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:575
#, no-wrap
msgid "ja-"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:576
#, no-wrap
msgid "gawk"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:578
#, no-wrap
msgid "2.15.6"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:581
#, no-wrap
msgid "Japanese language version"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:582
#, no-wrap
msgid "psutils-1.13"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:584
#, no-wrap
msgid "psutils"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:585
#, no-wrap
msgid "-letter"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:586
#, no-wrap
msgid "1.13"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:589
#, no-wrap
msgid "Paper size hardcoded at package build time"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:590
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:592
#, no-wrap
msgid "pkfonts"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:593
#, no-wrap
msgid "300"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:596
#, no-wrap
msgid "Package for 300dpi fonts"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:600
msgid ""
"If there is absolutely no trace of version information in the original "
"source and it is unlikely that the original author will ever release another "
"version, just set the version string to `1.0` (like the `piewm` example "
"above). Otherwise, ask the original author or use the date string the "
"source file was released on (`d__yyyy.mm.dd__`, or `d__yyyymmdd__`) as the "
"version."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:605
msgid ""
"Use any letter. Here, `d` here stands for date, if the source is a Git "
"repository, `g` followed by the commit date is commonly used, using `s` for "
"snapshot is also common."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:608
#, no-wrap
msgid "Categorization"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:611
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4784
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4791
#, no-wrap
msgid "`CATEGORIES`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:617
msgid ""
"When a package is created, it is put under [.filename]#/usr/ports/packages/"
"All# and links are made from one or more subdirectories of [.filename]#/usr/"
"ports/packages#. The names of these subdirectories are specified by the "
"variable `CATEGORIES`. It is intended to make life easier for the user when "
"he is wading through the pile of packages on the FTP site or the CDROM. "
"Please take a look at the <<porting-categories,current list of categories>> "
"and pick the ones that are suitable for the port."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:621
msgid ""
"This list also determines where in the ports tree the port is imported. If "
"there is more than one category here, the port files must be put in the "
"subdirectory with the name of the first category. See <<choosing-categories,"
"below>> for more discussion about how to pick the right categories."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:623
#, no-wrap
msgid "Current List of Categories"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:628
msgid ""
"Here is the current list of port categories. Those marked with an asterisk "
"(`*`) are _virtual_ categories-those that do not have a corresponding "
"subdirectory in the ports tree. They are only used as secondary categories, "
"and only for search purposes."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:632
msgid ""
"For non-virtual categories, there is a one-line description in `COMMENT` in "
"that subdirectory's [.filename]#Makefile#."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:638
#, no-wrap
msgid "Category"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:639
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1451
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1852
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1458
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1859
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:641
#, no-wrap
msgid "Notes"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:642
#, no-wrap
msgid "[.filename]#accessibility#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:643
#, no-wrap
msgid "Ports to help disabled users."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:646
#, no-wrap
msgid "[.filename]#afterstep#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:647
#, no-wrap
msgid "Ports to support the http://www.afterstep.org/[AfterStep] window manager."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:650
#, no-wrap
msgid "[.filename]#arabic#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:651
#, no-wrap
msgid "Arabic language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:654
#, no-wrap
msgid "[.filename]#archivers#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:655
#, no-wrap
msgid "Archiving tools."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:658
#, no-wrap
msgid "[.filename]#astro#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:659
#, no-wrap
msgid "Astronomical ports."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:662
#, no-wrap
msgid "[.filename]#audio#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:663
#, no-wrap
msgid "Sound support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:666
#, no-wrap
msgid "[.filename]#benchmarks#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:667
#, no-wrap
msgid "Benchmarking utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:670
#, no-wrap
msgid "[.filename]#biology#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:671
#, no-wrap
msgid "Biology-related software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:674
#, no-wrap
msgid "[.filename]#cad#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:675
#, no-wrap
msgid "Computer aided design tools."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:678
#, no-wrap
msgid "[.filename]#chinese#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:679
#, no-wrap
msgid "Chinese language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:682
#, no-wrap
msgid "[.filename]#comms#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:683
#, no-wrap
msgid "Communication software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:685
#, no-wrap
msgid "Mostly software to talk to the serial port."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:686
#, no-wrap
msgid "[.filename]#converters#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:687
#, no-wrap
msgid "Character code converters."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:690
#, no-wrap
msgid "[.filename]#databases#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:691
#, no-wrap
msgid "Databases."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:694
#, no-wrap
msgid "[.filename]#deskutils#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:695
#, no-wrap
msgid "Things that used to be on the desktop before computers were invented."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:698
#, no-wrap
msgid "[.filename]#devel#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:699
#, no-wrap
msgid "Development utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:701
#, no-wrap
msgid "Do not put libraries here just because they are libraries. They should _not_ be in this category unless they truly do not belong anywhere else."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:702
#, no-wrap
msgid "[.filename]#dns#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:703
#, no-wrap
msgid "DNS-related software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:706
#, no-wrap
msgid "[.filename]#docs#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:707
#, no-wrap
msgid "Meta-ports for FreeBSD documentation."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:710
#, no-wrap
msgid "[.filename]#editors#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:711
#, no-wrap
msgid "General editors."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:713
#, no-wrap
msgid "Specialized editors go in the section for those tools. For example, a mathematical-formula editor will go in [.filename]#math#, and have [.filename]#editors# as a second category."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:714
#, no-wrap
msgid "[.filename]#education#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:715
#, no-wrap
msgid "Education-related software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:717
#, no-wrap
msgid "This includes applications, utilities, or games primarily or substantially designed to help the user learn a specific topic or study in general. It also includes course-writing applications, course-delivery applications, and classroom or school management applications"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:718
#, no-wrap
msgid "[.filename]#elisp#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:719
#, no-wrap
msgid "Emacs-lisp ports."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:722
#, no-wrap
msgid "[.filename]#emulators#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:723
#, no-wrap
msgid "Emulators for other operating systems."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:725
#, no-wrap
msgid "Terminal emulators do _not_ belong here. X-based ones go to [.filename]#x11# and text-based ones to either [.filename]#comms# or [.filename]#misc#, depending on the exact functionality."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:726
#, no-wrap
msgid "[.filename]#enlightenment#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:727
#, no-wrap
msgid "Ports related to the Enlightenment window manager."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:730
#, no-wrap
msgid "[.filename]#finance#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:731
#, no-wrap
msgid "Monetary, financial and related applications."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:734
#, no-wrap
msgid "[.filename]#french#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:735
#, no-wrap
msgid "French language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:738
#, no-wrap
msgid "[.filename]#ftp#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:739
#, no-wrap
msgid "FTP client and server utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:741
#, no-wrap
msgid "If the port speaks both FTP and HTTP, put it in [.filename]#ftp# with a secondary category of [.filename]#www#."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:742
#, no-wrap
msgid "[.filename]#games#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:743
#, no-wrap
msgid "Games."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:746
#, no-wrap
msgid "[.filename]#geography#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:747
#, no-wrap
msgid "Geography-related software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:750
#, no-wrap
msgid "[.filename]#german#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:751
#, no-wrap
msgid "German language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:754
#, no-wrap
msgid "[.filename]#gnome#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:755
#, no-wrap
msgid "Ports from the https://www.gnome.org/[GNOME] Project."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:758
#, no-wrap
msgid "[.filename]#gnustep#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:759
#, no-wrap
msgid "Software related to the GNUstep desktop environment."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:762
#, no-wrap
msgid "[.filename]#graphics#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:763
#, no-wrap
msgid "Graphics utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:766
#, no-wrap
msgid "[.filename]#hamradio#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:767
#, no-wrap
msgid "Software for amateur radio."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:770
#, no-wrap
msgid "[.filename]#haskell#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:771
#, no-wrap
msgid "Software related to the Haskell language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:774
#, no-wrap
msgid "[.filename]#hebrew#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:775
#, no-wrap
msgid "Hebrew language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:778
#, no-wrap
msgid "[.filename]#hungarian#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:779
#, no-wrap
msgid "Hungarian language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:782
#, no-wrap
msgid "[.filename]#irc#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:783
#, no-wrap
msgid "Internet Relay Chat utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:786
#, no-wrap
msgid "[.filename]#japanese#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:787
#, no-wrap
msgid "Japanese language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:790
#, no-wrap
msgid "[.filename]#java#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:791
#, no-wrap
msgid "Software related to the Java(TM) language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:793
#, no-wrap
msgid "The [.filename]#java# category must not be the only one for a port. Save for ports directly related to the Java language, porters are also encouraged not to use [.filename]#java# as the main category of a port."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:794
#, no-wrap
msgid "[.filename]#kde#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:795
#, no-wrap
msgid "Ports from the https://www.kde.org/[KDE] Project (generic)."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:798
#, no-wrap
msgid "[.filename]#kde-applications#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:799
#, no-wrap
msgid "Applications from the https://www.kde.org/[KDE] Project."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:802
#, no-wrap
msgid "[.filename]#kde-frameworks#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:803
#, no-wrap
msgid "Add-on libraries from the https://www.kde.org/[KDE] Project for programming with Qt."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:806
#, no-wrap
msgid "[.filename]#kde-plasma#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:807
#, no-wrap
msgid "Desktop from the https://www.kde.org/[KDE] Project."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:810
#, no-wrap
msgid "[.filename]#kld#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:811
#, no-wrap
msgid "Kernel loadable modules."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:814
#, no-wrap
msgid "[.filename]#korean#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:815
#, no-wrap
msgid "Korean language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:818
#, no-wrap
msgid "[.filename]#lang#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:819
#, no-wrap
msgid "Programming languages."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:822
#, no-wrap
msgid "[.filename]#linux#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:823
#, no-wrap
msgid "Linux applications and support utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:826
#, no-wrap
msgid "[.filename]#lisp#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:827
#, no-wrap
msgid "Software related to the Lisp language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:830
#, no-wrap
msgid "[.filename]#mail#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:831
#, no-wrap
msgid "Mail software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:834
#, no-wrap
msgid "[.filename]#mate#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:835
#, no-wrap
msgid "Ports related to the MATE desktop environment, a fork of GNOME 2."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:838
#, no-wrap
msgid "[.filename]#math#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:839
#, no-wrap
msgid "Numerical computation software and other utilities for mathematics."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:842
#, no-wrap
msgid "[.filename]#mbone#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:843
#, no-wrap
msgid "MBone applications."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:846
#, no-wrap
msgid "[.filename]#misc#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:847
#, no-wrap
msgid "Miscellaneous utilities"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:849
#, no-wrap
msgid "Things that do not belong anywhere else. If at all possible, try to find a better category for the port than `misc`, as ports tend to be overlooked in here."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:850
#, no-wrap
msgid "[.filename]#multimedia#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:851
#, no-wrap
msgid "Multimedia software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:854
#, no-wrap
msgid "[.filename]#net#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:855
#, no-wrap
msgid "Miscellaneous networking software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:858
#, no-wrap
msgid "[.filename]#net-im#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:859
#, no-wrap
msgid "Instant messaging software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:862
#, no-wrap
msgid "[.filename]#net-mgmt#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:863
#, no-wrap
msgid "Networking management software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:866
#, no-wrap
msgid "[.filename]#net-p2p#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:867
#, no-wrap
msgid "Peer to peer network applications."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:870
#, no-wrap
msgid "[.filename]#net-vpn#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:871
#, no-wrap
msgid "Virtual Private Network applications."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:874
#, no-wrap
msgid "[.filename]#news#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:875
#, no-wrap
msgid "USENET news software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:878
#, no-wrap
msgid "[.filename]#parallel#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:879
#, no-wrap
msgid "Applications dealing with parallelism in computing."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:882
#, no-wrap
msgid "[.filename]#pear#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:883
#, no-wrap
msgid "Ports related to the Pear PHP framework."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:886
#, no-wrap
msgid "[.filename]#perl5#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:887
#, no-wrap
msgid "Ports that require Perl version 5 to run."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:890
#, no-wrap
msgid "[.filename]#plan9#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:891
#, no-wrap
msgid "Various programs from https://9p.io/wiki/plan9/Download/index.html[Plan9]."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:894
#, no-wrap
msgid "[.filename]#polish#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:895
#, no-wrap
msgid "Polish language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:898
#, no-wrap
msgid "[.filename]#ports-mgmt#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:899
#, no-wrap
msgid "Ports for managing, installing and developing FreeBSD ports and packages."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:902
#, no-wrap
msgid "[.filename]#portuguese#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:903
#, no-wrap
msgid "Portuguese language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:906
#, no-wrap
msgid "[.filename]#print#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:907
#, no-wrap
msgid "Printing software."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:909
#, no-wrap
msgid "Desktop publishing tools (previewers, etc.) belong here too."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:910
#, no-wrap
msgid "[.filename]#python#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:911
#, no-wrap
msgid "Software related to the https://www.python.org/[Python] language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:914
#, no-wrap
msgid "[.filename]#ruby#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:915
#, no-wrap
msgid "Software related to the https://www.ruby-lang.org/[Ruby] language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:918
#, no-wrap
msgid "[.filename]#rubygems#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:919
#, no-wrap
msgid "Ports of https://www.rubygems.org/[RubyGems] packages."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:922
#, no-wrap
msgid "[.filename]#russian#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:923
#, no-wrap
msgid "Russian language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:926
#, no-wrap
msgid "[.filename]#scheme#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:927
#, no-wrap
msgid "Software related to the Scheme language."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:930
#, no-wrap
msgid "[.filename]#science#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:931
#, no-wrap
msgid "Scientific ports that do not fit into other categories such as [.filename]#astro#, [.filename]#biology# and [.filename]#math#."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:934
#, no-wrap
msgid "[.filename]#security#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:935
#, no-wrap
msgid "Security utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:938
#, no-wrap
msgid "[.filename]#shells#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:939
#, no-wrap
msgid "Command line shells."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:942
#, no-wrap
msgid "[.filename]#spanish#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:943
#, no-wrap
msgid "Spanish language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:946
#, no-wrap
msgid "[.filename]#sysutils#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:947
#, no-wrap
msgid "System utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:950
#, no-wrap
msgid "[.filename]#tcl#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:951
#, no-wrap
msgid "Ports that use Tcl to run."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:954
#, no-wrap
msgid "[.filename]#textproc#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:955
#, no-wrap
msgid "Text processing utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:957
#, no-wrap
msgid "It does not include desktop publishing tools, which go to [.filename]#print#."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:958
#, no-wrap
msgid "[.filename]#tk#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:959
#, no-wrap
msgid "Ports that use Tk to run."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:962
#, no-wrap
msgid "[.filename]#ukrainian#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:963
#, no-wrap
msgid "Ukrainian language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:966
#, no-wrap
msgid "[.filename]#vietnamese#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:967
#, no-wrap
msgid "Vietnamese language support."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:970
#, no-wrap
msgid "[.filename]#wayland#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:971
#, no-wrap
msgid "Ports to support the Wayland display server."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:974
#, no-wrap
msgid "[.filename]#windowmaker#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:975
#, no-wrap
msgid "Ports to support the Window Maker window manager."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:978
#, no-wrap
msgid "[.filename]#www#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:979
#, no-wrap
msgid "Software related to the World Wide Web."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:981
#, no-wrap
msgid "HTML language support belongs here too."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:982
#, no-wrap
msgid "[.filename]#x11#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:983
#, no-wrap
msgid "The X Window System and friends."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:985
#, no-wrap
msgid "This category is only for software that directly supports the window system. Do not put regular X applications here. Most of them go into other [.filename]#x11-*# categories (see below)."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:986
#, no-wrap
msgid "[.filename]#x11-clocks#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:987
#, no-wrap
msgid "X11 clocks."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:990
#, no-wrap
msgid "[.filename]#x11-drivers#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:991
#, no-wrap
msgid "X11 drivers."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:994
#, no-wrap
msgid "[.filename]#x11-fm#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:995
#, no-wrap
msgid "X11 file managers."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:998
#, no-wrap
msgid "[.filename]#x11-fonts#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:999
#, no-wrap
msgid "X11 fonts and font utilities."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1002
#, no-wrap
msgid "[.filename]#x11-servers#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1003
#, no-wrap
msgid "X11 servers."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1006
#, no-wrap
msgid "[.filename]#x11-themes#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1007
#, no-wrap
msgid "X11 themes."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1010
#, no-wrap
msgid "[.filename]#x11-toolkits#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1011
#, no-wrap
msgid "X11 toolkits."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1014
#, no-wrap
msgid "[.filename]#x11-wm#"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1015
#, no-wrap
msgid "X11 window managers."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1018
#, no-wrap
msgid "[.filename]#xfce#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1019
#, no-wrap
msgid "Ports related to the https://www.xfce.org/[Xfce] desktop environment."
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1022
#, no-wrap
msgid "[.filename]#zope#`*`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1023
#, no-wrap
msgid "https://www.zope.org/[Zope] support."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1027
#, no-wrap
msgid "Choosing the Right Category"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1032
msgid ""
"As many of the categories overlap, choosing which of the categories will be "
"the primary category of the port can be tedious. There are several rules "
"that govern this issue. Here is the list of priorities, in decreasing order "
"of precedence:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1034
msgid ""
"The first category must be a physical category (see <<porting-categories,"
"above>>). This is necessary to make the packaging work. Virtual categories "
"and physical categories may be intermixed after that."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1035
msgid ""
"Language specific categories always come first. For example, if the port "
"installs Japanese X11 fonts, then the `CATEGORIES` line would read [."
"filename]#japanese x11-fonts#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1036
msgid ""
"Specific categories are listed before less-specific ones. For instance, an "
"HTML editor is listed as [.filename]#www editors#, not the other way around. "
"Also, do not list [.filename]#net# when the port belongs to any of [."
"filename]#irc#, [.filename]#mail#, [.filename]#news#, [.filename]#security#, "
"or [.filename]#www#, as [.filename]#net# is included implicitly."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1037
msgid ""
"[.filename]#x11# is used as a secondary category only when the primary "
"category is a natural language. In particular, do not put [.filename]#x11# "
"in the category line for X applications."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1038
msgid ""
"Emacs modes are placed in the same ports category as the application "
"supported by the mode, not in [.filename]#editors#. For example, an Emacs "
"mode to edit source files of some programming language goes into [."
"filename]#lang#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1039
msgid ""
"Ports installing loadable kernel modules also have the virtual category [."
"filename]#kld# in their `CATEGORIES` line. This is one of the things handled "
"automatically by adding `USES=kmod`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1040
msgid ""
"[.filename]#misc# does not appear with any other non-virtual category. If "
"there is `misc` with something else in `CATEGORIES`, that means `misc` can "
"safely be deleted and the port placed only in the other subdirectory."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1041
msgid ""
"If the port truly does not belong anywhere else, put it in [.filename]#misc#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1045
msgid ""
"If the category is not clearly defined, please put a comment to that effect "
"in the https://bugs.freebsd.org/submit/[port submission] in the bug database "
"so we can discuss it before we import it. As a committer, send a note to "
"the {freebsd-ports} so we can discuss it first. Too often, new ports are "
"imported to the wrong category only to be moved right away."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1047
#, no-wrap
msgid "Proposing a New Category"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1052
msgid ""
"As the Ports Collection has grown over time, various new categories have "
"been introduced. New categories can either be _virtual_ categories-those "
"that do not have a corresponding subdirectory in the ports tree- or "
"_physical_ categories-those that do. This section discusses the issues "
"involved in creating a new physical category. Read it thoroughly before "
"proposing a new one."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1054
msgid ""
"Our existing practice has been to avoid creating a new physical category "
"unless either a large number of ports would logically belong to it, or the "
"ports that would belong to it are a logically distinct group that is of "
"limited general interest (for instance, categories related to spoken human "
"languages), or preferably both."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1058
msgid ""
"The rationale for this is that such a change creates a extref:{committers-"
"guide}[fair amount of work, ports] for both the committers and also for all "
"users who track changes to the Ports Collection. In addition, proposed "
"category changes just naturally seem to attract controversy. (Perhaps this "
"is because there is no clear consensus on when a category is \"too big\", "
"nor whether categories should lend themselves to browsing (and thus what "
"number of categories would be an ideal number), and so forth.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1060
msgid "Here is the procedure:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1063
msgid ""
"Propose the new category on {freebsd-ports}. Include a detailed rationale "
"for the new category, including why the existing categories are not "
"sufficient, and the list of existing ports proposed to move. (If there are "
"new ports pending in Bugzilla that would fit this category, list them too.) "
"If you are the maintainer and/or submitter, respectively, mention that as it "
"may help the case."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1064
msgid "Participate in the discussion."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1065
msgid ""
"If it seems that there is support for the idea, file a PR which includes "
"both the rationale and the list of existing ports that need to be moved. "
"Ideally, this PR would also include these patches:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1067
msgid "[.filename]##Makefile##s for the new ports once they are repocopied"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1068
msgid "[.filename]#Makefile# for the new category"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1069
msgid "[.filename]#Makefile# for the old ports' categories"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1070
msgid "[.filename]##Makefile##s for ports that depend on the old ports"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1071
msgid ""
"(for extra credit, include the other files that have to change, as per the "
"procedure in the Committer's Guide.)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1073
msgid ""
"Since it affects the ports infrastructure and involves moving and patching "
"many ports but also possibly running regression tests on the build cluster, "
"assign the PR to the {portmgr}."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1074
msgid ""
"If that PR is approved, a committer will need to follow the rest of the "
"procedure that is extref:{committers-guide}[outlined in the Committer's "
"Guide, ports]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1077
msgid ""
"Proposing a new virtual category is similar to the above but much less "
"involved, since no ports will actually have to move. In this case, the only "
"patches to include in the PR would be those to add the new category to "
"`CATEGORIES` of the affected ports."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1079
#, no-wrap
msgid "Proposing Reorganizing All the Categories"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1085
msgid ""
"Occasionally someone proposes reorganizing the categories with either a 2-"
"level structure, or some other kind of keyword structure. To date, nothing "
"has come of any of these proposals because, while they are very easy to "
"make, the effort involved to retrofit the entire existing ports collection "
"with any kind of reorganization is daunting to say the very least. Please "
"read the history of these proposals in the mailing list archives before "
"posting this idea. Furthermore, be prepared to be challenged to offer a "
"working prototype."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1087
#, no-wrap
msgid "The Distribution Files"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1090
msgid ""
"The second part of the [.filename]#Makefile# describes the files that must "
"be downloaded to build the port, and where they can be downloaded."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1092
#, no-wrap
msgid "`DISTNAME`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1099
msgid ""
"`DISTNAME` is the name of the port as called by the authors of the "
"software. `DISTNAME` defaults to `${PORTNAME}-"
"${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`, and if not set, "
"`DISTVERSION` defaults to `${PORTVERSION}` so override `DISTNAME` only if "
"necessary. `DISTNAME` is only used in two places. First, the distribution "
"file list (`DISTFILES`) defaults to `${DISTNAME}${EXTRACT_SUFX}`. Second, "
"the distribution file is expected to extract into a subdirectory named "
"`WRKSRC`, which defaults to [.filename]#work/${DISTNAME}#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1102
msgid ""
"Some vendor's distribution names which do not fit into the `${PORTNAME}-"
"${PORTVERSION}`-scheme can be handled automatically by setting "
"`DISTVERSIONPREFIX`, `DISTVERSION`, and `DISTVERSIONSUFFIX`. `PORTVERSION` "
"will be derived from `DISTVERSION` automatically."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1107
msgid ""
"Only one of `PORTVERSION` and `DISTVERSION` can be set at a time. If "
"`DISTVERSION` does not derive a correct `PORTVERSION`, do not use "
"`DISTVERSION`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1111
msgid ""
"If the upstream version scheme can be derived into a ports-compatible "
"version scheme, set some variable to the upstream version, _do not_ use "
"`DISTVERSION` as the variable name. Set `PORTVERSION` to the computed "
"version based on the variable you created, and set `DISTNAME` accordingly."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1113
msgid ""
"If the upstream version scheme cannot easily be coerced into a ports-"
"compatible value, set `PORTVERSION` to a sensible value, and set `DISTNAME` "
"with `PORTNAME` with the verbatim upstream version."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1115
#, no-wrap
msgid "Deriving `PORTVERSION` Manually"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1121
msgid ""
"BIND9 uses a version scheme that is not compatible with the ports versions "
"(it has `-` in its versions) and cannot be derived using `DISTVERSION` "
"because after the 9.9.9 release, it will release a \"patchlevels\" in the "
"form of `9.9.9-P1`. DISTVERSION would translate that into `9.9.9.p1`, "
"which, in the ports versioning scheme means 9.9.9 pre-release 1, which is "
"before 9.9.9 and not after. So `PORTVERSION` is manually derived from an "
"`ISCVERSION` variable to output `9.9.9p1`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1123
msgid ""
"The order into which the ports framework, and pkg, will sort versions is "
"checked using the `-t` argument of man:pkg-version[8]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1130
#, no-wrap
msgid ""
"% pkg version -t 9.9.9 9.9.9.p1\n"
"> <.>\n"
"% pkg version -t 9.9.9 9.9.9p1\n"
"< <.>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1133
msgid ""
"The `>` sign means that the first argument passed to `-t` is greater than "
"the second argument. `9.9.9` is after `9.9.9.p1`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1134
msgid ""
"The `<` sign means that the first argument passed to `-t` is less than the "
"second argument. `9.9.9` is before `9.9.9p1`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1136
msgid ""
"In the port [.filename]#Makefile#, for example package:dns/bind99[], it is "
"achieved by:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1145
#, no-wrap
msgid ""
"PORTNAME=\tbind\n"
"PORTVERSION=\t${ISCVERSION:S/-P/P/:S/b/.b/:S/a/.a/:S/rc/.rc/}\n"
"CATEGORIES=\tdns net\n"
"MASTER_SITES=\tISC/bind9/${ISCVERSION}\n"
"PKGNAMESUFFIX=\t99\n"
"DISTNAME=\t${PORTNAME}-${ISCVERSION}\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1149
#, no-wrap
msgid ""
"MAINTAINER=\tmat@FreeBSD.org\n"
"COMMENT=\tBIND DNS suite with updated DNSSEC and DNS64\n"
"WWW=\t\thttps://www.isc.org/bind/\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1151
#, no-wrap
msgid "LICENSE=\tISCL\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1154
#, no-wrap
msgid ""
"# ISC releases things like 9.8.0-P1 or 9.8.1rc1, which our versioning does not like\n"
"ISCVERSION=\t9.9.9-P6\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1160
msgid ""
"Define upstream version in `ISCVERSION`, with a comment saying _why_ it is "
"needed. Use `ISCVERSION` to get a ports-compatible `PORTVERSION`. Use "
"`ISCVERSION` directly to get the correct URL for fetching the distribution "
"file. Use `ISCVERSION` directly to name the distribution file."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1163
#, no-wrap
msgid "Derive `DISTNAME` from `PORTVERSION`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1167
msgid ""
"From time to time, the distribution file name has little or no relation to "
"the version of the software."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1169
msgid ""
"In package:comms/kermit[], only the last element of the version is present "
"in the distribution file:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1177
#, no-wrap
msgid ""
"PORTNAME=\tkermit\n"
"PORTVERSION=\t9.0.304\n"
"CATEGORIES=\tcomms ftp net\n"
"MASTER_SITES=\tftp://ftp.kermitproject.org/kermit/test/tar/\n"
"DISTNAME=\tcku${PORTVERSION:E}-dev20\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1181
msgid ""
"The `:E` man:make[1] modifier returns the suffix of the variable, in this "
"case, `304`. The distribution file is correctly generated as `cku304-dev20."
"tar.gz`."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1184
#, no-wrap
msgid "Exotic Case 1"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1188
msgid ""
"Sometimes, there is no relation between the software name, its version, and "
"the distribution file it is distributed in."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1190
msgid "From package:audio/libworkman[]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1198
#, no-wrap
msgid ""
"PORTNAME= libworkman\n"
"PORTVERSION= 1.4\n"
"CATEGORIES= audio\n"
"MASTER_SITES= LOCAL/jim\n"
"DISTNAME= ${PORTNAME}-1999-06-20\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1203
#, no-wrap
msgid "Exotic Case 2"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1207
msgid ""
"In package:comms/librs232[], the distribution file is not versioned, so "
"using <<makefile-dist_subdir,`DIST_SUBDIR`>> is needed:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1216
#, no-wrap
msgid ""
"PORTNAME= librs232\n"
"PORTVERSION= 20160710\n"
"CATEGORIES= comms\n"
"MASTER_SITES= http://www.teuniz.net/RS-232/\n"
"DISTNAME= RS-232\n"
"DIST_SUBDIR=\t${PORTNAME}-${PORTVERSION}\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1224
msgid ""
"`PKGNAMEPREFIX` and `PKGNAMESUFFIX` do not affect `DISTNAME`. Also note "
"that if `WRKSRC` is equal to [.filename]#${WRKDIR}/${DISTNAME}# while the "
"original source archive is named something other than `${PORTNAME}-"
"${PORTVERSION}${EXTRACT_SUFX}`, leave `DISTNAME` alone- defining only "
"`DISTFILES` is easier than both `DISTNAME` and `WRKSRC` (and possibly "
"`EXTRACT_SUFX`)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1227
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4814
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4821
#, no-wrap
msgid "`MASTER_SITES`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1231
msgid ""
"Record the directory part of the FTP/HTTP-URL pointing at the original "
"tarball in `MASTER_SITES`. Do not forget the trailing slash ([.filename]#/"
"#)!"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1233
msgid ""
"The `make` macros will try to use this specification for grabbing the "
"distribution file with `FETCH` if they cannot find it already on the system."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1236
msgid ""
"It is recommended that multiple sites are included on this list, preferably "
"from different continents. This will safeguard against wide-area network "
"problems."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1244
msgid ""
"`MASTER_SITES` must not be blank. It must point to the actual site hosting "
"the distribution files. It cannot point to web archives, or the FreeBSD "
"distribution files cache sites. The only exception to this rule is ports "
"that do not have any distribution files. For example, meta-ports do not "
"have any distribution files, so `MASTER_SITES` does not need to be set."
msgstr ""
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1247
#, no-wrap
msgid "Using `MASTER_SITE_*` Variables"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1250
msgid ""
"Shortcut abbreviations are available for popular archives like SourceForge "
"(`SOURCEFORGE`), GNU (`GNU`), or Perl CPAN (`PERL_CPAN`). `MASTER_SITES` can "
"use them directly:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1254
#, no-wrap
msgid "MASTER_SITES=\tGNU/make\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1258
msgid ""
"The older expanded format still works, but all ports have been converted to "
"the compact format. The expanded format looks like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1263
#, no-wrap
msgid ""
"MASTER_SITES=\t\t${MASTER_SITE_GNU}\n"
"MASTER_SITE_SUBDIR=\tmake\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1267
msgid ""
"These values and variables are defined in https://cgit.freebsd.org/ports/"
"tree/Mk/bsd.sites.mk[Mk/bsd.sites.mk]. New entries are added often, so make "
"sure to check the latest version of this file before submitting a port."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1272
msgid ""
"For any `MASTER_SITE_FOO` variable, the shorthand `_FOO_` can be used. For "
"example, use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1276
#, no-wrap
msgid "MASTER_SITES=\tFOO\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1279
msgid "If `MASTER_SITE_SUBDIR` is needed, use this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1283
#, no-wrap
msgid "MASTER_SITES=\tFOO/bar\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1290
msgid ""
"Some `MASTER_SITE_*` names are quite long, and for ease of use, shortcuts "
"have been defined:"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1292
#, no-wrap
msgid "Shortcuts for `MASTER_SITE_*` Macros"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1296
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1354
#, no-wrap
msgid "Macro"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1298
#, no-wrap
msgid "Shortcut"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1299
#, no-wrap
msgid "`PERL_CPAN`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1301
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1372
#, no-wrap
msgid "`CPAN`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1302
#, no-wrap
msgid "`GITHUB`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1304
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1393
#, no-wrap
msgid "`GH`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1305
#, no-wrap
msgid "`GITHUB_CLOUD`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1307
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1396
#, no-wrap
msgid "`GHC`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1308
#, no-wrap
msgid "`LIBREOFFICE_DEV`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1310
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1414
#, no-wrap
msgid "`LODEV`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1311
#, no-wrap
msgid "`NETLIB`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1313
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1423
#, no-wrap
msgid "`NL`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1314
#, no-wrap
msgid "`RUBYGEMS`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1316
#, no-wrap
msgid "`RG`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1317
#, no-wrap
msgid "`SOURCEFORGE`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1318
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1435
#, no-wrap
msgid "`SF`"
msgstr ""
#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1322
#, no-wrap
msgid "Magic MASTER_SITES Macros"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1327
msgid ""
"Several \"magic\" macros exist for popular sites with a predictable "
"directory structure. For these, just use the abbreviation and the system "
"will choose a subdirectory automatically. For a port named `Stardict`, of "
"version `1.2.3`, and hosted on SourceForge, adding this line:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1331
#, no-wrap
msgid "MASTER_SITES=\tSF\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1335
msgid ""
"infers a subdirectory named `/project/stardict/stardict/1.2.3`. If the "
"inferred directory is incorrect, it can be overridden:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1339
#, no-wrap
msgid "MASTER_SITES=\tSF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1342
msgid "This can also be written as"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1347
#, no-wrap
msgid ""
"MASTER_SITES=\tSF\n"
"MASTER_SITE_SUBDIR=\tstardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1350
#, no-wrap
msgid "Magic `MASTER_SITES` Macros"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1356
#, no-wrap
msgid "Assumed subdirectory"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1357
#, no-wrap
msgid "`APACHE_COMMONS_BINARIES`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1359
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1362
#, no-wrap
msgid "`${PORTNAME:S,commons-,,}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1360
#, no-wrap
msgid "`APACHE_COMMONS_SOURCE`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1363
#, no-wrap
msgid "`APACHE_JAKARTA`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1365
#, no-wrap
msgid "`${PORTNAME:S,-,/,}/source`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1366
#, no-wrap
msgid "`BERLIOS`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1368
#, no-wrap
msgid "`${PORTNAME:tl}.berlios`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1369
#, no-wrap
msgid "`CHEESESHOP`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1371
#, no-wrap
msgid "`source/${DISTNAME:C/(.).\\*/\\1/}/${DISTNAME:C/(.*)-[0-9].*/\\1/}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1374
#, no-wrap
msgid "`${PORTNAME:C/-.*//}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1375
#, no-wrap
msgid "`DEBIAN`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1377
#, no-wrap
msgid "`pool/main/${PORTNAME:C/^((lib)?.).*$/\\1/}/${PORTNAME}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1378
#, no-wrap
msgid "`FARSIGHT`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1380
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1404
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1407
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1410
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1413
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1416
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1425
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1431
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1457
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1461
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1862
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1866
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1464
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1468
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1869
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1873
#, no-wrap
msgid "`${PORTNAME}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1381
#, no-wrap
msgid "`FESTIVAL`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1383
#, no-wrap
msgid "`${PORTREVISION}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1384
#, no-wrap
msgid "`GCC`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1386
#, no-wrap
msgid "`releases/${DISTNAME}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1387
#, no-wrap
msgid "`GENTOO`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1389
#, no-wrap
msgid "`distfiles`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1390
#, no-wrap
msgid "`GIMP`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1392
#, no-wrap
msgid "`${PORTNAME}/${PORTVERSION:R}/`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1395
#, no-wrap
msgid "`${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1398
#, no-wrap
msgid "`${GH_ACCOUNT}/${GH_PROJECT}/`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1399
#, no-wrap
msgid "`GNOME`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1401
#, no-wrap
msgid "`sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1402
#, no-wrap
msgid "`GNU`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1405
#, no-wrap
msgid "`GNUPG`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1408
#, no-wrap
msgid "`GNU_ALPHA`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1411
#, no-wrap
msgid "`HORDE`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1417
#, no-wrap
msgid "`MATE`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1419
#, no-wrap
msgid "`${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1420
#, no-wrap
msgid "`MOZDEV`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1422
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1434
#, no-wrap
msgid "`${PORTNAME:tl}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1426
#, no-wrap
msgid "`QT`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1428
#, no-wrap
msgid "`archive/qt/${PORTVERSION:R}`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1429
#, no-wrap
msgid "`SAMBA`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1432
#, no-wrap
msgid "`SAVANNAH`"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1436
#, no-wrap
msgid "`${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}`"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1439
#, no-wrap
msgid "`USE_GITHUB`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1444
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1443
msgid ""
"If the distribution file comes from a specific commit or tag on https://"
"github.com/[GitHub] for which there is no officially released file, there is "
-"an easy way to set the right `DISTNAME` and `MASTER_SITES` automatically. "
-"These variables are available:"
+"an easy way to set the right `DISTNAME` and `MASTER_SITES` automatically."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1448
+msgid ""
+"As of 2023-02-21 link:https://github.blog/2023-02-21-update-on-the-future-"
+"stability-of-source-code-archives-and-hashes/[GitHub] have announced that "
+"source downloads will be stable for a year. Please switch to release assets "
+"and if not available ask upstream to generate ones."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1451
+msgid "These variables are available:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1446
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1453
#, no-wrap
msgid "`USE_GITHUB` Description"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1450
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1851
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3607
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1457
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1858
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3614
#, no-wrap
msgid "Variable"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1453
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1854
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1460
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1861
#, no-wrap
msgid "Default"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1454
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4796
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1461
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4803
#, no-wrap
msgid "`GH_ACCOUNT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1455
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1462
#, no-wrap
msgid "Account name of the GitHub user hosting the project"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1458
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4797
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1465
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4804
#, no-wrap
msgid "`GH_PROJECT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1459
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1466
#, no-wrap
msgid "Name of the project on GitHub"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1462
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4799
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1469
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4806
#, no-wrap
msgid "`GH_TAGNAME`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1463
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1470
#, no-wrap
msgid "Name of the tag to download (2.0.1, hash, ...) Using the name of a branch here is incorrect. It is also possible to use the hash of a commit id to do a snapshot."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1465
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1472
#, no-wrap
msgid "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1466
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4798
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1473
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4805
#, no-wrap
msgid "`GH_SUBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1467
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1474
#, no-wrap
msgid "When the software needs an additional distribution file to be extracted within `${WRKSRC}`, this variable can be used. See the examples in <<makefile-master_sites-github-multiple>> for more information."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1469
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1874
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1476
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1881
#, no-wrap
msgid "(none)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1470
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4800
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1477
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4807
#, no-wrap
msgid "`GH_TUPLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1471
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1478
#, no-wrap
msgid "`GH_TUPLE` allows putting `GH_ACCOUNT`, `GH_PROJECT`, `GH_TAGNAME`, and `GH_SUBDIR` into a single variable. The format is _account_`:`_project_`:`_tagname_`:`_group_`/`_subdir_. The `/`_subdir_ part is optional. It is helpful when there is more than one GitHub project from which to fetch."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1476
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1483
msgid ""
"Do not use `GH_TUPLE` for the default distribution file, as it has no "
"default."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1479
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1486
#, no-wrap
msgid "Simple Use of `USE_GITHUB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1484
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1491
msgid ""
"While trying to make a port for version `1.2.7` of pkg from the FreeBSD user "
"on github, at https://github.com/freebsd/pkg/[], The [.filename]#Makefile# "
"would end up looking like this (slightly stripped for the example):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1489
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1496
#, no-wrap
msgid ""
"PORTNAME=\tpkg\n"
"DISTVERSION=\t1.2.7\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1492
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1499
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tfreebsd\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1495
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1502
msgid ""
"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to "
"`${WRKDIR}/pkg-1.2.7`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1498
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1505
#, no-wrap
msgid "More Complete Use of `USE_GITHUB`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1502
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1509
msgid ""
"While trying to make a port for the bleeding edge version of pkg from the "
"FreeBSD user on github, at https://github.com/freebsd/pkg/[], the [."
"filename]#Makefile# ends up looking like this (slightly stripped for the "
"example):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1507
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1514
#, no-wrap
msgid ""
"PORTNAME=\tpkg-devel\n"
"DISTVERSION=\t1.3.0.a.20140411\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1512
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1519
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tfreebsd\n"
"GH_PROJECT=\tpkg\n"
"GH_TAGNAME=\t6dbb17b\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1515
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1522
msgid ""
"It will automatically have `MASTER_SITES` set to `GH` and `WRKSRC` to "
"`${WRKDIR}/pkg-6dbb17b`."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1519
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1526
msgid ""
"`20140411` is the date of the commit referenced in `GH_TAGNAME`, not the "
"date the [.filename]#Makefile# is edited, or the date the commit is made."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1524
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1531
#, no-wrap
msgid "Use of `USE_GITHUB` with `DISTVERSIONPREFIX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1530
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1537
msgid ""
"From time to time, `GH_TAGNAME` is a slight variation from `DISTVERSION`. "
"For example, if the version is `1.0.2`, the tag is `v1.0.2`. In those "
"cases, it is possible to use `DISTVERSIONPREFIX` or `DISTVERSIONSUFFIX`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1536
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1543
#, no-wrap
msgid ""
"PORTNAME=\tfoo\n"
"DISTVERSIONPREFIX=\tv\n"
"DISTVERSION=\t1.0.2\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1538
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1601
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1545
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1608
#, no-wrap
msgid "USE_GITHUB=\tyes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1541
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1548
msgid ""
"It will automatically set `GH_TAGNAME` to `v1.0.2`, while `WRKSRC` will be "
"kept to `${WRKDIR}/foo-1.0.2`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1544
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1551
#, no-wrap
msgid "Using `USE_GITHUB` When Upstream Does Not Use Versions"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1549
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1556
msgid ""
"If there never was a version upstream, do not invent one like `0.1` or "
"`1.0`. Create the port with a `DISTVERSION` of `g__YYYYMMDD__`, where `g` "
"is for Git, and `_YYYYMMDD_` represents the date the commit referenced in "
"`GH_TAGNAME`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1554
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1561
#, no-wrap
msgid ""
"PORTNAME=\tbar\n"
"DISTVERSION=\tg20140411\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1557
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1564
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_TAGNAME=\tc472d66b\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1560
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1567
msgid ""
"This creates a versioning scheme that increases over time, and that is still "
"before version `0` (see <<makefile-versions-ex-pkg-version>> for details on "
"man:pkg-version[8]):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1565
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1572
#, no-wrap
msgid ""
"% pkg version -t g20140411 0\n"
"<\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1568
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1575
msgid ""
"Which means using `PORTEPOCH` will not be needed in case upstream decides to "
"cut versions in the future."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1571
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1578
#, no-wrap
msgid "Using `USE_GITHUB` to Access a Commit Between Two Versions"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1575
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1582
msgid ""
"If the current version of the software uses a Git tag, and the port needs to "
"be updated to a newer, intermediate version, without a tag, use man:git-"
"describe[1] to find out the version to use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1580
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1587
#, no-wrap
msgid ""
"% git describe --tags f0038b1\n"
"v0.7.3-14-gf0038b1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1583
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1590
msgid "`v0.7.3-14-gf0038b1` can be split into three parts:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1584
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1591
#, no-wrap
msgid "`v0.7.3`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1586
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1593
msgid ""
"This is the last Git tag that appears in the commit history before the "
"requested commit."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1587
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1594
#, no-wrap
msgid "`-14`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1589
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1596
msgid ""
"This means that the requested commit, `f0038b1`, is the 14th commit after "
"the `v0.7.3` tag."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1590
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1597
#, no-wrap
msgid "`-gf0038b1`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1592
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1599
msgid ""
"The `-g` means \"Git\", and the `f0038b1` is the commit hash that this "
"reference points to."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1599
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1606
#, no-wrap
msgid ""
"PORTNAME=\tbar\n"
"DISTVERSIONPREFIX= v\n"
"DISTVERSION=\t0.7.3-14\n"
"DISTVERSIONSUFFIX= -gf0038b1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1605
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1612
msgid ""
"This creates a versioning scheme that increases over time (well, over "
"commits), and does not conflict with the creation of a `0.7.4` version. "
"(See <<makefile-versions-ex-pkg-version>> for details on man:pkg-version[8]):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1612
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1619
#, no-wrap
msgid ""
"% pkg version -t 0.7.3 0.7.3.14\n"
"<\n"
"% pkg version -t 0.7.3.14 0.7.4\n"
"<\n"
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1618
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1625
msgid ""
"If the requested commit is the same as a tag, a shorter description is shown "
"by default. The longer version is equivalent:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1623
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1630
#, no-wrap
msgid ""
"% git describe --tags c66c71d\n"
"v0.7.3\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1626
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1633
#, no-wrap
msgid ""
"% git describe --tags --long c66c71d\n"
"v0.7.3-0-gc66c71d\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1633
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1640
#, no-wrap
msgid "Fetching Multiple Files from GitHub"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1637
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1644
msgid ""
"The `USE_GITHUB` framework also supports fetching multiple distribution "
"files from different places in GitHub. It works in a way very similar to "
"<<porting-master-sites-n>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1642
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1649
msgid ""
"Multiple values are added to `GH_ACCOUNT`, `GH_PROJECT`, and `GH_TAGNAME`. "
"Each different value is assigned a group. The main value can either have no "
"group, or the `:DEFAULT` group. A value can be omitted if it is the same as "
"the default as listed in <<makefile-master_sites-github-description>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1645
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1652
msgid ""
"`GH_TUPLE` can also be used when there are a lot of distribution files. It "
"helps keep the account, project, tagname, and group information at the same "
"place."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1648
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1944
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1655
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1951
msgid ""
"For each group, a `${WRKSRC_group}` helper variable is created, containing "
"the directory into which the file has been extracted. The `${WRKSRC_group}` "
"variables can be used to move directories around during `post-extract`, or "
"add to `CONFIGURE_ARGS`, or whatever is needed so that the software builds "
"correctly."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1653
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1949
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1660
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1956
msgid ""
"The `:__group__` part _must_ be used for _only one_ distribution file. It "
"is used as a unique key and using it more than once will overwrite the "
"previous values."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1658
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1954
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1665
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1961
msgid ""
"As this is only syntactic sugar above `DISTFILES` and `MASTER_SITES`, the "
"group names must adhere to the restrictions on group names outlined in "
"<<porting-master-sites-n>>"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1662
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1669
msgid ""
"When fetching multiple files from GitHub, sometimes the default distribution "
"file is not fetched from GitHub. To disable fetching the default "
"distribution, set:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1666
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1673
#, no-wrap
msgid "USE_GITHUB=\tnodefault\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1671
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1678
msgid ""
"When using `USE_GITHUB=nodefault`, the [.filename]#Makefile# must set "
"`DISTFILES` in its crossref:porting-order[porting-order-portname,top block]. "
"The definition should be:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1675
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1972
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1682
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1979
#, no-wrap
msgid "DISTFILES= ${DISTNAME}${EXTRACT_SUFX}\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1680
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1687
#, no-wrap
msgid "Use of `USE_GITHUB` with Multiple Distribution Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1686
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1693
msgid ""
"From time to time, there is a need to fetch more than one distribution "
"file. For example, when the upstream git repository uses submodules. This "
"can be done easily using groups in the `GH_*` variables:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1691
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1736
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1988
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2033
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1698
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1743
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1995
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2040
#, no-wrap
msgid ""
"PORTNAME=\tfoo\n"
"DISTVERSION=\t1.0.2\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1697
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1704
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tbar:icons,contrib\n"
"GH_PROJECT=\tfoo-icons:icons foo-contrib:contrib\n"
"GH_TAGNAME=\t1.0:icons fa579bc:contrib\n"
"GH_SUBDIR=\text/icons:icons\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1699
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1742
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1706
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1749
#, no-wrap
msgid "CONFIGURE_ARGS=\t--with-contrib=${WRKSRC_contrib}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1706
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1713
msgid ""
"This will fetch three distribution files from github. The default one comes "
"from [.filename]#foo/foo# and is version `1.0.2`. The second one, with the "
"`icons` group, comes from [.filename]#bar/foo-icons# and is in version "
"`1.0`. The third one comes from [.filename]#bar/foo-contrib# and uses the "
"Git commit `fa579bc`. The distribution files are named [.filename]#foo-"
"foo-1.0.2_GH0.tar.gz#, [.filename]#bar-foo-icons-1.0_GH0.tar.gz#, and [."
"filename]#bar-foo-contrib-fa579bc_GH0.tar.gz#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1712
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1719
msgid ""
"All the distribution files are extracted in `${WRKDIR}` in their respective "
"subdirectories. The default file is still extracted in `${WRKSRC}`, in this "
"case, [.filename]#${WRKDIR}/foo-1.0.2#. Each additional distribution file "
"is extracted in `${WRKSRC_group}`. Here, for the `icons` group, it is "
"called `${WRKSRC_icons}` and it contains [.filename]#${WRKDIR}/foo-"
"icons-1.0#. The file with the `contrib` group is called `${WRKSRC_contrib}` "
"and contains `${WRKDIR}/foo-contrib-fa579bc`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1716
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1723
msgid ""
"The software's build system expects to find the icons in a [.filename]#ext/"
"icons# subdirectory in its sources, so `GH_SUBDIR` is used. `GH_SUBDIR` "
"makes sure that [.filename]#ext# exists, but that [.filename]#ext/icons# "
"does not already exist. Then it does this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1721
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1728
#, no-wrap
msgid ""
"post-extract:\n"
" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1726
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1733
#, no-wrap
msgid "Use of `USE_GITHUB` with Multiple Distribution Files Using `GH_TUPLE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1731
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1738
msgid ""
"This is functionally equivalent to <<makefile-master_sites-github-multi>>, "
"but using `GH_TUPLE`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1740
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1747
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_TUPLE=\tbar:foo-icons:1.0:icons/ext/icons \\\n"
"\t\tbar:foo-contrib:fa579bc:contrib\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1746
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1753
msgid ""
"Grouping was used in the previous example with `bar:icons,contrib`. Some "
"redundant information is present with `GH_TUPLE` because grouping is not "
"possible."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1749
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1756
#, no-wrap
msgid "How to Use `USE_GITHUB` with Git Submodules?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1754
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1761
msgid ""
"Ports with GitHub as an upstream repository sometimes use submodules. See "
"man:git-submodule[1] for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1757
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1764
msgid ""
"The problem with submodules is that each is a separate repository. As such, "
"they each must be fetched separately."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1762
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1769
msgid ""
"Using package:finance/moneymanagerex[] as an example, its GitHub repository "
"is https://github.com/moneymanagerex/moneymanagerex/[]. It has a https://"
"github.com/moneymanagerex/moneymanagerex/blob/master/.gitmodules[."
"gitmodules] file at the root. This file describes all the submodules used "
"in this repository, and lists additional repositories needed. This file "
"will tell what additional repositories are needed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1778
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1785
#, no-wrap
msgid ""
"[submodule \"lib/wxsqlite3\"]\n"
"\tpath = lib/wxsqlite3\n"
"\turl = https://github.com/utelle/wxsqlite3.git\n"
"[submodule \"3rd/mongoose\"]\n"
"\tpath = 3rd/mongoose\n"
"\turl = https://github.com/cesanta/mongoose.git\n"
"[submodule \"3rd/LuaGlue\"]\n"
"\tpath = 3rd/LuaGlue\n"
"\turl = https://github.com/moneymanagerex/LuaGlue.git\n"
"[submodule \"3rd/cgitemplate\"]\n"
"\tpath = 3rd/cgitemplate\n"
"\turl = https://github.com/moneymanagerex/html-template.git\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1782
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1789
msgid ""
"The only information missing from that file is the commit hash or tag to use "
"as a version. This information is found after cloning the repository:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1811
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1818
#, no-wrap
msgid ""
"% git clone --recurse-submodules https://github.com/moneymanagerex/moneymanagerex.git\n"
"Cloning into 'moneymanagerex'...\n"
"remote: Counting objects: 32387, done.\n"
"[...]\n"
"Submodule '3rd/LuaGlue' (https://github.com/moneymanagerex/LuaGlue.git) registered for path '3rd/LuaGlue'\n"
"Submodule '3rd/cgitemplate' (https://github.com/moneymanagerex/html-template.git) registered for path '3rd/cgitemplate'\n"
"Submodule '3rd/mongoose' (https://github.com/cesanta/mongoose.git) registered for path '3rd/mongoose'\n"
"Submodule 'lib/wxsqlite3' (https://github.com/utelle/wxsqlite3.git) registered for path 'lib/wxsqlite3'\n"
"[...]\n"
"Cloning into '/home/mat/work/freebsd/ports/finance/moneymanagerex/moneymanagerex/3rd/LuaGlue'...\n"
"Cloning into '/home/mat/work/freebsd/ports/finance/moneymanagerex/moneymanagerex/3rd/cgitemplate'...\n"
"Cloning into '/home/mat/work/freebsd/ports/finance/moneymanagerex/moneymanagerex/3rd/mongoose'...\n"
"Cloning into '/home/mat/work/freebsd/ports/finance/moneymanagerex/moneymanagerex/lib/wxsqlite3'...\n"
"[...]\n"
"Submodule path '3rd/LuaGlue': checked out 'c51d11a247ee4d1e9817dfa2a8da8d9e2f97ae3b'\n"
"Submodule path '3rd/cgitemplate': checked out 'cd434eeeb35904ebcd3d718ba29c281a649b192c'\n"
"Submodule path '3rd/mongoose': checked out '2140e5992ab9a3a9a34ce9a281abf57f00f95cda'\n"
"Submodule path 'lib/wxsqlite3': checked out 'fb66eb230d8aed21dec273b38c7c054dcb7d6b51'\n"
"[...]\n"
"% cd moneymanagerex\n"
"% git submodule status\n"
" c51d11a247ee4d1e9817dfa2a8da8d9e2f97ae3b 3rd/LuaGlue (heads/master)\n"
" cd434eeeb35904ebcd3d718ba29c281a649b192c 3rd/cgitemplate (cd434ee)\n"
" 2140e5992ab9a3a9a34ce9a281abf57f00f95cda 3rd/mongoose (6.2-138-g2140e59)\n"
" fb66eb230d8aed21dec273b38c7c054dcb7d6b51 lib/wxsqlite3 (v3.4.0)\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1815
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1822
msgid ""
"It can also be found on GitHub. Each subdirectory that is a submodule is "
"shown as `_directory @ hash_`, for example, `mongoose @ 2140e59`."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1821
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1828
msgid ""
"While getting the information from GitHub seems more straightforward, the "
"information found using `git submodule status` will provide more meaningful "
"information. For example, here, ``lib/wxsqlite3``'s commit hash `fb66eb2` "
"correspond to `v3.4.0`. Both can be used interchangeably, but when a tag is "
"available, use it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1824
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1831
msgid ""
"Now that all the required information has been gathered, the [."
"filename]#Makefile# can be written (only GitHub-related lines are shown):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1830
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1837
#, no-wrap
msgid ""
"PORTNAME=\tmoneymanagerex\n"
"DISTVERSIONPREFIX=\tv\n"
"DISTVERSION=\t1.3.0\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1837
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1844
#, no-wrap
msgid ""
"USE_GITHUB=\tyes\n"
"GH_TUPLE=\tutelle:wxsqlite3:v3.4.0:wxsqlite3/lib/wxsqlite3 \\\n"
"\t\tmoneymanagerex:LuaGlue:c51d11a:lua_glue/3rd/LuaGlue \\\n"
"\t\tmoneymanagerex:html-template:cd434ee:html_template/3rd/cgitemplate \\\n"
"\t\tcesanta:mongoose:2140e59:mongoose/3rd/mongoose \\\n"
"\t\t[...]\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1842
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1849
#, no-wrap
msgid "`USE_GITLAB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1845
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1852
msgid ""
"Similar to GitHub, if the distribution file comes from https://gitlab.com/"
"[gitlab.com] or is hosting the GitLab software, these variables are "
"available for use and might need to be set."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1847
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1854
#, no-wrap
msgid "`USE_GITLAB` Description"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1855
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4804
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1862
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4811
#, no-wrap
msgid "`GL_SITE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1856
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1863
#, no-wrap
msgid "Site name hosting the GitLab project"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1858
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1865
#, no-wrap
msgid "https://gitlab.com/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1859
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4801
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1866
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4808
#, no-wrap
msgid "`GL_ACCOUNT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1860
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1867
#, no-wrap
msgid "Account name of the GitLab user hosting the project"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1863
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4803
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1870
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4810
#, no-wrap
msgid "`GL_PROJECT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1864
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1871
#, no-wrap
msgid "Name of the project on GitLab"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1867
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4802
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1874
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4809
#, no-wrap
msgid "`GL_COMMIT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1868
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1875
#, no-wrap
msgid "The commit hash to download. Must be the full 160 bit, 40 character hex sha1 hash. This is a required variable for GitLab."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1870
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1877
#, no-wrap
msgid "`(none)`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1871
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4805
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1878
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4812
#, no-wrap
msgid "`GL_SUBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1872
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1879
#, no-wrap
msgid "When the software needs an additional distribution file to be extracted within `${WRKSRC}`, this variable can be used. See the examples in <<makefile-master_sites-gitlab-multiple>> for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1875
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4806
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1882
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4813
#, no-wrap
msgid "`GL_TUPLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1876
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1883
#, no-wrap
msgid "`GL_TUPLE` allows putting `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT`, `GL_COMMIT`, and `GL_SUBDIR` into a single variable. The format is _site_`:`_account_`:`_project_`:`_commit_`:`_group_`/`_subdir_. The _site_`:` and `/`_subdir_ part is optional. It is helpful when there are more than one GitLab project from which to fetch."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1879
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1886
#, no-wrap
msgid "Simple Use of `USE_GITLAB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1883
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1890
msgid ""
"While trying to make a port for version `1.14` of libsignon-glib from the "
"accounts-sso user on gitlab.com, at https://gitlab.com/accounts-sso/"
"libsignon-glib/[], The [.filename]#Makefile# would end up looking like this "
"for fetching the distribution files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1888
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1895
#, no-wrap
msgid ""
"PORTNAME=\tlibsignon-glib\n"
"DISTVERSION=\t1.14\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1892
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1899
#, no-wrap
msgid ""
"USE_GITLAB=\tyes\n"
"GL_ACCOUNT=\taccounts-sso\n"
"GL_COMMIT=\te90302e342bfd27bc8c9132ab9d0ea3d8723fd03\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1895
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1902
msgid ""
"It will automatically have `MASTER_SITES` set to https://gitlab.com/[gitlab."
"com] and `WRKSRC` to `${WRKDIR}/libsignon-glib-"
"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03-"
"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1898
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1905
#, no-wrap
msgid "More Complete Use of `USE_GITLAB`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1903
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1910
msgid ""
"A more complete use of the above if port had no versioning and foobar from "
"the foo user on project bar on a self hosted GitLab site `https://gitlab."
"example.com/`, the [.filename]#Makefile# ends up looking like this for "
"fetching distribution files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1908
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1915
#, no-wrap
msgid ""
"PORTNAME=\tfoobar\n"
"DISTVERSION=\tg20170906\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1914
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1921
#, no-wrap
msgid ""
"USE_GITLAB=\tyes\n"
"GL_SITE=\thttps://gitlab.example.com\n"
"GL_ACCOUNT=\tfoo\n"
"GL_PROJECT=\tbar\n"
"GL_COMMIT=\t9c1669ce60c3f4f5eb43df874d7314483fb3f8a6\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1917
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1924
msgid ""
"It will have `MASTER_SITES` set to `\"https://gitlab.example.com\"` and "
"`WRKSRC` to `${WRKDIR}/"
"bar-9c1669ce60c3f4f5eb43df874d7314483fb3f8a6-9c1669ce60c3f4f5eb43df874d7314483fb3f8a6`."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1921
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1928
msgid ""
"`20170906` is the date of the commit referenced in `GL_COMMIT`, not the date "
"the [.filename]#Makefile# is edited, or the date the commit to the FreeBSD "
"ports tree is made."
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1926
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1933
msgid ""
"``GL_SITE``'s protocol, port and webroot can all be modified in the same "
"variable."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1931
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1938
#, no-wrap
msgid "Fetching Multiple Files from GitLab"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1935
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1942
msgid ""
"The `USE_GITLAB` framework also supports fetching multiple distribution "
"files from different places from GitLab and GitLab hosted sites. It works "
"in a way very similar to <<porting-master-sites-n>> and <<makefile-"
"master_sites-gitlab-multiple>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1938
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1945
msgid ""
"Multiple values are added to `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` and "
"`GL_COMMIT`. Each different value is assigned a group. <<makefile-"
"master_sites-gitlab-description>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1941
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1948
msgid ""
"`GL_TUPLE` can also be used when there are a lot of distribution files. It "
"helps keep the site, account, project, commit, and group information at the "
"same place."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1958
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1965
msgid ""
"When fetching multiple files using GitLab, sometimes the default "
"distribution file is not fetched from a GitLab site. To disable fetching "
"the default distribution, set:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1962
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1969
#, no-wrap
msgid "USE_GITLAB=\tnodefault\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1968
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1975
msgid ""
"When using `USE_GITLAB=nodefault`, the [.filename]#Makefile# must set "
"`DISTFILES` in its <<porting-order-portname,top block>>. The definition "
"should be:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1977
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1984
#, no-wrap
msgid "Use of `USE_GITLAB` with Multiple Distribution Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1983
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1990
msgid ""
"From time to time, there is a need to fetch more than one distribution "
"file. For example, when the upstream git repository uses submodules. This "
"can be done easily using groups in the `GL_*` variables:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1995
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2002
#, no-wrap
msgid ""
"USE_GITLAB=\tyes\n"
"GL_SITE=\thttps://gitlab.example.com:9434/gitlab:icons\n"
"GL_ACCOUNT=\tbar:icons,contrib\n"
"GL_PROJECT=\tfoo-icons:icons foo-contrib:contrib\n"
"GL_COMMIT=\tc189207a55da45305c884fe2b50e086fcad4724b ae7368cab1ca7ca754b38d49da064df87968ffe4:icons 9e4dd76ad9b38f33fdb417a4c01935958d5acd2a:contrib\n"
"GL_SUBDIR=\text/icons:icons\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1997
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2040
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2004
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2047
#, no-wrap
msgid "CONFIGURE_ARGS= --with-contrib=${WRKSRC_contrib}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2004
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2011
msgid ""
"This will fetch two distribution files from gitlab.com and one from `gitlab."
"example.com` hosting GitLab. The default one comes from [.filename]#https://"
"gitlab.com/foo/foo# and commit is "
"`c189207a55da45305c884fe2b50e086fcad4724b`. The second one, with the "
"`icons` group, comes from [.filename]#https://gitlab.example.com:9434/gitlab/"
"bar/foo-icons# and commit is `ae7368cab1ca7ca754b38d49da064df87968ffe4`. "
"The third one comes from [.filename]#https://gitlab.com/bar/foo-contrib# and "
"is commit `9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`. The distribution "
"files are named [.filename]#foo-foo-"
"c189207a55da45305c884fe2b50e086fcad4724b_GL0.tar.gz#, [.filename]#bar-foo-"
"icons-ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz#, and [."
"filename]#bar-foo-contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0.tar."
"gz#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2010
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2017
msgid ""
"All the distribution files are extracted in `${WRKDIR}` in their respective "
"subdirectories. The default file is still extracted in `${WRKSRC}`, in this "
"case, [.filename]#${WRKDIR}/foo-c189207a55da45305c884fe2b50e086fcad4724b-"
"c189207a55da45305c884fe2b50e086fcad4724b#. Each additional distribution "
"file is extracted in `${WRKSRC_group}`. Here, for the `icons` group, it is "
"called `${WRKSRC_icons}` and it contains [.filename]#${WRKDIR}/foo-icons-"
"ae7368cab1ca7ca754b38d49da064df87968ffe4-"
"ae7368cab1ca7ca754b38d49da064df87968ffe4#. The file with the `contrib` "
"group is called `${WRKSRC_contrib}` and contains `${WRKDIR}/foo-"
"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2014
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2021
msgid ""
"The software's build system expects to find the icons in a [.filename]#ext/"
"icons# subdirectory in its sources, so `GL_SUBDIR` is used. `GL_SUBDIR` "
"makes sure that [.filename]#ext# exists, but that [.filename]#ext/icons# "
"does not already exist. Then it does this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2019
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2026
#, no-wrap
msgid ""
"post-extract:\n"
" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2024
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2031
#, no-wrap
msgid "Use of `USE_GITLAB` with Multiple Distribution Files Using `GL_TUPLE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2028
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2035
msgid ""
"This is functionally equivalent to <<makefile-master_sites-gitlab-multi>>, "
"but using `GL_TUPLE`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2038
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2045
#, no-wrap
msgid ""
"USE_GITLAB=\tyes\n"
"GL_COMMIT=\tc189207a55da45305c884fe2b50e086fcad4724b\n"
"GL_TUPLE=\thttps://gitlab.example.com:9434/gitlab:bar:foo-icons:ae7368cab1ca7ca754b38d49da064df87968ffe4:icons/ext/icons \\\n"
"\t\tbar:foo-contrib:9e4dd76ad9b38f33fdb417a4c01935958d5acd2a:contrib\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2044
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2051
msgid ""
"Grouping was used in the previous example with `bar:icons,contrib`. Some "
"redundant information is present with `GL_TUPLE` because grouping is not "
"possible."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2047
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2054
#, no-wrap
msgid "`EXTRACT_SUFX`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2050
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2057
msgid ""
"If there is one distribution file, and it uses an odd suffix to indicate the "
"compression mechanism, set `EXTRACT_SUFX`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2052
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2059
msgid ""
"For example, if the distribution file was named [.filename]#foo.tar.gzip# "
"instead of the more normal [.filename]#foo.tar.gz#, write:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2057
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2064
#, no-wrap
msgid ""
"DISTNAME=\tfoo\n"
"EXTRACT_SUFX=\t.tar.gzip\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2061
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2068
msgid ""
"The `USES=tar[:__xxx__]`, `USES=lha` or `USES=zip` automatically set "
"`EXTRACT_SUFX` to the most common archives extensions as necessary, see "
"crossref:uses[uses,Using `USES` Macros] for more details. If neither of "
"these are set then `EXTRACT_SUFX` defaults to `.tar.gz`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2065
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2072
msgid "As `EXTRACT_SUFX` is only used in `DISTFILES`, only set one of them.."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2068
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4793
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2075
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4800
#, no-wrap
msgid "`DISTFILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2073
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2080
msgid ""
"Sometimes the names of the files to be downloaded have no resemblance to the "
"name of the port. For example, it might be called [.filename]#source.tar."
"gz# or similar. In other cases the application's source code might be in "
"several different archives, all of which must be downloaded."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2075
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2082
msgid ""
"If this is the case, set `DISTFILES` to be a space separated list of all the "
"files that must be downloaded."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2079
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2086
#, no-wrap
msgid "DISTFILES=\tsource1.tar.gz source2.tar.gz\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2082
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2089
msgid ""
"If not explicitly set, `DISTFILES` defaults to `${DISTNAME}${EXTRACT_SUFX}`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2084
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4794
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2091
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4801
#, no-wrap
msgid "`EXTRACT_ONLY`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2087
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2094
msgid ""
"If only some of the `DISTFILES` must be extracted-for example, one of them "
"is the source code, while another is an uncompressed document-list the "
"filenames that must be extracted in `EXTRACT_ONLY`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2092
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2099
#, no-wrap
msgid ""
"DISTFILES=\tsource.tar.gz manual.html\n"
"EXTRACT_ONLY=\tsource.tar.gz\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2095
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2102
msgid ""
"When none of the `DISTFILES` need to be uncompressed, set `EXTRACT_ONLY` to "
"the empty string."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2099
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2106
#, no-wrap
msgid "EXTRACT_ONLY=\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2102
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4815
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2109
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4822
#, no-wrap
msgid "`PATCHFILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2105
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2112
msgid ""
"If the port requires some additional patches that are available by FTP or "
"HTTP, set `PATCHFILES` to the names of the files and `PATCH_SITES` to the "
"URL of the directory that contains them (the format is the same as "
"`MASTER_SITES`)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2108
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2115
msgid ""
"If the patch is not relative to the top of the source tree (that is, "
"`WRKSRC`) because it contains some extra pathnames, set `PATCH_DIST_STRIP` "
"accordingly. For instance, if all the pathnames in the patch have an extra "
"`foozolix-1.0/` in front of the filenames, then set `PATCH_DIST_STRIP=-p1`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2110
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2117
msgid ""
"Do not worry if the patches are compressed; they will be decompressed "
"automatically if the filenames end with [.filename]#.Z#, [.filename]#.gz#, [."
"filename]#.bz2# or [.filename]#.xz#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2116
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2123
msgid ""
"If the patch is distributed with some other files, such as documentation, in "
"a compressed tarball, using `PATCHFILES` is not possible. If that is the "
"case, add the name and the location of the patch tarball to `DISTFILES` and "
"`MASTER_SITES`. Then, use `EXTRA_PATCHES` to point to those files and [."
"filename]#bsd.port.mk# will automatically apply them. In particular, do "
"_not_ copy patch files into [.filename]#${PATCHDIR}#. That directory may "
"not be writable."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2120
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2127
msgid ""
"If there are multiple patches and they need mixed values for the strip "
"parameter, it can be added alongside the patch name in `PATCHFILES`, e.g:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2124
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2131
#, no-wrap
msgid "PATCHFILES=\tpatch1 patch2:-p1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2127
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2134
msgid ""
"This does not conflict with <<porting-master-sites-n,the master site "
"grouping feature>>, adding a group also works:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2131
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2138
#, no-wrap
msgid "PATCHFILES=\tpatch2:-p1:source2\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2139
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2146
msgid ""
"The tarball will have been extracted alongside the regular source by then, "
"so there is no need to explicitly extract it if it is a regular compressed "
"tarball. Take extra care not to overwrite something that already exists in "
"that directory if extracting it manually. Also, do not forget to add a "
"command to remove the copied patch in the `pre-clean` target."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2142
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2149
#, no-wrap
msgid "Multiple Distribution or Patches Files from Multiple Locations"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2145
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2152
msgid ""
"(Consider this to be a somewhat \"advanced topic\"; those new to this "
"document may wish to skip this section at first)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2148
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2155
msgid ""
"This section has information on the fetching mechanism known as both "
"`MASTER_SITES:n` and `MASTER_SITES_NN`. We will refer to this mechanism as "
"`MASTER_SITES:n`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2153
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2160
msgid ""
"A little background first. OpenBSD has a neat feature inside `DISTFILES` "
"and `PATCHFILES` which allows files and patches to be postfixed with `:n` "
"identifiers. Here, `n` can be any word containing `[0-9a-zA-Z_]` and denote "
"a group designation. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2157
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2164
#, no-wrap
msgid "DISTFILES=\talpha:0 beta:1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2160
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2167
msgid ""
"In OpenBSD, distribution file [.filename]#alpha# will be associated with "
"variable `MASTER_SITES0` instead of our common `MASTER_SITES` and [."
"filename]#beta# with `MASTER_SITES1`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2162
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2169
msgid ""
"This is a very interesting feature which can decrease that endless search "
"for the correct download site."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2165
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2172
msgid ""
"Just picture 2 files in `DISTFILES` and 20 sites in `MASTER_SITES`, the "
"sites slow as hell where [.filename]#beta# is carried by all sites in "
"`MASTER_SITES`, and [.filename]#alpha# can only be found in the 20th site. "
"It would be such a waste to check all of them if the maintainer knew this "
"beforehand, would it not? Not a good start for that lovely weekend!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2168
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2175
msgid ""
"Now that you have the idea, just imagine more `DISTFILES` and more "
"`MASTER_SITES`. Surely our \"distfiles survey meister\" would appreciate "
"the relief to network strain that this would bring."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2171
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2178
msgid ""
"In the next sections, information will follow on the FreeBSD implementation "
"of this idea. We improved a bit on OpenBSD's concept."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2176
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2183
msgid ""
"The group names cannot have dashes in them (`-`), in fact, they cannot have "
"any characters out of the `[a-zA-Z0-9_]` range. This is because, while man:"
"make[1] is ok with variable names containing dashes, man:sh[1] is not."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2179
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2186
#, no-wrap
msgid "Simplified Information"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2185
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2192
msgid ""
"This section explains how to quickly prepare fine grained fetching of "
"multiple distribution files and patches from different sites and "
"subdirectories. We describe here a case of simplified `MASTER_SITES:n` "
"usage. This will be sufficient for most scenarios. More detailed "
"information are available in <<ports-master-sites-n-detailed>>."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2189
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2196
msgid ""
"Some applications consist of multiple distribution files that must be "
"downloaded from a number of different sites. For example, Ghostscript "
"consists of the core of the program, and then a large number of driver files "
"that are used depending on the user's printer. Some of these driver files "
"are supplied with the core, but many others must be downloaded from a "
"variety of different sites."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2192
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2199
msgid ""
"To support this, each entry in `DISTFILES` may be followed by a colon and a "
"\"group name\". Each site listed in `MASTER_SITES` is then followed by a "
"colon, and the group that indicates which distribution files are downloaded "
"from this site."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2195
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2202
msgid ""
"For example, consider an application with the source split in two parts, [."
"filename]#source1.tar.gz# and [.filename]#source2.tar.gz#, which must be "
"downloaded from two different sites. The port's [.filename]#Makefile# would "
"include lines like <<ports-master-sites-n-example-simple-use-one-file-per-"
"site>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2197
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2204
#, no-wrap
msgid "Simplified Use of `MASTER_SITES:n` with One File Per Site"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2207
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2214
#, no-wrap
msgid ""
"MASTER_SITES=\tftp://ftp1.example.com/:source1 \\\n"
"\t\thttp://www.example.com/:source2\n"
"DISTFILES=\tsource1.tar.gz:source1 \\\n"
"\t\tsource2.tar.gz:source2\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2214
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2221
msgid ""
"Multiple distribution files can have the same group. Continuing the "
"previous example, suppose that there was a third distfile, [."
"filename]#source3.tar.gz#, that is downloaded from `ftp.example2.com`. The "
"[.filename]#Makefile# would then be written like <<ports-master-sites-n-"
"example-simple-use-more-than-one-file-per-site>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2216
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2223
#, no-wrap
msgid "Simplified Use of `MASTER_SITES:n` with More Than One File Per Site"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2227
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2234
#, no-wrap
msgid ""
"MASTER_SITES=\tftp://ftp.example.com/:source1 \\\n"
"\t\thttp://www.example.com/:source2\n"
"DISTFILES=\tsource1.tar.gz:source1 \\\n"
"\t\tsource2.tar.gz:source2 \\\n"
"\t\tsource3.tar.gz:source2\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2232
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2239
#, no-wrap
msgid "Detailed Information"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2235
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2242
msgid ""
"Okay, so the previous example did not reflect the new port's needs? In this "
"section we will explain in detail how the fine grained fetching mechanism "
"`MASTER_SITES:n` works and how it can be used."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2237
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2244
msgid ""
"Elements can be postfixed with `:__n__` where _n_ is `[^:,]+`, that is, _n_ "
"could conceptually be any alphanumeric string but we will limit it to `[a-zA-"
"Z_][0-9a-zA-Z_]+` for now."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2239
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2246
msgid ""
"Moreover, string matching is case sensitive; that is, `n` is different from "
"`N`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2242
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2249
msgid ""
"However, these words cannot be used for postfixing purposes since they yield "
"special meaning: `default`, `all` and `ALL` (they are used internally in "
"item <<porting-master-sites-n-what-changes-in-port-targets, ii>>). "
"Furthermore, `DEFAULT` is a special purpose word (check item <<porting-"
"master-sites-n-DEFAULT-group,3>>)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2243
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2250
msgid ""
"Elements postfixed with `:n` belong to the group `n`, `:m` belong to group "
"`m` and so forth."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2246
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2253
msgid ""
"Elements without a postfix are groupless, they all belong to the special "
"group `DEFAULT`. Any elements postfixed with `DEFAULT`, is just being "
"redundant unless an element belongs to both `DEFAULT` and other groups at "
"the same time (check item <<porting-master-sites-n-comma-operator,5>>)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2248
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2255
msgid "These examples are equivalent but the first one is preferred:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2252
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2259
#, no-wrap
msgid "MASTER_SITES=\talpha\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2257
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2264
#, no-wrap
msgid "MASTER_SITES=\talpha:DEFAULT\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2260
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2267
msgid ""
"Groups are not exclusive, an element may belong to several different groups "
"at the same time and a group can either have either several different "
"elements or none at all."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2263
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2270
msgid ""
"When an element belongs to several groups at the same time, use the comma "
"operator (`,`)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2266
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2273
msgid ""
"Instead of repeating it several times, each time with a different postfix, "
"we can list several groups at once in a single postfix. For instance, `:m,n,"
"o` marks an element that belongs to group `m`, `n` and `o`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2268
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2275
msgid "All these examples are equivalent but the last one is preferred:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2272
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2279
#, no-wrap
msgid "MASTER_SITES=\talpha alpha:SOME_SITE\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2277
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2284
#, no-wrap
msgid "MASTER_SITES=\talpha:DEFAULT alpha:SOME_SITE\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2282
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2289
#, no-wrap
msgid "MASTER_SITES=\talpha:SOME_SITE,DEFAULT\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2287
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2294
#, no-wrap
msgid "MASTER_SITES=\talpha:DEFAULT,SOME_SITE\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2290
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2297
msgid ""
"All sites within a given group are sorted according to `MASTER_SORT_AWK`. "
"All groups within `MASTER_SITES` and `PATCH_SITES` are sorted as well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2293
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2300
msgid ""
"Group semantics can be used in any of the variables `MASTER_SITES`, "
"`PATCH_SITES`, `MASTER_SITE_SUBDIR`, `PATCH_SITE_SUBDIR`, `DISTFILES`, and "
"`PATCHFILES` according to this syntax:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2294
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2301
msgid ""
"All `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR` and "
"`PATCH_SITE_SUBDIR` elements must be terminated with the forward slash `/` "
"character. If any elements belong to any groups, the group postfix `:__n__` "
"must come right after the terminator `/`. The `MASTER_SITES:n` mechanism "
"relies on the existence of the terminator `/` to avoid confusing elements "
"where a `:n` is a valid part of the element with occurrences where `:n` "
"denotes group `n`. For compatibility purposes, since the `/` terminator was "
"not required before in both `MASTER_SITE_SUBDIR` and `PATCH_SITE_SUBDIR` "
"elements, if the postfix immediate preceding character is not a `/` then `:"
"n` will be considered a valid part of the element instead of a group postfix "
"even if an element is postfixed with `:n`. See both <<ports-master-sites-n-"
"example-detailed-use-master-site-subdir>> and <<ports-master-sites-n-example-"
"detailed-use-complete-example-master-sites>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2296
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2303
#, no-wrap
msgid "Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2303
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2310
#, no-wrap
msgid "MASTER_SITE_SUBDIR=\told:n new/:NEW\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2306
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2313
msgid "Directories within group `DEFAULT` -> old:n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2307
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2314
msgid "Directories within group `NEW` -> new"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2311
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2318
#, no-wrap
msgid "Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2329
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2336
#, no-wrap
msgid ""
"MASTER_SITES=\thttp://site1/%SUBDIR%/ http://site2/:DEFAULT \\\n"
"\t\thttp://site3/:group3 http://site4/:group4 \\\n"
"\t\thttp://site5/:group5 http://site6/:group6 \\\n"
"\t\thttp://site7/:DEFAULT,group6 \\\n"
"\t\thttp://site8/%SUBDIR%/:group6,group7 \\\n"
"\t\thttp://site9/:group8\n"
"DISTFILES=\tfile1 file2:DEFAULT file3:group3 \\\n"
"\t\tfile4:group4,group5,group6 file5:grouping \\\n"
"\t\tfile6:group7\n"
"MASTER_SITE_SUBDIR=\tdirectory-trial:1 directory-n/:groupn \\\n"
"\t\tdirectory-one/:group6,DEFAULT \\\n"
"\t\tdirectory\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2333
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2340
msgid ""
"The previous example results in this fine grained fetching. Sites are "
"listed in the exact order they will be used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2335
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2342
msgid "[.filename]#file1# will be fetched from"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2337
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2347
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2357
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2363
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2373
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2378
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2344
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2354
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2364
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2370
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2380
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2385
msgid "`MASTER_SITE_OVERRIDE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2338
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2348
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2345
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2355
msgid "http://site1/directory-trial:1/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2339
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2349
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2346
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2356
msgid "http://site1/directory-one/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2340
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2350
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2347
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2357
msgid "http://site1/directory/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2341
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2351
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2348
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2358
msgid "http://site2/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2342
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2352
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2367
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2349
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2359
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2374
msgid "http://site7/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2343
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2353
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2359
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2369
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2374
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2380
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2350
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2360
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2366
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2376
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2381
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2387
msgid "`MASTER_SITE_BACKUP`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2345
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2352
msgid ""
"[.filename]#file2# will be fetched exactly as [.filename]#file1# since they "
"both belong to the same group"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2355
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2362
msgid "[.filename]#file3# will be fetched from"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2358
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2365
msgid "http://site3/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2361
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2368
msgid "[.filename]#file4# will be fetched from"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2364
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2371
msgid "http://site4/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2365
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2372
msgid "http://site5/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2366
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2373
msgid "http://site6/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2368
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2375
msgid "http://site8/directory-one/"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2371
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2378
msgid "[.filename]#file5# will be fetched from"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2376
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2383
msgid "[.filename]#file6# will be fetched from"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2379
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2386
msgid "http://site8/"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2384
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2391
msgid ""
"How do I group one of the special macros from [.filename]#bsd.sites.mk#, for "
"example, SourceForge (`SF`)?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2387
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2394
msgid ""
"This has been simplified as much as possible. See <<ports-master-sites-n-"
"example-detailed-use-master-site-sourceforge>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2389
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2396
#, no-wrap
msgid "Detailed Use of `MASTER_SITES:n` with SourceForge (`SF`)"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2397
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2404
#, no-wrap
msgid ""
"MASTER_SITES=\thttp://site1/ SF/something/1.0:sourceforge,TEST\n"
"DISTFILES=\tsomething.tar.gz:sourceforge\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2400
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2407
msgid ""
"[.filename]#something.tar.gz# will be fetched from all sites within "
"SourceForge."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2402
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2409
msgid "How do I use this with `PATCH*`?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2404
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2411
msgid ""
"All examples were done with `MASTER*` but they work exactly the same for "
"`PATCH*` ones as can be seen in <<ports-master-sites-n-example-detailed-use-"
"patch-sites>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2406
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2413
#, no-wrap
msgid "Simplified Use of `MASTER_SITES:n` with `PATCH_SITES`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2414
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2421
#, no-wrap
msgid ""
"PATCH_SITES=\thttp://site1/ http://site2/:test\n"
"PATCHFILES=\tpatch1:test\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2419
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2426
#, no-wrap
msgid "What Does Change for Ports? What Does Not?"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2423
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2430
msgid ""
"All current ports remain the same. The `MASTER_SITES:n` feature code is only "
"activated if there are elements postfixed with `:__n__` like elements "
"according to the aforementioned syntax rules, especially as shown in item "
"<<porting-master-sites-n-group-semantics, 7>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2426
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2433
msgid ""
"The port targets remain the same: `checksum`, `makesum`, `patch`, "
"`configure`, `build`, etc. With the obvious exceptions of `do-fetch`, `fetch-"
"list`, `master-sites` and `patch-sites`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2428
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2435
msgid ""
"`do-fetch`: deploys the new grouping postfixed `DISTFILES` and `PATCHFILES` "
"with their matching group elements within both `MASTER_SITES` and "
"`PATCH_SITES` which use matching group elements within both "
"`MASTER_SITE_SUBDIR` and `PATCH_SITE_SUBDIR`. Check <<ports-master-sites-n-"
"example-detailed-use-complete-example-master-sites>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2429
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2436
msgid ""
"`fetch-list`: works like old `fetch-list` with the exception that it groups "
"just like `do-fetch`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2430
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437
msgid ""
"`master-sites` and `patch-sites`: (incompatible with older versions) only "
"return the elements of group `DEFAULT`; in fact, they execute targets "
"`master-sites-default` and `patch-sites-default` respectively."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2434
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2441
msgid ""
"Furthermore, using target either `master-sites-all` or `patch-sites-all` is "
"preferred to directly checking either `MASTER_SITES` or `PATCH_SITES`. "
"Also, directly checking is not guaranteed to work in any future versions. "
"Check item <<porting-master-sites-n-new-port-targets-master-sites-all, B>> "
"for more information on these new port targets."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2436
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2443
msgid "New port targets"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2444
msgid ""
"There are `master-sites-_n_` and `patch-sites-_n_` targets which will list "
"the elements of the respective group _n_ within `MASTER_SITES` and "
"`PATCH_SITES` respectively. For instance, both `master-sites-DEFAULT` and "
"`patch-sites-DEFAULT` will return the elements of group `DEFAULT`, `master-"
"sites-test` and `patch-sites-test` of group `test`, and thereon."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2440
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2447
msgid ""
"There are new targets `master-sites-all` and `patch-sites-all` which do the "
"work of the old `master-sites` and `patch-sites` ones. They return the "
"elements of all groups as if they all belonged to the same group with the "
"caveat that it lists as many `MASTER_SITE_BACKUP` and `MASTER_SITE_OVERRIDE` "
"as there are groups defined within either `DISTFILES` or `PATCHFILES`; "
"respectively for `master-sites-all` and `patch-sites-all`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2442
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2449
#, no-wrap
msgid "`DIST_SUBDIR`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2447
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2454
msgid ""
"Do not let the port clutter [.filename]#/usr/ports/distfiles#. If the port "
"requires a lot of files to be fetched, or contains a file that has a name "
"that might conflict with other ports (for example, [.filename]#Makefile#), "
"set `DIST_SUBDIR` to the name of the port (`${PORTNAME}` or "
"`${PKGNAMEPREFIX}${PORTNAME}` are fine). This will change `DISTDIR` from "
"the default [.filename]#/usr/ports/distfiles# to [.filename]#/usr/ports/"
"distfiles/${DIST_SUBDIR}#, and in effect puts everything that is required "
"for the port into that subdirectory."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2449
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2456
msgid ""
"It will also look at the subdirectory with the same name on the backup "
"master site at http://distcache.FreeBSD.org[http://distcache.FreeBSD.org] "
"(Setting `DISTDIR` explicitly in [.filename]#Makefile# will not accomplish "
"this, so please use `DIST_SUBDIR`.)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2453
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2460
msgid ""
"This does not affect `MASTER_SITES` defined in the [.filename]#Makefile#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2456
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2463
#, no-wrap
msgid "`MAINTAINER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2459
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2466
msgid "Set your mail-address here. Please. _:-)_"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2464
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2471
msgid ""
"Only a single address without the comment part is allowed as a `MAINTAINER` "
"value. The format used is `user@hostname.domain`. Please do not include "
"any descriptive text such as a real name in this entry. That merely "
"confuses the Ports infrastructure and most tools using it."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2467
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2474
msgid ""
"The maintainer is responsible for keeping the port up to date and making "
"sure that it works correctly. For a detailed description of the "
"responsibilities of a port maintainer, refer to extref:{contributing}[The "
"challenge for port maintainers, maintain-port]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2476
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2483
msgid ""
"A maintainer volunteers to keep a port in good working order. Maintainers "
"have the primary responsibility for their ports, but not exclusive "
"ownership. Ports exist for the benefit of the community and, in reality, "
"belong to the community. What this means is that people other than the "
"maintainer can make changes to a port. Large changes to the Ports "
"Collection might require changes to many ports. The FreeBSD Ports "
"Management Team or members of other teams might modify ports to fix "
"dependency issues or other problems, like a version bump for a shared "
"library update."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2479
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2486
msgid ""
"Some types of fixes have \"blanket approval\" from the {portmgr}, allowing "
"any committer to fix those categories of problems on any port. These fixes "
"do not need approval from the maintainer."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2482
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2489
msgid ""
"Blanket approval for most ports applies to fixes like infrastructure "
"changes, or trivial and _tested_ build and runtime fixes. The current list "
"is available in extref:{committers-guide}[Ports section of the Committer's "
"Guide, ports-qa-misc-blanket-approval]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2489
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2496
msgid ""
"Other changes to the port will be sent to the maintainer for review and "
"approval before being committed. If the maintainer does not respond to an "
"update request after two weeks (excluding major public holidays), then that "
"is considered a maintainer timeout, and the update can be made without "
"explicit maintainer approval. If the maintainer does not respond within "
"three months, or if there have been three consecutive timeouts, then that "
"maintainer is considered absent without leave, and all of their ports can be "
"assigned back to the pool. Exceptions to this are anything maintained by "
"the {portmgr}, or the {security-officer}. No unauthorized commits may ever "
"be made to ports maintained by those groups."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2493
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2500
msgid ""
"We reserve the right to modify the maintainer's submission to better match "
"existing policies and style of the Ports Collection without explicit "
"blessing from the submitter or the maintainer. Also, large infrastructural "
"changes can result in a port being modified without the maintainer's "
"consent. These kinds of changes will never affect the port's functionality."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2495
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2502
msgid ""
"The {portmgr} reserves the right to revoke or override anyone's "
"maintainership for any reason, and the {security-officer} reserves the right "
"to revoke or override maintainership for security reasons."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2497
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2504
#, no-wrap
msgid "`COMMENT`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2501
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2508
msgid ""
"The comment is a one-line description of a port shown by `pkg info`. Please "
"follow these rules when composing it:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2503
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2510
msgid "The COMMENT string should be 70 characters or less."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2504
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2511
msgid "Do _not_ include the package name or version number of software."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2505
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2512
msgid "The comment must begin with a capital and end without a period."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2506
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2513
msgid "Do not start with an indefinite article (that is, A or An)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2507
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2514
msgid "Capitalize names such as Apache, JavaScript, or Perl."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2508
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2515
msgid "Use a serial comma for lists of words: \"green, red, and blue.\""
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2509
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2516
msgid "Check for spelling errors."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2511
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2518
msgid "Here is an example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2515
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2522
#, no-wrap
msgid "COMMENT=\tCat chasing a mouse all over the screen\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2518
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2525
msgid ""
"The COMMENT variable immediately follows the MAINTAINER variable in the [."
"filename]#Makefile#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2520
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2527
#, no-wrap
msgid "Project website"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2523
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2530
msgid ""
"Each port should point to a website that provides more information about the "
"software."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2525
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2532
msgid ""
"Whenever possible, this should be the official project website maintained by "
"the developers of the software."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2529
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2536
#, no-wrap
msgid "WWW=\t\thttps://ffmpeg.org/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2532
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2539
msgid ""
"But it can also be a directory or resource in the source code repository:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2536
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2543
#, no-wrap
msgid "WWW=\t\thttps://sourceforge.net/projects/mpd/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2539
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2546
msgid ""
"The WWW variable immediately follows the COMMENT variable in the [."
"filename]#Makefile#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2542
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2549
msgid ""
"If the same content can be accessed via HTTP and HTTPS, the URL starting "
"with `https://` shall be used. If the URI is the root of the website or "
"directory, it must be terminated with a slash."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2546
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2553
msgid ""
"This information used to be placed into the last line of the [.filename]#pkg-"
"descr# file. It has been moved into the Makefile for easier maintenance and "
"processing. Having a `WWW:` line at the end of the [.filename]#pkg-descr# "
"file is deprecated."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2548
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2555
#, no-wrap
msgid "Licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2552
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2559
msgid ""
"Each port must document the license under which it is available. If it is "
"not an OSI approved license it must also document any restrictions on "
"redistribution."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2554
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2561
#, no-wrap
msgid "`LICENSE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2557
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2564
msgid ""
"A short name for the license or licenses if more than one license apply."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2559
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2566
msgid ""
"If it is one of the licenses listed in <<licenses-license-list>>, only "
"`LICENSE_FILE` and `LICENSE_DISTFILES` variables can be set."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2562
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2569
msgid ""
"If this is a license that has not been defined in the ports framework (see "
"<<licenses-license-list>>), the `LICENSE_PERMS` and `LICENSE_NAME` must be "
"set, along with either `LICENSE_FILE` or `LICENSE_TEXT`. "
"`LICENSE_DISTFILES` and `LICENSE_GROUPS` can also be set, but are not "
"required."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2565
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2572
msgid ""
"The predefined licenses are shown in <<licenses-license-list>>. The current "
"list is always available in [.filename]#Mk/bsd.licenses.db.mk#."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2567
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2574
#, no-wrap
msgid "Simplest Usage, Predefined Licenses"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2572
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2579
msgid ""
"When the [.filename]#README# of some software says \"This software is under "
"the terms of the GNU Lesser General Public License as published by the Free "
"Software Foundation; either version 2.1 of the License, or (at your option) "
"any later version.\" but does not provide the license file, use this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2576
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2583
#, no-wrap
msgid "LICENSE=\tLGPL21+\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2579
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2586
msgid "When the software provides the license file, use this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2584
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2591
#, no-wrap
msgid ""
"LICENSE=\tLGPL21+\n"
"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2589
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2596
msgid ""
"For the predefined licenses, the default permissions are `dist-mirror dist-"
"sell pkg-mirror pkg-sell auto-accept`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2591
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2598
#, no-wrap
msgid "Predefined License List"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2595
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2602
#, no-wrap
msgid "Short Name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2596
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2603
#, no-wrap
msgid "Name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2597
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2604
#, no-wrap
msgid "Group"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2599
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2606
#, no-wrap
msgid "Permissions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2600
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2607
#, no-wrap
msgid "`AGPLv3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2601
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2608
#, no-wrap
msgid "GNU Affero General Public License version 3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2602
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2607
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2632
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2832
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2847
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2852
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2857
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2862
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2867
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2872
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2877
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2882
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2887
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2897
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2902
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2907
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2912
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2917
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2922
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3032
-#, no-wrap
-msgid "`FSF GPL OSI`"
-msgstr ""
-
-#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2604
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2609
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2614
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2619
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2624
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2629
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2634
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2639
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2644
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2649
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2654
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2659
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2664
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2669
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2674
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2679
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2684
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2689
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2769
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2774
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2779
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2784
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2789
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2794
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2799
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2804
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2809
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2814
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2819
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2824
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2829
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2834
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2839
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2844
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2849
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2854
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2859
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2864
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2869
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2874
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2879
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2884
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2889
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2894
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2899
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2904
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2909
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2914
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2919
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2924
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2964
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2969
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2974
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2979
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2984
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2994
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2999
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3004
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3009
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3014
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3019
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3024
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3029
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3034
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2929
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3039
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3044
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3049
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3054
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3059
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3064
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3068
+#, no-wrap
+msgid "`FSF GPL OSI`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2611
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2616
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2621
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2626
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2631
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2636
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2641
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2646
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2651
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2656
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2661
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2666
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2671
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2676
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2681
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2686
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2691
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2696
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2776
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2781
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2786
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2791
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2796
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2801
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2806
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2811
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2816
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2821
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2826
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2831
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2836
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2841
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2846
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2851
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2856
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2861
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2866
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2871
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2876
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2881
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2886
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2891
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2896
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2901
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2906
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2911
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2916
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2921
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2926
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2931
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2971
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2976
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2981
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2986
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2991
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3001
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3006
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3011
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3016
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3021
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3026
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3031
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3036
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3041
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3046
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3051
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3056
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3061
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3066
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3071
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3075
#, no-wrap
msgid "(default)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2605
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2612
#, no-wrap
msgid "`AGPLv3+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2606
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2613
#, no-wrap
msgid "GNU Affero General Public License version 3 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2610
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2617
#, no-wrap
msgid "`APACHE10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2611
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2618
#, no-wrap
msgid "Apache License 1.0"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2612
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2657
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2842
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3007
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3042
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3191
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2619
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2664
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2849
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3014
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3049
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3198
#, no-wrap
msgid "`FSF`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2615
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2622
#, no-wrap
msgid "`APACHE11`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2616
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2623
#, no-wrap
msgid "Apache License 1.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2617
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2622
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2822
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2827
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2837
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2927
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2932
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2937
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2942
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2947
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2952
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2957
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2967
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2972
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2977
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3017
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3022
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3027
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2624
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2629
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2829
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2834
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2844
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2934
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2939
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2944
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2949
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2954
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2959
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2964
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2974
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2979
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2984
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3024
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3029
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3034
#, no-wrap
msgid "`FSF OSI`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2620
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2627
#, no-wrap
msgid "`APACHE20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2621
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2628
#, no-wrap
msgid "Apache License 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2625
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2632
#, no-wrap
msgid "`ART10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2626
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2633
#, no-wrap
msgid "Artistic License version 1.0"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2627
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2637
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3199
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2634
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2644
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3206
#, no-wrap
msgid "`OSI`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2630
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2637
#, no-wrap
msgid "`ART20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2631
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2638
#, no-wrap
msgid "Artistic License version 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2635
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2642
#, no-wrap
msgid "`ARTPERL10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2636
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2643
#, no-wrap
msgid "Artistic License (perl) version 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2640
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2647
#, no-wrap
msgid "`BSD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2641
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2648
#, no-wrap
msgid "BSD license Generic Version (deprecated)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2642
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2647
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2652
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2662
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2649
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2654
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2659
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2669
#, no-wrap
msgid "`FSF OSI COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2645
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2652
#, no-wrap
msgid "`BSD2CLAUSE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2646
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2653
#, no-wrap
msgid "BSD 2-clause \"Simplified\" License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2650
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2657
#, no-wrap
msgid "`BSD3CLAUSE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2651
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2658
#, no-wrap
msgid "BSD 3-clause \"New\" or \"Revised\" License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2655
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2662
#, no-wrap
msgid "`BSD4CLAUSE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2656
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2663
#, no-wrap
msgid "BSD 4-clause \"Original\" or \"Old\" License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2660
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2667
#, no-wrap
msgid "`BSL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2661
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2668
#, no-wrap
msgid "Boost Software License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2665
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2672
#, no-wrap
msgid "`CC-BY-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2666
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2673
#, no-wrap
msgid "Creative Commons Attribution 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2670
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2677
#, no-wrap
msgid "`CC-BY-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2671
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2678
#, no-wrap
msgid "Creative Commons Attribution 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2675
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2682
#, no-wrap
msgid "`CC-BY-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2676
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2683
#, no-wrap
msgid "Creative Commons Attribution 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2680
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2687
#, no-wrap
msgid "`CC-BY-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2681
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2688
#, no-wrap
msgid "Creative Commons Attribution 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2685
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2692
#, no-wrap
msgid "`CC-BY-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2686
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2693
#, no-wrap
msgid "Creative Commons Attribution 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2690
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2697
#, no-wrap
msgid "`CC-BY-NC-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2691
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2698
#, no-wrap
msgid "Creative Commons Attribution Non Commercial 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2694
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2699
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2704
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2709
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2714
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2719
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2724
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2729
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2734
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2739
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2744
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2749
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2754
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2759
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2764
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2701
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2706
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2711
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2716
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2721
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2726
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2731
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2736
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2741
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2746
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2751
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2756
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2761
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2766
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2771
#, no-wrap
msgid "`dist-mirror``pkg-mirror``auto-accept`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2695
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2702
#, no-wrap
msgid "`CC-BY-NC-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2696
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2703
#, no-wrap
msgid "Creative Commons Attribution Non Commercial 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2700
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2707
#, no-wrap
msgid "`CC-BY-NC-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2701
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2708
#, no-wrap
msgid "Creative Commons Attribution Non Commercial 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2705
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2712
#, no-wrap
msgid "`CC-BY-NC-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2706
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2713
#, no-wrap
msgid "Creative Commons Attribution Non Commercial 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2710
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2717
#, no-wrap
msgid "`CC-BY-NC-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2711
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2718
#, no-wrap
msgid "Creative Commons Attribution Non Commercial 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2715
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2722
#, no-wrap
msgid "`CC-BY-NC-ND-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2716
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2723
#, no-wrap
msgid "Creative Commons Attribution Non Commercial No Derivatives 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2720
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2727
#, no-wrap
msgid "`CC-BY-NC-ND-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2721
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2728
#, no-wrap
msgid "Creative Commons Attribution Non Commercial No Derivatives 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2725
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2732
#, no-wrap
msgid "`CC-BY-NC-ND-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2726
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2733
#, no-wrap
msgid "Creative Commons Attribution Non Commercial No Derivatives 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2730
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2737
#, no-wrap
msgid "`CC-BY-NC-ND-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2731
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2738
#, no-wrap
msgid "Creative Commons Attribution Non Commercial No Derivatives 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2735
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2742
#, no-wrap
msgid "`CC-BY-NC-ND-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2736
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2743
#, no-wrap
msgid "Creative Commons Attribution Non Commercial No Derivatives 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2740
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2747
#, no-wrap
msgid "`CC-BY-NC-SA-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2741
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2748
#, no-wrap
msgid "Creative Commons Attribution Non Commercial Share Alike 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2745
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2752
#, no-wrap
msgid "`CC-BY-NC-SA-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2746
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2753
#, no-wrap
msgid "Creative Commons Attribution Non Commercial Share Alike 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2750
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2757
#, no-wrap
msgid "`CC-BY-NC-SA-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2751
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2758
#, no-wrap
msgid "Creative Commons Attribution Non Commercial Share Alike 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2755
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2762
#, no-wrap
msgid "`CC-BY-NC-SA-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2756
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2763
#, no-wrap
msgid "Creative Commons Attribution Non Commercial Share Alike 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2760
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2767
#, no-wrap
msgid "`CC-BY-NC-SA-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2761
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2768
#, no-wrap
msgid "Creative Commons Attribution Non Commercial Share Alike 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2765
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2772
#, no-wrap
msgid "`CC-BY-ND-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2766
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2773
#, no-wrap
msgid "Creative Commons Attribution No Derivatives 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2770
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2777
#, no-wrap
msgid "`CC-BY-ND-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2771
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2778
#, no-wrap
msgid "Creative Commons Attribution No Derivatives 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2775
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2782
#, no-wrap
msgid "`CC-BY-ND-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2776
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2783
#, no-wrap
msgid "Creative Commons Attribution No Derivatives 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2780
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2787
#, no-wrap
msgid "`CC-BY-ND-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2781
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2788
#, no-wrap
msgid "Creative Commons Attribution No Derivatives 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2785
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2792
#, no-wrap
msgid "`CC-BY-ND-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2786
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2793
#, no-wrap
msgid "Creative Commons Attribution No Derivatives 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2790
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2797
#, no-wrap
msgid "`CC-BY-SA-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2791
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2798
#, no-wrap
msgid "Creative Commons Attribution Share Alike 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2795
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2802
#, no-wrap
msgid "`CC-BY-SA-2.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2796
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2803
#, no-wrap
msgid "Creative Commons Attribution Share Alike 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2800
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2807
#, no-wrap
msgid "`CC-BY-SA-2.5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2801
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2808
#, no-wrap
msgid "Creative Commons Attribution Share Alike 2.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2805
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2812
#, no-wrap
msgid "`CC-BY-SA-3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2806
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2813
#, no-wrap
msgid "Creative Commons Attribution Share Alike 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2810
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2817
#, no-wrap
msgid "`CC-BY-SA-4.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2811
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2818
#, no-wrap
msgid "Creative Commons Attribution Share Alike 4.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2815
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2822
#, no-wrap
msgid "`CC0-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2816
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2823
#, no-wrap
msgid "Creative Commons Zero v1.0 Universal"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2817
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2824
#, no-wrap
msgid "`FSF GPL COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2820
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2827
#, no-wrap
msgid "`CDDL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2821
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2828
#, no-wrap
msgid "Common Development and Distribution License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2825
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2832
#, no-wrap
msgid "`CPAL-1.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2826
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2833
#, no-wrap
msgid "Common Public Attribution License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2830
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2837
#, no-wrap
msgid "`ClArtistic`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2831
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2838
#, no-wrap
msgid "Clarified Artistic License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2835
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2842
#, no-wrap
msgid "`EPL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2836
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2843
#, no-wrap
msgid "Eclipse Public License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2840
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2847
#, no-wrap
msgid "`GFDL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2841
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2848
#, no-wrap
msgid "GNU Free Documentation License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2845
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2852
#, no-wrap
msgid "`GMGPL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2846
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2853
#, no-wrap
msgid "GNAT Modified General Public License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2850
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2857
#, no-wrap
msgid "`GPLv1`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2851
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2858
#, no-wrap
msgid "GNU General Public License version 1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2855
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2862
#, no-wrap
msgid "`GPLv1+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2856
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2863
#, no-wrap
msgid "GNU General Public License version 1 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2860
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2867
#, no-wrap
msgid "`GPLv2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2861
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2868
#, no-wrap
msgid "GNU General Public License version 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2865
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2872
#, no-wrap
msgid "`GPLv2+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2866
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2873
#, no-wrap
msgid "GNU General Public License version 2 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2870
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2877
#, no-wrap
msgid "`GPLv3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2871
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2878
#, no-wrap
msgid "GNU General Public License version 3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2875
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2882
#, no-wrap
msgid "`GPLv3+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2876
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2883
#, no-wrap
msgid "GNU General Public License version 3 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2880
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2887
#, no-wrap
msgid "`GPLv3RLE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2881
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2888
#, no-wrap
msgid "GNU GPL version 3 Runtime Library Exception"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2885
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2892
#, no-wrap
msgid "`GPLv3RLE+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2886
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2893
#, no-wrap
msgid "GNU GPL version 3 Runtime Library Exception (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2890
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2897
#, no-wrap
msgid "`ISCL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2891
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2898
#, no-wrap
msgid "Internet Systems Consortium License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2892
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3037
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2899
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3044
#, no-wrap
msgid "`FSF GPL OSI COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2895
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2902
#, no-wrap
msgid "`LGPL20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2896
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2903
#, no-wrap
msgid "GNU Library General Public License version 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2900
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2907
#, no-wrap
msgid "`LGPL20+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2901
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2908
#, no-wrap
msgid "GNU Library General Public License version 2.0 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2905
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2912
#, no-wrap
msgid "`LGPL21`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2906
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2913
#, no-wrap
msgid "GNU Lesser General Public License version 2.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2910
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2917
#, no-wrap
msgid "`LGPL21+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2911
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2918
#, no-wrap
msgid "GNU Lesser General Public License version 2.1 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2915
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2922
#, no-wrap
msgid "`LGPL3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2916
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2923
#, no-wrap
msgid "GNU Lesser General Public License version 3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2920
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2927
#, no-wrap
msgid "`LGPL3+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2921
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2928
#, no-wrap
msgid "GNU Lesser General Public License version 3 (or later)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2925
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2932
#, no-wrap
msgid "`LPPL10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2926
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2933
#, no-wrap
msgid "LaTeX Project Public License version 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2929
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2934
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2939
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2944
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2949
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2954
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2959
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2936
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2941
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2946
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2951
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2956
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2961
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2966
#, no-wrap
msgid "`dist-mirror dist-sell`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2930
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2937
#, no-wrap
msgid "`LPPL11`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2931
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2938
#, no-wrap
msgid "LaTeX Project Public License version 1.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2935
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2942
#, no-wrap
msgid "`LPPL12`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2936
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2943
#, no-wrap
msgid "LaTeX Project Public License version 1.2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2940
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2947
#, no-wrap
msgid "`LPPL13`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2941
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2948
#, no-wrap
msgid "LaTeX Project Public License version 1.3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2945
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2952
#, no-wrap
msgid "`LPPL13a`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2946
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2953
#, no-wrap
msgid "LaTeX Project Public License version 1.3a"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2950
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2957
#, no-wrap
msgid "`LPPL13b`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2951
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2958
#, no-wrap
msgid "LaTeX Project Public License version 1.3b"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2955
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2962
#, no-wrap
msgid "`LPPL13c`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2956
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2963
#, no-wrap
msgid "LaTeX Project Public License version 1.3c"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2960
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2967
#, no-wrap
msgid "`MIT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2961
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2968
#, no-wrap
msgid "MIT license / X11 license"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2962
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2982
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2969
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2989
#, no-wrap
msgid "`COPYFREE FSF GPL OSI`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2965
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2972
#, no-wrap
msgid "`MPL10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2966
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2973
#, no-wrap
msgid "Mozilla Public License version 1.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2970
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2977
#, no-wrap
msgid "`MPL11`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2971
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2978
#, no-wrap
msgid "Mozilla Public License version 1.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2975
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2982
#, no-wrap
msgid "`MPL20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2976
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2983
#, no-wrap
msgid "Mozilla Public License version 2.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2980
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2987
#, no-wrap
msgid "`NCSA`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2981
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2988
#, no-wrap
msgid "University of Illinois/NCSA Open Source License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2985
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2992
#, no-wrap
msgid "`NONE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2986
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2993
#, no-wrap
msgid "No license specified"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2989
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2996
#, no-wrap
msgid "`none`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2990
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2997
#, no-wrap
msgid "`OFL10`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2991
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2998
#, no-wrap
msgid "SIL Open Font License version 1.0 (https://scripts.sil.org/OFL/)"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2992
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2997
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3207
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2999
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3004
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3214
#, no-wrap
msgid "`FONTS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2995
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3002
#, no-wrap
msgid "`OFL11`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2996
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3003
#, no-wrap
msgid "SIL Open Font License version 1.1 (https://scripts.sil.org/OFL/)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3000
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3007
#, no-wrap
msgid "`OWL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3001
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3008
#, no-wrap
msgid "Open Works License (owl.apotheon.org)"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3002
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3203
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3009
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3210
#, no-wrap
msgid "`COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3005
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3012
#, no-wrap
msgid "`OpenSSL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3006
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3013
#, no-wrap
msgid "OpenSSL License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3010
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3017
#, no-wrap
msgid "`PD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3011
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3018
#, no-wrap
msgid "Public Domain"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3012
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3019
#, no-wrap
msgid "`GPL COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3015
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3022
#, no-wrap
msgid "`PHP202`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3016
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3023
#, no-wrap
msgid "PHP License version 2.02"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3020
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3027
#, no-wrap
msgid "`PHP30`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3021
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3028
#, no-wrap
msgid "PHP License version 3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3025
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3032
#, no-wrap
msgid "`PHP301`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3026
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3033
#, no-wrap
msgid "PHP License version 3.01"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3030
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3037
#, no-wrap
msgid "`PSFL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3031
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3038
#, no-wrap
msgid "Python Software Foundation License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3035
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3042
#, no-wrap
msgid "`PostgreSQL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3036
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3043
#, no-wrap
msgid "PostgreSQL License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3040
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3047
#, no-wrap
msgid "`RUBY`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3041
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3048
#, no-wrap
msgid "Ruby License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3045
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3052
#, no-wrap
msgid "`UNLICENSE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3046
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3053
#, no-wrap
msgid "The Unlicense"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3047
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3054
#, no-wrap
msgid "`COPYFREE FSF GPL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3050
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3057
#, no-wrap
msgid "`WTFPL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3051
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3058
#, no-wrap
msgid "Do What the Fuck You Want To Public License version 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3052
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3057
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3059
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3064
#, no-wrap
msgid "`GPL FSF COPYFREE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3055
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3062
#, no-wrap
msgid "`WTFPL1`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3056
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3063
#, no-wrap
msgid "Do What the Fuck You Want To Public License version 1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3060
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3067
#, no-wrap
msgid "`ZLIB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3061
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3068
#, no-wrap
msgid "zlib License"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3062
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3069
#, no-wrap
msgid "`GPL FSF OSI`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3065
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3072
#, no-wrap
msgid "`ZPL21`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3066
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3073
#, no-wrap
msgid "Zope Public License version 2.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3067
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3074
#, no-wrap
msgid "`GPL OSI`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3071
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3078
#, no-wrap
msgid "`LICENSE_PERMS` and `LICENSE_PERMS_NAME_`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3074
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3081
msgid "Permissions. use `none` if empty."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3075
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3082
#, no-wrap
msgid "License Permissions List"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3077
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3084
#, no-wrap
msgid "`dist-mirror`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3080
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3087
msgid ""
"Redistribution of the distribution files is permitted. The distribution "
"files will be added to the FreeBSD `MASTER_SITE_BACKUP` CDN."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3082
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3089
#, no-wrap
msgid "`no-dist-mirror`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3086
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093
msgid ""
"Redistribution of the distribution files is prohibited. This is equivalent "
"to setting crossref:special[porting-restrictions-restricted,`RESTRICTED`]. "
"The distribution files will _not_ be added to the FreeBSD "
"`MASTER_SITE_BACKUP` CDN."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3088
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3095
#, no-wrap
msgid "`dist-sell`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3091
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098
msgid ""
"Selling of distribution files is permitted. The distribution files will be "
"present on the installer images."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3100
#, no-wrap
msgid "`no-dist-sell`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3096
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103
msgid ""
"Selling of distribution files is prohibited. This is equivalent to setting "
"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3105
#, no-wrap
msgid "`pkg-mirror`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3101
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3108
msgid ""
"Free redistribution of package is permitted. The package will be "
"distributed on the FreeBSD package CDN https://pkg.freebsd.org/[https://pkg."
"freebsd.org/]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3110
#, no-wrap
msgid "`no-pkg-mirror`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3107
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3114
msgid ""
"Free redistribution of package is prohibited. Equivalent to setting "
"crossref:special[porting-restrictions-no_package,`NO_PACKAGE`]. The package "
"will _not_ be distributed from the FreeBSD package CDN https://pkg.freebsd."
"org/[https://pkg.freebsd.org/]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3109
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3116
#, no-wrap
msgid "`pkg-sell`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3112
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3119
msgid ""
"Selling of package is permitted. The package will be present on the "
"installer images."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3114
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3121
#, no-wrap
msgid "`no-pkg-sell`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3118
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3125
msgid ""
"Selling of package is prohibited. This is equivalent to setting crossref:"
"special[porting-restrictions-no_cdrom,`NO_CDROM`]. The package will _not_ "
"be present on the installer images."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3120
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3127
#, no-wrap
msgid "`auto-accept`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3124
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3131
msgid ""
"License is accepted by default. Prompts to accept a license are not "
"displayed unless the user has defined `LICENSES_ASK`. Use this unless the "
"license states the user must accept the terms of the license."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3126
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3133
#, no-wrap
msgid "`no-auto-accept`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3130
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3137
msgid ""
"License is not accepted by default. The user will always be asked to "
"confirm the acceptance of this license. This must be used if the license "
"states that the user must accept its terms."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3132
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3139
msgid ""
"When both `_permission_` and `no-_permission_` is present the `no-"
"_permission_` will cancel `_permission_`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3134
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3141
msgid ""
"When `_permission_` is not present, it is considered to be a `no-"
"_permission_`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3138
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3145
msgid ""
"Some missing permissions will prevent a port (and all ports depending on it) "
"from being usable by package users:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3140
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3147
msgid ""
"A port without the `auto-accept` permission will never be be built and all "
"the ports depending on it will be ignored."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3142
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3149
msgid ""
"A port without the `pkg-mirror` permission will be removed, as well as all "
"the ports depending on it, after the build and they will ever end up being "
"distributed."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3145
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3152
#, no-wrap
msgid "Nonstandard License"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3149
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3156
msgid ""
"Read the terms of the license and translate those using the available "
"permissions."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3157
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3164
#, no-wrap
msgid ""
"LICENSE= UNKNOWN\n"
"LICENSE_NAME= unknown\n"
"LICENSE_TEXT= This program is NOT in public domain.\\\n"
" It can be freely distributed for non-commercial purposes only.\n"
"LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3162
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3169
#, no-wrap
msgid "Standard and Nonstandard Licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3168
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3175
msgid ""
"Read the terms of the license and express those using the available "
"permissions. In case of doubt, please ask for guidance on the {freebsd-"
"ports}."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3176
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3183
#, no-wrap
msgid ""
"LICENSE= WARSOW GPLv2\n"
"LICENSE_COMB= multi\n"
"LICENSE_NAME_WARSOW= Warsow Content License\n"
"LICENSE_FILE_WARSOW= ${WRKSRC}/docs/license.txt\n"
"LICENSE_PERMS_WARSOW= dist-mirror pkg-mirror auto-accept\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3182
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3189
msgid ""
"When the permissions of the GPLv2 and the UNKNOWN licenses are mixed, the "
"port ends up with `dist-mirror dist-sell pkg-mirror pkg-sell auto-accept "
"dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept`. The `no-"
"_permissions_` cancel the _permissions_. The resulting list of permissions "
"are _dist-mirror pkg-mirror auto-accept_. The distribution files and the "
"packages will not be available on the installer images."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3185
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3192
#, no-wrap
msgid "`LICENSE_GROUPS` and `LICENSE_GROUPS_NAME`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3188
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3195
msgid "Groups the license belongs."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3189
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3196
#, no-wrap
msgid "Predefined License Groups List"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3193
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3200
msgid ""
"Free Software Foundation Approved, see the https://www.fsf.org/licensing/"
"[FSF Licensing & Compliance Team]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3195
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3202
#, no-wrap
msgid "`GPL`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3197
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3204
msgid "GPL Compatible"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3201
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3208
msgid ""
"OSI Approved, see the Open Source Initiative https://opensource.org/licenses/"
"[Open Source Licenses] page."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3205
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3212
msgid ""
"Comply with Copyfree Standard Definition, see the https://copyfree.org/"
"standard/licenses/[Copyfree Licenses] page."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3209
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3216
msgid "Font licenses"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3211
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3218
#, no-wrap
msgid "`LICENSE_NAME` and `LICENSE_NAME_NAME`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3214
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3221
msgid "Full name of the license."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3216
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3223
#, no-wrap
msgid "`LICENSE_NAME`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3226
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3233
#, no-wrap
msgid ""
"LICENSE= UNRAR\n"
"LICENSE_NAME= UnRAR License\n"
"LICENSE_FILE= ${WRKSRC}/license.txt\n"
"LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3231
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3238
#, no-wrap
msgid "`LICENSE_FILE` and `LICENSE_FILE_NAME`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3235
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3242
msgid ""
"Full path to the file containing the license text, usually [."
"filename]#${WRKSRC}/some/file#. If the file is not in the distfile, and its "
"content is too long to be put in <<licenses-license_text,`LICENSE_TEXT`>>, "
"put it in a new file in [.filename]#${FILESDIR}#."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3237
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3244
#, no-wrap
msgid "`LICENSE_FILE`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3245
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3252
#, no-wrap
msgid ""
"LICENSE=\tGPLv3+\n"
"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3250
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3257
#, no-wrap
msgid "`LICENSE_TEXT` and `LICENSE_TEXT_NAME`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3254
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3261
msgid ""
"Text to use as a license. Useful when the license is not in the "
"distribution files and its text is short."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3256
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3263
#, no-wrap
msgid "`LICENSE_TEXT`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3267
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3274
#, no-wrap
msgid ""
"LICENSE= UNKNOWN\n"
"LICENSE_NAME= unknown\n"
"LICENSE_TEXT= This program is NOT in public domain.\\\n"
" It can be freely distributed for non-commercial purposes only,\\\n"
" and THERE IS NO WARRANTY FOR THIS PROGRAM.\n"
"LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3272
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3279
#, no-wrap
msgid "`LICENSE_DISTFILES` and `LICENSE_DISTFILES_NAME`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3276
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3283
msgid ""
"The distribution files to which the licenses apply. Defaults to all the "
"distribution files."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3278
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3285
#, no-wrap
msgid "`LICENSE_DISTFILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3283
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3290
msgid ""
"Used when the distribution files do not all have the same license. For "
"example, one has a code license, and another has some artwork that cannot be "
"redistributed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3288
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3295
#, no-wrap
msgid ""
"MASTER_SITES= SF/some-game\n"
"DISTFILES= ${DISTNAME}${EXTRACT_SUFX} artwork.zip\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3296
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3303
#, no-wrap
msgid ""
"LICENSE= BSD3CLAUSE ARTWORK\n"
"LICENSE_COMB= dual\n"
"LICENSE_NAME_ARTWORK= The game artwork license\n"
"LICENSE_TEXT_ARTWORK= The README says that the files cannot be redistributed\n"
"LICENSE_PERMS_ARTWORK= pkg-mirror pkg-sell auto-accept\n"
"LICENSE_DISTFILES_BSD3CLAUSE= ${DISTNAME}${EXTRACT_SUFX}\n"
"LICENSE_DISTFILES_ARTWORK= artwork.zip\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3301
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3308
#, no-wrap
msgid "`LICENSE_COMB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3306
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3313
msgid ""
"Set to `multi` if all licenses apply. Set to `dual` if any license "
"applies. Defaults to `single`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3308
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3315
#, no-wrap
msgid "Dual Licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3315
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3322
msgid ""
"When a port says \"This software may be distributed under the GNU General "
"Public License or the Artistic License\", it means that either license can "
"be used. Use this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3320
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3327
#, no-wrap
msgid ""
"LICENSE=\tART10 GPLv1\n"
"LICENSE_COMB= dual\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3323
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3330
msgid "If license files are provided, use this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3330
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3337
#, no-wrap
msgid ""
"LICENSE=\tART10 GPLv1\n"
"LICENSE_COMB= dual\n"
"LICENSE_FILE_ART10= ${WRKSRC}/Artistic\n"
"LICENSE_FILE_GPLv1= ${WRKSRC}/Copying\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3335
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3342
#, no-wrap
msgid "Multiple Licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3340
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3347
msgid ""
"When part of a port has one license, and another part has a different "
"license, use `multi`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3345
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3352
#, no-wrap
msgid ""
"LICENSE=\tGPLv2 LGPL21+\n"
"LICENSE_COMB=\tmulti\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3350
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3357
#, no-wrap
msgid "`PORTSCOUT`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3353
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3360
msgid ""
"Portscout is an automated distfile check utility for the FreeBSD Ports "
"Collection, described in detail in crossref:keeping-up[distfile-survey,"
"Portscout: the FreeBSD Ports Distfile Scanner]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3355
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3362
msgid ""
"`PORTSCOUT` defines special conditions within which the Portscout distfile "
"scanner is restricted."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3357
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3364
msgid "Situations where `PORTSCOUT` is set include:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3359
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3366
msgid ""
"When distfiles have to be ignored for specific versions. For example, to "
"exclude version _8.2_ and version _8.3_ from distfile version checks because "
"they are known to be broken, add:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3363
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3370
#, no-wrap
msgid "PORTSCOUT=\tskipv:8.2,8.3\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3366
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3373
msgid ""
"When distfile version checks have to be disabled completely. For example, if "
"a port is not going to be updated ever again, add:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3370
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3377
#, no-wrap
msgid "PORTSCOUT=\tignore:1\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3373
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3380
msgid ""
"When specific versions or specific major and minor revisions of a distfile "
"must be checked. For example, if only version _0.6.4_ must be monitored "
"because newer versions have compatibility issues with FreeBSD, add:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3377
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3384
#, no-wrap
msgid "PORTSCOUT=\tlimit:^0\\.6\\.4\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3380
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3387
msgid ""
"When URLs listing the available versions differ from the download URLs. For "
"example, to limit distfile version checks to the download page for the "
"package:databases/pgtune[] port, add:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3384
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3391
#, no-wrap
msgid "PORTSCOUT=\tsite:http://www.renpy.org/dl/release/\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3387
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3394
#, no-wrap
msgid "Dependencies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3394
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3401
msgid ""
"Many ports depend on other ports. This is a very convenient feature of most "
"Unix-like operating systems, including FreeBSD. Multiple ports can share a "
"common dependency, rather than bundling that dependency with every port or "
"package that needs it. There are seven variables that can be used to ensure "
"that all the required bits will be on the user's machine. There are also "
"some pre-supported dependency variables for common cases, plus a few more to "
"control the behavior of dependencies."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3400
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3407
msgid ""
"When software has extra dependencies that provide extra features, the base "
"dependencies listed in `*_DEPENDS` should include the extra dependencies "
"that would benefit most users. The base dependencies should never be a "
"\"minimal\" dependency set. The goal is not to include every dependency "
"possible. Only include those that will benefit most people."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3403
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4747
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3410
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4754
#, no-wrap
msgid "`LIB_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3408
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3415
msgid ""
"This variable specifies the shared libraries this port depends on. It is a "
"list of `_lib:dir_` tuples where `_lib_` is the name of the shared library, "
"`_dir_` is the directory in which to find it in case it is not available. "
"For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3412
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3419
#, no-wrap
msgid "LIB_DEPENDS= libjpeg.so:graphics/jpeg\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3415
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3422
msgid ""
"will check for a shared jpeg library with any version, and descend into the "
"[.filename]#graphics/jpeg# subdirectory of the ports tree to build and "
"install it if it is not found."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3418
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3425
msgid ""
"The dependency is checked twice, once from within the `build` target and "
"then from within the `install` target. Also, the name of the dependency is "
"put into the package so that `pkg install` (see man:pkg-install[8]) will "
"automatically install it if it is not on the user's system."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3420
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4748
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3427
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4755
#, no-wrap
msgid "`RUN_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3425
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3432
msgid ""
"This variable specifies executables or files this port depends on during run-"
"time. It is a list of ``_path:dir_``[:``_target_``] tuples where `_path_` "
"is the name of the executable or file, _dir_ is the directory in which to "
"find it in case it is not available, and _target_ is the target to call in "
"that directory. If _path_ starts with a slash (`/`), it is treated as a "
"file and its existence is tested with `test -e`; otherwise, it is assumed to "
"be an executable, and `which -s` is used to determine if the program exists "
"in the search path."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3427
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3434
msgid "For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3432
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3439
#, no-wrap
msgid ""
"RUN_DEPENDS=\t${LOCALBASE}/news/bin/innd:news/inn \\\n"
"\t\txmlcatmgr:textproc/xmlcatmgr\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3436
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3443
msgid ""
"will check if the file or directory [.filename]#/usr/local/news/bin/innd# "
"exists, and build and install it from the [.filename]#news/inn# subdirectory "
"of the ports tree if it is not found. It will also see if an executable "
"called `xmlcatmgr` is in the search path, and descend into [."
"filename]#textproc/xmlcatmgr# to build and install it if it is not found."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3441
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3448
msgid ""
"In this case, `innd` is actually an executable; if an executable is in a "
"place that is not expected to be in the search path, use the full pathname."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3446
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3453
msgid "The official search `PATH` used on the ports build cluster is"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3450
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3457
#, no-wrap
msgid "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3457
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3464
msgid ""
"The dependency is checked from within the `install` target. Also, the name "
"of the dependency is put into the package so that `pkg install` (see man:pkg-"
"install[8]) will automatically install it if it is not on the user's "
"system. The _target_ part can be omitted if it is the same as "
"`DEPENDS_TARGET`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3460
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3467
msgid ""
"A quite common situation is when `RUN_DEPENDS` is literally the same as "
"`BUILD_DEPENDS`, especially if ported software is written in a scripted "
"language or if it requires the same build and run-time environment. In this "
"case, it is both tempting and intuitive to directly assign one to the other:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3464
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3471
#, no-wrap
msgid "RUN_DEPENDS=\t${BUILD_DEPENDS}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3471
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3478
msgid ""
"However, such assignment can pollute run-time dependencies with entries not "
"defined in the port's original `BUILD_DEPENDS`. This happens because of man:"
"make[1]'s lazy evaluation of variable assignment. Consider a [."
"filename]#Makefile# with `USE_*`, which are processed by [.filename]#ports/"
"Mk/bsd.*.mk# to augment initial build dependencies. For example, `USES= "
"gmake` adds package:devel/gmake[] to `BUILD_DEPENDS`. To prevent such "
"additional dependencies from polluting `RUN_DEPENDS`, create another "
"variable with the current content of `BUILD_DEPENDS` and assign it to both "
"`BUILD_DEPENDS` and `RUN_DEPENDS`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3478
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3485
#, no-wrap
msgid ""
"MY_DEPENDS=\tsome:devel/some \\\n"
"\t\tother:lang/other\n"
"BUILD_DEPENDS=\t${MY_DEPENDS}\n"
"RUN_DEPENDS=\t${MY_DEPENDS}\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3484
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3491
msgid ""
"_Do not_ use `:=` to assign `BUILD_DEPENDS` to `RUN_DEPENDS` or vice-versa. "
"All variables are expanded immediately, which is exactly the wrong thing to "
"do and almost always a failure."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3487
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4746
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3494
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4753
#, no-wrap
msgid "`BUILD_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3492
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3499
msgid ""
"This variable specifies executables or files this port requires to build. "
"Like `RUN_DEPENDS`, it is a list of ``_path:dir_``[:``_target_``] tuples. "
"For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3496
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3503
#, no-wrap
msgid "BUILD_DEPENDS=\tunzip:archivers/unzip\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3499
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3537
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3506
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3544
msgid ""
"will check for an executable called `unzip`, and descend into the [."
"filename]#archivers/unzip# subdirectory of the ports tree to build and "
"install it if it is not found."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3505
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3512
msgid ""
"\"build\" here means everything from extraction to compilation. The "
"dependency is checked from within the `extract` target. The _target_ part "
"can be omitted if it is the same as `DEPENDS_TARGET`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3508
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4745
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3515
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4752
#, no-wrap
msgid "`FETCH_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3513
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3520
msgid ""
"This variable specifies executables or files this port requires to fetch. "
"Like the previous two, it is a list of ``_path:dir_``[:``_target_``] "
"tuples. For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3517
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3524
#, no-wrap
msgid "FETCH_DEPENDS=\tncftp2:net/ncftp2\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3520
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3527
msgid ""
"will check for an executable called `ncftp2`, and descend into the [."
"filename]#net/ncftp2# subdirectory of the ports tree to build and install it "
"if it is not found."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3523
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3530
msgid ""
"The dependency is checked from within the `fetch` target. The _target_ part "
"can be omitted if it is the same as `DEPENDS_TARGET`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3525
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4743
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3532
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4750
#, no-wrap
msgid "`EXTRACT_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3530
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3537
msgid ""
"This variable specifies executables or files this port requires for "
"extraction. Like the previous, it is a list of ``_path:dir_``[:"
"``_target_``] tuples. For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3534
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3541
#, no-wrap
msgid "EXTRACT_DEPENDS=\tunzip:archivers/unzip\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3540
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3547
msgid ""
"The dependency is checked from within the `extract` target. The _target_ "
"part can be omitted if it is the same as `DEPENDS_TARGET`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3544
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3551
msgid ""
"Use this variable only if the extraction does not already work (the default "
"assumes `tar`) and cannot be made to work using `USES=tar`, `USES=lha` or "
"`USES=zip` described in crossref:uses[uses,Using `USES` Macros]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3547
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4744
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3554
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4751
#, no-wrap
msgid "`PATCH_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3551
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3558
msgid ""
"This variable specifies executables or files this port requires to patch. "
"Like the previous, it is a list of ``_path:dir_``[:``_target_``] tuples. For "
"example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3555
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3562
#, no-wrap
msgid "PATCH_DEPENDS=\t${NONEXISTENT}:java/jfc:extract\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3558
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3565
msgid ""
"will descend into the [.filename]#java/jfc# subdirectory of the ports tree "
"to extract it."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3561
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3568
msgid ""
"The dependency is checked from within the `patch` target. The _target_ part "
"can be omitted if it is the same as `DEPENDS_TARGET`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3563
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4825
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3570
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4832
#, no-wrap
msgid "`USES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3567
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3574
msgid ""
"Parameters can be added to define different features and dependencies used "
"by the port. They are specified by adding this line to the [."
"filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3571
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3578
#, no-wrap
msgid "USES= feature[:arguments]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3574
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3581
msgid ""
"For the complete list of values, please see crossref:uses[uses,Using `USES` "
"Macros]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3578
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3585
msgid ""
"`USES` cannot be assigned after inclusion of [.filename]#bsd.port.pre.mk#."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3581
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3603
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4128
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3588
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3610
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4135
#, no-wrap
msgid "`USE_*`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3588
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3595
msgid ""
"Several variables exist to define common dependencies shared by many ports. "
"Their use is optional, but helps to reduce the verbosity of the port [."
"filename]##Makefile##s. Each of them is styled as `USE_*`. These variables "
"may be used only in the port [.filename]##Makefile##s and [.filename]#ports/"
"Mk/bsd.*.mk#. They are not meant for user-settable options - use "
"`PORT_OPTIONS` for that purpose."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3593
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3600
msgid ""
"It is _always_ incorrect to set any `USE_*` in [.filename]#/etc/make.conf#. "
"For instance, setting"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3597
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3604
#, no-wrap
msgid "USE_GCC=X.Y\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3600
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3607
msgid ""
"(where X.Y is version number) would add a dependency on gccXY for every "
"port, including `lang/gccXY` itself!"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3609
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3616
#, no-wrap
msgid "Means"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3610
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3617
#, no-wrap
msgid "`USE_GCC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3635
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3642
#, no-wrap
msgid ""
"The port requires GCC (`gcc` or `{g-plus-plus}`) to build.\n"
"Some ports need a specific, old GCC version, some require modern, recent versions.\n"
"It is typically set to `yes` (means always use stable, modern GCC from ports per `GCC_DEFAULT` in [.filename]#Mk/bsd.default-versions.mk#).\n"
"This is also the default value.\n"
"The exact version can also be specified, with a value such as `10`.\n"
"GCC from the base system is used when it satisfies the requested version, otherwise an appropriate compiler is built from ports, and `CC` and `CXX` are adjusted accordingly.\n"
"The `:build` argument following the version specifier adds only a build time dependency to the port.\n"
"\n"
"For example:\n"
"[example]\n"
"====\n"
"[.programlisting]\n"
"....\n"
"USE_GCC=yes\t\t# port requires a current version of GCC\n"
"USE_GCC=11:build\t# port requires GCC 11 at build time only\n"
"....\n"
"====\n"
"\n"
"[NOTE]\n"
"====\n"
"`USE_GCC=any` is deprecated and should not be used in new ports\n"
"===="
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3644
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3651
msgid ""
"Variables related to gmake and [.filename]#configure# are described in "
"crossref:special[building,Building Mechanisms], while autoconf, automake and "
"libtool are described in crossref:special[using-autotools,Using GNU "
"Autotools]. Perl related variables are described in crossref:special[using-"
"perl,Using Perl]. X11 variables are listed in crossref:special[using-x11,"
"Using X11]. crossref:special[using-gnome,Using Gnome] deals with GNOME and "
"crossref:special[using-kde,Using KDE] with KDE related variables. crossref:"
"special[using-java,Using Java] documents Java variables, while crossref:"
"special[using-php,Web Applications, Apache and PHP] contains information on "
"Apache, PHP and PEAR modules. Python is discussed in crossref:special[using-"
"python,Using Python], while Ruby in crossref:special[using-ruby,Using "
"Ruby]. crossref:special[using-sdl,Using SDL] provides variables used for "
"SDL applications and finally, crossref:special[using-xfce,Using Xfce] "
"contains information on Xfce."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3646
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3653
#, no-wrap
msgid "Minimal Version of a Dependency"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3649
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3656
msgid ""
"A minimal version of a dependency can be specified in any `*_DEPENDS` except "
"`LIB_DEPENDS` using this syntax:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3653
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3660
#, no-wrap
msgid "p5-Spiffy>=0.26:devel/p5-Spiffy\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3657
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3664
msgid ""
"The first field contains a dependent package name, which must match the "
"entry in the package database, a comparison sign, and a package version. "
"The dependency is satisfied if p5-Spiffy-0.26 or newer is installed on the "
"machine."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3659
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3666
#, no-wrap
msgid "Notes on Dependencies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3665
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3672
msgid ""
"As mentioned above, the default target to call when a dependency is required "
"is `DEPENDS_TARGET`. It defaults to `install`. This is a user variable; it "
"is never defined in a port's [.filename]#Makefile#. If the port needs a "
"special way to handle a dependency, use the `:target` part of `*_DEPENDS` "
"instead of redefining `DEPENDS_TARGET`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3669
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3676
msgid ""
"When running `make clean`, the port dependencies are automatically cleaned "
"too. If this is not desirable, define `NOCLEANDEPENDS` in the environment. "
"This may be particularly desirable if the port has something that takes a "
"long time to rebuild in its dependency list, such as KDE, GNOME or Mozilla."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3674
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3681
msgid ""
"To depend on another port unconditionally, use the variable `${NONEXISTENT}` "
"as the first field of `BUILD_DEPENDS` or `RUN_DEPENDS`. Use this only when "
"the source of the other port is needed. Compilation time can be saved by "
"specifying the target too. For instance"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3678
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3685
#, no-wrap
msgid "BUILD_DEPENDS=\t${NONEXISTENT}:graphics/jpeg:extract\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3681
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3688
msgid "will always descend to the `jpeg` port and extract it."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3683
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3690
#, no-wrap
msgid "Circular Dependencies Are Fatal"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3688
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3695
msgid "Do not introduce any circular dependencies into the ports tree!"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3695
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3702
msgid ""
"The ports building technology does not tolerate circular dependencies. If "
"one is introduced, someone, somewhere in the world, will have their FreeBSD "
"installation broken almost immediately, with many others quickly to follow. "
"These can really be hard to detect. If in doubt, before making that change, "
"make sure to run: `cd /usr/ports; make index`. That process can be quite "
"slow on older machines, but it may be able to save a large number of people, "
"including yourself, a lot of grief in the process."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3697
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3704
#, no-wrap
msgid "Problems Caused by Automatic Dependencies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3701
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3708
msgid ""
"Dependencies must be declared either explicitly or by using the <<makefile-"
"options,OPTIONS framework>>. Using other methods like automatic detection "
"complicates indexing, which causes problems for port and package management."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3703
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3710
#, no-wrap
msgid "Wrong Declaration of an Optional Dependency"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3710
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3717
#, no-wrap
msgid ".include <bsd.port.pre.mk>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3714
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3721
#, no-wrap
msgid ""
".if exists(${LOCALBASE}/bin/foo)\n"
"LIB_DEPENDS=\tlibbar.so:foo/bar\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3723
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3730
msgid ""
"The problem with trying to automatically add dependencies is that files and "
"settings outside an individual port can change at any time. For example: an "
"index is built, then a batch of ports are installed. But one of the ports "
"installs the tested file. The index is now incorrect, because an installed "
"port unexpectedly has a new dependency. The index may still be wrong even "
"after rebuilding if other ports also determine their need for dependencies "
"based on the existence of other files."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3725
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3732
#, no-wrap
msgid "Correct Declaration of an Optional Dependency"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3733
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3740
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tBAR\n"
"BAR_DESC=\tCalling cellphones via bar\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3735
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3742
#, no-wrap
msgid "BAR_LIB_DEPENDS=\tlibbar.so:foo/bar\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3742
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3749
msgid ""
"Testing option variables is the correct method. It will not cause "
"inconsistencies in the index of a batch of ports, provided the options were "
"defined prior to the index build. Simple scripts can then be used to "
"automate the building, installation, and updating of these ports and their "
"packages."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3744
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3751
#, no-wrap
msgid "Slave Ports and `MASTERDIR`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3750
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3757
msgid ""
"If the port needs to build slightly different versions of packages by having "
"a variable (for instance, resolution, or paper size) take different values, "
"create one subdirectory per package to make it easier for users to see what "
"to do, but try to share as many files as possible between ports. Typically, "
"by using variables cleverly, only a very short [.filename]#Makefile# is "
"needed in all but one of the directories. In the sole [."
"filename]#Makefile#, use `MASTERDIR` to specify the directory where the rest "
"of the files are. Also, use a variable as part of <<porting-pkgname,"
"`PKGNAMESUFFIX`>> so the packages will have different names."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3753
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3760
msgid ""
"This will be best demonstrated by an example. This is part of [."
"filename]#print/pkfonts300/Makefile#;"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3759
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3766
#, no-wrap
msgid ""
"PORTNAME=\tpkfonts${RESOLUTION}\n"
"PORTVERSION=\t1.0\n"
"DISTFILES=\tpk${RESOLUTION}.tar.gz\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3761
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3768
#, no-wrap
msgid "PLIST=\t\t${PKGDIR}/pkg-plist.${RESOLUTION}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3774
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3781
#, no-wrap
msgid ""
".if !defined(RESOLUTION)\n"
"RESOLUTION=\t300\n"
".else\n"
".if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \\\n"
"\t${RESOLUTION} != 300 && ${RESOLUTION} != 360 && \\\n"
"\t${RESOLUTION} != 400 && ${RESOLUTION} != 600\n"
".BEGIN:\n"
"\t@${ECHO_MSG} \"Error: invalid value for RESOLUTION: \\\"${RESOLUTION}\\\"\"\n"
"\t@${ECHO_MSG} \"Possible values are: 118, 240, 300, 360, 400 and 600.\"\n"
"\t@${FALSE}\n"
".endif\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3778
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3785
msgid ""
"package:print/pkfonts300[] also has all the regular patches, package files, "
"etc. Running `make` there, it will take the default value for the "
"resolution (300) and build the port normally."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3780
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3787
msgid ""
"As for other resolutions, this is the _entire_ [.filename]#print/pkfonts360/"
"Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3785
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3792
#, no-wrap
msgid ""
"RESOLUTION=\t360\n"
"MASTERDIR=\t${.CURDIR}/../pkfonts300\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3787
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3794
#, no-wrap
msgid ".include\t\"${MASTERDIR}/Makefile\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3792
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3799
msgid ""
"([.filename]#print/pkfonts118/Makefile#, [.filename]#print/pkfonts600/"
"Makefile#, and all the other are similar). `MASTERDIR` definition tells [."
"filename]#bsd.port.mk# that the regular set of subdirectories like "
"`FILESDIR` and `SCRIPTDIR` are to be found under [.filename]#pkfonts300#. "
"The `RESOLUTION=360` line will override the `RESOLUTION=300` line in [."
"filename]#pkfonts300/Makefile# and the port will be built with resolution "
"set to 360."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3794
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3801
#, no-wrap
msgid "Man Pages"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3799
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3806
msgid ""
"If the port anchors its man tree somewhere other than `PREFIX`, use "
"`MANDIRS` to specify those directories. Note that the files corresponding "
"to manual pages must be placed in [.filename]#pkg-plist# along with the rest "
"of the files. The purpose of `MANDIRS` is to enable automatic compression "
"of manual pages, therefore the file names are suffixed with [.filename]#.gz#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3801
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3808
#, no-wrap
msgid "Info Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3808
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3815
msgid ""
"If the package needs to install GNU info files, list them in `INFO` (without "
"the trailing `.info`), one entry per document. These files are assumed to "
"be installed to [.filename]#PREFIX/INFO_PATH#. Change `INFO_PATH` if the "
"package uses a different location. However, this is not recommended. These "
"entries contain just the path relative to [.filename]#PREFIX/INFO_PATH#. "
"For example, package:lang/gcc34[] installs info files to [.filename]#PREFIX/"
"INFO_PATH/gcc34#, and `INFO` will be something like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3812
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3819
#, no-wrap
msgid "INFO=\tgcc34/cpp gcc34/cppinternals gcc34/g77 ...\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3815
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3822
msgid ""
"Appropriate installation/de-installation code will be automatically added to "
"the temporary [.filename]#pkg-plist# before package registration."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3817
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3824
#, no-wrap
msgid "Makefile Options"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3822
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3829
msgid ""
"Many applications can be built with optional or differing configurations. "
"Examples include choice of natural (human) language, GUI versus command-"
"line, or type of database to support. Users may need a different "
"configuration than the default, so the ports system provides hooks the port "
"author can use to control which variant will be built. Supporting these "
"options properly will make users happy, and effectively provide two or more "
"ports for the price of one."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3824
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3831
#, no-wrap
msgid "`OPTIONS`"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3827
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3834
#, no-wrap
msgid "Background"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3833
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3840
msgid ""
"`OPTIONS_*` give the user installing the port a dialog showing the available "
"options, and then saves those options to [.filename]#${PORT_DBDIR}/"
"${OPTIONS_NAME}/options#. The next time the port is built, the options are "
"reused. `PORT_DBDIR` defaults to [.filename]#/var/db/ports#. "
"`OPTIONS_NAME` is to the port origin with an underscore as the space "
"separator, for example, for package:dns/bind99[] it will be `dns_bind99`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3837
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3844
msgid ""
"When the user runs `make config` (or runs `make build` for the first time), "
"the framework checks for [.filename]#${PORT_DBDIR}/${OPTIONS_NAME}/"
"options#. If that file does not exist, the values of `OPTIONS_*` are used, "
"and a dialog box is displayed where the options can be enabled or disabled. "
"Then [.filename]#options# is saved and the configured variables are used "
"when building the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3839
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3846
msgid ""
"If a new version of the port adds new `OPTIONS`, the dialog will be "
"presented to the user with the saved values of old `OPTIONS` prefilled."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3842
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3849
msgid ""
"`make showconfig` shows the saved configuration. Use `make rmconfig` to "
"remove the saved configuration."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3844
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3851
#, no-wrap
msgid "Syntax"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3848
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3855
msgid ""
"`OPTIONS_DEFINE` contains a list of `OPTIONS` to be used. These are "
"independent of each other and are not grouped:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3852
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4276
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4572
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4629
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4692
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3859
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4283
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4579
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4636
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4699
#, no-wrap
msgid "OPTIONS_DEFINE=\tOPT1 OPT2\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3855
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3862
msgid ""
"Once defined, `OPTIONS` are described (optional, but strongly recommended):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3864
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3871
#, no-wrap
msgid ""
"OPT1_DESC=\tDescribe OPT1\n"
"OPT2_DESC=\tDescribe OPT2\n"
"OPT3_DESC=\tDescribe OPT3\n"
"OPT4_DESC=\tDescribe OPT4\n"
"OPT5_DESC=\tDescribe OPT5\n"
"OPT6_DESC=\tDescribe OPT6\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3868
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3875
msgid ""
"[.filename]#ports/Mk/bsd.options.desc.mk# has descriptions for many common "
"`OPTIONS`. While often useful, override them if the description is "
"insufficient for the port."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3874
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3881
msgid ""
"When describing options, view it from the perspective of the user: \"What "
"functionality does it change?\" and \"Why would I want to enable this?\" Do "
"not just repeat the name. For example, describing the `NLS` option as "
"\"include NLS support\" does not help the user, who can already see the "
"option name but may not know what it means. Describing it as \"Native "
"Language Support via gettext utilities\" is much more helpful."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3880
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3887
msgid ""
"Option names are always in all uppercase. They cannot use mixed case or "
"lowercase."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3883
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3890
msgid ""
"`OPTIONS` can be grouped as radio choices, where only one choice from each "
"group is allowed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3888
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3895
#, no-wrap
msgid ""
"OPTIONS_SINGLE=\t\tSG1\n"
"OPTIONS_SINGLE_SG1=\tOPT3 OPT4\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3894
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3901
msgid ""
"There _must_ be one of each `OPTIONS_SINGLE` group selected at all times for "
"the options to be valid. One option of each group _must_ be added to "
"`OPTIONS_DEFAULT`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3897
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3904
msgid ""
"`OPTIONS` can be grouped as radio choices, where none or only one choice "
"from each group is allowed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3902
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3909
#, no-wrap
msgid ""
"OPTIONS_RADIO=\t\tRG1\n"
"OPTIONS_RADIO_RG1=\tOPT7 OPT8\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3905
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3912
msgid ""
"`OPTIONS` can also be grouped as \"multiple-choice\" lists, where _at least "
"one_ option must be enabled:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3910
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3917
#, no-wrap
msgid ""
"OPTIONS_MULTI=\t\tMG1\n"
"OPTIONS_MULTI_MG1=\tOPT5 OPT6\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3913
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3920
msgid ""
"`OPTIONS` can also be grouped as \"multiple-choice\" lists, where none or "
"any option can be enabled:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3918
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3925
#, no-wrap
msgid ""
"OPTIONS_GROUP=\t\tGG1\n"
"OPTIONS_GROUP_GG1=\tOPT9 OPT10\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3921
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3928
msgid ""
"`OPTIONS` are unset by default, unless they are listed in `OPTIONS_DEFAULT`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3925
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3932
#, no-wrap
msgid "OPTIONS_DEFAULT=\tOPT1 OPT3 OPT6\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3931
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3938
msgid ""
"`OPTIONS` definitions must appear before the inclusion of [.filename]#bsd."
"port.options.mk#. `PORT_OPTIONS` values can only be tested after the "
"inclusion of [.filename]#bsd.port.options.mk#. Inclusion of [.filename]#bsd."
"port.pre.mk# can be used instead, too, and is still widely used in ports "
"written before the introduction of [.filename]#bsd.port.options.mk#. But be "
"aware that some variables will not work as expected after the inclusion of [."
"filename]#bsd.port.pre.mk#, typically some `USE_*` flags."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3933
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3940
#, no-wrap
msgid "Simple Use of `OPTIONS`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3941
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3948
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tFOO BAR\n"
"OPTIONS_DEFAULT=FOO\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3944
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3951
#, no-wrap
msgid ""
"FOO_DESC=\tOption foo support\n"
"BAR_DESC=\tFeature bar support\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3948
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3955
#, no-wrap
msgid ""
"# Will add --with-foo / --without-foo\n"
"FOO_CONFIGURE_WITH=\tfoo\n"
"BAR_RUN_DEPENDS=\tbar:bar/bar\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3950
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4014
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3957
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4021
#, no-wrap
msgid ".include <bsd.port.mk>\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3955
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3962
#, no-wrap
msgid "Check for Unset Port `OPTIONS`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3964
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3971
#, no-wrap
msgid ""
".if ! ${PORT_OPTIONS:MEXAMPLES}\n"
"CONFIGURE_ARGS+=--without-examples\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3968
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3975
msgid ""
"The form shown above is discouraged. The preferred method is using a "
"configure knob to really enable and disable the feature to match the option:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3973
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4010
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3980
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4017
#, no-wrap
msgid ""
"# Will add --with-examples / --without-examples\n"
"EXAMPLES_CONFIGURE_WITH=\texamples\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3978
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3985
#, no-wrap
msgid "Practical Use of `OPTIONS`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3986
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3993
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\t\tEXAMPLES\n"
"OPTIONS_DEFAULT=\tPGSQL LDAP SSL\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3989
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3996
#, no-wrap
msgid ""
"OPTIONS_SINGLE=\t\tBACKEND\n"
"OPTIONS_SINGLE_BACKEND=\tMYSQL PGSQL BDB\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3992
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3999
#, no-wrap
msgid ""
"OPTIONS_MULTI=\t\tAUTH\n"
"OPTIONS_MULTI_AUTH=\tLDAP PAM SSL\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4000
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4007
#, no-wrap
msgid ""
"EXAMPLES_DESC=\t\tInstall extra examples\n"
"MYSQL_DESC=\t\tUse MySQL as backend\n"
"PGSQL_DESC=\t\tUse PostgreSQL as backend\n"
"BDB_DESC=\t\tUse Berkeley DB as backend\n"
"LDAP_DESC=\t\tBuild with LDAP authentication support\n"
"PAM_DESC=\t\tBuild with PAM support\n"
"SSL_DESC=\t\tBuild with OpenSSL support\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4005
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4012
#, no-wrap
msgid ""
"# Will add USE_PGSQL=yes\n"
"PGSQL_USE=\tpgsql=yes\n"
"# Will add --enable-postgres / --disable-postgres\n"
"PGSQL_CONFIGURE_ENABLE=\tpostgres\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4007
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4014
#, no-wrap
msgid "ICU_LIB_DEPENDS=\tlibicuuc.so:devel/icu\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4012
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4019
#, no-wrap
msgid "# Check other OPTIONS\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4019
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4026
#, no-wrap
msgid "Default Options"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4022
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4029
msgid "These options are always on by default."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4024
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4031
msgid "`DOCS` - build and install documentation."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4025
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4032
msgid "`NLS` - Native Language Support."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4026
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4033
msgid "`EXAMPLES` - build and install examples."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4027
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4034
msgid "`IPV6` - IPv6 protocol support."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4032
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4039
msgid ""
"There is no need to add these to `OPTIONS_DEFAULT`. To have them active, "
"and show up in the options selection dialog, however, they must be added to "
"`OPTIONS_DEFINE`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4035
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4042
#, no-wrap
msgid "Feature Auto-Activation"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4039
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4046
msgid ""
"When using a GNU configure script, keep an eye on which optional features "
"are activated by auto-detection. Explicitly disable optional features that "
"are not needed by adding `--without-xxx` or `--disable-xxx` in "
"`CONFIGURE_ARGS`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4041
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4048
#, no-wrap
msgid "Wrong Handling of an Option"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4051
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4058
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MFOO}\n"
"LIB_DEPENDS+=\t\tlibfoo.so:devel/foo\n"
"CONFIGURE_ARGS+=\t--enable-foo\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4059
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4066
msgid ""
"In the example above, imagine a library libfoo is installed on the system. "
"The user does not want this application to use libfoo, so he toggled the "
"option off in the `make config` dialog. But the application's configure "
"script detects the library present in the system and includes its support in "
"the resulting executable. Now when the user decides to remove libfoo from "
"the system, the ports system does not protest (no dependency on libfoo was "
"recorded) but the application breaks."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4061
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4068
#, no-wrap
msgid "Correct Handling of an Option"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4070
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4077
#, no-wrap
msgid ""
"FOO_LIB_DEPENDS=\t\tlibfoo.so:devel/foo\n"
"# Will add --enable-foo / --disable-foo\n"
"FOO_CONFIGURE_ENABLE=\tfoo\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4078
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4085
msgid ""
"Under some circumstances, the shorthand conditional syntax can cause "
"problems with complex constructs. The errors are usually `Malformed "
"conditional`, an alternative syntax can be used."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4082
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4089
#, no-wrap
msgid ".if !empty(VARIABLE:MVALUE)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4085
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4092
msgid "as an alternative to"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4089
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4096
#, no-wrap
msgid ".if ${VARIABLE:MVALUE}\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4094
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4101
#, no-wrap
msgid "Options Helpers"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4098
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4105
msgid ""
"There are some macros to help simplify conditional values which differ based "
"on the options set. For easier access, a comprehensive list is provided:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4099
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4106
#, no-wrap
msgid "`PLIST_SUB`, `SUB_LIST`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4101
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4108
msgid ""
"For automatic `%%_OPT_%%` and `%%NO__OPT__%%` generation, see "
"<<options_sub>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4103
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4110
msgid "For more complex usage, see <<options-variables>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4104
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4111
#, no-wrap
msgid "`CONFIGURE_ARGS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4106
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4113
msgid ""
"For `--enable-_x_` and `--disable-_x_`, see <<options-configure_enable>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4108
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4115
msgid "For `--with-_x_` and `--without-_x_`, see <<options-configure_with>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4110
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4117
msgid "For all other cases, see <<options-configure_on>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4111
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4118
#, no-wrap
msgid "`CMAKE_ARGS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4113
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4120
msgid ""
"For arguments that are booleans (`on`, `off`, `true`, `false`, `0`, `1`) see "
"<<options-cmake_bool>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4115
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4122
msgid "For all other cases, see <<options-cmake_on>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4116
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4123
#, no-wrap
msgid "`MESON_ARGS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4118
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4125
msgid "For arguments that take `true` or `false`, see <<options-meson_true>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4120
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4127
msgid "For arguments that take `yes` or `no`, use <<options-meson_yes>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4122
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4129
msgid ""
"For arguments that take `enabled` or `disabled`, see <<options-"
"meson_enabled>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4124
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4131
msgid "For all other cases, use <<options-meson_on>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4125
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4132
#, no-wrap
msgid "`QMAKE_ARGS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4127
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4134
msgid "See <<options-qmake_on>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4130
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4137
msgid "See <<options-use>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4131
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4138
#, no-wrap
msgid "`*_DEPENDS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4133
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4140
msgid "See <<options-dependencies>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4134
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4141
#, no-wrap
msgid "`*` (Any variable)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4136
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4143
msgid "The most used variables have direct helpers, see <<options-variables>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4138
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4145
msgid "For any variable without a specific helper, see <<options-vars>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4139
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4146
#, no-wrap
msgid "Options dependencies"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4141
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4148
msgid "When an option need another option to work, see <<options-implies>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4142
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4149
#, no-wrap
msgid "Options conflicts"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4144
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4151
msgid ""
"When an option cannot work if another is also enabled, see <<options-"
"prevents>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4145
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4152
#, no-wrap
msgid "Build targets"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4147
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4154
msgid "When an option need some extra processing, see <<options-targets>>."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4149
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4156
#, no-wrap
msgid "`OPTIONS_SUB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4152
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4159
msgid ""
"If `OPTIONS_SUB` is set to `yes` then each of the options added to "
"`OPTIONS_DEFINE` will be added to `PLIST_SUB` and `SUB_LIST`, for example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4157
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4164
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPTIONS_SUB=\tyes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4160
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4199
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4235
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4272
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4307
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4343
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4379
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4413
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4443
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4475
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4507
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4536
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4688
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4761
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4838
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4928
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4167
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4206
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4242
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4279
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4314
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4350
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4386
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4420
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4450
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4482
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4514
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4543
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4695
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4768
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4845
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4935
msgid "is equivalent to:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4164
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4203
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4239
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4311
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4347
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4383
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4417
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4447
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4479
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4511
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4540
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4765
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4842
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4919
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4932
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4171
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4210
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4246
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4318
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4354
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4390
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4424
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4454
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4486
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4518
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4547
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4772
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4849
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4926
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4939
#, no-wrap
msgid "OPTIONS_DEFINE=\tOPT1\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4166
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4205
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4241
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4278
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4313
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4349
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4385
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4419
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4449
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4481
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4513
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4542
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4574
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4631
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4696
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4767
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4844
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4934
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4173
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4212
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4248
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4285
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4320
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4356
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4392
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4426
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4456
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4488
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4520
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4549
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4581
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4638
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4703
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4774
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4851
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4941
#, no-wrap
msgid ".include <bsd.port.options.mk>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4174
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4181
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"PLIST_SUB+=\tOPT1=\"\" NO_OPT1=\"@comment \"\n"
"SUB_LIST+=\tOPT1=\"\" NO_OPT1=\"@comment \"\n"
".else\n"
"PLIST_SUB+=\tOPT1=\"@comment \" NO_OPT1=\"\"\n"
"SUB_LIST+=\tOPT1=\"@comment \" NO_OPT1=\"\"\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4180
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4187
msgid ""
"The value of `OPTIONS_SUB` is ignored. Setting it to any value will add "
"`PLIST_SUB` and `SUB_LIST` entries for _all_ options."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4183
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4190
#, no-wrap
msgid "`OPT_USE` and `OPT_USE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4189
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4196
msgid ""
"When option _OPT_ is selected, for each `_key=value_` pair in ``OPT_USE``, "
"_value_ is appended to the corresponding `USE_KEY`. If _value_ has spaces "
"in it, replace them with commas and they will be changed back to spaces "
"during processing. `OPT_USE_OFF` works the same way, but when `OPT` is "
"_not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4196
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4203
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_USES=\txorg\n"
"OPT1_USE=\tmysql=yes xorg=x11,xextproto,xext,xrandr\n"
"OPT1_USE_OFF=\topenssl=yes\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4213
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4220
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"USE_MYSQL=\tyes\n"
"USES+=\t\txorg\n"
"USE_XORG=\tx11 xextproto xext xrandr\n"
".else\n"
"USE_OPENSSL=\tyes\n"
".endif\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4216
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4223
#, no-wrap
msgid "`CONFIGURE_ARGS` Helpers"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4219
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4226
#, no-wrap
msgid "`OPT_CONFIGURE_ENABLE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4226
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4233
msgid ""
"When option _OPT_ is selected, for each _entry_ in `OPT_CONFIGURE_ENABLE` "
"then `--enable-_entry_` is appended to `CONFIGURE_ARGS`. When option _OPT_ "
"is _not_ selected, `--disable-_entry_` is appended to `CONFIGURE_ARGS`. An "
"optional argument can be specified with an `=` symbol. This argument is "
"only appended to the `--enable-_entry_` configure option. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4232
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4239
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1 OPT2\n"
"OPT1_CONFIGURE_ENABLE=\ttest1 test2\n"
"OPT2_CONFIGURE_ENABLE=\ttest2=exhaustive\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4247
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4254
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CONFIGURE_ARGS+=\t--enable-test1 --enable-test2\n"
".else\n"
"CONFIGURE_ARGS+=\t--disable-test1 --disable-test2\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4253
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4260
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2}\n"
"CONFIGURE_ARGS+=\t--enable-test2=exhaustive\n"
".else\n"
"CONFIGURE_ARGS+=\t--disable-test2\n"
".endif\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4256
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4263
#, no-wrap
msgid "`OPT_CONFIGURE_WITH`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4263
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4270
msgid ""
"When option _OPT_ is selected, for each _entry_ in `_OPT_CONFIGURE_WITH` "
"then `--with-_entry_` is appended to `CONFIGURE_ARGS`. When option _OPT_ is "
"_not_ selected, `--without-_entry_` is appended to `CONFIGURE_ARGS`. An "
"optional argument can be specified with an `=` symbol. This argument is "
"only appended to the `--with-_entry_` configure option. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4269
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4276
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1 OPT2\n"
"OPT1_CONFIGURE_WITH=\ttest1\n"
"OPT2_CONFIGURE_WITH=\ttest2=exhaustive\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4284
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4291
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CONFIGURE_ARGS+=\t--with-test1\n"
".else\n"
"CONFIGURE_ARGS+=\t--without-test1\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4290
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4297
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2}\n"
"CONFIGURE_ARGS+=\t--with-test2=exhaustive\n"
".else\n"
"CONFIGURE_ARGS+=\t--without-test2\n"
".endif\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4293
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4300
#, no-wrap
msgid "`OPT_CONFIGURE_ON` and `OPT_CONFIGURE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4298
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4305
msgid ""
"When option _OPT_ is selected, the value of `OPT_CONFIGURE_ON`, if defined, "
"is appended to `CONFIGURE_ARGS`. `OPT_CONFIGURE_OFF` works the same way, "
"but when `OPT` is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4304
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4311
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_CONFIGURE_ON=\t--add-test\n"
"OPT1_CONFIGURE_OFF=\t--no-test\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4319
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4326
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CONFIGURE_ARGS+=\t--add-test\n"
".else\n"
"CONFIGURE_ARGS+=\t--no-test\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4324
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4331
msgid ""
"Most of the time, the helpers in <<options-configure_enable>> and <<options-"
"configure_with>> provide a shorter and more comprehensive functionality."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4327
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4334
#, no-wrap
msgid "`CMAKE_ARGS` Helpers"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4330
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4337
#, no-wrap
msgid "`OPT_CMAKE_ON` and `OPT_CMAKE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4334
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4341
msgid ""
"When option _OPT_ is selected, the value of `OPT_CMAKE_ON`, if defined, is "
"appended to `CMAKE_ARGS`. `OPT_CMAKE_OFF` works the same way, but when `OPT` "
"is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4340
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4347
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_CMAKE_ON=\t-DTEST:BOOL=true -DDEBUG:BOOL=true\n"
"OPT1_CMAKE_OFF=\t-DOPTIMIZE:BOOL=true\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4355
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4362
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CMAKE_ARGS+=\t-DTEST:BOOL=true -DDEBUG:BOOL=true\n"
".else\n"
"CMAKE_ARGS+=\t-DOPTIMIZE:BOOL=true\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4361
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4368
msgid ""
"See <<options-cmake_bool>> for a shorter helper when the value is boolean."
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4364
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4371
#, no-wrap
msgid "`OPT_CMAKE_BOOL` and `OPT_CMAKE_BOOL_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4370
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4377
msgid ""
"When option _OPT_ is selected, for each _entry_ in `OPT_CMAKE_BOOL` then `-"
"D_entry_:BOOL=true` is appended to `CMAKE_ARGS`. When option _OPT_ is _not_ "
"selected, `-D_entry_:BOOL=false` is appended to `CONFIGURE_ARGS`. "
"`OPT_CMAKE_BOOL_OFF` is the opposite, `-D_entry_:BOOL=false` is appended to "
"`CMAKE_ARGS` when the option is selected, and `-D_entry_:BOOL=true` when the "
"option is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4376
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4383
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_CMAKE_BOOL=\tTEST DEBUG\n"
"OPT1_CMAKE_BOOL_OFF=\tOPTIMIZE\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4393
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4400
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CMAKE_ARGS+=\t-DTEST:BOOL=true -DDEBUG:BOOL=true \\\n"
"\t\t-DOPTIMIZE:BOOL=false\n"
".else\n"
"CMAKE_ARGS+=\t-DTEST:BOOL=false -DDEBUG:BOOL=false \\\n"
"\t\t-DOPTIMIZE:BOOL=true\n"
".endif\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4396
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4403
#, no-wrap
msgid "`MESON_ARGS` Helpers"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4399
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4406
#, no-wrap
msgid "`OPT_MESON_ON` and `OPT_MESON_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4404
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4411
msgid ""
"When option _OPT_ is selected, the value of `OPT_MESON_ON`, if defined, is "
"appended to `MESON_ARGS`. `OPT_MESON_OFF` works the same way, but when "
"`OPT` is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4410
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4417
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_MESON_ON=\t-Dopt=1\n"
"OPT1_MESON_OFF=\t-Dopt=2\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4425
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4432
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"MESON_ARGS+=\t-Dopt=1\n"
".else\n"
"MESON_ARGS+=\t-Dopt=2\n"
".endif\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4428
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4435
#, no-wrap
msgid "`OPT_MESON_TRUE` and `OPT_MESON_FALSE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4434
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4441
msgid ""
"When option _OPT_ is selected, for each _entry_ in `OPT_MESON_TRUE` then `-"
"D_entry_=true` is appended to `MESON_ARGS`. When option _OPT_ is _not_ "
"selected, `-D_entry_=false` is appended to `MESON_ARGS`. `OPT_MESON_FALSE` "
"is the opposite, `-D_entry_=false` is appended to `MESON_ARGS` when the "
"option is selected, and `-D_entry_=true` when the option is _not_ selected. "
"For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4440
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4447
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_MESON_TRUE=\ttest debug\n"
"OPT1_MESON_FALSE=\toptimize\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4457
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4464
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"MESON_ARGS+=\t-Dtest=true -Ddebug=true \\\n"
"\t\t-Doptimize=false\n"
".else\n"
"MESON_ARGS+=\t-Dtest=false -Ddebug=false \\\n"
"\t\t-Doptimize=true\n"
".endif\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4460
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4467
#, no-wrap
msgid "`OPT_MESON_YES` and `OPT_MESON_NO`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4466
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4473
msgid ""
"When option _OPT_ is selected, for each _entry_ in `OPT_MESON_YES` then `-"
"D_entry_=yes` is appended to `MESON_ARGS`. When option _OPT_ is _not_ "
"selected, `-D_entry_=no` is appended to `MESON_ARGS`. `OPT_MESON_NO` is the "
"opposite, `-D_entry_=no` is appended to `MESON_ARGS` when the option is "
"selected, and `-D_entry_=yes` when the option is _not_ selected. For "
"example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4472
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4479
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_MESON_YES=\ttest debug\n"
"OPT1_MESON_NO=\toptimize\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4489
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4496
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"MESON_ARGS+=\t-Dtest=yes -Ddebug=yes \\\n"
"\t\t-Doptimize=no\n"
".else\n"
"MESON_ARGS+=\t-Dtest=no -Ddebug=no \\\n"
"\t\t-Doptimize=yes\n"
".endif\n"
msgstr ""
#. type: Title =====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4492
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4499
#, no-wrap
msgid "`OPT_MESON_ENABLED` and `OPT_MESON_DISABLED`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4498
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4505
msgid ""
"When option _OPT_ is selected, for each _entry_ in `OPT_MESON_ENABLED` then "
"`-D_entry_=enabled` is appended to `MESON_ARGS`. When option _OPT_ is _not_ "
"selected, `-D_entry_=disabled` is appended to `MESON_ARGS`. "
"`OPT_MESON_DISABLED` is the opposite, `-D_entry_=disabled` is appended to "
"`MESON_ARGS` when the option is selected, and `-D_entry_=enabled` when the "
"option is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4504
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4511
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_MESON_ENABLED=\ttest\n"
"OPT1_MESON_DISABLED=\tdebug\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4519
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4526
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"MESON_ARGS+=\t-Dtest=enabled -Ddebug=disabled\n"
".else\n"
"MESON_ARGS+=\t-Dtest=disabled -Ddebug=enabled\n"
".endif\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4522
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4529
#, no-wrap
msgid "`OPT_QMAKE_ON` and `OPT_QMAKE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4527
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4534
msgid ""
"When option _OPT_ is selected, the value of `OPT_QMAKE_ON`, if defined, is "
"appended to `QMAKE_ARGS`. `OPT_QMAKE_OFF` works the same way, but when "
"`OPT` is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4533
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4540
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_QMAKE_ON=\t-DTEST:BOOL=true\n"
"OPT1_QMAKE_OFF=\t-DPRODUCTION:BOOL=true\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4548
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4555
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"QMAKE_ARGS+=\t-DTEST:BOOL=true\n"
".else\n"
"QMAKE_ARGS+=\t-DPRODUCTION:BOOL=true\n"
".endif\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4551
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4558
#, no-wrap
msgid "`OPT_IMPLIES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4554
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4561
msgid "Provides a way to add dependencies between options."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4557
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4564
msgid ""
"When _OPT_ is selected, all the options listed in this variable will be "
"selected too. Using the <<options-configure_enable,`OPT_CONFIGURE_ENABLE`>> "
"described earlier to illustrate:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4562
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4569
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1 OPT2\n"
"OPT1_IMPLIES=\tOPT2\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4565
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4572
#, no-wrap
msgid ""
"OPT1_CONFIGURE_ENABLE=\topt1\n"
"OPT2_CONFIGURE_ENABLE=\topt2\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4568
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4575
msgid "Is equivalent to:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4580
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4587
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"CONFIGURE_ARGS+=\t--enable-opt1\n"
".else\n"
"CONFIGURE_ARGS+=\t--disable-opt1\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4586
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4593
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2} || ${PORT_OPTIONS:MOPT1}\n"
"CONFIGURE_ARGS+=\t--enable-opt2\n"
".else\n"
"CONFIGURE_ARGS+=\t--disable-opt2\n"
".endif\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4589
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4596
#, no-wrap
msgid "Simple Use of `OPT_IMPLIES`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4594
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4601
msgid ""
"This port has a `X11` option, and a `GNOME` option that needs the `X11` "
"option to be selected to build."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4599
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4606
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tX11 GNOME\n"
"OPTIONS_DEFAULT=\tX11\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4604
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4611
#, no-wrap
msgid ""
"X11_USES=\txorg\n"
"X11_USE=\txorg=xi,xextproto\n"
"GNOME_USE=\tgnome=gtk30\n"
"GNOME_IMPLIES=\tX11\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4609
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4616
#, no-wrap
msgid "`OPT_PREVENTS` and `OPT_PREVENTS_MSG`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4612
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4619
msgid "Provides a way to add conflicts between options."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4616
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4623
msgid ""
"When _OPT_ is selected, all the options listed in `OPT_PREVENTS` must be un-"
"selected. If `OPT_PREVENTS_MSG` is set and a conflict is triggered, its "
"content will be shown explaining why they conflict. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4622
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4629
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1 OPT2\n"
"OPT1_PREVENTS=\tOPT2\n"
"OPT1_PREVENTS_MSG=\tOPT1 and OPT2 enable conflicting options\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4625
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4632
msgid "Is roughly equivalent to:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4635
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4642
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2} && ${PORT_OPTIONS:MOPT1}\n"
"BROKEN=\tOption OPT1 conflicts with OPT2 (select only one)\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4638
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4645
msgid ""
"The only difference is that the first one will write an error after running "
"`make config`, suggesting changing the selected options."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4640
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4647
#, no-wrap
msgid "Simple Use of `OPT_PREVENTS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4646
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4653
msgid ""
"This port has `X509` and `SCTP` options. Both options add patches, but the "
"patches conflict with each other, so they cannot be selected at the same "
"time."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4650
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4657
#, no-wrap
msgid "OPTIONS_DEFINE=\tX509 SCTP\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4653
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4660
#, no-wrap
msgid ""
"SCTP_PATCHFILES=\t${PORTNAME}-6.8p1-sctp-2573.patch.gz:-p1\n"
"SCTP_CONFIGURE_WITH=\tsctp\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4658
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4665
#, no-wrap
msgid ""
"X509_PATCH_SITES=\thttp://www.roumenpetrov.info/openssh/x509/:x509\n"
"X509_PATCHFILES=\t${PORTNAME}-7.0p1+x509-8.5.diff.gz:-p1:x509\n"
"X509_PREVENTS=\t\tSCTP\n"
"X509_PREVENTS_MSG=\tX509 and SCTP patches conflict\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4663
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4670
#, no-wrap
msgid "`OPT_VARS` and `OPT_VARS_OFF`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4666
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4673
msgid "Provides a generic way to set and append to variables."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4670
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4677
msgid ""
"Before using `OPT_VARS` and `OPT_VARS_OFF`, see if there is already a more "
"specific helper available in <<options-variables>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4675
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4682
msgid ""
"When option _OPT_ is selected, and `OPT_VARS` defined, `_key_=_value_` and "
"`_key_+=_value_` pairs are evaluated from `OPT_VARS`. An `=` cause the "
"existing value of `KEY` to be overwritten, an `+=` appends to the value. "
"`OPT_VARS_OFF` works the same way, but when `OPT` is _not_ selected."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4683
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4690
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1 OPT2 OPT3\n"
"OPT1_VARS=\talso_build+=bin1\n"
"OPT2_VARS=\talso_build+=bin2\n"
"OPT3_VARS=\tbin3_build=yes\n"
"OPT3_VARS_OFF=\tbin3_build=no\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4685
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4694
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4692
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4701
#, no-wrap
msgid "MAKE_ARGS=\tALSO_BUILD=\"${ALSO_BUILD}\" BIN3_BUILD=\"${BIN3_BUILD}\"\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4700
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4707
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"ALSO_BUILD+=\tbin1\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4704
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4711
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2}\n"
"ALSO_BUILD+=\tbin2\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4710
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4717
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT2}\n"
"BIN3_BUILD=\tyes\n"
".else\n"
"BIN3_BUILD=\tno\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4715
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4722
msgid "Values containing whitespace must be enclosed in quotes:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4719
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4726
#, no-wrap
msgid "OPT_VARS=\tfoo=\"bar baz\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4725
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4732
msgid ""
"This is due to the way man:make[1] variable expansion deals with "
"whitespace. When `OPT_VARS= foo=bar baz` is expanded, the variable ends up "
"containing two strings, `foo=bar` and `baz`. But the submitter probably "
"intended there to be only one string, `foo=bar baz`. Quoting the value "
"prevents whitespace from being used as a delimiter."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4728
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4735
msgid ""
"Also, _do not_ add extra spaces after the `_var_=` sign and before the "
"value, it would also be split into two strings. _This will not work_:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4732
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4739
#, no-wrap
msgid "OPT_VARS=\tfoo=\tbar\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4737
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4744
#, no-wrap
msgid "Dependencies, `OPT_DEPTYPE` and `OPT_DEPTYPE_OFF`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4740
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4747
msgid "For any of these dependency types:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4742
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4749
msgid "`PKG_DEPENDS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4752
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4759
msgid ""
"When option _OPT_ is selected, the value of `OPT_DEPTYPE`, if defined, is "
"appended to `DEPTYPE`. `OPT_DEPTYPE_OFF` works the same, but when `OPT` is "
"_not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4758
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4765
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_LIB_DEPENDS=\tliba.so:devel/a\n"
"OPT1_LIB_DEPENDS_OFF=\tlibb.so:devel/b\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4773
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4780
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"LIB_DEPENDS+=\tliba.so:devel/a\n"
".else\n"
"LIB_DEPENDS+=\tlibb.so:devel/b\n"
".endif\n"
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4776
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4783
#, no-wrap
msgid "Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4779
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4786
msgid "For any of these variables:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4781
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4788
msgid "`ALL_TARGET`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4782
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4789
msgid "`BINARY_ALIAS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4783
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4790
msgid "`BROKEN`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4785
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4792
msgid "`CFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4786
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4793
msgid "`CONFIGURE_ENV`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4787
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5026
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4794
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5033
#, no-wrap
msgid "`CONFLICTS`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4788
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5021
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4795
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5028
#, no-wrap
msgid "`CONFLICTS_BUILD`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4789
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5016
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4796
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5023
#, no-wrap
msgid "`CONFLICTS_INSTALL`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4790
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4797
msgid "`CPPFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4791
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4798
msgid "`CXXFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4792
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4799
msgid "`DESKTOP_ENTRIES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4795
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4802
msgid "`EXTRA_PATCHES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4807
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4814
msgid "`IGNORE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4808
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4815
msgid "`INFO`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4809
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4816
msgid "`INSTALL_TARGET`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4810
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4817
msgid "`LDFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4811
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4818
msgid "`LIBS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4812
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4819
msgid "`MAKE_ARGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4813
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4820
msgid "`MAKE_ENV`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4816
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4823
msgid "`PATCH_SITES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4817
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4824
msgid "`PLIST_DIRS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4818
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4825
msgid "`PLIST_FILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4819
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4826
msgid "`PLIST_SUB`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4820
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4827
msgid "`PORTDOCS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4821
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4828
msgid "`PORTEXAMPLES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4822
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4829
msgid "`SUB_FILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4823
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4830
msgid "`SUB_LIST`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4824
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4831
msgid "`TEST_TARGET`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4829
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4836
msgid ""
"When option _OPT_ is selected, the value of `OPT_ABOVEVARIABLE`, if defined, "
"is appended to `_ABOVEVARIABLE_`. `OPT_ABOVEVARIABLE_OFF` works the same "
"way, but when `OPT` is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4835
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4842
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tOPT1\n"
"OPT1_USES=\tgmake\n"
"OPT1_CFLAGS_OFF=\t-DTEST\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4850
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4857
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MOPT1}\n"
"USES+=\t\tgmake\n"
".else\n"
"CFLAGS+=\t-DTEST\n"
".endif\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4857
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4864
msgid ""
"Some variables are not in this list, in particular `PKGNAMEPREFIX` and "
"`PKGNAMESUFFIX`. This is intentional. A port _must not_ change its name "
"when its option set changes."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4862
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4869
msgid ""
"Some of these variables, at least `ALL_TARGET`, `DISTFILES` and "
"`INSTALL_TARGET`, have their default values set _after_ the options are "
"processed."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4864
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4871
msgid "With these lines in the [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4868
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875
#, no-wrap
msgid "ALL_TARGET=\tall\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4870
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4879
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4877
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4886
#, no-wrap
msgid "DOCS_ALL_TARGET=\tdoc\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4873
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4880
msgid ""
"If the `DOCS` option is enabled, `ALL_TARGET` will have a final value of "
"`all doc`; if the option is disabled, it would have a value of `all`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4882
msgid "With only the options helper line in the [.filename]#Makefile#:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4882
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4889
msgid ""
"If the `DOCS` option is enabled, `ALL_TARGET` will have a final value of "
"`doc`; if the option is disabled, it would have a value of `all`."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4885
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892
#, no-wrap
msgid "Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4888
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895
msgid ""
"These [.filename]#Makefile# targets can accept optional extra build targets:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4890
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4897
msgid "`pre-fetch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4891
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4898
msgid "`do-fetch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899
msgid "`post-fetch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4893
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900
msgid "`pre-extract`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4894
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901
msgid "`do-extract`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902
msgid "`post-extract`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4896
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903
msgid "`pre-patch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4897
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904
msgid "`do-patch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4898
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4905
msgid "`post-patch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4906
msgid "`pre-configure`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4907
msgid "`do-configure`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4908
msgid "`post-configure`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4909
msgid "`pre-build`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4910
msgid "`do-build`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4911
msgid "`post-build`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4905
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4912
msgid "`pre-install`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4906
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4913
msgid "`do-install`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4907
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4914
msgid "`post-install`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4908
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4915
msgid "`post-stage`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4909
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4916
msgid "`pre-package`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4910
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4917
msgid "`do-package`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4911
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4918
msgid "`post-package`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4915
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4922
msgid ""
"When option _OPT_ is selected, the target `_TARGET_-_OPT_-on`, if defined, "
"is executed after `_TARGET_`. `_TARGET_-_OPT_-off` works the same way, but "
"when `OPT` is _not_ selected. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4922
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4929
#, no-wrap
msgid ""
"post-patch-OPT1-on:\n"
"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${EXAMPLESDIR}/|' ${WRKSRC}/Makefile\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4925
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4932
#, no-wrap
msgid ""
"post-patch-OPT1-off:\n"
"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${PREFIX}/bin/|' ${WRKSRC}/Makefile\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4941
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4948
#, no-wrap
msgid ""
"post-patch:\n"
".if ${PORT_OPTIONS:MOPT1}\n"
"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${EXAMPLESDIR}/|' ${WRKSRC}/Makefile\n"
".else\n"
"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${PREFIX}/bin/|' ${WRKSRC}/Makefile\n"
".endif\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4944
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4951
#, no-wrap
msgid "Specifying the Working Directory"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4949
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4956
msgid ""
"Each port is extracted into a working directory, which must be writable. "
"The ports system defaults to having `DISTFILES` unpack in to a directory "
"called `${DISTNAME}`. In other words, if the [.filename]#Makefile# has:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4954
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4961
#, no-wrap
msgid ""
"PORTNAME=\tfoo\n"
"DISTVERSION=\t1.0\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4957
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4964
msgid ""
"then the port's distribution files contain a top-level directory, [."
"filename]#foo-1.0#, and the rest of the files are located under that "
"directory."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4959
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4966
msgid "A number of variables can be overridden if that is not the case."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4961
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4968
#, no-wrap
msgid "`WRKSRC`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4965
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4972
msgid ""
"The variable lists the name of the directory that is created when the "
"application's distfiles are extracted. If our previous example extracted "
"into a directory called [.filename]#foo# (and not [.filename]#foo-1.0#) "
"write:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4969
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4976
#, no-wrap
msgid "WRKSRC=\t${WRKDIR}/foo\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4972
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979
msgid "or possibly"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4976
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4983
#, no-wrap
msgid "WRKSRC=\t${WRKDIR}/${PORTNAME}\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986
#, no-wrap
msgid "`WRKSRC_SUBDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4982
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989
msgid ""
"If the source files needed for the port are in a subdirectory of the "
"extracted distribution file, set `WRKSRC_SUBDIR` to that directory."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4993
#, no-wrap
msgid "WRKSRC_SUBDIR=\tsrc\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4996
#, no-wrap
msgid "`NO_WRKSUBDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4992
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4999
msgid ""
"If the port does not extract in to a subdirectory at all, then set "
"`NO_WRKSUBDIR` to indicate that."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4996
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5003
#, no-wrap
msgid "NO_WRKSUBDIR=\tyes\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5001
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5008
msgid ""
"Because `WRKDIR` is the only directory that is supposed to be writable "
"during the build, and is used to store many files recording the status of "
"the build, the port's extraction will be forced into a subdirectory."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5004
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5011
#, no-wrap
msgid "Conflict Handling"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5007
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5014
msgid ""
"There are three different variables to register a conflict between packages "
"and ports: `CONFLICTS`, `CONFLICTS_INSTALL` and `CONFLICTS_BUILD`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5011
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5018
msgid ""
"The conflict variables automatically set the variable `IGNORE`, which is "
"more fully documented in crossref:porting-dads[dads-noinstall,Marking a Port "
"Not Installable with `BROKEN`, `FORBIDDEN`, or `IGNORE`]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5014
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5021
msgid ""
"When removing one of several conflicting ports, it is advisable to retain "
"`CONFLICTS` in those other ports for a few months to cater for users who "
"only update once in a while."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5019
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5026
msgid ""
"If the package cannot coexist with other packages (because of file "
"conflicts, runtime incompatibilities, etc.). `CONFLICTS_INSTALL` check is "
"done after the build stage and prior to the install stage."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5024
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5031
msgid ""
"If the port cannot be built when other specific ports are already "
"installed. Build conflicts are not recorded in the resulting package."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5029
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5036
msgid ""
"If the port cannot be built if a certain port is already installed and the "
"resulting package cannot coexist with the other package. `CONFLICTS` check "
"is done prior to the build stage and prior to the install stage."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5033
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5040
msgid ""
"Each space-separated item in the `CONFLICTS*` variable values is matched "
"against packages except the one being built, using shell globbing rules. "
"This allows listing all flavors of a port in a conflict list instead of "
"having to take pains to exclude the flavor being built from that list. For "
"example, if git-lite is installed, `CONFLICTS_INSTALL=git git-lite` would "
"allow to perform:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5036
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5043
#, no-wrap
msgid "% make -C devel/git FLAVOR=lite all deinstall install\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5039
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5046
msgid ""
"But the following command would report a conflict, since the package base "
"name installed is `git-lite`, while `git` would be built, but cannot be "
"installed in addition to `git-lite`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5042
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5049
#, no-wrap
msgid "% make -C devel/git FLAVOR=default all deinstall install\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5045
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5052
msgid ""
"Without that feature, the Makefile would need one "
"`_flavor__CONFLICTS_INSTALL` for each flavor, listing every other flavor."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5048
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5055
msgid ""
"The most common content of one of these variable is the package base of "
"another port. The package base is the package name without the appended "
"version, it can be obtained by running `make -V PKGBASE`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5050
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5057
#, no-wrap
msgid "Basic usage of `CONFLICTS*`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5056
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5063
msgid ""
"package:dns/bind99[] cannot be installed if package:dns/bind910[] is present "
"because they install same files. First gather the package base to use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5063
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5070
#, no-wrap
msgid ""
"% make -C dns/bind99 -V PKGBASE\n"
"bind99\n"
"% make -C dns/bind910 -V PKGBASE\n"
"bind910\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5066
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5073
msgid "Then add to the [.filename]#Makefile# of package:dns/bind99[]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5070
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5077
#, no-wrap
msgid "CONFLICTS_INSTALL=\tbind910\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5073
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5080
msgid "And add to the [.filename]#Makefile# of package:dns/bind910[]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5077
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5084
#, no-wrap
msgid "CONFLICTS_INSTALL=\tbind99\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5084
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5091
msgid ""
"Sometimes, only certain versions of another port are incompatible. When "
"this is the case, use the full package name including the version. If "
"necessary, use shell globs like `*` and `?` so that all necessary versions "
"are matched."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5086
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5093
#, no-wrap
msgid "Using `CONFLICTS*` With Globs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5091
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5098
msgid ""
"From versions from 2.0 and up-to 2.4.1_2, package:deskutils/gnotime[] used "
"to install a bundled version of package:databases/qof[]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5093
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5100
msgid ""
"To reflect this past, the [.filename]#Makefile# of package:databases/qof[] "
"contains:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5099
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5106
#, no-wrap
msgid ""
"CONFLICTS_INSTALL=\tgnotime-2.[0-3]* \\\n"
"\t\t\tgnotime-2.4.0* gnotime-2.4.1 \\\n"
"\t\t\tgnotime-2.4.1_[12]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5102
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5109
msgid ""
"The first entry match versions `2.0` through `2.3`, the second all the "
"revisions of `2.4.0`, the third the exact `2.4.1` version, and the last the "
"first and second revisions of the `2.4.1` version."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5104
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5111
msgid ""
"package:deskutils/gnotime[] does not have any conflicts line because its "
"current version does not conflict with anything else."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5108
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5115
msgid ""
"The variable `DISABLE_CONFLICTS` may be temporarily set when making targets "
"that are not affected by conflicts. The variable is not to be set in port "
"Makefiles."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5112
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5119
#, no-wrap
msgid "% make -DDISABLE_CONFLICTS patch\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5115
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5122
#, no-wrap
msgid "Installing Files"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5122
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5129
msgid ""
"The `install` phase is very important to the end user because it adds files "
"to their system. All the additional commands run in the port [."
"filename]#Makefile#'s `*-install` targets should be echoed to the screen. "
"_Do not_ silence these commands with `@` or `.SILENT`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5125
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5132
#, no-wrap
msgid "`INSTALL_*` Macros"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5132
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5139
msgid ""
"Use the macros provided in [.filename]#bsd.port.mk# to ensure correct modes "
"of files in the port's `*-install` targets. Set ownership directly in [."
"filename]#pkg-plist# with the corresponding entries, such as `@(_owner_,"
"_group_,)`, `@owner _owner_`, and `@group _group_`. These operators work "
"until overridden, or until the end of [.filename]#pkg-plist#, so remember to "
"reset them after they are no longer needed. The default ownership is `root:"
"wheel`. See crossref:plist[plist-keywords-base,Base Keywords] for more "
"information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5134
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5141
msgid "`INSTALL_PROGRAM` is a command to install binary executables."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5135
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5142
msgid "`INSTALL_SCRIPT` is a command to install executable scripts."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5136
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5143
msgid ""
"`INSTALL_LIB` is a command to install shared libraries (but not static "
"libraries)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5137
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5144
msgid ""
"`INSTALL_KLD` is a command to install kernel loadable modules. Some "
"architectures do not like having the modules stripped, so use this command "
"instead of `INSTALL_PROGRAM`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5138
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5145
msgid ""
"`INSTALL_DATA` is a command to install sharable data, including static "
"libraries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5139
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5146
msgid ""
"`INSTALL_MAN` is a command to install manpages and other documentation (it "
"does not compress anything)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5141
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5148
msgid ""
"These variables are set to the man:install[1] command with the appropriate "
"flags for each situation."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5145
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5152
msgid ""
"Do not use `INSTALL_LIB` to install static libraries, because stripping them "
"renders them useless. Use `INSTALL_DATA` instead."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5148
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5155
#, no-wrap
msgid "Stripping Binaries and Shared Libraries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5153
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5160
msgid ""
"Installed binaries should be stripped. Do not strip binaries manually unless "
"absolutely required. The `INSTALL_PROGRAM` macro installs and strips a "
"binary at the same time. The `INSTALL_LIB` macro does the same thing to "
"shared libraries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5156
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5163
msgid ""
"When a file must be stripped, but neither `INSTALL_PROGRAM` nor "
"`INSTALL_LIB` macros are desirable, `${STRIP_CMD}` strips the program or "
"shared library. This is typically done within the `post-install` target. "
"For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5161
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5168
#, no-wrap
msgid ""
"post-install:\n"
"\t${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xdl\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5164
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5171
msgid "When multiple files need to be stripped:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5171
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5178
#, no-wrap
msgid ""
"post-install:\n"
".for l in geometry media body track world\n"
"\t${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}-${l}.so.0\n"
".endfor\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5176
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5183
msgid ""
"Use man:file[1] on a file to determine if it has been stripped. Binaries "
"are reported by man:file[1] as `stripped`, or `not stripped`. Additionally, "
"man:strip[1] will detect programs that have already been stripped and exit "
"cleanly."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5180
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5187
msgid "When `WITH_DEBUG` is defined, elf files _must not_ be stripped."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5182
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5189
msgid ""
"The variables (`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) and "
"crossref:uses[uses,`USES`] provided by the framework handle this "
"automatically."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5184
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5191
msgid ""
"Some software, add `-s` to their `LDFLAGS`, in this case, either remove `-s` "
"if `WITH_DEBUG` is set, or remove it unconditionally and use `STRIP_CMD` in "
"`post-install`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5187
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5194
#, no-wrap
msgid "Installing a Whole Tree of Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5192
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5199
msgid ""
"Sometimes, a large number of files must be installed while preserving their "
"hierarchical organization. For example, copying over a whole directory tree "
"from `WRKSRC` to a target directory under `PREFIX`. Note that `PREFIX`, "
"`EXAMPLESDIR`, `DATADIR`, and other path variables must always be prepended "
"with `STAGEDIR` to respect staging (see crossref:special[staging,Staging])."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5197
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5204
msgid ""
"Two macros exist for this situation. The advantage of using these macros "
"instead of `cp` is that they guarantee proper file ownership and permissions "
"on target files. The first macro, `COPYTREE_BIN`, will set all the "
"installed files to be executable, thus being suitable for installing into [."
"filename]#PREFIX/bin#. The second macro, `COPYTREE_SHARE`, does not set "
"executable permissions on files, and is therefore suitable for installing "
"files under [.filename]#PREFIX/share# target."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5203
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5210
#, no-wrap
msgid ""
"post-install:\n"
"\t${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n"
"\t(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5206
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5213
msgid ""
"This example will install the contents of the [.filename]#examples# "
"directory in the vendor distfile to the proper examples location of the port."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5212
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5219
#, no-wrap
msgid ""
"post-install:\n"
"\t${MKDIR} ${STAGEDIR}${DATADIR}/summer\n"
"\t(cd ${WRKSRC}/temperatures && ${COPYTREE_SHARE} \"June July August\" ${STAGEDIR}${DATADIR}/summer)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5215
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5222
msgid ""
"And this example will install the data of summer months to the [."
"filename]#summer# subdirectory of a [.filename]#DATADIR#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5218
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5225
msgid ""
"Additional `find` arguments can be passed via the third argument to "
"`COPYTREE_*` macros. For example, to install all files from the first "
"example except Makefiles, one can use these commands."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5225
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5232
#, no-wrap
msgid ""
"post-install:\n"
"\t${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n"
"\t(cd ${WRKSRC}/examples && \\\n"
"\t${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} \"! -name Makefile\")\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5230
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5237
msgid ""
"These macros do not add the installed files to [.filename]#pkg-plist#. They "
"must be added manually. For optional documentation (`PORTDOCS`, see "
"<<install-documentation>>) and examples (`PORTEXAMPLES`), the `%%PORTDOCS%%` "
"or `%%PORTEXAMPLES%%` prefixes must be prepended in [.filename]#pkg-plist#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5232
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5239
#, no-wrap
msgid "Install Additional Documentation"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5236
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5243
msgid ""
"If the software has some documentation other than the standard man and info "
"pages that is useful for the user, install it under `DOCSDIR`. This can be "
"done, like the previous item, in the `post-install` target."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5241
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5248
msgid ""
"Create a new directory for the port. The directory name is `DOCSDIR`. This "
"usually equals `PORTNAME`. However, if the user might want different "
"versions of the port to be installed at the same time, the whole `PKGNAME` "
"can be used."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5244
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5251
msgid ""
"Since only the files listed in [.filename]#pkg-plist# are installed, it is "
"safe to always install documentation to `STAGEDIR` (see crossref:"
"special[staging,Staging]). Hence `.if` blocks are only needed when the "
"installed files are large enough to cause significant I/O overhead."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5250
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5257
#, no-wrap
msgid ""
"post-install:\n"
"\t${MKDIR} ${STAGEDIR}${DOCSDIR}\n"
"\t${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${STAGEDIR}${DOCSDIR}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5254
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5261
msgid ""
"On the other hand, if there is a DOCS option in the port, install the "
"documentation in a `post-install-DOCS-on` target. These targets are "
"described in <<options-targets>>."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5256
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5263
msgid ""
"Here are some handy variables and how they are expanded by default when used "
"in the [.filename]#Makefile#:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5258
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5265
msgid "`DATADIR` gets expanded to [.filename]#PREFIX/share/PORTNAME#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5259
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5266
msgid "`DATADIR_REL` gets expanded to [.filename]#share/PORTNAME#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5260
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5267
msgid "`DOCSDIR` gets expanded to [.filename]#PREFIX/share/doc/PORTNAME#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5261
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5268
msgid "`DOCSDIR_REL` gets expanded to [.filename]#share/doc/PORTNAME#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5262
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5269
msgid ""
"`EXAMPLESDIR` gets expanded to [.filename]#PREFIX/share/examples/PORTNAME#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5263
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5270
msgid ""
"`EXAMPLESDIR_REL` gets expanded to [.filename]#share/examples/PORTNAME#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5269
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5276
msgid ""
"The `DOCS` option only controls additional documentation installed in "
"`DOCSDIR`. It does not apply to standard man pages and info pages. Things "
"installed in `EXAMPLESDIR` are controlled by the `EXAMPLES` option."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5275
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5282
msgid ""
"These variables are exported to `PLIST_SUB`. Their values will appear there "
"as pathnames relative to [.filename]#PREFIX# if possible. That is, [."
"filename]#share/doc/PORTNAME# will be substituted for `%%DOCSDIR%%` in the "
"packing list by default, and so on. (See more on [.filename]#pkg-plist# "
"substitution crossref:plist[plist-sub,here].)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5277
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5284
msgid ""
"All conditionally installed documentation files and directories are included "
"in [.filename]#pkg-plist# with the `%%PORTDOCS%%` prefix, for example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5282
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5289
#, no-wrap
msgid ""
"%%PORTDOCS%%%%DOCSDIR%%/AUTHORS\n"
"%%PORTDOCS%%%%DOCSDIR%%/CONTACT\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5291
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5298
msgid ""
"As an alternative to enumerating the documentation files in [.filename]#pkg-"
"plist#, a port can set the variable `PORTDOCS` to a list of file names and "
"shell glob patterns to add to the final packing list. The names will be "
"relative to `DOCSDIR`. Therefore, a port that utilizes `PORTDOCS`, and uses "
"a non-default location for its documentation, must set `DOCSDIR` "
"accordingly. If a directory is listed in `PORTDOCS` or matched by a glob "
"pattern from this variable, the entire subtree of contained files and "
"directories will be registered in the final packing list. If the `DOCS` "
"option has been unset then files and directories listed in `PORTDOCS` would "
"not be installed or added to port packing list. Installing the "
"documentation at `PORTDOCS` as shown above remains up to the port itself. A "
"typical example of utilizing `PORTDOCS`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5295
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5302
#, no-wrap
msgid "PORTDOCS=\tREADME.* ChangeLog docs/*\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5300
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5307
msgid ""
"The equivalents of `PORTDOCS` for files installed under `DATADIR` and "
"`EXAMPLESDIR` are `PORTDATA` and `PORTEXAMPLES`, respectively."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5304
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5311
msgid ""
"The contents of [.filename]#pkg-message# are displayed upon installation. "
"See crossref:pkg-files[porting-message,the section on using [.filename]#pkg-"
"message#] for details. [.filename]#pkg-message# does not need to be added "
"to [.filename]#pkg-plist#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5307
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5314
#, no-wrap
msgid "Subdirectories Under `PREFIX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5316
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5323
msgid ""
"Try to let the port put things in the right subdirectories of `PREFIX`. "
"Some ports lump everything and put it in the subdirectory with the port's "
"name, which is incorrect. Also, many ports put everything except binaries, "
"header files and manual pages in a subdirectory of [.filename]#lib#, which "
"does not work well with the BSD paradigm. Many of the files must be moved "
"to one of these directories: [.filename]#etc# (setup/configuration files), [."
"filename]#libexec# (executables started internally), [.filename]#sbin# "
"(executables for superusers/managers), [.filename]#info# (documentation for "
"info browser) or [.filename]#share# (architecture independent files). See "
"man:hier[7] for details; the rules governing [.filename]#/usr# pretty much "
"apply to [.filename]#/usr/local# too. The exception are ports dealing with "
"USENET \"news\". They may use [.filename]#PREFIX/news# as a destination for "
"their files."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5318
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5325
#, no-wrap
msgid "Use `BINARY_ALIAS` to Rename Commands Instead of Patching the Build"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5321
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5328
msgid ""
"When `BINARY_ALIAS` is defined it will create symlinks of the given commands "
"in a directory which will be prepended to `PATH`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5323
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5330
msgid ""
"Use it to substitute hardcoded commands the build phase relies on without "
"having to patch any build files."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5325
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5332
#, no-wrap
msgid "Using `BINARY_ALIAS` to Make `gsed` Available as `sed`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5330
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5337
msgid ""
"Some ports expect `sed` to behave like GNU sed and use features that man:"
"sed[1] does not provide. GNU sed is available from package:textproc/gsed[] "
"on FreeBSD."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5332
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5339
msgid ""
"Use `BINARY_ALIAS` to substitute `sed` with `gsed` for the duration of the "
"build:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5338
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5345
#, no-wrap
msgid ""
"BUILD_DEPENDS=\tgsed:textproc/gsed\n"
"...\n"
"BINARY_ALIAS=\tsed=gsed\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5343
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5350
#, no-wrap
msgid "Using `BINARY_ALIAS` to Provide Aliases for Hardcoded `python3` Commands"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5348
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5355
msgid ""
"A port that has a hardcoded reference to `python3` in its build scripts will "
"need to have it available in `PATH` at build time. Use `BINARY_ALIAS` to "
"create an alias that points to the right Python 3 binary:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5354
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5361
#, no-wrap
msgid ""
"USES=\tpython:3.4+,build\n"
"...\n"
"BINARY_ALIAS=\tpython3=${PYTHON_CMD}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5357
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5364
msgid ""
"See crossref:special[using-python,Using Python] for more information about "
"`USES=python`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5364
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5371
msgid ""
"Binary aliases are created after the dependencies provided via "
"`BUILD_DEPENDS` and `LIB_DEPENDS` are processed and before the `configure` "
"target. This leads to various limitations. For example, programs installed "
"via `TEST_DEPENDS` cannot be used to create a binary alias as test "
"dependencies specified this way are processed after binary aliases are "
"created."
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/quick-porting/_index.po b/documentation/content/en/books/porters-handbook/quick-porting/_index.po
index 48dc475e75..c1fae52e52 100644
--- a/documentation/content/en/books/porters-handbook/quick-porting/_index.po
+++ b/documentation/content/en/books/porters-handbook/quick-porting/_index.po
@@ -1,585 +1,587 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/quick-porting/_index.adoc:1
#, no-wrap
msgid "How to quickly create a new FreeBSD Port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:1
#, no-wrap
msgid "Chapter 3. Quick Porting"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:13
#, no-wrap
msgid "Quick Porting"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:52
msgid ""
"This section describes how to quickly create a new port. For applications "
"where this quick method is not adequate, the full \"Slow Porting\" process "
"is described in crossref:slow-porting[slow-porting,Slow Porting]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:54
msgid ""
"First, get the original tarball and put it into `DISTDIR`, which defaults to "
"[.filename]#/usr/ports/distfiles#."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:60
msgid ""
"These steps assume that the software compiled out-of-the-box. In other "
"words, absolutely no changes were required for the application to work on a "
"FreeBSD system. If anything had to be changed, refer to crossref:slow-"
"porting[slow-porting,Slow Porting]."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:65
msgid ""
"It is recommended to set the `DEVELOPER` man:make[1] variable in [."
"filename]#/etc/make.conf# before getting into porting."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:69
#, no-wrap
msgid "# echo DEVELOPER=yes >> /etc/make.conf\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:72
msgid ""
"This setting enables the \"developer mode\" that displays deprecation "
"warnings and activates some further quality checks on calling `make`."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:75
#, no-wrap
msgid "Writing the Makefile"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:78
msgid "The minimal [.filename]#Makefile# would look something like this:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:85
#, no-wrap
msgid ""
"PORTNAME=\toneko\n"
"DISTVERSION=\t1.1b\n"
"CATEGORIES=\tgames\n"
"MASTER_SITES=\tftp://ftp.rediris.es/sites/ftp.freebsd.org/pub/FreeBSD/\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:89
#, no-wrap
msgid ""
"MAINTAINER=\tyouremail@example.com\n"
"COMMENT=\tCat chasing a mouse all over the screen\n"
"WWW=\t\thttp://www.daidouji.com/oneko/\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:91
#, no-wrap
msgid ".include <bsd.port.mk>\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:95
msgid ""
"Try to figure it out. A more detailed example is shown in the crossref:"
"porting-samplem[porting-samplem,sample Makefile] section."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:97
#, no-wrap
msgid "Writing the Description Files"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:102
msgid ""
"There are two description files that are required for any port, whether they "
"actually package or not. They are [.filename]#pkg-descr# and [."
"filename]#pkg-plist#. Their [.filename]#pkg-# prefix distinguishes them "
"from other files."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:104
#, no-wrap
msgid "[.filename]#pkg-descr#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:108
msgid ""
"This is a longer description of the port. One to a few paragraphs concisely "
"explaining what the port does is sufficient."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:115
msgid ""
"This is _not_ a manual or an in-depth description on how to use or compile "
"the port! _Please be careful when copying from the [.filename]#README# or "
"manpage_. Too often they are not a concise description of the port or are "
"in an awkward format. For example, manpages have justified spacing, which "
"looks particularly bad with monospaced fonts."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:117
msgid ""
"On the other hand, the content of [.filename]#pkg-descr# must be longer than "
"the crossref:makefiles[makefile-comment,`COMMENT` line from the Makefile]. "
"It must explain in more depth what the port is all about."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:121
msgid ""
"A well-written [.filename]#pkg-descr# describes the port completely enough "
"that users would not have to consult the documentation or visit the website "
"to understand what the software does, how it can be useful, or what "
"particularly nice features it has. Mentioning certain requirements like a "
"graphical toolkit, heavy dependencies, runtime environment, or "
"implementation languages help users decide whether this port will work for "
"them."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:125
msgid ""
"The URL that used to be included as the last line of the [.filename]#pkg-"
"descr# file has been moved to the [.filename]#Makefile#."
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:128
#, no-wrap
msgid "[.filename]#pkg-plist#"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:133
msgid ""
"This file lists all the files installed by the port. It is also called the "
"\"packing list\" because the package is generated by packing the files "
"listed here. The pathnames are relative to the installation prefix (usually "
"[.filename]#/usr/local#)."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:135
msgid "Here is a small example:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:144
#, no-wrap
msgid ""
"bin/oneko\n"
"man/man1/oneko.1.gz\n"
"lib/X11/app-defaults/Oneko\n"
"lib/X11/oneko/cat1.xpm\n"
"lib/X11/oneko/cat2.xpm\n"
"lib/X11/oneko/mouse.xpm\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:147
msgid ""
"Refer to the man:pkg-create[8] manual page for details on the packing list."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:152
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:154
msgid ""
"It is recommended to keep all the filenames in this file sorted "
"alphabetically. It will make verifying changes when upgrading the port much "
-"easier."
+"easier. The sorting should be applied after variable expansion takes "
+"place. The framework does this correctly when the package list is crossref:"
+"plist[plist-autoplist,generated automatically]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:158
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:160
msgid ""
"Creating a packing list manually can be a very tedious task. If the port "
"installs a large numbers of files, crossref:plist[plist-autoplist,creating "
"the packing list automatically] might save time."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:163
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:165
msgid ""
"There is only one case when [.filename]#pkg-plist# can be omitted from a "
"port. If the port installs just a handful of files, list them in "
"`PLIST_FILES`, within the port's [.filename]#Makefile#. For instance, we "
"could get along without [.filename]#pkg-plist# in the above [."
"filename]#oneko# port by adding these lines to the [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:172
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:174
#, no-wrap
msgid ""
"PLIST_FILES=\tbin/oneko \\\n"
"\t\tman/man1/oneko.1.gz \\\n"
"\t\tlib/X11/app-defaults/Oneko \\\n"
"\t\tlib/X11/oneko/cat1.xpm \\\n"
"\t\tlib/X11/oneko/cat2.xpm \\\n"
"\t\tlib/X11/oneko/mouse.xpm\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:179
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:181
msgid ""
"Usage of `PLIST_FILES` should not be abused. When looking for the origin of "
"a file, people usually try to grep through the [.filename]#pkg-plist# files "
"in the ports tree. Listing files in `PLIST_FILES` in the [."
"filename]#Makefile# makes that search more difficult."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:184
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:186
msgid ""
"If a port needs to create an empty directory, or creates directories outside "
"of [.filename]#${PREFIX}# during installation, refer to crossref:plist[plist-"
"dir-cleaning,Cleaning Up Empty Directories] for more information."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:190
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:192
msgid ""
"As `PLIST_FILES` is a man:make[1] variable, any entry with spaces must be "
"quoted. For example, if using keywords described in man:pkg-create[8] and "
"crossref:plist[plist-keywords,Expanding Package List with Keywords], the "
"entry must be quoted."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:194
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:196
#, no-wrap
msgid "PLIST_FILES=\t\"@sample ${ETCDIR}/oneko.conf.sample\"\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:198
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:200
msgid ""
"Later we will see how [.filename]#pkg-plist# and `PLIST_FILES` can be used "
"to fulfill crossref:plist[plist,more sophisticated tasks]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:200
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:202
#, no-wrap
msgid "Creating the Checksum File"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:205
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:207
msgid ""
"Just type `make makesum`. The ports framework will automatically generate [."
"filename]#distinfo#. Do not try to generate the file manually."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:207
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:209
#, no-wrap
msgid "Testing the Port"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:211
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:213
msgid ""
"Make sure that the port rules do exactly what is desired, including "
"packaging up the port. These are the important points to verify:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:213
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:215
msgid ""
"[.filename]#pkg-plist# does not contain anything not installed by the port."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:214
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:216
msgid ""
"[.filename]#pkg-plist# contains everything that is installed by the port."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:215
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:217
msgid ""
"The port can be installed using the `install` target. This verifies that the "
"install script works correctly."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:216
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:218
msgid ""
"The port can be deinstalled properly using the `deinstall` target. This "
"verifies that the deinstall script works correctly."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:217
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:219
msgid ""
"The port only has access to network resources during the `fetch` target "
"phase. This is important for package builders, such as package:ports-mgmt/"
"poudriere[]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:218
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:220
msgid ""
"Make sure that `make package` can be run as a normal user (that is, not as "
"`root`). If that fails, the software may need to be patched. See also "
"crossref:uses[uses-fakeroot,`fakeroot`] and crossref:uses[uses-uidfix,"
"`uidfix`]."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:220
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:222
#, no-wrap
msgid "Procedure: Recommended Test Ordering"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:222
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:224
msgid "`make stage`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:223
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:225
msgid "`make stage-qa`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:224
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:226
msgid "`make package`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:225
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:227
msgid "`make install`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:226
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:228
msgid "`make deinstall`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:227
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:229
msgid "`make package` (as user)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:229
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:231
msgid "Make certain no warnings are shown in any of the stages."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:232
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:234
msgid ""
"Thorough automated testing can be done with package:ports-mgmt/poudriere[] "
-"from the Ports Collection, see crossref:testing[testing-poudriere,Poudriere] "
+"from the Ports Collection, see crossref:testing[testing-poudriere,poudriere] "
"for more information. It maintains `jails` where all of the steps shown "
"above can be tested without affecting the state of the host system."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:234
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:236
#, no-wrap
msgid "Checking the Port with `portlint`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:239
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:241
msgid ""
"Please use `portlint` to see if the port conforms to our guidelines. The "
"package:ports-mgmt/portlint[] program is part of the ports collection. In "
"particular, check that the crossref:porting-samplem[porting-samplem,"
"Makefile] is in the right shape and the crossref:porting-pkgname[porting-"
"pkgname,package] is named appropriately."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:243
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:245
msgid ""
"Do not blindly follow the output of `portlint`. It is a static lint tool and "
"sometimes gets things wrong."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:246
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:248
#, no-wrap
msgid "Submitting the New Port"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:249
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:251
msgid ""
"Before submitting the new port, read the crossref:porting-dads[porting-dads,"
"DOs and DON'Ts] section."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:251
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:253
msgid ""
"Once happy with the port, the only thing remaining is to put it in the main "
"FreeBSD ports tree and make everybody else happy about it too."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:255
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:257
msgid ""
"We do not need the [.filename]#work# directory or the [.filename]#pkgname."
"txz# package, so delete them now."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:259
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:261
msgid ""
"Next, create a man:patch[1], file. Assuming the port is called `oneko` and "
"is in the `games` category."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:261
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:263
#, no-wrap
msgid "Creating a [.filename]#.diff# for a New Port"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:265
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:267
msgid ""
"Add all the files with `git add .`, then review the diff with `git diff`. "
"For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:270
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:272
#, no-wrap
msgid ""
"% git add .\n"
"% git diff --staged\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:274
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:276
msgid ""
"Make sure that all required files are included, then commit the change to "
"your local branch and generate a patch with `git format-patch`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:279
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:281
#, no-wrap
msgid ""
"% git commit\n"
"% git format-patch origin/main\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:283
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:285
msgid ""
"Patch generated with `git format-patch` will include author identity and "
"email addresses, making it easier for developers to apply (with `git am`) "
"and give proper credit."
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:287
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:289
msgid ""
"To make it easier for committers to apply the patch on their working copy of "
"the ports tree, please generate the [.filename]#.diff# from the base of your "
"ports tree."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:294
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:296
msgid ""
"Submit [.filename]#oneko.diff# with the https://bugs.freebsd.org/submit/[bug "
"submission form]. Use product \"Ports & Packages\", component \"Individual "
"Port(s)\", and follow the guidelines shown there. Add a short description "
"of the program to the Description field of the PR (perhaps a short version "
"of `COMMENT`), and remember to add [.filename]#oneko.diff# as an attachment."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:300
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:302
msgid ""
"Giving a good description in the summary of the problem report makes the "
"work of port committers and triagers a lot easier. The expected format for "
"new ports is \"[NEW PORT] _category/portname short description of the "
"port_\". Using this scheme makes it easier and faster to begin the work of "
"committing the new port."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:305
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:307
msgid ""
"After submitting the port, please be patient. The time needed to include a "
"new port in FreeBSD can vary from a few days to a few months. A simple "
"search form of the Problem Report database can be searched at https://bugs."
"freebsd.org/bugzilla/query.cgi[]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:307
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:309
msgid ""
"To get a listing of _open_ port PRs, select _Open_ and _Ports & Packages_ in "
"the search form, then click btn:[Search]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:310
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:312
msgid ""
"After looking at the new port, we will reply if necessary, and commit it to "
"the tree. The submitter's name will also be added to the list of extref:"
"{contributors}[Additional FreeBSD Contributors, contrib-additional] and "
"other files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:315
+#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:317
msgid ""
"Previously it was possible to submit patches for new ports using a man:"
"shar[1] file; this is no longer the case with the evolution of man:git[1]. "
"Committers no longer accept man:shar[1] files as their use is prone to "
"mistake and does not add the relevant entry in the category's [."
"filename]#Makefile#."
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/special/_index.po b/documentation/content/en/books/porters-handbook/special/_index.po
index c1ef95841d..d17d733536 100644
--- a/documentation/content/en/books/porters-handbook/special/_index.po
+++ b/documentation/content/en/books/porters-handbook/special/_index.po
@@ -1,12549 +1,13305 @@
# 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: 2023-07-15 16:42-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/special/_index.adoc:1
#, no-wrap
msgid "Special considerations when creating a new FreeBSD Port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/special/_index.adoc:1
#, no-wrap
msgid "Chapter 6. Special Considerations"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/special/_index.adoc:13
#, no-wrap
msgid "Special Considerations"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:51
msgid ""
"This section explains the most common things to consider when creating a "
"port."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/special/_index.adoc:53
#, no-wrap
-msgid "Staging"
+msgid "Splitting long files"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/special/_index.adoc:60
msgid ""
+"Sometimes, port [.filename]#Makefiles# can be really long. For example, "
+"rust ports can have a very long `CARGO_CRATES` list. In other cases, the [."
+"filename]#Makefile# might have code that varies depending on the "
+"architecture. In such cases, it can be convenient to split the original [."
+"filename]#Makefile# into several files. [.filename]#bsd.port.mk# "
+"automatically includes some types of [.filename]#Makefiles# into the main "
+"port [.filename]#Makefile#."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:62
+msgid ""
+"These are the files that the framework handles automatically if they are "
+"found:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:64
+msgid ""
+"[.filename]#Makefile.crates#. An example can be found in package:audio/"
+"ebur128[]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:65
+msgid ""
+"[.filename]#Makefile.inc#. An example can be found in package:net/ntp[]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:66
+msgid "[.filename]#Makefile.${ARCH}-${OPSYS}#"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:67
+msgid ""
+"[.filename]#Makefile.${OPSYS}#. An example can be found in package:net/cvsup-"
+"static[]."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:68
+msgid "[.filename]#Makefile.${ARCH}#"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:69
+msgid "[.filename]#Makefile.local#"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:75
+msgid ""
+"It is also usual practice to split the packaging list of the port into "
+"several files if the list varies a lot from one architecture to another or "
+"depends on the selected flavor. In this case, the [.filename]#pkg-plist# "
+"file for each architecture is named following the pattern [.filename]#pkg-"
+"plist.${ARCH}# or [.filename]#pkg-plist.${FLAVOR}#. The framework does not "
+"create the packaging list automatically if multiple [.filename]#pkg-plist# "
+"files exist. It is the responsibility of the porter to select the proper [."
+"filename]#pkg-plist# and assign it to the `PLIST` variable. Examples on how "
+"to deal with this can be found in package:audio/logitechmediaserver[] and "
+"package:deskutils/libportal[]."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:77
+#, no-wrap
+msgid "Staging"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:84
+msgid ""
"[.filename]#bsd.port.mk# expects ports to work with a \"stage directory\". "
"This means that a port must not install files directly to the regular "
"destination directories (that is, under `PREFIX`, for example) but instead "
"into a separate directory from which the package is then built. In many "
"cases, this does not require root privileges, making it possible to build "
"packages as an unprivileged user. With staging, the port is built and "
"installed into the stage directory, `STAGEDIR`. A package is created from "
"the stage directory and then installed on the system. Automake tools refer "
"to this concept as `DESTDIR`, but in FreeBSD, `DESTDIR` has a different "
"meaning (see crossref:testing[porting-prefix,`PREFIX` and `DESTDIR`])."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:67
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:91
msgid ""
"No port _really_ needs to be root. It can mostly be avoided by using "
"crossref:uses[uses-uidfix,`USES=uidfix`]. If the port still runs commands "
"like man:chown[8], man:chgrp[1], or forces owner or group with man:"
"install[1] then use crossref:uses[uses-fakeroot,`USES=fakeroot`] to fake "
"those calls. Some patching of the port's [.filename]#Makefiles# will be "
"needed."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:72
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:96
msgid ""
"Meta ports, or ports that do not install files themselves but only depend on "
"other ports, must avoid needlessly extracting the man:mtree[8] to the stage "
"directory. This is the basic directory layout of the package, and these "
"empty directories will be seen as orphans. To prevent man:mtree[8] "
"extraction, add this line:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:76
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:100
#, no-wrap
msgid "NO_MTREE=\tyes\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:82
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:106
msgid ""
"Metaports should use <<uses-metaport,`USES=metaport`>>. It sets up defaults "
"for ports that do not fetch, build, or install anything."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:88
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:112
msgid ""
"Staging is enabled by prepending `STAGEDIR` to paths used in the `pre-"
"install`, `do-install`, and `post-install` targets (see the examples through "
"the book). Typically, this includes `PREFIX`, `ETCDIR`, `DATADIR`, "
"`EXAMPLESDIR`, `MANPREFIX`, `DOCSDIR`, and so on. Directories should be "
"created as part of the `post-install` target. Avoid using absolute paths "
"whenever possible."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:92
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:116
msgid ""
"Ports that install kernel modules must prepend `STAGEDIR` to their "
"destination, by default [.filename]#/boot/modules#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:95
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:119
#, no-wrap
msgid "Handling Symbolic Links"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:100
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:124
msgid ""
"When creating a symbolic link, relative ones are strongly recommended. Use "
"`${RLN}` to create relative symbolic links. It uses man:install[1] under "
"the hood to automatically figure out the relative link to create."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:102
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:126
#, no-wrap
msgid "Create Relative Symbolic Links Automatically"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:106
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:130
msgid ""
"`${RLN}` uses man:install[1]'s relative symbolic feature which frees the "
"porter of computing the relative path."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:112
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:136
#, no-wrap
msgid ""
"${RLN} ${STAGEDIR}${PREFIX}/lib/libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so\n"
"${RLN} ${STAGEDIR}${PREFIX}/libexec/foo/bar ${STAGEDIR}${PREFIX}/bin/bar\n"
"${RLN} ${STAGEDIR}/var/cache/foo ${STAGEDIR}${PREFIX}/share/foo\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:115
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:139
msgid "Will generate:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:125
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:149
#, no-wrap
msgid ""
"% ls -lF ${STAGEDIR}${PREFIX}/lib\n"
"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 libfoo.so@ -> libfoo.so.42\n"
"-rwxr-xr-x 1 nobody nobody 15 Aug 3 11:24 libfoo.so.42*\n"
"% ls -lF ${STAGEDIR}${PREFIX}/bin\n"
"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 bar@ -> ../libexec/foo/bar\n"
"% ls -lF ${STAGEDIRDIR}${PREFIX}/share\n"
"lrwxr-xr-x 1 nobody nobody 181 Aug 3 11:27 foo@ -> ../../../var/cache/foo\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:130
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:154
#, no-wrap
msgid "Bundled Libraries"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:133
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:157
msgid ""
"This section explains why bundled dependencies are considered bad and what "
"to do about them."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:135
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:159
#, no-wrap
msgid "Why Bundled Libraries Are Bad"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:140
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:164
msgid ""
"Some software requires the porter to locate third-party libraries and add "
"the required dependencies to the port. Other software bundles all necessary "
"libraries into the distribution file. The second approach seems easier at "
"first, but there are some serious drawbacks:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:142
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:166
msgid ""
"This list is loosely based on the https://fedoraproject.org/wiki/Packaging:"
"No_Bundled_Libraries[Fedora] and https://wiki.gentoo.org/wiki/"
"Why_not_bundle_dependencies[Gentoo] wikis, both licensed under the https://"
"creativecommons.org/licenses/by-sa/3.0/[CC-BY-SA 3.0] license."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:143
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:167
#, no-wrap
msgid "Security"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:149
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:173
msgid ""
"If vulnerabilities are found in the upstream library and fixed there, they "
"might not be fixed in the library bundled with the port. One reason could "
"be that the author is not aware of the problem. This means that the porter "
"must fix them, or upgrade to a non-vulnerable version, and send a patch to "
"the author. This all takes time, which results in software being vulnerable "
"longer than necessary. This in turn makes it harder to coordinate a fix "
"without unnecessarily leaking information about the vulnerability."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:150
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:174
#, no-wrap
msgid "Bugs"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:152
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:176
msgid ""
"This problem is similar to the problem with security in the last paragraph, "
"but generally less severe."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:177
#, no-wrap
msgid "Forking"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:157
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:181
msgid ""
"It is easier for the author to fork the upstream library once it is "
"bundled. While convenient on first sight, it means that the code diverges "
"from upstream making it harder to address security or other problems with "
"the software. A reason for this is that patching becomes harder."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:160
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:184
msgid ""
"Another problem of forking is that because code diverges from upstream, bugs "
"get solved over and over again instead of just once at a central location. "
"This defeats the idea of open source software in the first place."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:161
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:185
#, no-wrap
msgid "Symbol collision"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:166
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:190
msgid ""
"When a library is installed on the system, it might collide with the bundled "
"version. This can cause immediate errors at compile or link time. It can "
"also cause errors when running the program which might be harder to track "
"down. The latter problem could be caused because the versions of the two "
"libraries are incompatible."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:167
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:191
#, no-wrap
msgid "Licensing"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:169
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:193
msgid ""
"When bundling projects from different sources, license issues can arise more "
"easily, especially when licenses are incompatible."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:170
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:194
#, no-wrap
msgid "Waste of resources"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:174
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:198
msgid ""
"Bundled libraries waste resources on several levels. It takes longer to "
"build the actual application, especially if these libraries are already "
"present on the system. At run-time, they can take up unnecessary memory "
"when the system-wide library is already loaded by one program and the "
"bundled library is loaded by another program."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:175
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:199
#, no-wrap
msgid "Waste of effort"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:179
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:203
msgid ""
"When a library needs patches for FreeBSD, these patches have to be "
"duplicated again in the bundled library. This wastes developer time because "
"the patches might not apply cleanly. It can also be hard to notice that "
"these patches are required in the first place."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:181
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:205
#, no-wrap
msgid "What to do About Bundled Libraries"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:185
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:209
msgid ""
"Whenever possible, use the unbundled version of the library by adding a "
"`LIB_DEPENDS` to the port. If such a port does not exist yet, consider "
"creating it."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:187
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:211
msgid ""
"Only use bundled libraries if the upstream has a good track record on "
"security and using unbundled versions leads to overly complex patches."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:195
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:219
msgid ""
"In some very special cases, for example emulators, like Wine, a port has to "
"bundle libraries, because they are in a different architecture, or they have "
"been modified to fit the software's use. In that case, those libraries "
"should not be exposed to other ports for linking. Add `BUNDLE_LIBS=yes` to "
"the port's [.filename]#Makefile#. This will tell man:pkg[8] to not compute "
"provided libraries. Always ask the {portmgr} before adding this to a port."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:198
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:222
#, no-wrap
msgid "Shared Libraries"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:202
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:226
msgid ""
"If the port installs one or more shared libraries, define a `USE_LDCONFIG` "
"make variable, which will instruct a [.filename]#bsd.port.mk# to run "
"`${LDCONFIG} -m` on the directory where the new library is installed "
"(usually [.filename]#PREFIX/lib#) during `post-install` target to register "
"it into the shared library cache. This variable, when defined, will also "
"facilitate addition of an appropriate `@exec /sbin/ldconfig -m` and "
"`@unexec /sbin/ldconfig -R` pair into [.filename]#pkg-plist#, so that a user "
"who installed the package can start using the shared library immediately and "
"de-installation will not cause the system to still believe the library is "
"there."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:206
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:230
#, no-wrap
msgid "USE_LDCONFIG=\tyes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:210
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:234
msgid ""
"The default directory can be overridden by setting `USE_LDCONFIG` to a list "
"of directories into which shared libraries are to be installed. For "
"example, if the port installs shared libraries into [.filename]#PREFIX/lib/"
"foo# and [.filename]#PREFIX/lib/bar# use this in [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:214
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:238
#, no-wrap
msgid "USE_LDCONFIG=\t${PREFIX}/lib/foo ${PREFIX}/lib/bar\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:217
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:241
msgid ""
"Please double-check, often this is not necessary at all or can be avoided "
"through `-rpath` or setting `LD_RUN_PATH` during linking (see package:lang/"
"mosml[] for an example), or through a shell-wrapper which sets "
"`LD_LIBRARY_PATH` before invoking the binary, like package:www/seamonkey[] "
"does."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:219
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:243
msgid ""
"When installing 32-bit libraries on a 64-bit system, use `USE_LDCONFIG32` "
"instead."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:221
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:245
msgid ""
"If the software uses <<using-autotools,autotools>>, and specifically "
"`libtool`, add crossref:uses[uses-libtool,`USES=libtool`]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:223
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:247
msgid ""
"When the major library version number increments in the update to the new "
"port version, all other ports that link to the affected library must have "
"their `PORTREVISION` incremented, to force recompilation with the new "
"library version."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:225
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:249
#, no-wrap
msgid "Ports with Distribution Restrictions or Legal Concerns"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:228
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:252
msgid ""
"Licenses vary, and some of them place restrictions on how the application "
"can be packaged, whether it can be sold for profit, and so on."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:257
msgid ""
"It is the responsibility of a porter to read the licensing terms of the "
"software and make sure that the FreeBSD project will not be held accountable "
"for violating them by redistributing the source or compiled binaries either "
"via FTP/HTTP or CD-ROM. If in doubt, please contact the {freebsd-ports}."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:236
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:260
msgid ""
"In situations like this, the variables described in the next sections can be "
"set."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:238
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:262
#, no-wrap
msgid "`NO_PACKAGE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:242
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:266
msgid ""
"This variable indicates that we may not generate a binary package of the "
"application. For instance, the license may disallow binary redistribution, "
"or it may prohibit distribution of packages created from patched sources."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:269
msgid ""
"However, the port's `DISTFILES` may be freely mirrored on FTP/HTTP. They "
"may also be distributed on a CD-ROM (or similar media) unless `NO_CDROM` is "
"set as well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:248
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:272
msgid ""
"If the binary package is not generally useful, and the application must "
"always be compiled from the source code, use `NO_PACKAGE`. For example, if "
"the application has configuration information that is site specific hard "
"coded into it at compile time, set `NO_PACKAGE`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:250
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:274
msgid ""
"Set `NO_PACKAGE` to a string describing the reason why the package cannot be "
"generated."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:252
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:276
#, no-wrap
msgid "`NO_CDROM`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:256
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:280
msgid ""
"This variable alone indicates that, although we are allowed to generate "
"binary packages, we may put neither those packages nor the port's "
"`DISTFILES` onto a CD-ROM (or similar media) for resale. However, the "
"binary packages and the port's `DISTFILES` will still be available via FTP/"
"HTTP."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:258
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:282
msgid ""
"If this variable is set along with `NO_PACKAGE`, then only the port's "
"`DISTFILES` will be available, and only via FTP/HTTP."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:261
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:285
msgid ""
"Set `NO_CDROM` to a string describing the reason why the port cannot be "
"redistributed on CD-ROM. For instance, use this if the port's license is "
"for \"non-commercial\" use only."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:263
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:287
#, no-wrap
msgid "`NOFETCHFILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:267
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:291
msgid ""
"Files defined in `NOFETCHFILES` are not fetchable from any of "
"`MASTER_SITES`. An example of such a file is when the file is supplied on "
"CD-ROM by the vendor."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:269
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:293
msgid ""
"Tools which check for the availability of these files on `MASTER_SITES` have "
"to ignore these files and not report about them."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:271
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:295
#, no-wrap
msgid "`RESTRICTED`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:274
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:298
msgid ""
"Set this variable alone if the application's license permits neither "
"mirroring the application's `DISTFILES` nor distributing the binary package "
"in any way."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:276
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:300
msgid ""
"Do not set `NO_CDROM` or `NO_PACKAGE` along with `RESTRICTED`, since the "
"latter variable implies the former ones."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:280
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:304
msgid ""
"Set `RESTRICTED` to a string describing the reason why the port cannot be "
"redistributed. Typically, this indicates that the port contains proprietary "
"software and that the user will need to manually download the `DISTFILES`, "
"possibly after registering for the software or agreeing to accept the terms "
"of an EULA."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:282
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:306
#, no-wrap
msgid "`RESTRICTED_FILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:286
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:310
msgid ""
"When `RESTRICTED` or `NO_CDROM` is set, this variable defaults to "
"`${DISTFILES} ${PATCHFILES}`, otherwise it is empty. If only some of the "
"distribution files are restricted, then set this variable to list them."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:288
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:312
#, no-wrap
msgid "`LEGAL_TEXT`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:292
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:316
msgid ""
"If the port has legal concerns not addressed by the above variables, set "
"`LEGAL_TEXT` to a string explaining the concern. For example, if special "
"permission was obtained for FreeBSD to redistribute the binary, this "
"variable must indicate so."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:294
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:318
#, no-wrap
msgid "[.filename]#/usr/ports/LEGAL# and `LEGAL`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:300
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:324
msgid ""
"A port which sets any of the above variables must also be added to [."
"filename]#/usr/ports/LEGAL#. The first column is a glob which matches the "
"restricted distfiles. The second column is the port's origin. The third "
"column is the output of `make -VLEGAL`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:302
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4187
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:326
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4215
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4475
#, no-wrap
msgid "Examples"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:305
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:329
msgid ""
"The preferred way to state \"the distfiles for this port must be fetched "
"manually\" is as follows:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:311
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:335
#, no-wrap
msgid ""
".if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})\n"
"IGNORE=\tmay not be redistributed because of licensing reasons. Please visit some-website to accept their license and download ${DISTFILES} into ${DISTDIR}\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:314
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:338
msgid ""
"This both informs the user, and sets the proper metadata on the user's "
"machine for use by automated programs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:316
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:340
msgid ""
"Note that this stanza must be preceded by an inclusion of [.filename]#bsd."
"port.pre.mk#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:318
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:342
#, no-wrap
msgid "Building Mechanisms"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:321
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:345
#, no-wrap
msgid "Building Ports in Parallel"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:325
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:349
msgid ""
"The FreeBSD ports framework supports parallel building using multiple `make` "
"sub-processes, which allows SMP systems to utilize all of their available "
"CPU power, allowing port builds to be faster and more effective."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:330
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:354
msgid ""
"This is achieved by passing `-jX` flag to man:make[1] running on vendor "
"code. This is the default build behavior of ports. Unfortunately, not all "
"ports handle parallel building well and it may be required to explicitly "
"disable this feature by adding the `MAKE_JOBS_UNSAFE=yes` variable. It is "
"used when a port is known to be broken with `-jX` due to race conditions "
"causing intermittent build failures."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:335
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:359
msgid ""
"When setting `MAKE_JOBS_UNSAFE`, it is very important to explain either with "
"a comment in the [.filename]#Makefile#, or at least in the commit message, "
"_why_ the port does not build when enabling. Otherwise, it is almost "
"impossible to either fix the problem, or test if it has been fixed when "
"committing an update at a later date."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:338
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:362
#, no-wrap
msgid "`make`, `gmake`, and `imake`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:341
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:365
msgid ""
"Several differing `make` implementations exist. Ported software often "
-"requires a particular implementation, like GNU`make`, known in FreeBSD as "
+"requires a particular implementation, like GNU `make`, known in FreeBSD as "
"`gmake`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:343
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:367
msgid "If the port uses GNU make, add `gmake` to `USES`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:346
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:370
msgid ""
"`MAKE_CMD` can be used to reference the specific command configured by the "
"`USES` setting in the port's [.filename]#Makefile#. Only use `MAKE_CMD` "
"within the application [.filename]##Makefile##s in `WRKSRC` to call the "
"`make` implementation expected by the ported software."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:349
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:373
msgid ""
"If the port is an X application that uses imake to create [."
"filename]##Makefile##s from [.filename]##Imakefile##s, set `USES= imake`. "
"See the crossref:uses[uses-imake,`USES=imake`] section of crossref:uses[uses,"
"Using `USES` Macros] for more details."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:352
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:376
msgid ""
"If the port's source [.filename]#Makefile# has something other than `all` as "
"the main build target, set `ALL_TARGET` accordingly. The same goes for "
"`install` and `INSTALL_TARGET`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:354
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:378
#, no-wrap
msgid "`configure` Script"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:359
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:383
msgid ""
"If the port uses the `configure` script to generate [.filename]#Makefile# "
"from [.filename]#Makefile.in#, set `GNU_CONFIGURE=yes`. To give extra "
"arguments to the `configure` script (the default argument is `--"
"prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} --mandir=${MANPREFIX}/man "
"--build=${CONFIGURE_TARGET}`), set those extra arguments in "
"`CONFIGURE_ARGS`. Extra environment variables can be passed using "
"`CONFIGURE_ENV`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:361
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:385
#, no-wrap
msgid "Variables for Ports That Use `configure`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:365
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:393
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:419
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:502
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:785
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2416
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2436
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3139
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3170
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3749
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:389
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:417
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:443
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:526
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:809
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2444
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2464
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3167
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3198
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3777
#, no-wrap
msgid "Variable"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:367
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:395
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:421
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1298
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3141
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:391
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:419
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:445
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1322
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3169
#, no-wrap
msgid "Means"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:368
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:392
#, no-wrap
msgid "`GNU_CONFIGURE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:370
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:394
#, no-wrap
msgid "The port uses `configure` script to prepare build."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:371
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:395
#, no-wrap
msgid "`HAS_CONFIGURE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:373
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:397
#, no-wrap
msgid "Same as `GNU_CONFIGURE`, except default configure target is not added to `CONFIGURE_ARGS`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:374
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:398
#, no-wrap
msgid "`CONFIGURE_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:376
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:400
#, no-wrap
msgid "Additional arguments passed to `configure` script."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:377
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:411
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:401
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:435
#, no-wrap
msgid "`CONFIGURE_ENV`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:379
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:403
#, no-wrap
msgid "Additional environment variables to be set for `configure` script run."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:380
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:404
#, no-wrap
msgid "`CONFIGURE_TARGET`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:381
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:405
#, no-wrap
msgid "Override default configure target. Default value is `${MACHINE_ARCH}-portbld-freebsd${OSREL}`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:384
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:408
#, no-wrap
msgid "Using `cmake`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:387
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:411
msgid "For ports that use CMake, define `USES= cmake`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:389
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:413
#, no-wrap
msgid "Variables for Ports That Use `cmake`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:396
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:420
#, no-wrap
msgid "`CMAKE_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:398
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:422
#, no-wrap
msgid "Port specific CMake flags to be passed to the `cmake` binary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:399
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:423
#, no-wrap
msgid "`CMAKE_ON`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:401
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:425
#, no-wrap
msgid "For each entry in `CMAKE_ON`, an enabled boolean value is added to `CMAKE_ARGS`. See <<using-cmake-example2>>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:402
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:426
#, no-wrap
msgid "`CMAKE_OFF`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:404
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:428
#, no-wrap
msgid "For each entry in `CMAKE_OFF`, a disabled boolean value is added to `CMAKE_ARGS`. See <<using-cmake-example2>>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:405
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:429
#, no-wrap
msgid "`CMAKE_BUILD_TYPE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:407
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:431
#, no-wrap
msgid "Type of build (CMake predefined build profiles). Default is `Release`, or `Debug` if `WITH_DEBUG` is set."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:408
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:432
#, no-wrap
msgid "`CMAKE_SOURCE_PATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:410
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:434
#, no-wrap
msgid "Path to the source directory. Default is `${WRKSRC}`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:412
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:436
#, no-wrap
msgid "Additional environment variables to be set for the `cmake` binary."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:415
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:439
#, no-wrap
msgid "Variables the Users Can Define for `cmake` Builds"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:422
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:446
#, no-wrap
msgid "`CMAKE_NOCOLOR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:423
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:447
#, no-wrap
msgid "Disables color build output. Default not set, unless `BATCH` or `PACKAGE_BUILDING` are set."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:430
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:454
msgid ""
"CMake supports these build profiles: `Debug`, `Release`, `RelWithDebInfo` "
"and `MinSizeRel`. `Debug` and `Release` profiles respect system `\\*FLAGS`, "
"`RelWithDebInfo` and `MinSizeRel` will set `CFLAGS` to `-O2 -g` and `-Os -"
"DNDEBUG` correspondingly. The lower-cased value of `CMAKE_BUILD_TYPE` is "
"exported to `PLIST_SUB` and must be used if the port installs [.filename]#*."
"cmake# depending on the build type (see package:devel/kf5-kcrash[] for an "
"example). Please note that some projects may define their own build "
"profiles and/or force particular build type by setting `CMAKE_BUILD_TYPE` in "
"[.filename]#CMakeLists.txt#. To make a port for such a project respect "
"`CFLAGS` and `WITH_DEBUG`, the `CMAKE_BUILD_TYPE` definitions must be "
"removed from those files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:435
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:459
msgid ""
"Most CMake-based projects support an out-of-source method of building. The "
"out-of-source build for a port is the default setting. An in-source build "
"can be requested by using the `:insource` suffix. With out-of-source "
"builds, `CONFIGURE_WRKSRC`, `BUILD_WRKSRC` and `INSTALL_WRKSRC` will be set "
"to `${WRKDIR}/.build` and this directory will be used to keep all files "
"generated during configuration and build stages, leaving the source "
"directory intact."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:437
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:461
#, no-wrap
msgid "`USES= cmake` Example"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:442
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:466
msgid ""
"This snippet demonstrates the use of CMake for a port. `CMAKE_SOURCE_PATH` "
"is not usually required, but can be set when the sources are not located in "
"the top directory, or if only a subset of the project is intended to be "
"built by the port."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:447
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:471
#, no-wrap
msgid ""
"USES=\t\t\tcmake\n"
"CMAKE_SOURCE_PATH=\t${WRKSRC}/subproject\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:452
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:476
#, no-wrap
msgid "`CMAKE_ON` and `CMAKE_OFF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:456
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:480
msgid ""
"When adding boolean values to `CMAKE_ARGS`, it is easier to use the "
"`CMAKE_ON` and `CMAKE_OFF` variables instead. This:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:461
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:485
#, no-wrap
msgid ""
"CMAKE_ON=\tVAR1 VAR2\n"
"CMAKE_OFF=\tVAR3\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:464
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:488
msgid "Is equivalent to:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:468
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:492
#, no-wrap
msgid "CMAKE_ARGS=\t-DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE\n"
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:474
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:498
msgid ""
"This is only for the default values off `CMAKE_ARGS`. The helpers described "
"in crossref:makefiles[options-cmake_bool,`OPT_CMAKE_BOOL` and "
"`OPT_CMAKE_BOOL_OFF`] use the same semantics, but for optional values."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:479
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:503
#, no-wrap
msgid "Using `scons`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:482
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:506
msgid "If the port uses SCons, define `USES=scons`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:484
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:508
msgid ""
"To make third party [.filename]#SConstruct# respect everything that is "
"passed to SCons in the environment (that is, most importantly, `CC/CXX/"
"CFLAGS/CXXFLAGS`), patch [.filename]#SConstruct# so build `Environment` is "
"constructed like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:488
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:512
#, no-wrap
msgid "env = Environment(**ARGUMENTS)\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:491
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:515
msgid "It may be then modified with `env.Append` and `env.Replace`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:493
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:517
#, no-wrap
msgid "Building Rust Applications with `cargo`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:496
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:520
msgid "For ports that use Cargo, define `USES=cargo`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:498
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:522
#, no-wrap
msgid "Variables the Users Can Define for `cargo` Builds"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:503
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:527
#, no-wrap
msgid "Default"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:505
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:787
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1702
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1870
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1888
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2056
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2122
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2366
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2383
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2418
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2438
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2514
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3093
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3750
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3784
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3827
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3853
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3957
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4127
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4179
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4447
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:529
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:811
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1730
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1898
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1916
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2084
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2150
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2394
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2411
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2446
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2466
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2542
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3121
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3778
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3855
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3881
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3985
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4155
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4207
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4299
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4391
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4453
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4713
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:506
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:530
#, no-wrap
msgid "`CARGO_CRATES`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:512
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:536
#, no-wrap
msgid ""
"List of crates the port depends on. Each entry needs to have a format like `cratename-semver` for example, `libc-0.2.40`. Port maintainers can generate this list from [.filename]#Cargo.lock# using `make cargo-crates`. Manually bumping crate versions is possible but be mindful of transitive dependencies.\n"
"If the list generated by `make cargo-crates` is big, it might be convenient to place it inside a `Makefile.crates` file in the top-level port directory.\n"
"If present, the ports framework sources that file automatically.\n"
"This help keep the main port Makefile within a manageable size."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:513
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:537
#, no-wrap
msgid "`CARGO_FEATURES`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:516
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:540
#, no-wrap
msgid "List of application features to build (space separated list). To deactivate all default features add the special token `--no-default-features` to `CARGO_FEATURES`. Manually passing it to `CARGO_BUILD_ARGS`, `CARGO_INSTALL_ARGS`, and `CARGO_TEST_ARGS` is not needed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:517
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:541
#, no-wrap
msgid "`CARGO_CARGOTOML`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:518
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:542
#, no-wrap
msgid "`${WRKSRC}/Cargo.toml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:520
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:544
#, no-wrap
msgid "The path to the [.filename]#Cargo.toml# to use."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:521
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:545
#, no-wrap
msgid "`CARGO_CARGOLOCK`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:522
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:546
#, no-wrap
msgid "`${WRKSRC}/Cargo.lock`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:524
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:548
#, no-wrap
msgid "The path to the [.filename]#Cargo.lock# to use for `make cargo-crates`. It is possible to specify more than one lock file when necessary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:525
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:549
#, no-wrap
msgid "`CARGO_ENV`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:528
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:552
#, no-wrap
msgid "A list of environment variables to pass to Cargo similar to `MAKE_ENV`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:529
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:553
#, no-wrap
msgid "`RUSTFLAGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:532
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:556
#, no-wrap
msgid "Flags to pass to the Rust compiler."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:533
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:557
#, no-wrap
msgid "`CARGO_CONFIGURE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:534
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:542
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:550
#: documentation/content/en/books/porters-handbook/special/_index.adoc:558
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:570
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:566
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:574
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:582
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:594
#, no-wrap
msgid "`yes`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:536
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:560
#, no-wrap
msgid "Use the default `do-configure`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:537
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:561
#, no-wrap
msgid "`CARGO_UPDATE_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:540
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:564
#, no-wrap
msgid "Extra arguments to pass to Cargo during the configure phase. Valid arguments can be looked up with `cargo update --help`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:541
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:565
#, no-wrap
msgid "`CARGO_BUILDDEP`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:544
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:568
#, no-wrap
msgid "Add a build dependency on package:lang/rust[]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:545
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:569
#, no-wrap
msgid "`CARGO_CARGO_BIN`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:546
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:570
#, no-wrap
msgid "`${LOCALBASE}/bin/cargo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:548
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:572
#, no-wrap
msgid "Location of the `cargo` binary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:549
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:573
#, no-wrap
msgid "`CARGO_BUILD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:552
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:576
#, no-wrap
msgid "Use the default `do-build`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:553
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:577
#, no-wrap
msgid "`CARGO_BUILD_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:556
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:580
#, no-wrap
msgid "Extra arguments to pass to Cargo during the build phase. Valid arguments can be looked up with `cargo build --help`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:557
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:581
#, no-wrap
msgid "`CARGO_INSTALL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:560
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:584
#, no-wrap
msgid "Use the default `do-install`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:561
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:585
#, no-wrap
msgid "`CARGO_INSTALL_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:564
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:588
#, no-wrap
msgid "Extra arguments to pass to Cargo during the install phase. Valid arguments can be looked up with `cargo install --help`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:565
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:589
#, no-wrap
msgid "`CARGO_INSTALL_PATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:566
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:590
#, no-wrap
msgid "`.`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:568
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:592
#, no-wrap
msgid "Path to the crate to install. This is passed to `cargo install` via its `--path` argument. When multiple paths are specified `cargo install` is run multiple times."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:569
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:593
#, no-wrap
msgid "`CARGO_TEST`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:572
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:596
#, no-wrap
msgid "Use the default `do-test`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:573
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:597
#, no-wrap
msgid "`CARGO_TEST_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:576
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:600
#, no-wrap
msgid "Extra arguments to pass to Cargo during the test phase. Valid arguments can be looked up with `cargo test --help`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:577
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:601
#, no-wrap
msgid "`CARGO_TARGET_DIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:578
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:602
#, no-wrap
msgid "`${WRKDIR}/target`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:580
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:604
#, no-wrap
msgid "Location of the cargo output directory."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:581
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:605
#, no-wrap
msgid "`CARGO_DIST_SUBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:582
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:606
#, no-wrap
msgid "[.filename]#rust/crates#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:584
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:608
#, no-wrap
msgid "Directory relative to `DISTDIR` where the crate distribution files will be stored."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:585
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:609
#, no-wrap
msgid "`CARGO_VENDOR_DIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:586
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:610
#, no-wrap
msgid "`${WRKSRC}/cargo-crates`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:588
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:612
#, no-wrap
msgid "Location of the vendor directory where all crates will be extracted to. Try to keep this under `PATCH_WRKSRC`, so that patches can be applied easily."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:589
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:613
#, no-wrap
msgid "`CARGO_USE_GITHUB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:590
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:594
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:614
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:618
#, no-wrap
msgid "`no`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:592
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:616
#, no-wrap
msgid "Enable fetching of crates locked to specific Git commits on GitHub via `GH_TUPLE`. This will try to patch all [.filename]#Cargo.toml# under `WRKDIR` to point to the offline sources instead of fetching them from a Git repository during the build."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:593
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:617
#, no-wrap
msgid "`CARGO_USE_GITLAB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:595
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:619
#, no-wrap
msgid "Same as `CARGO_USE_GITHUB` but for GitLab instances and `GL_TUPLE`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:598
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:622
#, no-wrap
msgid "Creating a Port for a Simple Rust Application"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:603
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:627
msgid ""
"Creating a Cargo based port is a three stage process. First we need to "
"provide a ports template that fetches the application distribution file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:610
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:655
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:634
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:679
#, no-wrap
msgid ""
"PORTNAME=\ttokei\n"
"DISTVERSIONPREFIX=\tv\n"
"DISTVERSION=\t7.0.2\n"
"CATEGORIES=\tdevel\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:614
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:659
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:638
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:683
#, no-wrap
msgid ""
"MAINTAINER=\ttobik@FreeBSD.org\n"
"COMMENT=\tDisplay statistics about your code\n"
"WWW=\t\thttps://github.com/XAMPPRocky/tokei/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:618
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:663
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:642
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:687
#, no-wrap
msgid ""
"USES=\t\tcargo\n"
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tAaronepower\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:620
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:673
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:840
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:863
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:921
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:992
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1079
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1095
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1109
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1226
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1247
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1616
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3440
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3500
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3616
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4211
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4235
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:644
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:697
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:864
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:887
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:945
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1016
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1103
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1119
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1133
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1250
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1271
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1644
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3468
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3528
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3644
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4239
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4263
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4501
#, no-wrap
msgid ".include <bsd.port.mk>\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:623
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:866
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:647
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:890
msgid "Generate an initial [.filename]#distinfo#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:631
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:655
#, no-wrap
msgid ""
"% make makesum\n"
"=> Aaronepower-tokei-v7.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz\n"
"fetch: https://codeload.github.com/Aaronepower/tokei/tar.gz/v7.0.2?dummy=/Aaronepower-tokei-v7.0.2_GH0.tar.gz: size of remote file is not known\n"
"Aaronepower-tokei-v7.0.2_GH0.tar.gz 45 kB 239 kBps 00m00s\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:634
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:658
msgid ""
"Now the distribution file is ready to use and we can go ahead and extract "
"crate dependencies from the bundled [.filename]#Cargo.lock#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:645
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:669
#, no-wrap
msgid ""
"% make cargo-crates\n"
"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
" ansi_term-0.11.0 \\\n"
" arrayvec-0.4.7 \\\n"
" atty-0.2.9 \\\n"
" bitflags-1.0.1 \\\n"
" byteorder-1.2.2 \\\n"
" [...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:648
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:896
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:672
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:920
msgid ""
"The output of this command needs to be pasted directly into the Makefile:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:671
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:695
#, no-wrap
msgid ""
"CARGO_CRATES= aho-corasick-0.6.4 \\\n"
" ansi_term-0.11.0 \\\n"
" arrayvec-0.4.7 \\\n"
" atty-0.2.9 \\\n"
" bitflags-1.0.1 \\\n"
" byteorder-1.2.2 \\\n"
" [...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:676
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:700
msgid ""
"[.filename]#distinfo# needs to be regenerated to contain all the crate "
"distribution files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:694
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:718
#, no-wrap
msgid ""
"% make makesum\n"
"=> rust/crates/aho-corasick-0.6.4.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://crates.io/api/v1/crates/aho-corasick/0.6.4/download?dummy=/rust/crates/aho-corasick-0.6.4.tar.gz\n"
"rust/crates/aho-corasick-0.6.4.tar.gz 100% of 24 kB 6139 kBps 00m00s\n"
"=> rust/crates/ansi_term-0.11.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://crates.io/api/v1/crates/ansi_term/0.11.0/download?dummy=/rust/crates/ansi_term-0.11.0.tar.gz\n"
"rust/crates/ansi_term-0.11.0.tar.gz 100% of 16 kB 21 MBps 00m00s\n"
"=> rust/crates/arrayvec-0.4.7.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://crates.io/api/v1/crates/arrayvec/0.4.7/download?dummy=/rust/crates/arrayvec-0.4.7.tar.gz\n"
"rust/crates/arrayvec-0.4.7.tar.gz 100% of 22 kB 3237 kBps 00m00s\n"
"=> rust/crates/atty-0.2.9.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://crates.io/api/v1/crates/atty/0.2.9/download?dummy=/rust/crates/atty-0.2.9.tar.gz\n"
"rust/crates/atty-0.2.9.tar.gz 100% of 5898 B 81 MBps 00m00s\n"
"=> rust/crates/bitflags-1.0.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:697
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:940
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1052
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:721
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1076
msgid ""
"The port is now ready for a test build and further adjustments like creating "
"a plist, writing a description, adding license information, options, etc. as "
"normal."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:699
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:942
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1054
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:723
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:966
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1078
msgid ""
-"If you are not testing your port in a clean environment like with Poudriere, "
+"If you are not testing your port in a clean environment like with poudriere, "
"remember to run `make clean` before any testing."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:702
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:726
#, no-wrap
msgid "Enabling Additional Application Features"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:707
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:731
msgid ""
"Some applications define additional features in their [.filename]#Cargo."
"toml#. They can be compiled in by setting `CARGO_FEATURES` in the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:709
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:733
msgid "Here we enable Tokei's `json` and `yaml` features:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:713
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:737
#, no-wrap
msgid "CARGO_FEATURES=\tjson yaml\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:718
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:742
#, no-wrap
msgid "Encoding Application Features As Port Options"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:722
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:746
msgid ""
"An example `[features]` section in [.filename]#Cargo.toml# could look like "
"this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:729
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:753
#, no-wrap
msgid ""
"[features]\n"
"pulseaudio_backend = [\"librespot-playback/pulseaudio-backend\"]\n"
"portaudio_backend = [\"librespot-playback/portaudio-backend\"]\n"
"default = [\"pulseaudio_backend\"]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:734
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:758
msgid ""
"`pulseaudio_backend` is a default feature. It is always enabled unless we "
"explicitly turn off default features by adding `--no-default-features` to "
"`CARGO_FEATURES`. Here we turn the `portaudio_backend` and "
"`pulseaudio_backend` features into port options:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:738
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:762
#, no-wrap
msgid "CARGO_FEATURES=\t--no-default-features\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:740
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:764
#, no-wrap
msgid "OPTIONS_DEFINE=\tPORTAUDIO PULSEAUDIO\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:743
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:767
#, no-wrap
msgid ""
"PORTAUDIO_VARS=\t\tCARGO_FEATURES+=portaudio_backend\n"
"PULSEAUDIO_VARS=\tCARGO_FEATURES+=pulseaudio_backend\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:748
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:772
#, no-wrap
msgid "Listing Crate Licenses"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:754
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:778
msgid ""
"Crates have their own licenses. It is important to know what they are when "
"adding a `LICENSE` block to the port (see crossref:makefiles[licenses,"
"Licenses]). The helper target `cargo-crates-licenses` will try to list all "
"the licenses of all crates defined in `CARGO_CRATES`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:765
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:789
#, no-wrap
msgid ""
"% make cargo-crates-licenses\n"
"aho-corasick-0.6.4 Unlicense/MIT\n"
"ansi_term-0.11.0 MIT\n"
"arrayvec-0.4.7 MIT/Apache-2.0\n"
"atty-0.2.9 MIT\n"
"bitflags-1.0.1 MIT/Apache-2.0\n"
"byteorder-1.2.2 Unlicense/MIT\n"
"[...]\n"
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:771
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:795
msgid ""
"The license names `make cargo-crates-licenses` outputs are SPDX 2.1 licenses "
"expression which do not match the license names defined in the ports "
"framework. They need to be translated to the names from crossref:"
"makefiles[licenses-license-list,Predefined License List]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:776
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:800
#, no-wrap
msgid "Using `meson`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:779
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:803
msgid "For ports that use Meson, define `USES=meson`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:781
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:805
#, no-wrap
msgid "Variables for Ports That Use `meson`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:788
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:812
#, no-wrap
msgid "`MESON_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:790
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:814
#, no-wrap
msgid "Port specific Meson flags to be passed to the `meson` binary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:791
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:815
#, no-wrap
msgid "`MESON_BUILD_DIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:792
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:816
#, no-wrap
msgid "Path to the build directory relative to `WRKSRC`. Default is `_build`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:795
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:819
#, no-wrap
msgid "`USES=meson` Example"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:799
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:823
msgid "This snippet demonstrates the use of Meson for a port."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:804
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:828
#, no-wrap
msgid ""
"USES=\t\tmeson\n"
"MESON_ARGS=\t-Dfoo=enabled\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:809
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:833
#, no-wrap
msgid "Building Go Applications"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:813
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:837
msgid ""
"For ports that use Go, define `USES=go`. Refer to crossref:uses[uses-go,"
"`go`] for a list of variables that can be set to control the build process."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:815
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:839
#, no-wrap
msgid "Creating a Port for a Go Modules Based Application"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:819
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:843
msgid ""
"In most cases, it is sufficient to set the `GO_MODULE` variable to the value "
"specified by the `module` directive in `go.mod`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:826
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:850
#, no-wrap
msgid ""
"PORTNAME= hey\n"
-"PORTVERSION= 0.1.4\n"
-"DISTVERSIONPREFIX= v\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION= 0.1.4\n"
"CATEGORIES= benchmarks\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:830
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:854
#, no-wrap
msgid ""
"MAINTAINER= dmgk@FreeBSD.org\n"
"COMMENT= Tiny program that sends some load to a web application\n"
"WWW= https://github.com/rakyll/hey/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:833
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:857
#, no-wrap
msgid ""
"LICENSE= APACHE20\n"
"LICENSE_FILE= ${WRKSRC}/LICENSE\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:836
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:860
#, no-wrap
msgid ""
"USES= go:modules\n"
"GO_MODULE= github.com/rakyll/hey\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:838
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:862
#, no-wrap
msgid "PLIST_FILES= bin/hey\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:843
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:867
msgid ""
"If the \"easy\" way is not adequate or more control over dependencies is "
"needed, the full porting process is described below."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:846
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:870
msgid ""
"Creating a Go-based port is a five-stage process. First we need to provide "
"a ports template that fetches the application distribution file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:853
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:903
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:877
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:927
#, no-wrap
msgid ""
"PORTNAME=\tghq\n"
"DISTVERSIONPREFIX=\tv\n"
"DISTVERSION=\t0.12.5\n"
"CATEGORIES=\tdevel\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:857
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:907
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:881
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:931
#, no-wrap
msgid ""
"MAINTAINER=\ttobik@FreeBSD.org\n"
"COMMENT=\tRemote repository management made easy\n"
"WWW=\t\thttps://github.com/x-motemen/ghq/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:861
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:885
#, no-wrap
msgid ""
"USES=\t\tgo:modules\n"
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tmotemen\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:875
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:899
#, no-wrap
msgid ""
"% make makesum\n"
"===> License MIT accepted by the user\n"
"=> motemen-ghq-v0.12.5_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz\n"
"fetch: https://codeload.github.com/motemen/ghq/tar.gz/v0.12.5?dummy=/motemen-ghq-v0.12.5_GH0.tar.gz: size of remote file is not known\n"
"motemen-ghq-v0.12.5_GH0.tar.gz 32 kB 177 kBps 00s\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:879
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:903
msgid ""
"Now the distribution file is ready to use and we can extract the required Go "
"module dependencies. This step requires having package:ports-mgmt/"
"modules2tuple[] installed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:893
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:917
#, no-wrap
msgid ""
"% make gomod-vendor\n"
"[...]\n"
"GH_TUPLE=\t\\\n"
"\t\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:919
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:943
#, no-wrap
msgid ""
"USES=\t\tgo:modules\n"
"USE_GITHUB=\tyes\n"
"GH_ACCOUNT=\tmotemen\n"
"GH_TUPLE=\tSongmu:gitconfig:v0.0.2:songmu_gitconfig/vendor/github.com/Songmu/gitconfig \\\n"
"\t\tdaviddengcn:go-colortext:186a3d44e920:daviddengcn_go_colortext/vendor/github.com/daviddengcn/go-colortext \\\n"
"\t\tgo-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \\\n"
"\t\tgolang:net:3ec191127204:golang_net/vendor/golang.org/x/net \\\n"
"\t\tgolang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \\\n"
"\t\tgolang:xerrors:3ee3066db522:golang_xerrors/vendor/golang.org/x/xerrors \\\n"
"\t\tmotemen:go-colorine:45d19169413a:motemen_go_colorine/vendor/github.com/motemen/go-colorine \\\n"
"\t\turfave:cli:v1.20.0:urfave_cli/vendor/github.com/urfave/cli\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:924
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:948
msgid ""
"[.filename]#distinfo# needs to be regenerated to contain all the "
"distribution files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:937
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:961
#, no-wrap
msgid ""
"% make makesum\n"
"=> Songmu-gitconfig-v0.0.2_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz\n"
"fetch: https://codeload.github.com/Songmu/gitconfig/tar.gz/v0.0.2?dummy=/Songmu-gitconfig-v0.0.2_GH0.tar.gz: size of remote file is not known\n"
"Songmu-gitconfig-v0.0.2_GH0.tar.gz 5662 B 936 kBps 00s\n"
"=> daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n"
"=> Attempting to fetch https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz\n"
"fetch: https://codeload.github.com/daviddengcn/go-colortext/tar.gz/186a3d44e920?dummy=/daviddengcn-go-colortext-186a3d44e920_GH0.tar.gz: size of remote file is not known\n"
"daviddengcn-go-colortext-186a3d44e920_GH0.tar. 4534 B 1098 kBps 00s\n"
"[...]\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:945
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:969
#, no-wrap
msgid "Setting Output Binary Name or Installation Path"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:950
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:974
msgid ""
"Some ports need to install the resulting binary under a different name or to "
"a path other than the default `${PREFIX}/bin`. This can be done by using "
"`GO_TARGET` tuple syntax, for example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:954
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:978
#, no-wrap
msgid "GO_TARGET= ./cmd/ipfs:ipfs-go\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:957
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:981
msgid "will install `ipfs` binary as `${PREFIX}/bin/ipfs-go` and"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:961
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:985
#, no-wrap
msgid "GO_TARGET= ./dnscrypt-proxy:${PREFIX}/sbin/dnscrypt-proxy\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:988
msgid "will install `dnscrypt-proxy` to `${PREFIX}/sbin`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:967
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:991
#, no-wrap
msgid "Building Haskell Applications with `cabal`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:971
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:995
msgid ""
"For ports that use Cabal, build system defines `USES=cabal`. Refer to "
"crossref:uses[uses-cabal,`cabal`] for a list of variables that can be set to "
"control the build process."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:973
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:997
#, no-wrap
msgid "Creating a Port for a Hackage-hosted Haskell Application"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:978
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1002
msgid ""
"When preparing a Haskell Cabal port, package:devel/hs-cabal-install[] and "
"package:ports-mgmt/hs-cabal2tuple[] programs are required, so make sure they "
"are installed beforehand. First we need to define common ports variables "
"that allow cabal-install to fetch the package distribution file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:984
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1008
#, no-wrap
msgid ""
"PORTNAME=\tShellCheck\n"
"DISTVERSION=\t0.6.0\n"
"CATEGORIES=\tdevel\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:988
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1012
#, no-wrap
msgid ""
"MAINTAINER=\thaskell@FreeBSD.org\n"
"COMMENT=\tShell script analysis tool\n"
"WWW=\t\thttps://www.shellcheck.net/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:990
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1073
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1014
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1097
#, no-wrap
msgid "USES=\t\tcabal\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:995
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1019
msgid ""
"This minimal Makefile fetches the distribution file with the `cabal-extract` "
"helper target:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1005
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1029
#, no-wrap
msgid ""
"% make cabal-extract\n"
"[...]\n"
"Downloading the latest package list from hackage.haskell.org\n"
"cabal get ShellCheck-0.6.0\n"
"Downloading ShellCheck-0.6.0\n"
"Downloaded ShellCheck-0.6.0\n"
"Unpacking to ShellCheck-0.6.0/\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1008
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1032
msgid ""
"Now that we have ShellCheck.cabal package description file under `${WRKSRC}"
"`, we can use `cabal-configure` to generate the build plan:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1019
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1043
#, no-wrap
msgid ""
"% make cabal-configure\n"
"[...]\n"
"Resolving dependencies...\n"
"Build profile: -w ghc-8.10.7 -O1\n"
"In order, the following would be built (use -v for more details):\n"
" - Diff-0.4.1 (lib) (requires download & build)\n"
" - OneTuple-0.3.1 (lib) (requires download & build)\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1022
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1046
msgid "Once done, a list of required dependencies can generated:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1030
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1054
#, no-wrap
msgid ""
"% make make-use-cabal\n"
"USE_CABAL=\tQuickCheck-2.12.6.1 \\\n"
"\t\thashable-1.3.0.0 \\\n"
"\t\tinteger-logarithms-1.0.3 \\\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1036
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1060
msgid ""
"Haskell packages may contain revisions, just like FreeBSD ports. Revisions "
"can affect [.filename]#.cabal# files only. Note additional version numbers "
"after the `_` symbol. Put newly generated `USE_CABAL` list instead of an "
"old one."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1038
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1062
msgid ""
"Finally, [.filename]#distinfo# needs to be regenerated to contain all the "
"distribution files:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1049
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1073
#, no-wrap
msgid ""
"% make makesum\n"
"=> ShellCheck-0.6.0.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
"=> Attempting to fetch https://hackage.haskell.org/package/ShellCheck-0.6.0/ShellCheck-0.6.0.tar.gz\n"
"ShellCheck-0.6.0.tar.gz 136 kB 642 kBps 00s\n"
"=> QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/git/distfiles/cabal.\n"
"=> Attempting to fetch https://hackage.haskell.org/package/QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz\n"
"QuickCheck-2.12.6.1/QuickCheck-2.12.6.1.tar.gz 65 kB 361 kBps 00s\n"
"[...]\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1059
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1083
msgid ""
"Some Haskell ports install various data files under `share/${PORTNAME}`. For "
"such cases special handling is required on the port side. The port should "
"define the `CABAL_WRAPPER_SCRIPTS` knob listing each executable that is "
"going to use data files. Moreover, in rare cases the program being ported "
"uses data files of other Haskell packages, in which case the "
"`FOO_DATADIR_VARS` comes to the rescue."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1061
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1085
#, no-wrap
msgid "Handling Data Files in a Haskell Port"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1065
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1089
msgid ""
"`devel/hs-profiteur` is a Haskell application that generates a single-page "
"HTML with some content."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1069
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1093
#, no-wrap
msgid "PORTNAME=\tprofiteur\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1071
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1086
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1104
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1095
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1110
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1128
#, no-wrap
msgid "[...]\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1077
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1090
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1101
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1114
#, no-wrap
msgid ""
"USE_CABAL=\tOneTuple-0.3.1_2 \\\n"
"\t\tQuickCheck-2.14.2 \\\n"
"\t\t[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1082
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1106
msgid ""
"It installs HTML templates under `share/profiteur`, so we need to add "
"`CABAL_WRAPPER_SCRIPTS` knob:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1093
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1117
#, no-wrap
msgid "CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1100
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1124
msgid ""
"The program also tries to access the `jquery.js` file, which is a part of "
"`js-jquery-3.3.1` Haskell package. For that file to be found, we need to "
"make the wrapper script to look for `js-jquery` data files in `share/"
"profiteur` too. We use `profiteur_DATADIR_VARS` for this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1107
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1131
#, no-wrap
msgid ""
"CABAL_WRAPPER_SCRIPTS=\t\t${CABAL_EXECUTABLES}\n"
"profiteur_DATADIR_VARS=\t\tjs-jquery\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1112
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1136
msgid ""
"Now the port will install the actual binary into `libexec/cabal/profiteur` "
"and the script into `bin/profiteur`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1117
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1141
msgid ""
"There is no easy way to find out a proper value for the `FOO_DATADIR_VARS` "
"knob apart from running the program and checking that everything works. "
"Luckily, the need to use `FOO_DATADIR_VARS` is very rare."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1119
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1143
msgid ""
"Another corner case when porting complex Haskell programs is the presence of "
"VCS dependencies in the `cabal.project` file."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1121
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1145
#, no-wrap
msgid "Porting Haskell Applications with VCS Dependencies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1126
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1150
msgid ""
"`net-p2p/cardano-node` is an extremely complex piece of software. In its "
"`cabal.project` there are a lot of blocks like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1135
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1159
#, no-wrap
msgid ""
"[...]\n"
"source-repository-package\n"
" type: git\n"
" location: https://github.com/input-output-hk/cardano-crypto\n"
" tag: f73079303f663e028288f9f4a9e08bcca39a923e\n"
"[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1141
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1165
msgid ""
"Dependencies of type `source-repository-package` are automatically pulled in "
"by `cabal` during the build process. Unfortunately, this makes use of the "
"network after the `fetch` stage. This is disallowed by the ports framework. "
"These sources need to be listed in the port's Makefile. The `make-use-cabal` "
"helper target can make it easy for packages hosted on GitHub. Running this "
"target after the usual `cabal-extract` and `cabal-configure` will produce "
"not only the `USE_CABAL` knob, but also `GH_TUPLE`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1149
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1173
#, no-wrap
msgid ""
"% make make-use-cabal\n"
"USE_CABAL=\tDiff-0.4.1 \\\n"
"\t\tGlob-0.10.2_3 \\\n"
"\t\tHUnit-1.6.2.0 \\\n"
"\t\t[...]\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1177
#, no-wrap
msgid ""
"GH_TUPLE=\t\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
"\t\t[...]\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1156
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1180
msgid ""
"It might be useful to separate the `GH_TUPLE` items coming from `make-use-"
"cabal` from the other ones to make it easy to update the port:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1162
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1186
#, no-wrap
msgid ""
"GH_TUPLE=\tinput-output-hk:cardano-base:0f3a867493059e650cda69e20a5cbf1ace289a57:cardano_base/dist-newstyle/src/cardano-b_-c8db9876882556ed \\\n"
"\t\tinput-output-hk:cardano-crypto:f73079303f663e028288f9f4a9e08bcca39a923e:cardano_crypto/dist-newstyle/src/cardano-c_-253fd88117badd8f \\\n"
"\t\t[...]\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1164
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1188
#, no-wrap
msgid "GH_TUPLE+=\tbitcoin-core:secp256k1:ac83be33d0956faf6b7f61a60ab524ef7d6a473a:secp\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1167
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1191
msgid ""
"Haskell ports with VCS dependencies also require the following hack for the "
"time being:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1171
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1195
#, no-wrap
msgid "BINARY_ALIAS=\tgit=true\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1176
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1200
#, no-wrap
msgid "Using GNU Autotools"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1180
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1204
msgid ""
"If a port needs any of the GNU Autotools software, add `USES=autoreconf`. "
"See crossref:uses[uses-autoreconf,`autoreconf`] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1182
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1206
#, no-wrap
msgid "Using GNU `gettext`"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1185
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1209
#, no-wrap
msgid "Basic Usage"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1189
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1213
msgid ""
"If the port requires `gettext`, set `USES= gettext`, and the port will "
"inherit a dependency on [.filename]#libintl.so# from package:devel/"
"gettext[]. Other values for `gettext` usage are listed in crossref:"
"uses[uses-gettext,`USES=gettext`]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1192
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1216
msgid ""
"A rather common case is a port using `gettext` and `configure`. Generally, "
"GNU `configure` should be able to locate `gettext` automatically."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1197
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1221
#, no-wrap
msgid ""
"USES=\tgettext\n"
"GNU_CONFIGURE=\tyes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1200
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1224
msgid ""
"If it ever fails to, hints at the location of `gettext` can be passed in "
"`CPPFLAGS` and `LDFLAGS` using `localbase` as follows:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1205
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1229
#, no-wrap
msgid ""
"USES=\tgettext localbase:ldflags\n"
"GNU_CONFIGURE=\tyes\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1208
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1232
#, no-wrap
msgid "Optional Usage"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1214
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1238
msgid ""
"Some software products allow for disabling NLS. For example, through "
"passing `--disable-nls` to `configure`. In that case, the port must use "
"`gettext` conditionally, depending on the status of the `NLS` option. For "
"ports of low to medium complexity, use this idiom:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1218
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1242
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1257
#, no-wrap
msgid "GNU_CONFIGURE=\t\tyes\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1221
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1245
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\t\tNLS\n"
"OPTIONS_SUB=\t\tyes\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1224
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1248
#, no-wrap
msgid ""
"NLS_USES=\t\tgettext\n"
"NLS_CONFIGURE_ENABLE=\tnls\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1229
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1253
msgid "Or using the older way of using options:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1235
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1259
#, no-wrap
msgid "OPTIONS_DEFINE=\t\tNLS\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1237
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1261
#, no-wrap
msgid ".include <bsd.port.options.mk>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1269
#, no-wrap
msgid ""
".if ${PORT_OPTIONS:MNLS}\n"
"USES+=\t\t\tgettext\n"
"PLIST_SUB+=\t\tNLS=\"\"\n"
".else\n"
"CONFIGURE_ARGS+=\t--disable-nls\n"
"PLIST_SUB+=\t\tNLS=\"@comment \"\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1256
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1280
msgid ""
"The next item on the to-do list is to arrange so that the message catalog "
"files are included in the packing list conditionally. The [."
"filename]#Makefile# part of this task is already provided by the idiom. It "
"is explained in the section on crossref:plist[plist-sub,advanced [."
"filename]#pkg-plist# practices]. In a nutshell, each occurrence of `%%NLS%"
"%` in [.filename]#pkg-plist# will be replaced by \"`@comment `\" if NLS is "
"disabled, or by a null string if NLS is enabled. Consequently, the lines "
"prefixed by `%%NLS%%` will become mere comments in the final packing list if "
"NLS is off; otherwise the prefix will be just left out. Then insert `%%NLS%"
"%` before each path to a message catalog file in [.filename]#pkg-plist#. "
"For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1261
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1285
#, no-wrap
msgid ""
"%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo\n"
"%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1264
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1288
msgid ""
"In high complexity cases, more advanced techniques may be needed, such as "
"crossref:plist[plist-dynamic,dynamic packing list generation]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1266
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1290
#, no-wrap
msgid "Handling Message Catalog Directories"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1273
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1297
msgid ""
"There is a point to note about installing message catalog files. The target "
"directories for them, which reside under [.filename]#LOCALBASE/share/"
"locale#, must not be created and removed by a port. The most popular "
"languages have their respective directories listed in [.filename]#PORTSDIR/"
"Templates/BSD.local.dist#. The directories for many other languages are "
"governed by the package:devel/gettext[] port. Consult its [.filename]#pkg-"
"plist# and see whether the port is going to install a message catalog file "
"for a unique language."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1275
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1299
#, no-wrap
msgid "Using Perl"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1283
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1307
msgid ""
"If `MASTER_SITES` is set to `CPAN`, the correct subdirectory is usually "
"selected automatically. If the default subdirectory is wrong, `CPAN/Module` "
"can be used to change it. `MASTER_SITES` can also be set to the old "
"`MASTER_SITE_PERL_CPAN`, then the preferred value of `MASTER_SITE_SUBDIR` is "
"the top-level hierarchy name. For example, the recommended value for `p5-"
"Module-Name` is `Module`. The top-level hierarchy can be examined at "
"https://cpan.org/modules/by-module/[cpan.org]. This keeps the port working "
"when the author of the module changes."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1288
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1312
msgid ""
"The exception to this rule is when the relevant directory does not exist or "
"the distfile does not exist in that directory. In such case, using author's "
"id as `MASTER_SITE_SUBDIR` is allowed. The `CPAN:AUTHOR` macro can be used, "
"which will be translated to the hashed author directory. For example, `CPAN:"
"AUTHOR` will be converted to `authors/id/A/AU/AUTHOR`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1290
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1314
msgid ""
"When a port needs Perl support, it must set `USES=perl5` with the optional "
"`USE_PERL5` described in crossref:uses[uses-perl5,the perl5 USES "
"description]."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1292
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1316
#, no-wrap
msgid "Read-Only Variables for Ports That Use Perl"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1296
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1320
#, no-wrap
msgid "Read only variables"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1299
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1323
#, no-wrap
msgid "`PERL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1301
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1325
#, no-wrap
msgid "The full path of the Perl 5 interpreter, either in the system or installed from a port, but without the version number. Use this when the software needs the path to the Perl interpreter. To replace \"``#!``\"lines in scripts, use crossref:uses[uses-shebangfix,`shebangfix`]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1302
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1326
#, no-wrap
msgid "`PERL_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1304
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1328
#, no-wrap
msgid "The full version of Perl installed (for example, `5.8.9`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1305
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1329
#, no-wrap
msgid "`PERL_LEVEL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1307
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1331
#, no-wrap
msgid "The installed Perl version as an integer of the form `MNNNPP` (for example, `500809`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1308
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1332
#, no-wrap
msgid "`PERL_ARCH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1310
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1334
#, no-wrap
msgid "Where Perl stores architecture dependent libraries. Defaults to `${ARCH}-freebsd`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1311
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1335
#, no-wrap
msgid "`PERL_PORT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1313
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1337
#, no-wrap
msgid "Name of the Perl port that is installed (for example, `perl5`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1314
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1338
#, no-wrap
msgid "`SITE_PERL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1315
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1339
#, no-wrap
msgid "Directory name where site specific Perl packages go. This value is added to `PLIST_SUB`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1321
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1345
msgid ""
"Ports of Perl modules which do not have an official website must link to "
"`cpan.org` in the WWW line of [.filename]#Makefile#. The preferred URL form "
"is `https://search.cpan.org/dist/Module-Name/` (including the trailing "
"slash)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1329
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1353
msgid ""
"Do not use `${SITE_PERL}` in dependency declarations. Doing so assumes that "
"[.filename]#perl5.mk# has been included, which is not always true. Ports "
"depending on this port will have incorrect dependencies if this port's files "
"move later in an upgrade. The right way to declare Perl module dependencies "
"is shown in the example below."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1332
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1356
#, no-wrap
msgid "Perl Dependency Example"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1338
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1362
#, no-wrap
msgid "p5-IO-Tee>=0.64:devel/p5-IO-Tee\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1343
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1367
msgid ""
"For Perl ports that install manual pages, the macro `PERL5_MAN3` and "
"`PERL5_MAN1` can be used inside [.filename]#pkg-plist#. For example,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1348
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1372
#, no-wrap
msgid ""
"lib/perl5/5.14/man/man1/event.1.gz\n"
"lib/perl5/5.14/man/man3/AnyEvent::I3.3.gz\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1351
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1375
msgid "can be replaced with"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1356
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1380
#, no-wrap
msgid ""
"%%PERL5_MAN1%%/event.1.gz\n"
"%%PERL5_MAN3%%/AnyEvent::I3.3.gz\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1361
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1385
msgid ""
"There are no `PERL5_MAN_x_` macros for the other sections (_x_ in `2` and "
"`4` to `9`) because those get installed in the regular directories."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1364
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1388
#, no-wrap
msgid "A Port Which Only Requires Perl to Build"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1368
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1392
msgid "As the default USE_PERL5 value is build and run, set it to:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1373
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1397
#, no-wrap
msgid ""
"USES=\t\tperl5\n"
"USE_PERL5=\tbuild\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1378
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1402
#, no-wrap
msgid "A Port Which Also Requires Perl to Patch"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1383
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1407
msgid ""
"From time to time, using man:sed[1] for patching is not enough. When using "
"man:perl[1] is easier, use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1388
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1412
#, no-wrap
msgid ""
"USES=\t\tperl5\n"
"USE_PERL5=\tpatch build run\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1393
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1417
#, no-wrap
msgid "A Perl Module Which Needs `ExtUtils::MakeMaker` to Build"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1398
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1422
msgid ""
"Most Perl modules come with a [.filename]#Makefile.PL# configure script. In "
"this case, set:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1403
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1427
#, no-wrap
msgid ""
"USES=\t\tperl5\n"
"USE_PERL5=\tconfigure\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1408
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1432
#, no-wrap
msgid "A Perl Module Which Needs `Module::Build` to Build"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1412
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1436
msgid ""
"When a Perl module comes with a [.filename]#Build.PL# configure script, it "
"can require Module::Build, in which case, set"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1417
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1441
#, no-wrap
msgid ""
"USES=\t\tperl5\n"
"USE_PERL5=\tmodbuild\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1420
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1444
msgid "If it instead requires Module::Build::Tiny, set"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1425
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1449
#, no-wrap
msgid ""
"USES=\t\tperl5\n"
"USE_PERL5=\tmodbuildtiny\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1430
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1454
#, no-wrap
msgid "Using X11"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1433
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1457
#, no-wrap
msgid "X.Org Components"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1438
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1462
msgid ""
"The X11 implementation available in The Ports Collection is X.Org. If the "
"application depends on X components, add `USES= xorg` and set `USE_XORG` to "
"the list of required components. A full list can be found in crossref:"
"uses[uses-xorg,`xorg`]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1443
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1467
msgid ""
"The Mesa Project is an effort to provide free OpenGL implementation. To "
"specify a dependency on various components of this project, use `USES= gl` "
"and `USE_GL`. See crossref:uses[uses-gl,`gl`] for a full list of available "
"components. For backwards compatibility, the value of `yes` maps to `glu`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1445
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1469
#, no-wrap
msgid "`USE_XORG` Example"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1453
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1477
#, no-wrap
msgid ""
"USES=\t\tgl xorg\n"
"USE_GL=\t\tglu\n"
"USE_XORG=\txrender xft xkbfile xt xaw\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1458
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1482
#, no-wrap
msgid "Variables for Ports That Use X"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1462
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1486
#, no-wrap
msgid "`USES= imake`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1464
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1488
#, no-wrap
msgid "The port uses `imake`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1465
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1489
#, no-wrap
msgid "`XMKMF`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1466
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1490
#, no-wrap
msgid "Set to the path of `xmkmf` if not in the `PATH`. Defaults to `xmkmf -a`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1469
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1493
#, no-wrap
msgid "Using X11-Related Variables"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1477
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1501
#, no-wrap
msgid ""
"# Use some X11 libraries\n"
"USES=\t\txorg\n"
"USE_XORG=\tx11 xpm\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1482
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1506
#, no-wrap
msgid "Ports That Require Motif"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1488
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1512
msgid ""
"If the port requires a Motif library, define `USES= motif` in the [."
"filename]#Makefile#. Default Motif implementation is package:x11-toolkits/"
"open-motif[]. Users can choose package:x11-toolkits/lesstif[] instead by "
"setting `WANT_LESSTIF` in their [.filename]#make.conf#. Similarly package:"
"x11-toolkits/open-motif-devel[] can be chosen by setting "
"`WANT_OPEN_MOTIF_DEVEL` in [.filename]#make.conf#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1491
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1515
msgid ""
"`MOTIFLIB` will be set by [.filename]#motif.mk# to reference the appropriate "
"Motif library. Please patch the source of the port to use `${MOTIFLIB}` "
"wherever the Motif library is referenced in the original [."
"filename]#Makefile# or [.filename]#Imakefile#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1493
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1517
msgid "There are two common cases:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1495
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1519
msgid ""
"If the port refers to the Motif library as `-lXm` in its [."
"filename]#Makefile# or [.filename]#Imakefile#, substitute `${MOTIFLIB}` for "
"it."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1496
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1520
msgid ""
"If the port uses `XmClientLibs` in its [.filename]#Imakefile#, change it to "
"`${MOTIFLIB} ${XTOOLLIB} ${XLIB}`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1498
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1522
msgid ""
"Note that `MOTIFLIB` (usually) expands to `-L/usr/local/lib -lXm -lXp` or `/"
"usr/local/lib/libXm.a`, so there is no need to add `-L` or `-l` in front."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1500
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1524
#, no-wrap
msgid "X11 Fonts"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1503
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1527
msgid ""
"If the port installs fonts for the X Window System, put them in [."
"filename]#LOCALBASE/lib/X11/fonts/local#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1505
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1529
#, no-wrap
msgid "Getting a Fake `DISPLAY` with Xvfb"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1512
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1536
msgid ""
"Some applications require a working X11 display for compilation to succeed. "
"This poses a problem for machines that operate headless. When this variable "
"is used, the build infrastructure will start the virtual framebuffer X "
"server. The working `DISPLAY` is then passed to the build. See crossref:"
"uses[uses-display,`USES=display`] for the possible arguments."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1516
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1540
#, no-wrap
msgid "USES=\tdisplay\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1520
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1544
#, no-wrap
msgid "Desktop Entries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1526
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1550
msgid ""
"Desktop entries (https://standards.freedesktop.org/desktop-entry-spec/latest/"
"[a Freedesktop standard]) provide a way to automatically adjust desktop "
"features when a new program is installed, without requiring user "
"intervention. For example, newly-installed programs automatically appear in "
"the application menus of compatible desktop environments. Desktop entries "
"originated in the GNOME desktop environment, but are now a standard and also "
"work with KDE and Xfce. This bit of automation provides a real benefit to "
"the user, and desktop entries are encouraged for applications which can be "
"used in a desktop environment."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1528
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1552
#, no-wrap
msgid "Using Predefined [.filename]#.desktop# Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1532
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1556
msgid ""
"Ports that include predefined [.filename]#*.desktop# must include those "
"files in [.filename]#pkg-plist# and install them in the [."
"filename]#$LOCALBASE/share/applications# directory. The crossref:"
"makefiles[install-macros,`INSTALL_DATA` macro] is useful for installing "
"these files."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1534
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1558
#, no-wrap
msgid "Updating Desktop Database"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1538
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1562
msgid ""
"If a port has a MimeType entry in its [.filename]#portname.desktop#, the "
"desktop database must be updated after install and deinstall. To do this, "
"define `USES`= desktop-file-utils."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1540
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1564
#, no-wrap
msgid "Creating Desktop Entries with `DESKTOP_ENTRIES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1545
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1569
msgid ""
"Desktop entries can be easily created for applications by using "
"`DESKTOP_ENTRIES`. A file named [.filename]#name.desktop# will be created, "
"installed, and added to [.filename]#pkg-plist# automatically. Syntax is:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1549
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1573
#, no-wrap
msgid "DESKTOP_ENTRIES=\t\"NAME\" \"COMMENT\" \"ICON\" \"COMMAND\" \"CATEGORY\" StartupNotify\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1556
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1580
msgid ""
"The list of possible categories is available on the https://standards."
"freedesktop.org/menu-spec/latest/apa.html[Freedesktop website]. "
"`StartupNotify` indicates whether the application is compatible with "
"_startup notifications_. These are typically a graphic indicator like a "
"clock that appear at the mouse pointer, menu, or panel to give the user an "
"indication when a program is starting. A program that is compatible with "
"startup notifications clears the indicator after it has started. Programs "
"that are not compatible with startup notifications would never clear the "
"indicator (potentially confusing and infuriating the user), and must have "
"`StartupNotify` set to `false` so the indicator is not shown at all."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1558
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1582
msgid "Example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1565
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1589
#, no-wrap
msgid ""
"DESKTOP_ENTRIES=\t\"ToME\" \"Roguelike game based on JRR Tolkien's work\" \\\n"
"\t\t\t\"${DATADIR}/xtra/graf/tome-128.png\" \\\n"
"\t\t\t\"tome -v -g\" \"Application;Game;RolePlaying;\" \\\n"
"\t\t\tfalse\n"
msgstr ""
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1594
+msgid ""
+"`DESKTOP_ENTRIES` are installed in the directory pointed to by the "
+"`DESKTOPDIR` variable. `DESKTOPDIR` defaults to [.filename]#${PREFIX}/share/"
+"applications#"
+msgstr ""
+
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1569
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1597
#, no-wrap
msgid "Using GNOME"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1572
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3728
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4029
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1600
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3756
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4057
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4273
#, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1576
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1604
msgid ""
"This chapter explains the GNOME framework as used by ports. The framework "
"can be loosely divided into the base components, GNOME desktop components, "
"and a few special macros that simplify the work of port maintainers."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1578
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1606
#, no-wrap
msgid "Using `USE_GNOME`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1586
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1614
msgid ""
"Adding this variable to the port allows the use of the macros and components "
"defined in [.filename]#bsd.gnome.mk#. The code in [.filename]#bsd.gnome.mk# "
"adds the needed build-time, run-time or library dependencies or the handling "
"of special files. GNOME applications under FreeBSD use the `USE_GNOME` "
"infrastructure. Include all the needed components as a space-separated "
"list. The `USE_GNOME` components are divided into these virtual lists: "
"basic components, GNOME 3 components and legacy components. If the port "
"needs only GTK3 libraries, this is the shortest way to define it:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1590
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1618
#, no-wrap
msgid "USE_GNOME=\tgtk30\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1594
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1622
msgid ""
"`USE_GNOME` components automatically add the dependencies they need. Please "
"see <<gnome-components>> for an exhaustive list of all `USE_GNOME` "
"components and which other components they imply and their dependencies."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1597
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1625
msgid ""
"Here is an example [.filename]#Makefile# for a GNOME port that uses many of "
"the techniques outlined in this document. Please use it as a guide for "
"creating new ports."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1604
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1632
#, no-wrap
msgid ""
"PORTNAME=\tregexxer\n"
"DISTVERSION=\t0.10\n"
"CATEGORIES=\tdevel textproc gnome\n"
"MASTER_SITES=\tGNOME\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1608
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1636
#, no-wrap
msgid ""
"MAINTAINER=\tkwm@FreeBSD.org\n"
"COMMENT=\tInteractive tool for performing search and replace operations\n"
"WWW=\t\thttp://regexxer.sourceforge.net/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1612
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1640
#, no-wrap
msgid ""
"USES=\t\tgettext gmake localbase:ldflags pathfix pkgconfig tar:xz\n"
"GNU_CONFIGURE=\tyes\n"
"USE_GNOME=\tgnomeprefix intlhack gtksourceviewmm3\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1614
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1642
#, no-wrap
msgid "GLIB_SCHEMAS=\torg.regexxer.gschema.xml\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1622
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1650
msgid ""
"The `USE_GNOME` macro without any arguments does not add any dependencies to "
"the port. `USE_GNOME` cannot be set after [.filename]#bsd.port.pre.mk#."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1625
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1653
#, no-wrap
msgid "Variables"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1631
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1659
msgid ""
"This section explains which macros are available and how they are used. "
"Like they are used in the above example. The <<gnome-components>> has a "
"more in-depth explanation. `USE_GNOME` has to be set for these macros to be "
"of use."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1632
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1660
#, no-wrap
msgid "`GLIB_SCHEMAS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1635
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1663
msgid ""
"List of all the glib schema files the port installs. The macro will add the "
"files to the port plist and handle the registration of these files on "
"install and deinstall."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1640
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1668
msgid ""
"The glib schema files are written in XML and end with the [."
"filename]#gschema.xml# extension. They are installed in the [."
"filename]#share/glib-2.0/schemas/# directory. These schema files contain "
"all application config values with their default settings. The actual "
"database used by the applications is built by glib-compile-schema, which is "
"run by the `GLIB_SCHEMAS` macro."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1644
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1672
#, no-wrap
msgid "GLIB_SCHEMAS=foo.gschema.xml\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1650
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1678
msgid ""
"Do not add glib schemas to the [.filename]#pkg-plist#. If they are listed "
"in [.filename]#pkg-plist#, they will not be registered and the applications "
"might not work properly."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1652
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1680
#, no-wrap
msgid "`GCONF_SCHEMAS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1655
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1683
msgid ""
"List all the gconf schema files. The macro will add the schema files to the "
"port plist and will handle their registration on install and deinstall."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1660
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1688
msgid ""
"GConf is the XML-based database that virtually all GNOME applications use "
"for storing their settings. These files are installed into the [."
"filename]#etc/gconf/schemas# directory. This database is defined by "
"installed schema files that are used to generate [.filename]#%gconf.xml# key "
"files. For each schema file installed by the port, there must be an entry "
"in the [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1664
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1692
#, no-wrap
msgid "GCONF_SCHEMAS=my_app.schemas my_app2.schemas my_app3.schemas\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1670
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1698
msgid ""
"Gconf schemas are listed in the `GCONF_SCHEMAS` macro rather than [."
"filename]#pkg-plist#. If they are listed in [.filename]#pkg-plist#, they "
"will not be registered and the applications might not work properly."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1672
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1700
#, no-wrap
msgid "`INSTALLS_OMF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1676
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1704
msgid ""
"Open Source Metadata Framework (OMF) files are commonly used by GNOME 2 "
"applications. These files contain the application help file information, "
"and require special processing by ScrollKeeper/rarian. To properly register "
"OMF files when installing GNOME applications from packages, make sure that "
"`omf` files are listed in `pkg-plist` and that the port [."
"filename]#Makefile# has `INSTALLS_OMF` defined:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1680
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1708
#, no-wrap
msgid "INSTALLS_OMF=yes\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1683
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1711
msgid ""
"When set, [.filename]#bsd.gnome.mk# automatically scans [.filename]#pkg-"
"plist# and adds appropriate `@exec` and `@unexec` directives for each [."
"filename]#.omf# to track in the OMF registration database."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1685
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1695
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1713
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1723
#, no-wrap
msgid "GNOME Components"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1693
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1721
msgid ""
"For further help with a GNOME port, look at some of the link:https://www."
"FreeBSD.org/ports/gnome.html[existing ports] for examples. The link:https://"
"www.FreeBSD.org/gnome/[FreeBSD GNOME page] has contact information if more "
"help is needed. The components are divided into GNOME components that are "
"currently in use and legacy components. If the component supports argument, "
"they are listed between parenthesis in the description. The first is the "
"default. \"Both\" is shown if the component defaults to adding to both "
"build and run dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1699
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1868
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1885
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2054
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3870
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1727
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1896
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1913
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2082
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3898
#, no-wrap
msgid "Component"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1700
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1886
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1728
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1914
#, no-wrap
msgid "Associated program"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1703
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1731
#, no-wrap
msgid "`atk`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1704
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1732
#, no-wrap
msgid "accessibility/atk"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1706
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1734
#, no-wrap
msgid "Accessibility toolkit (ATK)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1707
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1735
#, no-wrap
msgid "`atkmm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1708
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1736
#, no-wrap
msgid "accessibility/atkmm"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1710
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1738
#, no-wrap
msgid "c++ bindings for atk"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1711
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1739
#, no-wrap
msgid "`cairo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1712
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1740
#, no-wrap
msgid "graphics/cairo"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1714
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1742
#, no-wrap
msgid "Vector graphics library with cross-device output support"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1715
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1743
#, no-wrap
msgid "`cairomm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1716
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1744
#, no-wrap
msgid "graphics/cairomm"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1718
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1746
#, no-wrap
msgid "c++ bindings for cairo"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1719
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1747
#, no-wrap
msgid "`dconf`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1720
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1748
#, no-wrap
msgid "devel/dconf"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1722
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1750
#, no-wrap
msgid "Configuration database system (both, build, run)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1723
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1751
#, no-wrap
msgid "`evolutiondataserver3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1724
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1752
#, no-wrap
msgid "databases/evolution-data-server"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1726
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1754
#, no-wrap
msgid "Data backends for the Evolution integrated mail/PIM suite"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1727
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1755
#, no-wrap
msgid "`gdkpixbuf2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1728
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1756
#, no-wrap
msgid "graphics/gdk-pixbuf2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1730
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1912
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1940
#, no-wrap
msgid "Graphics library for GTK+"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1731
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1759
#, no-wrap
msgid "`glib20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1732
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1760
#, no-wrap
msgid "devel/glib20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1734
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1762
#, no-wrap
msgid "GNOME core library `glib20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1735
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1763
#, no-wrap
msgid "`glibmm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1736
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1764
#, no-wrap
msgid "devel/glibmm"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1738
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1766
#, no-wrap
msgid "c++ bindings for glib20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1739
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1767
#, no-wrap
msgid "`gnomecontrolcenter3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1740
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1768
#, no-wrap
msgid "sysutils/gnome-control-center"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1742
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1770
#, no-wrap
msgid "GNOME 3 Control Center"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1743
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1771
#, no-wrap
msgid "`gnomedesktop3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1744
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1772
#, no-wrap
msgid "x11/gnome-desktop"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1746
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1774
#, no-wrap
msgid "GNOME 3 desktop UI library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1747
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1775
#, no-wrap
msgid "`gsound`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1748
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1776
#, no-wrap
msgid "audio/gsound"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1750
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1778
#, no-wrap
msgid "GObject library for playing system sounds (both, build, run)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1751
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1779
#, no-wrap
msgid "`gtk-update-icon-cache`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1752
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1780
#, no-wrap
msgid "graphics/gtk-update-icon-cache"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1754
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1782
#, no-wrap
msgid "Gtk-update-icon-cache utility from the Gtk+ toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1755
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1783
#, no-wrap
msgid "`gtk20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1756
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1784
#, no-wrap
msgid "x11-toolkits/gtk20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1786
#, no-wrap
msgid "Gtk+ 2 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1759
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1787
#, no-wrap
msgid "`gtk30`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1760
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1788
#, no-wrap
msgid "x11-toolkits/gtk30"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1762
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1790
#, no-wrap
msgid "Gtk+ 3 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1763
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1791
#, no-wrap
msgid "`gtkmm20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1764
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1792
#, no-wrap
msgid "x11-toolkits/gtkmm20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1766
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1794
#, no-wrap
msgid "c++ bindings 2.0 for the gtk20 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1767
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1795
#, no-wrap
msgid "`gtkmm24`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1768
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1796
#, no-wrap
msgid "x11-toolkits/gtkmm24"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1770
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1798
#, no-wrap
msgid "c++ bindings 2.4 for the gtk20 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1771
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1799
#, no-wrap
msgid "`gtkmm30`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1772
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1800
#, no-wrap
msgid "x11-toolkits/gtkmm30"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1774
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1802
#, no-wrap
msgid "c++ bindings 3.0 for the gtk30 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1775
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1803
#, no-wrap
msgid "`gtksourceview2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1776
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1804
#, no-wrap
msgid "x11-toolkits/gtksourceview2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1778
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1956
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1806
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1984
#, no-wrap
msgid "Widget that adds syntax highlighting to GtkTextView"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1779
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1807
#, no-wrap
msgid "`gtksourceview3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1780
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1808
#, no-wrap
msgid "x11-toolkits/gtksourceview3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1782
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1810
#, no-wrap
msgid "Text widget that adds syntax highlighting to the GtkTextView widget"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1783
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1811
#, no-wrap
msgid "`gtksourceviewmm3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1784
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1812
#, no-wrap
msgid "x11-toolkits/gtksourceviewmm3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1786
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1814
#, no-wrap
msgid "c++ bindings for the gtksourceview3 library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1787
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1815
#, no-wrap
msgid "`gvfs`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1788
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1816
#, no-wrap
msgid "devel/gvfs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1790
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1818
#, no-wrap
msgid "GNOME virtual file system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1791
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1819
#, no-wrap
msgid "`intltool`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1792
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1820
#, no-wrap
msgid "textproc/intltool"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1794
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1822
#, no-wrap
msgid "Tool for internationalization (also see intlhack)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1795
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1823
#, no-wrap
msgid "`introspection`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1796
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1824
#, no-wrap
msgid "devel/gobject-introspection"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1798
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1826
#, no-wrap
msgid "Basic introspection bindings and tools to generate introspection bindings. Most of the time :build is enough, :both/:run is only need for applications that use introspection bindings. (both, build, run)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1799
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1827
#, no-wrap
msgid "`libgda5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1800
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1828
#, no-wrap
msgid "databases/libgda5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1802
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1972
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1830
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2000
#, no-wrap
msgid "Provides uniform access to different kinds of data sources"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1803
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1831
#, no-wrap
msgid "`libgda5-ui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1804
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1832
#, no-wrap
msgid "databases/libgda5-ui"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1806
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1834
#, no-wrap
msgid "UI library from the libgda5 library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1807
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1835
#, no-wrap
msgid "`libgdamm5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1808
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1836
#, no-wrap
msgid "databases/libgdamm5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1810
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1838
#, no-wrap
msgid "c++ bindings for the libgda5 library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1811
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1839
#, no-wrap
msgid "`libgsf`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1840
#, no-wrap
msgid "devel/libgsf"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1814
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1842
#, no-wrap
msgid "Extensible I/O abstraction for dealing with structured file formats"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1815
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1843
#, no-wrap
msgid "`librsvg2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1816
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1844
#, no-wrap
msgid "graphics/librsvg2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1818
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1846
#, no-wrap
msgid "Library for parsing and rendering SVG vector-graphic files"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1819
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1847
#, no-wrap
msgid "`libsigc++20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1820
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1848
#, no-wrap
msgid "devel/libsigc++20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1822
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2016
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1850
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2044
#, no-wrap
msgid "Callback Framework for C++"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1823
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1851
#, no-wrap
msgid "`libxml++26`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1824
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1852
#, no-wrap
msgid "textproc/libxml++26"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1826
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1854
#, no-wrap
msgid "c++ bindings for the libxml2 library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1827
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1855
#, no-wrap
msgid "`libxml2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1828
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1856
#, no-wrap
msgid "textproc/libxml2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1830
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1858
#, no-wrap
msgid "XML parser library (both, build, run)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1831
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1859
#, no-wrap
msgid "`libxslt`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1832
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1860
#, no-wrap
msgid "textproc/libxslt"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1834
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1862
#, no-wrap
msgid "XSLT C library (both, build, run)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1835
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1863
#, no-wrap
msgid "`metacity`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1836
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1864
#, no-wrap
msgid "x11-wm/metacity"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1838
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1866
#, no-wrap
msgid "Window manager from GNOME"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1839
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1867
#, no-wrap
msgid "`nautilus3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1840
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1868
#, no-wrap
msgid "x11-fm/nautilus"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1842
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1870
#, no-wrap
msgid "GNOME file manager"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1843
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1871
#, no-wrap
msgid "`pango`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1844
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1872
#, no-wrap
msgid "x11-toolkits/pango"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1846
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1874
#, no-wrap
msgid "Open-source framework for the layout and rendering of i18n text"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1847
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1875
#, no-wrap
msgid "`pangomm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1848
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1876
#, no-wrap
msgid "x11-toolkits/pangomm"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1850
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1878
#, no-wrap
msgid "c++ bindings for the pango library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1851
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1879
#, no-wrap
msgid "`py3gobject3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1852
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1880
#, no-wrap
msgid "devel/py3-gobject3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1854
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1882
#, no-wrap
msgid "Python 3, GObject 3.0 bindings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1855
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1883
#, no-wrap
msgid "`pygobject3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1856
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1884
#, no-wrap
msgid "devel/py-gobject3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1858
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1886
#, no-wrap
msgid "Python 2, GObject 3.0 bindings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1859
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1887
#, no-wrap
msgid "`vte3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1860
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1888
#, no-wrap
msgid "x11-toolkits/vte3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1861
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2047
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1889
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2075
#, no-wrap
msgid "Terminal widget with improved accessibility and I18N support"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1864
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1892
#, no-wrap
msgid "GNOME Macro Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1871
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1899
#, no-wrap
msgid "`gnomeprefix`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1873
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1901
#, no-wrap
msgid "Supply `configure` with some default locations."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1874
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1902
#, no-wrap
msgid "`intlhack`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1876
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1904
#, no-wrap
msgid "Same as intltool, but patches to make sure [.filename]#share/locale/# is used. Please only use when `intltool` alone is not enough."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1877
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1905
#, no-wrap
msgid "`referencehack`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1878
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1906
#, no-wrap
msgid "This macro is there to help splitting of the API or reference documentation into its own port."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1881
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1909
#, no-wrap
msgid "GNOME Legacy Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1889
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1917
#, no-wrap
msgid "`atspi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1890
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1918
#, no-wrap
msgid "accessibility/at-spi"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1892
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1920
#, no-wrap
msgid "Assistive Technology Service Provider Interface"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1893
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1921
#, no-wrap
msgid "`esound`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1894
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1922
#, no-wrap
msgid "audio/esound"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1896
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1924
#, no-wrap
msgid "Enlightenment sound package"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1897
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1925
#, no-wrap
msgid "`gal2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1898
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1926
#, no-wrap
msgid "x11-toolkits/gal2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1900
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1928
#, no-wrap
msgid "Collection of widgets taken from GNOME 2 gnumeric"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1901
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1929
#, no-wrap
msgid "`gconf2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1902
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1930
#, no-wrap
msgid "devel/gconf2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1904
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1932
#, no-wrap
msgid "Configuration database system for GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1905
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1933
#, no-wrap
msgid "`gconfmm26`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1906
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1934
#, no-wrap
msgid "devel/gconfmm26"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1908
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1936
#, no-wrap
msgid "c++ bindings for gconf2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1909
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1937
#, no-wrap
msgid "`gdkpixbuf`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1910
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1938
#, no-wrap
msgid "graphics/gdk-pixbuf"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1913
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1941
#, no-wrap
msgid "`glib12`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1914
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1942
#, no-wrap
msgid "devel/glib12"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1916
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1944
#, no-wrap
msgid "glib 1.2 core library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1917
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1945
#, no-wrap
msgid "`gnomedocutils`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1918
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1946
#, no-wrap
msgid "textproc/gnome-doc-utils"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1920
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1948
#, no-wrap
msgid "GNOME doc utils"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1921
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1949
#, no-wrap
msgid "`gnomemimedata`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1922
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1950
#, no-wrap
msgid "misc/gnome-mime-data"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1924
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1952
#, no-wrap
msgid "MIME and Application database for GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1925
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1953
#, no-wrap
msgid "`gnomesharp20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1926
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1954
#, no-wrap
msgid "x11-toolkits/gnome-sharp20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1928
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1956
#, no-wrap
msgid "GNOME 2 interfaces for the .NET runtime"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1929
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1957
#, no-wrap
msgid "`gnomespeech`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1930
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1958
#, no-wrap
msgid "accessibility/gnome-speech"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1932
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1960
#, no-wrap
msgid "GNOME 2 text-to-speech API"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1933
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1961
#, no-wrap
msgid "`gnomevfs2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1934
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1962
#, no-wrap
msgid "devel/gnome-vfs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1936
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1964
#, no-wrap
msgid "GNOME 2 Virtual File System"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1937
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1965
#, no-wrap
msgid "`gtk12`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1938
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1966
#, no-wrap
msgid "x11-toolkits/gtk12"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1940
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1968
#, no-wrap
msgid "Gtk+ 1.2 toolkit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1941
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1969
#, no-wrap
msgid "`gtkhtml3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1942
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1970
#, no-wrap
msgid "www/gtkhtml3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1944
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1948
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2004
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1972
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1976
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2032
#, no-wrap
msgid "Lightweight HTML rendering/printing/editing engine"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1945
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1973
#, no-wrap
msgid "`gtkhtml4`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1946
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1974
#, no-wrap
msgid "www/gtkhtml4"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1949
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1977
#, no-wrap
msgid "`gtksharp20`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1950
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1978
#, no-wrap
msgid "x11-toolkits/gtk-sharp20"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1952
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1980
#, no-wrap
msgid "GTK+ and GNOME 2 interfaces for the .NET runtime"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1953
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1981
#, no-wrap
msgid "`gtksourceview`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1954
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1982
#, no-wrap
msgid "x11-toolkits/gtksourceview"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1957
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1985
#, no-wrap
msgid "`libartgpl2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1958
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1986
#, no-wrap
msgid "graphics/libart_lgpl"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1960
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1988
#, no-wrap
msgid "Library for high-performance 2D graphics"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1961
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1989
#, no-wrap
msgid "`libbonobo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1962
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1990
#, no-wrap
msgid "devel/libbonobo"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1992
#, no-wrap
msgid "Component and compound document system for GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1965
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1993
#, no-wrap
msgid "`libbonoboui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1966
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1994
#, no-wrap
msgid "x11-toolkits/libbonoboui"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1968
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1996
#, no-wrap
msgid "GUI frontend to the libbonobo component of GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1969
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1997
#, no-wrap
msgid "`libgda4`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1970
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:1998
#, no-wrap
msgid "databases/libgda4"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1973
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2001
#, no-wrap
msgid "`libglade2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1974
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2002
#, no-wrap
msgid "devel/libglade2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1976
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2004
#, no-wrap
msgid "GNOME 2 glade library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1977
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2005
#, no-wrap
msgid "`libgnome`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1978
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2006
#, no-wrap
msgid "x11/libgnome"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1980
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2008
#, no-wrap
msgid "Libraries for GNOME 2, a GNU desktop environment"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1981
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2009
#, no-wrap
msgid "`libgnomecanvas`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1982
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2010
#, no-wrap
msgid "graphics/libgnomecanvas"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1984
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2012
#, no-wrap
msgid "Graphics library for GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1985
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2013
#, no-wrap
msgid "`libgnomekbd`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1986
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2014
#, no-wrap
msgid "x11/libgnomekbd"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1988
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2016
#, no-wrap
msgid "GNOME 2 keyboard shared library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1989
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2017
#, no-wrap
msgid "`libgnomeprint`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1990
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2018
#, no-wrap
msgid "print/libgnomeprint"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1992
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1996
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2020
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2024
#, no-wrap
msgid "Gnome 2 print support library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1993
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2021
#, no-wrap
msgid "`libgnomeprintui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1994
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2022
#, no-wrap
msgid "x11-toolkits/libgnomeprintui"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1997
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2025
#, no-wrap
msgid "`libgnomeui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:1998
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2026
#, no-wrap
msgid "x11-toolkits/libgnomeui"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2000
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2028
#, no-wrap
msgid "Libraries for the GNOME 2 GUI, a GNU desktop environment"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2001
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2029
#, no-wrap
msgid "`libgtkhtml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2002
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2030
#, no-wrap
msgid "www/libgtkhtml"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2005
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2033
#, no-wrap
msgid "`libgtksourceviewmm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2006
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2034
#, no-wrap
msgid "x11-toolkits/libgtksourceviewmm"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2008
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2036
#, no-wrap
msgid "c++ binding of GtkSourceView"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2009
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2037
#, no-wrap
msgid "`libidl`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2010
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2038
#, no-wrap
msgid "devel/libIDL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2012
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2040
#, no-wrap
msgid "Library for creating trees of CORBA IDL file"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2013
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2041
#, no-wrap
msgid "`libsigc++12`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2014
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2042
#, no-wrap
msgid "devel/libsigc++12"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2017
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2045
#, no-wrap
msgid "`libwnck`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2018
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2046
#, no-wrap
msgid "x11-toolkits/libwnck"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2020
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2024
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2048
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2052
#, no-wrap
msgid "Library used for writing pagers and taskslists"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2021
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2049
#, no-wrap
msgid "`libwnck3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2022
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2050
#, no-wrap
msgid "x11-toolkits/libwnck3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2025
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2053
#, no-wrap
msgid "`orbit2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2026
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2054
#, no-wrap
msgid "devel/ORBit2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2028
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2056
#, no-wrap
msgid "High-performance CORBA ORB with support for the C language"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2029
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2057
#, no-wrap
msgid "`pygnome2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2030
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2058
#, no-wrap
msgid "x11-toolkits/py-gnome2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2032
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2060
#, no-wrap
msgid "Python bindings for GNOME 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2033
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2061
#, no-wrap
msgid "`pygobject`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2034
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2062
#, no-wrap
msgid "devel/py-gobject"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2036
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2064
#, no-wrap
msgid "Python 2, GObject 2.0 bindings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2037
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2065
#, no-wrap
msgid "`pygtk2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2038
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2066
#, no-wrap
msgid "x11-toolkits/py-gtk2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2040
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2068
#, no-wrap
msgid "Set of Python bindings for GTK+"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2041
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2069
#, no-wrap
msgid "`pygtksourceview`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2042
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2070
#, no-wrap
msgid "x11-toolkits/py-gtksourceview"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2044
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2072
#, no-wrap
msgid "Python bindings for GtkSourceView 2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2045
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2073
#, no-wrap
msgid "`vte`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2046
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2074
#, no-wrap
msgid "x11-toolkits/vte"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2050
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2078
#, no-wrap
msgid "Deprecated Components: Do Not Use"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2057
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2085
#, no-wrap
msgid "`pangox-compat`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2058
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2086
#, no-wrap
msgid "pangox-compat has been deprecated and split off from the pango package."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2061
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2089
#, no-wrap
msgid "Using Qt"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2066
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2094
msgid ""
"For ports that are part of Qt itself, see crossref:uses[uses-qt-dist,`qt-"
"dist`]."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2069
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2097
#, no-wrap
msgid "Ports That Require Qt"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2074
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2102
msgid ""
"The Ports Collection provides support for Qt 5 and Qt 6 with `USES+=qt:5` "
"and `USES+=qt:6` respectively. Set `USE_QT` to the list of required Qt "
"components (libraries, tools, plugins)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2076
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2104
msgid ""
"The Qt framework exports a number of variables which can be used by ports, "
"some of them listed below:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2078
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2106
#, no-wrap
msgid "Variables Provided to Ports That Use Qt"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2082
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2110
#, no-wrap
msgid "`QMAKE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2084
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2112
#, no-wrap
msgid "Full path to `qmake` binary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2085
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2113
#, no-wrap
msgid "`LRELEASE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2087
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2115
#, no-wrap
msgid "Full path to `lrelease` utility."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2088
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2116
#, no-wrap
msgid "`MOC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2090
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2118
#, no-wrap
msgid "Full path to `moc`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2091
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2119
#, no-wrap
msgid "`RCC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2093
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2121
#, no-wrap
msgid "Full path to `rcc`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2094
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2122
#, no-wrap
msgid "`UIC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2096
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2124
#, no-wrap
msgid "Full path to `uic`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2097
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2125
#, no-wrap
msgid "`QT_INCDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2099
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2127
#, no-wrap
msgid "Qt include directory."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2100
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2128
#, no-wrap
msgid "`QT_LIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2102
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2130
#, no-wrap
msgid "Qt libraries path."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2103
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2131
#, no-wrap
msgid "`QT_PLUGINDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2104
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2132
#, no-wrap
msgid "Qt plugins path."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2107
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3816
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2135
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3844
#, no-wrap
msgid "Component Selection"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2114
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2142
msgid ""
"Individual Qt tool and library dependencies must be specified in `USE_QT`. "
"Every component can be suffixed with `_build` or `_run`, the suffix "
"indicating whether the dependency on the component is at buildtime or "
"runtime. If unsuffixed, the component will be depended on at both build- "
"and runtime. Usually, library components are specified unsuffixed, tool "
"components are mostly specified with the `_build` suffix and plugin "
"components are specified with the `_run` suffix. The most commonly used "
"components are listed below (all available components are listed in "
"`_USE_QT_ALL`, which is generated from `_USE_QT_COMMON` and "
"`_USE_QT[56]_ONLY` in [.filename]#/usr/ports/Mk/Uses/qt.mk#):"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2116
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2144
#, no-wrap
msgid "Available Qt Library Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2120
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2364
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2381
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2512
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3091
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3806
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3826
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3851
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3955
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4125
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4177
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4445
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2148
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2392
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2409
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2540
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3119
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3834
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3854
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3879
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3983
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4205
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4297
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4388
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4450
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4711
#, no-wrap
msgid "Name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2123
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2151
#, no-wrap
msgid "`3d`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2125
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2153
#, no-wrap
msgid "Qt3D module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2126
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2154
#, no-wrap
msgid "`5compat`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2128
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2156
#, no-wrap
msgid "Qt 5 compatibility module for Qt 6"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2129
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2157
#, no-wrap
msgid "`assistant`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2131
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2159
#, no-wrap
msgid "Qt 5 documentation browser"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2132
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2160
#, no-wrap
msgid "`base`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2134
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2162
#, no-wrap
msgid "Qt 6 base module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2135
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2163
#, no-wrap
msgid "`canvas3d`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2137
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2165
#, no-wrap
msgid "Qt canvas3d module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2138
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2166
#, no-wrap
msgid "`charts`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2140
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2168
#, no-wrap
msgid "Qt 5 charts module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2141
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2169
#, no-wrap
msgid "`concurrent`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2143
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2171
#, no-wrap
msgid "Qt multi-threading module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2144
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2172
#, no-wrap
msgid "`connectivity`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2146
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2174
#, no-wrap
msgid "Qt connectivity (Bluetooth/NFC) module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2147
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2175
#, no-wrap
msgid "`core`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2149
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2177
#, no-wrap
msgid "Qt core non-graphical module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2150
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2178
#, no-wrap
msgid "`datavis3d`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2152
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2180
#, no-wrap
msgid "Qt 5 3D data visualization module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2181
#, no-wrap
msgid "`dbus`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2155
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2183
#, no-wrap
msgid "Qt D-Bus inter-process communication module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2156
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2184
#, no-wrap
msgid "`declarative`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2158
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2186
#, no-wrap
msgid "Qt declarative framework for dynamic user interfaces"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2159
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2187
#, no-wrap
msgid "`designer`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2161
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2189
#, no-wrap
msgid "Qt 5 graphical user interface designer"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2162
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2190
#, no-wrap
msgid "`diag`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2164
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2192
#, no-wrap
msgid "Tool for reporting diagnostic information about Qt and its environment"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2165
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2193
#, no-wrap
msgid "`doc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2167
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2195
#, no-wrap
msgid "Qt 5 documentation"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2168
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2196
#, no-wrap
msgid "`examples`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2170
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2198
#, no-wrap
msgid "Qt 5 examples sourcecode"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2171
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2199
#, no-wrap
msgid "`gamepad`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2173
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2201
#, no-wrap
msgid "Qt 5 Gamepad Module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2174
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2202
#, no-wrap
msgid "`graphicaleffects`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2176
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2204
#, no-wrap
msgid "Qt Quick graphical effects"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2177
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2205
#, no-wrap
msgid "`gui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2179
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2207
#, no-wrap
msgid "Qt graphical user interface module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2180
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2208
#, no-wrap
msgid "`help`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2182
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2210
#, no-wrap
msgid "Qt online help integration module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2183
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2211
#, no-wrap
msgid "`l10n`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2185
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2213
#, no-wrap
msgid "Qt localized messages"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2186
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2214
#, no-wrap
msgid "`languageserver`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2188
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2216
#, no-wrap
msgid "Qt 6 Language Server Protocol implementation"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2189
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2217
#, no-wrap
msgid "`linguist`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2191
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2219
#, no-wrap
msgid "Qt 5 translation tool"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2192
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2220
#, no-wrap
msgid "`location`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2194
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2222
#, no-wrap
msgid "Qt location module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2195
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2223
#, no-wrap
msgid "`lottie`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2197
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2225
#, no-wrap
msgid "Qt 6 QML API for rendering graphics and animations"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2198
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2226
#, no-wrap
msgid "`multimedia`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2200
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2228
#, no-wrap
msgid "Qt audio, video, radio and camera support module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2201
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2229
#, no-wrap
msgid "`network`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2203
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2231
#, no-wrap
msgid "Qt network module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2204
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2232
#, no-wrap
msgid "`networkauth`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2206
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2234
#, no-wrap
msgid "Qt network auth module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2207
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2235
#, no-wrap
msgid "`opengl`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2209
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2237
#, no-wrap
msgid "Qt 5-compatible OpenGL support module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2210
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2238
#, no-wrap
msgid "`paths`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2212
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2240
#, no-wrap
msgid "Command line client to QStandardPaths"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2213
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2241
#, no-wrap
msgid "`phonon4`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2215
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2243
#, no-wrap
msgid "KDE multimedia framework"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2216
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2244
#, no-wrap
msgid "`pixeltool`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2218
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2246
#, no-wrap
msgid "Qt 5 screen magnifier"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2219
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2247
#, no-wrap
msgid "`plugininfo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2221
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2249
#, no-wrap
msgid "Qt 5 plugin metadata dumper"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2222
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2250
#, no-wrap
msgid "`positioning`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2224
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2252
#, no-wrap
msgid "Qt 6 positioning API from sources such as satellite, wifi or text files."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2225
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2253
#, no-wrap
msgid "`printsupport`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2227
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2255
#, no-wrap
msgid "Qt print support module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2228
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2256
#, no-wrap
msgid "`qdbus`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2230
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2258
#, no-wrap
msgid "Qt command-line interface to D-Bus"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2231
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2259
#, no-wrap
msgid "`qdbusviewer`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2261
#, no-wrap
msgid "Qt 5 graphical interface to D-Bus"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2234
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2262
#, no-wrap
msgid "`qdoc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2236
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2264
#, no-wrap
msgid "Qt documentation generator"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2237
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2265
#, no-wrap
msgid "`qdoc-data`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2239
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2267
#, no-wrap
msgid "QDoc configuration files"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2240
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2268
#, no-wrap
msgid "`qev`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2242
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2270
#, no-wrap
msgid "Qt QWidget events introspection tool"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2243
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2373
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2271
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2401
#, no-wrap
msgid "`qmake`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2273
#, no-wrap
msgid "Qt Makefile generator"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2246
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2274
#, no-wrap
msgid "`quickcontrols`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2248
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2251
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2276
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2279
#, no-wrap
msgid "Set of controls for building complete interfaces in Qt Quick"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2249
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2277
#, no-wrap
msgid "`quickcontrols2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2252
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2280
#, no-wrap
msgid "`remoteobjects`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2254
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2263
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2282
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2291
#, no-wrap
msgid "Qt 5 SXCML module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2255
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2283
#, no-wrap
msgid "`script`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2257
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2285
#, no-wrap
msgid "Qt 4-compatible scripting module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2258
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2286
#, no-wrap
msgid "`scripttools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2260
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2288
#, no-wrap
msgid "Qt Script additional components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2261
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2289
#, no-wrap
msgid "`scxml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2264
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2292
#, no-wrap
msgid "`sensors`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2266
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2294
#, no-wrap
msgid "Qt sensors module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2267
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2295
#, no-wrap
msgid "`serialbus`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2269
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2297
#, no-wrap
msgid "Qt functions to access industrial bus systems"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2270
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2298
#, no-wrap
msgid "`serialport`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2272
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2300
#, no-wrap
msgid "Qt functions to access serial ports"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2273
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2301
#, no-wrap
msgid "`shadertools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2275
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2303
#, no-wrap
msgid "Qt 6 tools for the cross-platform Qt shader pipeline"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2276
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2304
#, no-wrap
msgid "`speech`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2278
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2306
#, no-wrap
msgid "Accessibility features for Qt5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2279
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2307
#, no-wrap
msgid "`sql`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2281
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2309
#, no-wrap
msgid "Qt SQL database integration module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2282
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2310
#, no-wrap
msgid "`sql-ibase`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2284
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2312
#, no-wrap
msgid "Qt InterBase/Firebird database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2285
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2313
#, no-wrap
msgid "`sql-mysql`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2287
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2315
#, no-wrap
msgid "Qt MySQL database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2288
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2316
#, no-wrap
msgid "`sql-odbc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2290
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2318
#, no-wrap
msgid "Qt Open Database Connectivity plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2291
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2319
#, no-wrap
msgid "`sql-pgsql`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2293
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2321
#, no-wrap
msgid "Qt PostgreSQL database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2294
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2322
#, no-wrap
msgid "`sql-sqlite2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2296
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2324
#, no-wrap
msgid "Qt SQLite 2 database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2297
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2325
#, no-wrap
msgid "`sql-sqlite3`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2299
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2327
#, no-wrap
msgid "Qt SQLite 3 database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2300
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2328
#, no-wrap
msgid "`sql-tds`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2302
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2330
#, no-wrap
msgid "Qt TDS Database Connectivity database plugin"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2303
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3885
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2331
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3913
#, no-wrap
msgid "`svg`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2305
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2333
#, no-wrap
msgid "Qt SVG support module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2306
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2334
#, no-wrap
msgid "`testlib`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2308
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2336
#, no-wrap
msgid "Qt unit testing module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2309
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2337
#, no-wrap
msgid "`tools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2311
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2339
#, no-wrap
msgid "Qt 6 assorted tools"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2312
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2340
#, no-wrap
msgid "`translations`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2314
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2342
#, no-wrap
msgid "Qt 6 translation module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2315
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2343
#, no-wrap
msgid "`uiplugin`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2317
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2345
#, no-wrap
msgid "Custom Qt widget plugin interface for Qt Designer"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2318
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2346
#, no-wrap
msgid "`uitools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2320
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2348
#, no-wrap
msgid "Qt Designer UI forms support module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2321
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2349
#, no-wrap
msgid "`virtualkeyboard`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2323
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2351
#, no-wrap
msgid "Qt 5 Virtual Keyboard Module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2324
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3046
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2352
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3074
#, no-wrap
msgid "`wayland`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2326
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2354
#, no-wrap
msgid "Qt 5 wrapper for Wayland"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2327
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2355
#, no-wrap
msgid "`webchannel`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2329
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2357
#, no-wrap
msgid "Qt 5 library for integration of C++/QML with HTML/js clients"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2330
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2358
#, no-wrap
msgid "`webengine`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2332
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2360
#, no-wrap
msgid "Qt 5 library to render web content"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2333
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2361
#, no-wrap
msgid "`webkit`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2335
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2363
#, no-wrap
msgid "QtWebKit with a more modern WebKit code base"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2336
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2364
#, no-wrap
msgid "`websockets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2338
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2366
#, no-wrap
msgid "Qt implementation of WebSocket protocol"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2339
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2367
#, no-wrap
msgid "`websockets-qml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2341
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2369
#, no-wrap
msgid "Qt implementation of WebSocket protocol (QML bindings)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2342
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2370
#, no-wrap
msgid "`webview`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2344
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2372
#, no-wrap
msgid "Qt component for displaying web content"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2345
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2373
#, no-wrap
msgid "`widgets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2347
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2375
#, no-wrap
msgid "Qt C++ widgets module"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2348
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2376
#, no-wrap
msgid "`x11extras`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2350
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2378
#, no-wrap
msgid "Qt platform-specific features for X11-based systems"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2351
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2379
#, no-wrap
msgid "`xml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2353
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2381
#, no-wrap
msgid "Qt SAX and DOM implementations"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2354
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2382
#, no-wrap
msgid "`xmlpatterns`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2355
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2383
#, no-wrap
msgid "Qt support for XPath, XQuery, XSLT and XML Schema"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2358
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2386
msgid ""
"To determine the libraries an application depends on, run `ldd` on the main "
"executable after a successful compilation."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2360
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2388
#, no-wrap
msgid "Available Qt Tool Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2367
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3094
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2395
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3122
#, no-wrap
msgid "`buildtools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2369
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2397
#, no-wrap
msgid "build tools (`moc`, `rcc`), needed for almost every Qt application."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2370
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2398
#, no-wrap
msgid "`linguisttools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2372
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2400
#, no-wrap
msgid "localization tools: `lrelease`, `lupdate`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2374
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2402
#, no-wrap
msgid "Makefile generator/build utility"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2377
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2405
#, no-wrap
msgid "Available Qt Plugin Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2384
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2412
#, no-wrap
msgid "`imageformats`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2385
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2413
#, no-wrap
msgid "plugins for TGA, TIFF, and MNG image formats"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2388
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2416
#, no-wrap
msgid "Selecting Qt 5 Components"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2394
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2422
msgid ""
"In this example, the ported application uses the Qt 5 graphical user "
"interface library, the Qt 5 core library, all of the Qt 5 code generation "
"tools and Qt 5's Makefile generator. Since the `gui` library implies a "
"dependency on the core library, `core` does not need to be specified. The "
"Qt 5 code generation tools `moc`, `uic` and `rcc`, as well as the Makefile "
"generator `qmake` are only needed at buildtime, thus they are specified with "
"the `_build` suffix:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2399
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2427
#, no-wrap
msgid ""
"USES=\tqt:5\n"
"USE_QT=\tgui buildtools_build qmake_build\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2404
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2432
#, no-wrap
msgid "Using `qmake`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2410
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2438
msgid ""
"If the application provides a qmake project file ([.filename]#*.pro#), "
"define `USES= qmake` along with `USE_QT`. `USES= qmake` already implies a "
"build dependency on qmake, therefore the qmake component can be omitted from "
"`USE_QT`. Similar to <<using-cmake,CMake>>, qmake supports out-of-source "
"builds, which can be enabled by specifying the `outsource` argument (see "
"<<using-qmake-example,`USES= qmake` example>>). Also see <<using-qmake-"
"arguments>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2412
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2440
#, no-wrap
msgid "Possible Arguments for `USES= qmake`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2419
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2447
#, no-wrap
msgid "`no_configure`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2421
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2449
#, no-wrap
msgid "Do not add the configure target. This is implied by `HAS_CONFIGURE=yes` and `GNU_CONFIGURE=yes`. It is required when the build only needs the environment setup from `USES= qmake`, but otherwise runs `qmake` on its own."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2422
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2450
#, no-wrap
msgid "`no_env`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2424
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2452
#, no-wrap
msgid "Suppress modification of the configure and make environments. It is only required when `qmake` is used to configure the software and the build fails to understand the environment setup by `USES= qmake`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2425
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2453
#, no-wrap
msgid "`norecursive`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2427
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2455
#, no-wrap
msgid "Do not pass the `-recursive` argument to `qmake`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2428
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2456
#, no-wrap
msgid "`outsource`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2429
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2457
#, no-wrap
msgid "Perform an out-of-source build."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2432
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2460
#, no-wrap
msgid "Variables for Ports That Use `qmake`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2439
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2467
#, no-wrap
msgid "`QMAKE_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2441
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2469
#, no-wrap
msgid "Port specific qmake flags to be passed to the `qmake` binary."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2442
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2470
#, no-wrap
msgid "`QMAKE_ENV`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2444
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2472
#, no-wrap
msgid "Environment variables to be set for the `qmake` binary. The default is `${CONFIGURE_ENV}`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2445
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2473
#, no-wrap
msgid "`QMAKE_SOURCE_PATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2446
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2474
#, no-wrap
msgid "Path to qmake project files ([.filename]#.pro#). The default is `${WRKSRC}` if an out-of-source build is requested, empty otherwise."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2449
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2477
msgid "When using `USES= qmake`, these settings are deployed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2456
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2484
#, no-wrap
msgid ""
"CONFIGURE_ARGS+=\t--with-qt-includes=${QT_INCDIR} \\\n"
"\t\t\t--with-qt-libraries=${QT_LIBDIR} \\\n"
"\t\t\t--with-extra-libs=${LOCALBASE}/lib \\\n"
"\t\t\t--with-extra-includes=${LOCALBASE}/include\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2460
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2488
#, no-wrap
msgid ""
"CONFIGURE_ENV+=\tQTDIR=\"${QT_PREFIX}\" QMAKE=\"${QMAKE}\" \\\n"
"\t\tMOC=\"${MOC}\" RCC=\"${RCC}\" UIC=\"${UIC}\" \\\n"
"\t\tQMAKESPEC=\"${QMAKESPEC}\"\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2464
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2492
#, no-wrap
msgid ""
"PLIST_SUB+=\tQT_INCDIR=${QT_INCDIR_REL} \\\n"
"\t\tQT_LIBDIR=${QT_LIBDIR_REL} \\\n"
"\t\tQT_PLUGINDIR=${QT_PLUGINDIR_REL}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2468
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2496
msgid ""
"Some configure scripts do not support the arguments above. To suppress "
"modification of `CONFIGURE_ENV` and `CONFIGURE_ARGS`, set `USES= qmake:"
"no_env`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2470
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2498
#, no-wrap
msgid "`USES= qmake` Example"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2474
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2502
msgid "This snippet demonstrates the use of qmake for a Qt 5 port:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2479
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2507
#, no-wrap
msgid ""
"USES=\tqmake:outsource qt:5\n"
"USE_QT=\tbuildtools_build\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2484
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2512
msgid ""
"Qt applications are often written to be cross-platform and often X11/Unix is "
"not the platform they are developed on, which in turn leads to certain loose "
"ends, like:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2486
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2514
msgid ""
"_Missing additional include paths._ Many applications come with system tray "
"icon support, but neglect to look for includes and/or libraries in the X11 "
"directories. To add directories to `qmake`'s include and library search "
"paths via the command line, use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2491
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2519
#, no-wrap
msgid ""
"QMAKE_ARGS+=\tINCLUDEPATH+=${LOCALBASE}/include \\\n"
"\t\tLIBS+=-L${LOCALBASE}/lib\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2494
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2522
msgid ""
"_Bogus installation paths._ Sometimes data such as icons or .desktop files "
"are by default installed into directories which are not scanned by XDG-"
"compatible applications. package:editors/texmaker[] is an example for this - "
"look at [.filename]#patch-texmaker.pro# in the [.filename]#files# directory "
"of that port for a template on how to remedy this directly in the `qmake` "
"project file."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2496
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2524
#, no-wrap
msgid "Using KDE"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2499
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2527
#, no-wrap
msgid "KDE Variable Definitions"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2506
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2534
msgid ""
"If the application depends on KDE, set `USES+=kde:5` and `USE_KDE` to the "
"list of required components. `_build` and `_run` suffixes can be used to "
"force components dependency type (for example, `baseapps_run`). If no "
"suffix is set, a default dependency type will be used. To force both types, "
"add the component twice with both suffixes (for example, `ecm_build "
"ecm_run`). Available components are listed below (up-to-date components are "
"also listed in [.filename]#/usr/ports/Mk/Uses/kde.mk#):"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2508
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2536
#, no-wrap
msgid "Available KDE Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2515
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2543
#, no-wrap
msgid "`activities`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2517
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2545
#, no-wrap
msgid "KF5 runtime and library to organize work in separate activities"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2518
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2546
#, no-wrap
msgid "`activities-stats`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2520
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2548
#, no-wrap
msgid "KF5 statistics for activities"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2521
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2549
#, no-wrap
msgid "`activitymanagerd`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2523
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2551
#, no-wrap
msgid "System service to manage user's activities, track the usage patterns"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2524
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2552
#, no-wrap
msgid "`akonadi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2526
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2554
#, no-wrap
msgid "Storage server for KDE-Pim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2527
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2555
#, no-wrap
msgid "`akonadicalendar`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2529
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2557
#, no-wrap
msgid "Akonadi Calendar Integration"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2530
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2558
#, no-wrap
msgid "`akonadiconsole`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2532
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2560
#, no-wrap
msgid "Akonadi management and debugging console"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2533
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2561
#, no-wrap
msgid "`akonadicontacts`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2535
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2563
#, no-wrap
msgid "Libraries and daemons to implement Contact Management in Akonadi"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2536
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2564
#, no-wrap
msgid "`akonadiimportwizard`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2538
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2566
#, no-wrap
msgid "Import data from other mail clients to KMail"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2539
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2567
#, no-wrap
msgid "`akonadimime`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2541
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2569
#, no-wrap
msgid "Libraries and daemons to implement basic email handling"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2542
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2570
#, no-wrap
msgid "`akonadinotes`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2544
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2907
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2572
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2935
#, no-wrap
msgid "KDE library for accessing mail storages in MBox format"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2545
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2573
#, no-wrap
msgid "`akonadisearch`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2547
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2575
#, no-wrap
msgid "Libraries and daemons to implement searching in Akonadi"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2548
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2576
#, no-wrap
msgid "`akregator`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2550
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2578
#, no-wrap
msgid "A Feed Reader by KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2551
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2579
#, no-wrap
msgid "`alarmcalendar`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2553
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2581
#, no-wrap
msgid "KDE API for KAlarm alarms"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2554
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2582
#, no-wrap
msgid "`apidox`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2556
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2584
#, no-wrap
msgid "KF5 API Documentation Tools"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2557
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2585
#, no-wrap
msgid "`archive`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2559
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2587
#, no-wrap
msgid "KF5 library that provides classes for handling archive formats"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2560
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2588
#, no-wrap
msgid "`attica`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2562
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2565
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2590
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2593
#, no-wrap
msgid "Open Collaboration Services API library KDE5 version"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2563
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2591
#, no-wrap
msgid "`attica5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2566
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2594
#, no-wrap
msgid "`auth`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2568
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2596
#, no-wrap
msgid "KF5 abstraction to system policy and authentication features"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2569
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2597
#, no-wrap
msgid "`baloo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2571
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2577
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2599
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2605
#, no-wrap
msgid "KF5 Framework for searching and managing user metadata"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2572
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2600
#, no-wrap
msgid "`baloo-widgets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2574
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2602
#, no-wrap
msgid "BalooWidgets library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2575
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2603
#, no-wrap
msgid "`baloo5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2578
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2606
#, no-wrap
msgid "`blog`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2580
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2608
#, no-wrap
msgid "KDE API for weblogging access"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2581
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2609
#, no-wrap
msgid "`bookmarks`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2583
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2611
#, no-wrap
msgid "KF5 library for bookmarks and the XBEL format"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2584
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2612
#, no-wrap
msgid "`breeze`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2586
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2614
#, no-wrap
msgid "Plasma5 artwork, styles and assets for the Breeze visual style"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2587
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2615
#, no-wrap
msgid "`breeze-gtk`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2589
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2617
#, no-wrap
msgid "Plasma5 Breeze visual style for Gtk"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2590
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2618
#, no-wrap
msgid "`breeze-icons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2592
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2620
#, no-wrap
msgid "Breeze icon theme for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2593
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2621
#, no-wrap
msgid "`calendarcore`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2595
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2623
#, no-wrap
msgid "KDE calendar access library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2596
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2624
#, no-wrap
msgid "`calendarsupport`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2598
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2626
#, no-wrap
msgid "Calendar support libraries for KDEPim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2599
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2627
#, no-wrap
msgid "`calendarutils`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2601
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2629
#, no-wrap
msgid "KDE utility and user interface functions for accessing calendar"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2602
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2630
#, no-wrap
msgid "`codecs`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2604
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2632
#, no-wrap
msgid "KF5 library for string manipulation"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2605
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2633
#, no-wrap
msgid "`completion`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2607
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2635
#, no-wrap
msgid "KF5 text completion helpers and widgets"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2608
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2636
#, no-wrap
msgid "`config`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2610
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2613
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2638
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2641
#, no-wrap
msgid "KF5 widgets for configuration dialogs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2611
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2639
#, no-wrap
msgid "`configwidgets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2614
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2642
#, no-wrap
msgid "`contacts`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2616
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2644
#, no-wrap
msgid "KDE api to manage contact information"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2617
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2645
#, no-wrap
msgid "`coreaddons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2619
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2647
#, no-wrap
msgid "KF5 addons to QtCore"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2620
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2648
#, no-wrap
msgid "`crash`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2622
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2650
#, no-wrap
msgid "KF5 library to handle crash analysis and bug report from apps"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2623
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2651
#, no-wrap
msgid "`dbusaddons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2625
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3033
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2653
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3061
#, no-wrap
msgid "KF5 addons to QtDBus"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2626
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2654
#, no-wrap
msgid "`decoration`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2628
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2656
#, no-wrap
msgid "Plasma5 library to create window decorations"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2629
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2657
#, no-wrap
msgid "`designerplugin`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2631
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2659
#, no-wrap
msgid "KF5 integration of Frameworks widgets in Qt Designer/Creator"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2632
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2660
#, no-wrap
msgid "`discover`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2634
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2662
#, no-wrap
msgid "Plasma5 package management tools"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2635
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2663
#, no-wrap
msgid "`dnssd`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2637
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2665
#, no-wrap
msgid "KF5 abstraction to system DNSSD features"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2638
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2666
#, no-wrap
msgid "`doctools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2640
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2668
#, no-wrap
msgid "KF5 documentation generation from docbook"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2641
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2669
#, no-wrap
msgid "`drkonqi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2643
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2671
#, no-wrap
msgid "Plasma5 crash handler"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2644
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2672
#, no-wrap
msgid "`ecm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2646
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2674
#, no-wrap
msgid "Extra modules and scripts for CMake"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2647
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2675
#, no-wrap
msgid "`emoticons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2649
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2677
#, no-wrap
msgid "KF5 library to convert emoticons"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2650
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2678
#, no-wrap
msgid "`eventviews`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2652
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2680
#, no-wrap
msgid "Event view libriares for KDEPim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2653
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2681
#, no-wrap
msgid "`filemetadata`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2655
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2683
#, no-wrap
msgid "KF5 library for extracting file metadata"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2656
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2684
#, no-wrap
msgid "`frameworkintegration`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2658
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2686
#, no-wrap
msgid "KF5 workspace and cross-framework integration plugins"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2659
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2687
#, no-wrap
msgid "`gapi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2661
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2689
#, no-wrap
msgid "KDE based library to access google services"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2662
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2690
#, no-wrap
msgid "`globalaccel`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2664
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2692
#, no-wrap
msgid "KF5 library to add support for global workspace shortcuts"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2665
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2693
#, no-wrap
msgid "`grantlee-editor`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2667
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2695
#, no-wrap
msgid "Editor for Grantlee themes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2668
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2696
#, no-wrap
msgid "`grantleetheme`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2670
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2698
#, no-wrap
msgid "KDE PIM grantleetheme"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2671
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2699
#, no-wrap
msgid "`gravatar`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2673
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2701
#, no-wrap
msgid "Library for gravatar support"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2674
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2702
#, no-wrap
msgid "`guiaddons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2676
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2704
#, no-wrap
msgid "KF5 addons to QtGui"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2677
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2705
#, no-wrap
msgid "`holidays`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2679
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2707
#, no-wrap
msgid "KDE library for calendar holidays"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2680
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2708
#, no-wrap
msgid "`hotkeys`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2682
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2710
#, no-wrap
msgid "Plasma5 library for hotkeys"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2683
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2711
#, no-wrap
msgid "`i18n`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2685
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2713
#, no-wrap
msgid "KF5 advanced internationalization framework"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2686
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2714
#, no-wrap
msgid "`iconthemes`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2688
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2716
#, no-wrap
msgid "KF5 library for handling icons in applications"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2689
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2717
#, no-wrap
msgid "`identitymanagement`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2691
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2719
#, no-wrap
msgid "KDE pim identities"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2692
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2720
#, no-wrap
msgid "`idletime`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2694
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2722
#, no-wrap
msgid "KF5 library for monitoring user activity"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2695
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2723
#, no-wrap
msgid "`imap`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2697
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2725
#, no-wrap
msgid "KDE API for IMAP support"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2698
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2726
#, no-wrap
msgid "`incidenceeditor`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2700
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2728
#, no-wrap
msgid "Incidence editor libriares for KDEPim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2701
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2729
#, no-wrap
msgid "`infocenter`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2703
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2731
#, no-wrap
msgid "Plasma5 utility providing system information"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2704
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2732
#, no-wrap
msgid "`init`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2706
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2734
#, no-wrap
msgid "KF5 process launcher to speed up launching KDE applications"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2707
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2735
#, no-wrap
msgid "`itemmodels`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2709
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2737
#, no-wrap
msgid "KF5 models for Qt Model/View system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2710
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2738
#, no-wrap
msgid "`itemviews`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2712
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2740
#, no-wrap
msgid "KF5 widget addons for Qt Model/View"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2713
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2741
#, no-wrap
msgid "`jobwidgets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2715
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2743
#, no-wrap
msgid "KF5 widgets for tracking KJob instance"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2716
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2744
#, no-wrap
msgid "`js`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2718
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2746
#, no-wrap
msgid "KF5 library providing an ECMAScript interpreter"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2719
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2747
#, no-wrap
msgid "`jsembed`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2721
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2749
#, no-wrap
msgid "KF5 library for binding JavaScript objects to QObjects"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2722
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2750
#, no-wrap
msgid "`kaddressbook`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2724
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2752
#, no-wrap
msgid "KDE contact manager"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2725
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2728
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2753
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2756
#, no-wrap
msgid "`kalarm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2727
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2730
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2755
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2758
#, no-wrap
msgid "Personal alarm scheduler"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2731
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2759
#, no-wrap
msgid "`kate`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2733
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2761
#, no-wrap
msgid "Basic editor framework for the KDE system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2734
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2762
#, no-wrap
msgid "`kcmutils`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2736
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2764
#, no-wrap
msgid "KF5 utilities for working with KCModules"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2737
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2765
#, no-wrap
msgid "`kde-cli-tools`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2739
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2767
#, no-wrap
msgid "Plasma5 non-interactive system tools"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2740
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2768
#, no-wrap
msgid "`kde-gtk-config`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2742
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2770
#, no-wrap
msgid "Plasma5 GTK2 and GTK3 configurator"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2743
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2771
#, no-wrap
msgid "`kdeclarative`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2745
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2773
#, no-wrap
msgid "KF5 library providing integration of QML and KDE Frameworks"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2746
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2774
#, no-wrap
msgid "`kded`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2748
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2776
#, no-wrap
msgid "KF5 extensible daemon for providing system level services"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2749
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2777
#, no-wrap
msgid "`kdelibs4support`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2751
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2779
#, no-wrap
msgid "KF5 porting aid from KDELibs4"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2752
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2780
#, no-wrap
msgid "`kdepim-addons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2754
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2782
#, no-wrap
msgid "KDE PIM addons"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2755
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2783
#, no-wrap
msgid "`kdepim-apps-libs`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2757
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2785
#, no-wrap
msgid "KDE PIM mail related libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2786
#, no-wrap
msgid "`kdepim-runtime5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2760
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2788
#, no-wrap
msgid "KDE PIM tools and services"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2761
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2789
#, no-wrap
msgid "`kdeplasma-addons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2763
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2791
#, no-wrap
msgid "Plasma5 addons to improve the Plasma experience"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2764
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2792
#, no-wrap
msgid "`kdesu`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2766
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2794
#, no-wrap
msgid "KF5 integration with su for elevated privileges"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2767
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2795
#, no-wrap
msgid "`kdewebkit`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2769
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2797
#, no-wrap
msgid "KF5 library providing integration of QtWebKit"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2770
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2798
#, no-wrap
msgid "`kgamma5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2772
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2800
#, no-wrap
msgid "Plasma5 monitor's gamma settings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2773
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2801
#, no-wrap
msgid "`khtml`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2775
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2803
#, no-wrap
msgid "KF5 KTHML rendering engine"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2776
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2804
#, no-wrap
msgid "`kimageformats`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2778
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2806
#, no-wrap
msgid "KF5 library providing support for additional image formats"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2779
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2807
#, no-wrap
msgid "`kio`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2781
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2809
#, no-wrap
msgid "KF5 resource and network access abstraction"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2782
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2810
#, no-wrap
msgid "`kirigami2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2784
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2812
#, no-wrap
msgid "QtQuick based components set"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2785
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2813
#, no-wrap
msgid "`kitinerary`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2787
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2815
#, no-wrap
msgid "Data Model and Extraction System for Travel Reservation information"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2788
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2791
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2816
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2819
#, no-wrap
msgid "`kmail`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2790
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2793
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2818
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2821
#, no-wrap
msgid "KDE mail client"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2794
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2822
#, no-wrap
msgid "`kmail-account-wizard`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2796
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2824
#, no-wrap
msgid "KDE mail account wizard"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2797
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2825
#, no-wrap
msgid "`kmenuedit`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2799
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2827
#, no-wrap
msgid "Plasma5 menu editor"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2800
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2828
#, no-wrap
msgid "`knotes`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2802
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2830
#, no-wrap
msgid "Popup notes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2803
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2806
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2831
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2834
#, no-wrap
msgid "`kontact`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2805
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2808
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2833
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2836
#, no-wrap
msgid "KDE Personal Information Manager"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2809
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2837
#, no-wrap
msgid "`kontactinterface`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2811
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2839
#, no-wrap
msgid "KDE glue for embedding KParts into Kontact"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2840
#, no-wrap
msgid "`korganizer`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2814
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2842
#, no-wrap
msgid "Calendar and scheduling Program"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2815
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2843
#, no-wrap
msgid "`kpimdav`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2817
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2845
#, no-wrap
msgid "A DAV protocol implementation with KJobs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2818
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2846
#, no-wrap
msgid "`kpkpass`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2820
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2848
#, no-wrap
msgid "Library to deal with Apple Wallet pass files"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2821
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2849
#, no-wrap
msgid "`kross`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2823
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2851
#, no-wrap
msgid "KF5 multi-language application scripting"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2824
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2852
#, no-wrap
msgid "`kscreen`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2826
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2886
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2854
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2914
#, no-wrap
msgid "Plasma5 screen management library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2827
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2855
#, no-wrap
msgid "`kscreenlocker`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2829
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2857
#, no-wrap
msgid "Plasma5 secure lock screen architecture"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2830
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2858
#, no-wrap
msgid "`ksmtp`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2832
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2860
#, no-wrap
msgid "Job-based library to send email through an SMTP server"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2833
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2861
#, no-wrap
msgid "`ksshaskpass`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2835
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2863
#, no-wrap
msgid "Plasma5 ssh-add frontend"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2836
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2864
#, no-wrap
msgid "`ksysguard`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2838
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2866
#, no-wrap
msgid "Plasma5 utility to track and control the running processes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2839
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2867
#, no-wrap
msgid "`kwallet-pam`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2841
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2869
#, no-wrap
msgid "Plasma5 KWallet PAM Integration"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2842
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2870
#, no-wrap
msgid "`kwayland-integration`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2844
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2872
#, no-wrap
msgid "Integration plugins for a Wayland-based desktop"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2845
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2873
#, no-wrap
msgid "`kwin`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2847
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2875
#, no-wrap
msgid "Plasma5 window manager"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2848
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2876
#, no-wrap
msgid "`kwrited`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2850
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2878
#, no-wrap
msgid "Plasma5 daemon listening for wall and write messages"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2851
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2879
#, no-wrap
msgid "`ldap`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2853
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2881
#, no-wrap
msgid "LDAP access API for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2854
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2882
#, no-wrap
msgid "`libkcddb`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2856
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2884
#, no-wrap
msgid "KDE CDDB library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2857
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2885
#, no-wrap
msgid "`libkcompactdisc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2859
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2887
#, no-wrap
msgid "KDE library for interfacing with audio CDs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2860
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2888
#, no-wrap
msgid "`libkdcraw`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2862
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2890
#, no-wrap
msgid "LibRaw interface for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2863
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2891
#, no-wrap
msgid "`libkdegames`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2865
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2893
#, no-wrap
msgid "Libraries used by KDE games"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2866
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2894
#, no-wrap
msgid "`libkdepim`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2868
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2896
#, no-wrap
msgid "KDE PIM Libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2869
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2897
#, no-wrap
msgid "`libkeduvocdocument`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2871
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2899
#, no-wrap
msgid "Library for reading and writing vocabulary files"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2872
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2900
#, no-wrap
msgid "`libkexiv2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2874
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2902
#, no-wrap
msgid "Exiv2 library interface for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2875
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2903
#, no-wrap
msgid "`libkipi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2877
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2905
#, no-wrap
msgid "KDE Image Plugin Interface"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2878
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2906
#, no-wrap
msgid "`libkleo`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2880
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2908
#, no-wrap
msgid "Certificate manager for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2881
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2909
#, no-wrap
msgid "`libksane`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2883
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2911
#, no-wrap
msgid "SANE library interface for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2884
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2912
#, no-wrap
msgid "`libkscreen`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2887
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2915
#, no-wrap
msgid "`libksieve`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2889
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2917
#, no-wrap
msgid "Sieve libriares for KDEPim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2890
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2918
#, no-wrap
msgid "`libksysguard`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2892
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2920
#, no-wrap
msgid "Plasma5 library to track and control running processes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2893
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2921
#, no-wrap
msgid "`mailcommon`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2895
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2955
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2923
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2983
#, no-wrap
msgid "Common libriares for KDEPim"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2896
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2924
#, no-wrap
msgid "`mailimporter`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2898
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2910
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2926
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2938
#, no-wrap
msgid "Import mbox files to KMail"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2899
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2927
#, no-wrap
msgid "`mailtransport`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2901
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2929
#, no-wrap
msgid "KDE library to managing mail transport"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2902
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2930
#, no-wrap
msgid "`marble`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2904
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2932
#, no-wrap
msgid "Virtual globe and world atlas for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2905
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2933
#, no-wrap
msgid "`mbox`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2908
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2936
#, no-wrap
msgid "`mbox-importer`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2911
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2939
#, no-wrap
msgid "`mediaplayer`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2913
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2941
#, no-wrap
msgid "KF5 plugin interface for media player features"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2914
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2942
#, no-wrap
msgid "`messagelib`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2916
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2944
#, no-wrap
msgid "Library for handling messages"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2917
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2945
#, no-wrap
msgid "`milou`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2919
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2947
#, no-wrap
msgid "Plasma5 Plasmoid for search"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2920
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2948
#, no-wrap
msgid "`mime`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2922
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2950
#, no-wrap
msgid "Library for handling MIME data"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2923
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2951
#, no-wrap
msgid "`newstuff`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2925
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2953
#, no-wrap
msgid "KF5 library for downloading application assets from the network"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2926
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2954
#, no-wrap
msgid "`notifications`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2928
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2956
#, no-wrap
msgid "KF5 abstraction for system notifications"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2929
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2957
#, no-wrap
msgid "`notifyconfig`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2931
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2959
#, no-wrap
msgid "KF5 configuration system for KNotify"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2932
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2960
#, no-wrap
msgid "`okular`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2934
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2962
#, no-wrap
msgid "KDE universal document viewer"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2935
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2963
#, no-wrap
msgid "`oxygen`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2937
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2965
#, no-wrap
msgid "Plasma5 Oxygen style"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2938
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2966
#, no-wrap
msgid "`oxygen-icons5`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2940
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2968
#, no-wrap
msgid "The Oxygen icon theme for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2941
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2969
#, no-wrap
msgid "`package`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2943
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2971
#, no-wrap
msgid "KF5 library to load and install packages"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2944
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2972
#, no-wrap
msgid "`parts`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2946
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2974
#, no-wrap
msgid "KF5 document centric plugin system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2947
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2975
#, no-wrap
msgid "`people`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2949
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2977
#, no-wrap
msgid "KF5 library providing access to contacts"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2950
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2978
#, no-wrap
msgid "`pim-data-exporter`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2952
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2980
#, no-wrap
msgid "Import and export KDE PIM settings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2953
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2981
#, no-wrap
msgid "`pimcommon`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2956
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2984
#, no-wrap
msgid "`pimtextedit`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2958
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2986
#, no-wrap
msgid "KDE library for PIM-specific text editing utilities"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2959
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2987
#, no-wrap
msgid "`plasma-browser-integration`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2961
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2989
#, no-wrap
msgid "Plasma5 components to integrate browsers into the desktop"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2962
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2990
#, no-wrap
msgid "`plasma-desktop`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2992
#, no-wrap
msgid "Plasma5 plasma desktop"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2965
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2993
#, no-wrap
msgid "`plasma-framework`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2967
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2995
#, no-wrap
msgid "KF5 plugin based UI runtime used to write user interfaces"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2968
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2996
#, no-wrap
msgid "`plasma-integration`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2970
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2998
#, no-wrap
msgid "Qt Platform Theme integration plugins for the Plasma workspaces"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2971
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:2999
#, no-wrap
msgid "`plasma-pa`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2973
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3001
#, no-wrap
msgid "Plasma5 Plasma pulse audio mixer"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2974
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3002
#, no-wrap
msgid "`plasma-sdk`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2976
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3004
#, no-wrap
msgid "Plasma5 applications useful for Plasma development"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2977
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3005
#, no-wrap
msgid "`plasma-workspace`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2979
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3007
#, no-wrap
msgid "Plasma5 Plasma workspace"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2980
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3008
#, no-wrap
msgid "`plasma-workspace-wallpapers`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2982
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3010
#, no-wrap
msgid "Plasma5 wallpapers"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2983
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3011
#, no-wrap
msgid "`plotting`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2985
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3013
#, no-wrap
msgid "KF5 lightweight plotting framework"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2986
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3014
#, no-wrap
msgid "`polkit-kde-agent-1`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2988
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3016
#, no-wrap
msgid "Plasma5 daemon providing a polkit authentication UI"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2989
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3017
#, no-wrap
msgid "`powerdevil`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2991
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3019
#, no-wrap
msgid "Plasma5 tool to manage the power consumption settings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2992
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3020
#, no-wrap
msgid "`prison`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2994
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3022
#, no-wrap
msgid "API to produce barcodes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2995
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3023
#, no-wrap
msgid "`pty`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2997
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3025
#, no-wrap
msgid "KF5 pty abstraction"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:2998
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3026
#, no-wrap
msgid "`purpose`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3000
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3028
#, no-wrap
msgid "Offers available actions for a specific purpose"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3001
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3029
#, no-wrap
msgid "`qqc2-desktop-style`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3003
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3031
#, no-wrap
msgid "Qt QuickControl2 style for KDE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3004
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3032
#, no-wrap
msgid "`runner`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3006
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3034
#, no-wrap
msgid "KF5 parallelized query system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3007
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3035
#, no-wrap
msgid "`service`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3009
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3037
#, no-wrap
msgid "KF5 advanced plugin and service introspection"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3010
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3038
#, no-wrap
msgid "`solid`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3012
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3040
#, no-wrap
msgid "KF5 hardware integration and detection"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3013
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3041
#, no-wrap
msgid "`sonnet`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3015
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3043
#, no-wrap
msgid "KF5 plugin-based spell checking library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3016
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3044
#, no-wrap
msgid "`syndication`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3018
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3046
#, no-wrap
msgid "KDE RSS feed handling library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3019
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3047
#, no-wrap
msgid "`syntaxhighlighting`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3021
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3049
#, no-wrap
msgid "KF5 syntax highlighting engine for structured text and code"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3022
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3050
#, no-wrap
msgid "`systemsettings`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3024
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3052
#, no-wrap
msgid "Plasma5 system settings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3025
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3053
#, no-wrap
msgid "`texteditor`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3027
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3055
#, no-wrap
msgid "KF5 advanced embeddable text editor"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3028
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3056
#, no-wrap
msgid "`textwidgets`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3030
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3058
#, no-wrap
msgid "KF5 advanced text editing widgets"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3031
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3059
#, no-wrap
msgid "`threadweaver`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3034
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3062
#, no-wrap
msgid "`tnef`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3036
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3064
#, no-wrap
msgid "KDE API for the handling of TNEF data"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3037
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3065
#, no-wrap
msgid "`unitconversion`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3039
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3067
#, no-wrap
msgid "KF5 library for unit conversion"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3040
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3068
#, no-wrap
msgid "`user-manager`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3042
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3070
#, no-wrap
msgid "Plasma5 user manager"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3043
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3071
#, no-wrap
msgid "`wallet`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3045
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3073
#, no-wrap
msgid "KF5 secure and unified container for user passwords"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3048
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3076
#, no-wrap
msgid "KF5 Client and Server library wrapper for the Wayland libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3049
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3077
#, no-wrap
msgid "`widgetsaddons`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3051
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3079
#, no-wrap
msgid "KF5 addons to QtWidgets"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3052
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3080
#, no-wrap
msgid "`windowsystem`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3054
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3082
#, no-wrap
msgid "KF5 library for access to the windowing system"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3055
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3083
#, no-wrap
msgid "`xmlgui`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3057
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3085
#, no-wrap
msgid "KF5 user configurable main windows"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3058
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3086
#, no-wrap
msgid "`xmlrpcclient`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3059
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3087
#, no-wrap
msgid "KF5 interaction with XMLRPC services"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3062
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3090
#, no-wrap
msgid "`USE_KDE` Example"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3071
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3099
msgid ""
"This is a simple example for a KDE port. `USES= cmake` instructs the port "
"to utilize CMake, a configuration tool widely used by KDE projects (see "
"<<using-cmake>> for detailed usage). `USE_KDE` brings dependency on KDE "
"libraries. Required KDE components and other dependencies can be determined "
"through the configure log. `USE_KDE` does not imply `USE_QT`. If a port "
"requires some Qt components, specify them in `USE_QT`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3077
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3105
#, no-wrap
msgid ""
"USES=\t\tcmake kde:5 qt:5\n"
"USE_KDE=\tecm\n"
"USE_QT=\t\tcore buildtools_build qmake_build\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3082
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3110
#, no-wrap
msgid "Using LXQt"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3085
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3113
msgid ""
"Applications depending on LXQt should set `USES+= lxqt` and set `USE_LXQT` "
"to the list of required components from the table below"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3087
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3115
#, no-wrap
msgid "Available LXQt Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3096
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3124
#, no-wrap
msgid "Helpers for additional CMake modules"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3097
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3125
#, no-wrap
msgid "`libfmqt`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3099
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3127
#, no-wrap
msgid "Libfm Qt bindings"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3100
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3128
#, no-wrap
msgid "`lxqt`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3102
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3130
#, no-wrap
msgid "LXQt core library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3103
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3131
#, no-wrap
msgid "`qtxdg`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3104
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3132
#, no-wrap
msgid "Qt implementation of freedesktop.org XDG specifications"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3107
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3135
#, no-wrap
msgid "`USE_LXQT` Example"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3112
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3140
msgid ""
"This is a simple example, `USE_LXQT` adds a dependency on LXQt libraries. "
"Required LXQt components and other dependencies can be determined from the "
"configure log."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3118
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3146
#, no-wrap
msgid ""
"USES=\tcmake lxqt qt:5 tar:xz\n"
"USE_QT=\t\tcore dbus widgets buildtools_build qmake_build\n"
"USE_LXQT=\tbuildtools libfmqt\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3123
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3151
#, no-wrap
msgid "Using Java"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3126
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3154
#, no-wrap
msgid "Variable Definitions"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3129
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3157
msgid ""
"If the port needs a Java(TM) Development Kit (JDK(TM)) to either build, run "
"or even extract the distfile, then define `USE_JAVA`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3133
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3161
msgid ""
"There are several JDKs in the ports collection, from various vendors, and in "
"several versions. If the port must use a particular version, specify it "
"using the `JAVA_VERSION` variable. The most current version is package:java/"
"openjdk18[], with package:java/openjdk17[], package:java/openjdk16[], "
"package:java/openjdk15[], package:java/openjdk14[], package:java/"
"openjdk13[], package:java/openjdk12[], package:java/openjdk11[], package:"
"java/openjdk8[], and package:java/openjdk7[] also available."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3135
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3163
#, no-wrap
msgid "Variables Which May be Set by Ports That Use Java"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3142
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3170
#, no-wrap
msgid "`USE_JAVA`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3144
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3172
#, no-wrap
msgid "Define for the remaining variables to have any effect."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3145
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3173
#, no-wrap
msgid "`JAVA_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3147
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3175
#, no-wrap
msgid "List of space-separated suitable Java versions for the port. An optional `\"+\"` allows specifying a range of versions (allowed values: `7[+] 8[+] 11[+] 12[+] 13[+] 14[+] 15[+] 16[+] 17[+] 18[+]`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3148
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3176
#, no-wrap
msgid "`JAVA_OS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3150
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3178
#, no-wrap
msgid "List of space-separated suitable JDK port operating systems for the port (allowed values: `native linux`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3151
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3179
#, no-wrap
msgid "`JAVA_VENDOR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3153
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3181
#, no-wrap
msgid "List of space-separated suitable JDK port vendors for the port (allowed values: `openjdk oracle`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3154
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3182
#, no-wrap
msgid "`JAVA_BUILD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3156
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3184
#, no-wrap
msgid "When set, add the selected JDK port to the build dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3157
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3185
#, no-wrap
msgid "`JAVA_RUN`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3159
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3187
#, no-wrap
msgid "When set, add the selected JDK port to the run dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3160
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3188
#, no-wrap
msgid "`JAVA_EXTRACT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3161
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3189
#, no-wrap
msgid "When set, add the selected JDK port to the extract dependencies."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3164
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3192
msgid ""
"Below is the list of all settings a port will receive after setting "
"`USE_JAVA`:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3166
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3194
#, no-wrap
msgid "Variables Provided to Ports That Use Java"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3172
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3251
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3200
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3279
#, no-wrap
msgid "Value"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3173
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3201
#, no-wrap
msgid "`JAVA_PORT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3175
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3203
#, no-wrap
msgid "The name of the JDK port (for example, `java/openjdk6`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3176
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3204
#, no-wrap
msgid "`JAVA_PORT_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3178
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3206
#, no-wrap
msgid "The full version of the JDK port (for example, `1.6.0`). Only the first two digits of this version number are needed, use `${JAVA_PORT_VERSION:C/^([0-9])\\.([0-9])(.*)$/\\1.\\2/}`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3179
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3207
#, no-wrap
msgid "`JAVA_PORT_OS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3181
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3209
#, no-wrap
msgid "The operating system used by the JDK port (for example, `'native'`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3182
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3210
#, no-wrap
msgid "`JAVA_PORT_VENDOR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3184
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3212
#, no-wrap
msgid "The vendor of the JDK port (for example, `'openjdk'`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3185
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3213
#, no-wrap
msgid "`JAVA_PORT_OS_DESCRIPTION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3187
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3215
#, no-wrap
msgid "Description of the operating system used by the JDK port (for example, `'Native'`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3188
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3216
#, no-wrap
msgid "`JAVA_PORT_VENDOR_DESCRIPTION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3190
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3218
#, no-wrap
msgid "Description of the vendor of the JDK port (for example, `'OpenJDK BSD Porting Team'`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3191
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3219
#, no-wrap
msgid "`JAVA_HOME`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3193
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3221
#, no-wrap
msgid "Path to the installation directory of the JDK (for example, [.filename]#'/usr/local/openjdk6'#)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3194
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3222
#, no-wrap
msgid "`JAVAC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3196
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3224
#, no-wrap
msgid "Path to the Java compiler to use (for example, [.filename]#'/usr/local/openjdk6/bin/javac'#)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3197
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3225
#, no-wrap
msgid "`JAR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3199
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3227
#, no-wrap
msgid "Path to the `jar` tool to use (for example, [.filename]#'/usr/local/openjdk6/bin/jar'# or [.filename]#'/usr/local/bin/fastjar'#)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3200
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3228
#, no-wrap
msgid "`APPLETVIEWER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3202
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3230
#, no-wrap
msgid "Path to the `appletviewer` utility (for example, [.filename]#'/usr/local/openjdk6/bin/appletviewer'#)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3203
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3231
#, no-wrap
msgid "`JAVA`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3205
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3233
#, no-wrap
msgid "Path to the `java` executable. Use this for executing Java programs (for example, [.filename]#'/usr/local/openjdk6/bin/java'#)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3206
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3234
#, no-wrap
msgid "`JAVADOC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3208
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3236
#, no-wrap
msgid "Path to the `javadoc` utility program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3209
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3237
#, no-wrap
msgid "`JAVAH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3211
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3239
#, no-wrap
msgid "Path to the `javah` program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3212
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3240
#, no-wrap
msgid "`JAVAP`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3214
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3242
#, no-wrap
msgid "Path to the `javap` program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3215
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3243
#, no-wrap
msgid "`JAVA_KEYTOOL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3217
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3245
#, no-wrap
msgid "Path to the `keytool` utility program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3218
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3246
#, no-wrap
msgid "`JAVA_N2A`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3220
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3248
#, no-wrap
msgid "Path to the `native2ascii` tool."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3221
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3249
#, no-wrap
msgid "`JAVA_POLICYTOOL`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3223
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3251
#, no-wrap
msgid "Path to the `policytool` program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3224
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3252
#, no-wrap
msgid "`JAVA_SERIALVER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3226
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3254
#, no-wrap
msgid "Path to the `serialver` utility program."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3227
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3255
#, no-wrap
msgid "`RMIC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3229
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3257
#, no-wrap
msgid "Path to the RMI stub/skeleton generator, `rmic`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3230
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3258
#, no-wrap
msgid "`RMIREGISTRY`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3232
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3260
#, no-wrap
msgid "Path to the RMI registry program, `rmiregistry`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3261
#, no-wrap
msgid "`RMID`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3235
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3263
#, no-wrap
msgid "Path to the RMI daemon program `rmid`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3236
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3264
#, no-wrap
msgid "`JAVA_CLASSES`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3237
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3265
#, no-wrap
msgid "Path to the archive that contains the JDK class files, [.filename]#${JAVA_HOME}/jre/lib/rt.jar#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3241
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3269
msgid ""
"Use the `java-debug` make target to get information for debugging the port. "
"It will display the value of many of the previously listed variables."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3243
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3271
msgid ""
"Additionally, these constants are defined so all Java ports may be installed "
"in a consistent way:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3273
#, no-wrap
msgid "Constants Defined for Ports That Use Java"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3249
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3277
#, no-wrap
msgid "Constant"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3252
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3280
#, no-wrap
msgid "`JAVASHAREDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3254
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3282
#, no-wrap
msgid "The base directory for everything related to Java. Default: [.filename]#${PREFIX}/share/java#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3255
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3283
#, no-wrap
msgid "`JAVAJARDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3257
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3285
#, no-wrap
msgid "The directory where JAR files is installed. Default: [.filename]#${JAVASHAREDIR}/classes#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3258
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3286
#, no-wrap
msgid "`JAVALIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3259
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3287
#, no-wrap
msgid "The directory where JAR files installed by other ports are located. Default: [.filename]#${LOCALBASE}/share/java/classes#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3262
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3290
msgid ""
"The related entries are defined in both `PLIST_SUB` (documented in crossref:"
"plist[plist-sub,Changing pkg-plist Based on Make Variables]) and `SUB_LIST`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3264
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3292
#, no-wrap
msgid "Building with Ant"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3270
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3298
msgid ""
"When the port is to be built using Apache Ant, it has to define `USE_ANT`. "
"Ant is thus considered to be the sub-make command. When no `do-build` "
"target is defined by the port, a default one will be set that runs Ant "
"according to `MAKE_ENV`, `MAKE_ARGS` and `ALL_TARGET`. This is similar to "
"the `USES= gmake` mechanism, which is documented in <<building>>."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3272
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3300
#, no-wrap
msgid "Best Practices"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3277
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3305
msgid ""
"When porting a Java library, the port has to install the JAR file(s) in [."
"filename]#${JAVAJARDIR}#, and everything else under [."
"filename]#${JAVASHAREDIR}/${PORTNAME}# (except for the documentation, see "
"below). To reduce the packing file size, reference the JAR file(s) directly "
"in the [.filename]#Makefile#. Use this statement (where [.filename]#myport."
"jar# is the name of the JAR file installed as part of the port):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3281
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3309
#, no-wrap
msgid "PLIST_FILES+=\t${JAVAJARDIR}/myport.jar\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3286
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3314
msgid ""
"When porting a Java application, the port usually installs everything under "
"a single directory (including its JAR dependencies). The use of [."
"filename]#${JAVASHAREDIR}/${PORTNAME}# is strongly encouraged in this "
"regard. It is up the porter to decide whether the port installs the "
"additional JAR dependencies under this directory or uses the already "
"installed ones (from [.filename]#${JAVAJARDIR}#)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3293
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3321
msgid ""
"When porting a Java(TM) application that requires an application server such "
"as package:www/tomcat7[] to run the service, it is quite common for a vendor "
"to distribute a [.filename]#.war#. A [.filename]#.war# is a Web application "
"ARchive and is extracted when called by the application. Avoid adding a [."
"filename]#.war# to [.filename]#pkg-plist#. It is not considered best "
"practice. An application server will expand war archive, but not clean it "
"up properly if the port is removed. A more desirable way of working with "
"this file is to extract the archive, then install the files, and lastly add "
"these files to [.filename]#pkg-plist#."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3298
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3326
#, no-wrap
msgid ""
"TOMCATDIR=\t${LOCALBASE}/apache-tomcat-7.0\n"
"WEBAPPDIR=\tmyapplication\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3302
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3330
#, no-wrap
msgid ""
"post-extract:\n"
"\t@${MKDIR} ${WRKDIR}/${PORTDIRNAME}\n"
"\t@${TAR} xf ${WRKDIR}/myapplication.war -C ${WRKDIR}/${PORTDIRNAME}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3307
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3335
#, no-wrap
msgid ""
"do-install:\n"
"\tcd ${WRKDIR} && \\\n"
"\t${INSTALL} -d -o ${WWWOWN} -g ${WWWGRP} ${TOMCATDIR}/webapps/${PORTDIRNAME}\n"
"\tcd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \\* ${WEBAPPDIR}/${PORTDIRNAME}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3314
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3342
msgid ""
"Regardless of the type of port (library or application), the additional "
"documentation is installed in the crossref:makefiles[install-documentation,"
"same location] as for any other port. The Javadoc tool is known to produce "
"a different set of files depending on the version of the JDK that is used. "
"For ports that do not enforce the use of a particular JDK, it is therefore a "
"complex task to specify the packing list ([.filename]#pkg-plist#). This is "
"one reason why porters are strongly encouraged to use `PORTDOCS`. Moreover, "
"even if the set of files that will be generated by `javadoc` can be "
"predicted, the size of the resulting [.filename]#pkg-plist# advocates for "
"the use of `PORTDOCS`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3318
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3346
msgid ""
"The default value for `DATADIR` is [.filename]#${PREFIX}/share/${PORTNAME}"
"#. It is a good idea to override `DATADIR` to [.filename]#${JAVASHAREDIR}/"
"${PORTNAME}# for Java ports. Indeed, `DATADIR` is automatically added to "
"`PLIST_SUB` (documented in crossref:plist[plist-sub,Changing pkg-plist Based "
"on Make Variables]) so use `%%DATADIR%%` directly in [.filename]#pkg-plist#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3321
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3349
msgid ""
"As for the choice of building Java ports from source or directly installing "
"them from a binary distribution, there is no defined policy at the time of "
"writing. However, people from the https://www.freebsd.org/java/[FreeBSD "
"Java Project] encourage porters to have their ports built from source "
"whenever it is a trivial task."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3325
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3353
msgid ""
"All the features that have been presented in this section are implemented in "
"[.filename]#bsd.java.mk#. If the port needs more sophisticated Java "
"support, please first have a look at the https://cgit.FreeBSD.org/ports/tree/"
"Mk/bsd.java.mk[bsd.java.mk Git log] as it usually takes some time to "
"document the latest features. Then, if the needed support that is lacking "
"would be beneficial to many other Java ports, feel free to discuss it on the "
"freebsd-java."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3328
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3356
msgid ""
"Although there is a `java` category for PRs, it refers to the JDK porting "
"effort from the FreeBSD Java project. Therefore, submit the Java port in "
"the `ports` category as for any other port, unless the issue is related to "
"either a JDK implementation or [.filename]#bsd.java.mk#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3330
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3358
msgid ""
"Similarly, there is a defined policy regarding the `CATEGORIES` of a Java "
"port, which is detailed in crossref:makefiles[makefile-categories,"
"Categorization]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3332
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3360
#, no-wrap
msgid "Web Applications, Apache and PHP"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3335
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3363
#, no-wrap
msgid "Apache"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3338
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3366
#, no-wrap
msgid "Variables for Ports That Use Apache"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3342
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3370
#, no-wrap
msgid "`USE_APACHE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3344
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3372
#, no-wrap
msgid "The port requires Apache. Possible values: `yes` (gets any version), `22`, `24`, `22-24`, `22+`, etc. The default APACHE version is `22`. More details are available in [.filename]#ports/Mk/bsd.apache.mk# and at https://wiki.freebsd.org/Apache/[wiki.freebsd.org/Apache/]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3345
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3373
#, no-wrap
msgid "`APXS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3347
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3375
#, no-wrap
msgid "Full path to the `apxs` binary. Can be overridden in the port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3348
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3376
#, no-wrap
msgid "`HTTPD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3350
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3378
#, no-wrap
msgid "Full path to the `httpd` binary. Can be overridden in the port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3351
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3379
#, no-wrap
msgid "`APACHE_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3353
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3381
#, no-wrap
msgid "The version of present Apache installation (read-only variable). This variable is only available after inclusion of [.filename]#bsd.port.pre.mk#. Possible values: `22`, `24`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3354
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3382
#, no-wrap
msgid "`APACHEMODDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3356
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3384
#, no-wrap
msgid "Directory for Apache modules. This variable is automatically expanded in [.filename]#pkg-plist#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3357
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3385
#, no-wrap
msgid "`APACHEINCLUDEDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3359
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3387
#, no-wrap
msgid "Directory for Apache headers. This variable is automatically expanded in [.filename]#pkg-plist#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3360
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3388
#, no-wrap
msgid "`APACHEETCDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3361
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3389
#, no-wrap
msgid "Directory for Apache configuration files. This variable is automatically expanded in [.filename]#pkg-plist#."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3364
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3392
#, no-wrap
msgid "Useful Variables for Porting Apache Modules"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3368
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3396
#, no-wrap
msgid "`MODULENAME`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3370
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3398
#, no-wrap
msgid "Name of the module. Default value is `PORTNAME`. Example: `mod_hello`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3371
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3399
#, no-wrap
msgid "`SHORTMODNAME`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3373
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3401
#, no-wrap
msgid "Short name of the module. Automatically derived from `MODULENAME`, but can be overridden. Example: `hello`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3374
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3402
#, no-wrap
msgid "`AP_FAST_BUILD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3376
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3404
#, no-wrap
msgid "Use `apxs` to compile and install the module."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3377
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3405
#, no-wrap
msgid "`AP_GENPLIST`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3379
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3407
#, no-wrap
msgid "Also automatically creates a [.filename]#pkg-plist#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3380
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3408
#, no-wrap
msgid "`AP_INC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3382
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3410
#, no-wrap
msgid "Adds a directory to a header search path during compilation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3383
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3411
#, no-wrap
msgid "`AP_LIB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3385
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3413
#, no-wrap
msgid "Adds a directory to a library search path during compilation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3386
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3414
#, no-wrap
msgid "`AP_EXTRAS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3387
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3415
#, no-wrap
msgid "Additional flags to pass to `apxs`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3390
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3418
#, no-wrap
msgid "Web Applications"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3394
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3422
msgid ""
"Web applications must be installed into [.filename]#PREFIX/www/appname#. "
"This path is available both in [.filename]#Makefile# and in [.filename]#pkg-"
"plist# as `WWWDIR`, and the path relative to `PREFIX` is available in [."
"filename]#Makefile# as `WWWDIR_REL`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3399
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3427
msgid ""
"The user and group of web server process are available as `WWWOWN` and "
"`WWWGRP`, in case the ownership of some files needs to be changed. The "
"default values of both are `www`. Use `WWWOWN?= myuser` and `WWWGRP?= "
"mygroup` if the port needs different values. This allows the user to "
"override them easily."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3404
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3432
msgid ""
"Use `WWWOWN` and `WWWGRP` sparingly. Remember that every file the web "
"server can write to is a security risk waiting to happen."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3408
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3436
msgid ""
"Do not depend on Apache unless the web app explicitly needs Apache. Respect "
"that users may wish to run a web application on a web server other than "
"Apache."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3410
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3438
#, no-wrap
msgid "PHP"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3414
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3442
msgid ""
"PHP web applications declare their dependency on it with `USES=php`. See "
"crossref:uses[uses-php,`php`] for more information."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3416
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3444
#, no-wrap
msgid "PEAR Modules"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3419
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3447
msgid "Porting PEAR modules is a very simple process."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3422
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3450
msgid ""
"Add `USES=pear` to the port's [.filename]#Makefile#. The framework will "
"install the relevant files in the right places and automatically generate "
"the plist at install time."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3424
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3452
#, no-wrap
msgid "Example Makefile for PEAR Class"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3432
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3460
#, no-wrap
msgid ""
"PORTNAME= Date\n"
"DISTVERSION=\t1.4.3\n"
"CATEGORIES=\tdevel www pear\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3436
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3464
#, no-wrap
msgid ""
-"MAINTAINER=\texample@domain.com\n"
+"MAINTAINER=\tsomeone@example.org\n"
"COMMENT=\tPEAR Date and Time Zone Classes\n"
"WWW=\t\thttps://pear.php.net/package/Date/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3438
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3466
#, no-wrap
msgid "USES=\tpear\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3447
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3475
msgid ""
"PEAR modules will automatically be flavorized using crossref:flavors[flavors-"
"auto-php,PHP flavors]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3452
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3480
msgid ""
"If a non default `PEAR_CHANNEL` is used, the build and run-time dependencies "
"will automatically be added."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3458
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3486
msgid ""
"PEAR modules do not need to defined `PKGNAMESUFFIX` it is automatically "
"filled in using `PEAR_PKGNAMEPREFIX`. If a port needs to add to "
"`PKGNAMEPREFIX`, it must also use `PEAR_PKGNAMEPREFIX` to differentiate "
"between different flavors."
msgstr ""
#. type: Title ====
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3461
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3489
#, no-wrap
msgid "Horde Modules"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3464
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3492
msgid "In the same way, porting Horde modules is a simple process."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3467
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3495
msgid ""
"Add `USES=horde` to the port's [.filename]#Makefile#. The framework will "
"install the relevant files in the right places and automatically generate "
"the plist at install time."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3470
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3498
msgid ""
"The `USE_HORDE_BUILD` and `USE_HORDE_RUN` variables can be used to add "
"buildtime and runtime dependencies on other Horde modules. See [."
"filename]#Mk/Uses/horde.mk# for a complete list of available modules."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3472
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3500
#, no-wrap
msgid "Example Makefile for Horde Module"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3480
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3508
#, no-wrap
msgid ""
"PORTNAME=\tHorde_Core\n"
"DISTVERSION=\t2.14.0\n"
"CATEGORIES=\tdevel www pear\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3484
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3512
#, no-wrap
msgid ""
"MAINTAINER=\thorde@FreeBSD.org\n"
"COMMENT=\tHorde Core Framework libraries\n"
"WWW=\t\thttps://pear.horde.org/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3488
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3516
#, no-wrap
msgid ""
"OPTIONS_DEFINE=\tKOLAB SOCKETS\n"
"KOLAB_DESC=\tEnable Kolab server support\n"
"SOCKETS_DESC=\tDepend on sockets PHP extension\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3491
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3519
#, no-wrap
msgid ""
"USES=\thorde\n"
"USE_PHP=\tsession\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3495
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3523
#, no-wrap
msgid ""
"USE_HORDE_BUILD=\tHorde_Role\n"
"USE_HORDE_RUN=\tHorde_Role Horde_History Horde_Pack \\\n"
"\t\tHorde_Text_Filter Horde_View\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3498
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3526
#, no-wrap
msgid ""
"KOLAB_USE=\tHORDE_RUN=Horde_Kolab_Server,Horde_Kolab_Session\n"
"SOCKETS_USE=\tPHP=sockets\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3507
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3535
msgid ""
"As Horde modules are also PEAR modules they will also automatically be "
"flavorized using crossref:flavors[flavors-auto-php,PHP flavors]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3510
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3538
#, no-wrap
msgid "Using Python"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3515
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3543
msgid ""
"The Ports Collection supports parallel installation of multiple Python "
"versions. Ports must use a correct `python` interpreter, according to the "
"user-settable `PYTHON_VERSION`. Most prominently, this means replacing the "
"path to `python` executable in scripts with the value of `PYTHON_CMD`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3517
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3545
msgid ""
"Ports that install files under `PYTHON_SITELIBDIR` must use the `pyXY-` "
"package name prefix, so their package name embeds the version of Python they "
"are installed into."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3521
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3549
#, no-wrap
msgid "PKGNAMEPREFIX=\t${PYTHON_PKGNAMEPREFIX}\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3525
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3553
#, no-wrap
msgid "Most Useful Variables for Ports That Use Python"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3529
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3557
#, no-wrap
msgid "`USES=python`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3531
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3559
#, no-wrap
msgid "The port needs Python. The minimal required version can be specified with values such as `3.10+`. Version ranges can also be specified by separating two version numbers with a dash: `USES=python:3.8-3.9`. Note that `USES=python` does _not_ cover Python 2.7, it needs to be requested explicitly with `USES=python:2.7+`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3532
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3560
#, no-wrap
msgid "`USE_PYTHON=distutils`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3534
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3562
#, no-wrap
msgid "Use Python distutils for configuring, compiling, and installing. This is required when the port comes with [.filename]#setup.py#. This overrides the `do-build` and `do-install` targets and may also override `do-configure` if `GNU_CONFIGURE` is not defined. Additionally, it implies `USE_PYTHON=flavors`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3535
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3563
#, no-wrap
msgid "`USE_PYTHON=autoplist`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3537
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3565
#, no-wrap
msgid "Create the packaging list automatically. This also requires `USE_PYTHON=distutils` to be set."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3538
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3566
#, no-wrap
msgid "`USE_PYTHON=concurrent`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3540
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3568
#, no-wrap
msgid "The port will use an unique prefix, typically `PYTHON_PKGNAMEPREFIX` for certain directories, such as `EXAMPLESDIR` and `DOCSDIR` and also will append a suffix, the python version from `PYTHON_VER`, to binaries and scripts to be installed. This allows ports to be installed for different Python versions at the same time, which otherwise would install conflicting files."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3541
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3569
#, no-wrap
msgid "`USE_PYTHON=flavors`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3543
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3571
#, no-wrap
msgid "The port does not use distutils but still supports multiple Python versions. `FLAVORS` will be set to the supported Python versions. See crossref:flavors[flavors-auto-python,`USES`=python and Flavors] for more information."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3544
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3572
#, no-wrap
msgid "`USE_PYTHON=optsuffix`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3546
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3574
#, no-wrap
msgid "If the current Python version is not the default version, the port will gain `PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. Only useful with flavors."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3547
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3575
#, no-wrap
msgid "`PYTHON_PKGNAMEPREFIX`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3549
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3577
#, no-wrap
msgid "Used as a `PKGNAMEPREFIX` to distinguish packages for different Python versions. Example: `py27-`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3550
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3578
#, no-wrap
msgid "`PYTHON_SITELIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3552
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3580
#, no-wrap
msgid "Location of the site-packages tree, that contains installation path of Python (usually `LOCALBASE`). `PYTHON_SITELIBDIR` can be very useful when installing Python modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3553
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3581
#, no-wrap
msgid "`PYTHONPREFIX_SITELIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3555
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3583
#, no-wrap
msgid "The PREFIX-clean variant of PYTHON_SITELIBDIR. Always use `%%PYTHON_SITELIBDIR%%` in [.filename]#pkg-plist# when possible. The default value of `%%PYTHON_SITELIBDIR%%` is `lib/python%%PYTHON_VERSION%%/site-packages`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3556
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3584
#, no-wrap
msgid "`PYTHON_CMD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3557
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3585
#, no-wrap
msgid "Python interpreter command line, including version number."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3560
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3588
#, no-wrap
msgid "Python Module Dependency Helpers"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3564
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3592
#, no-wrap
msgid "`PYNUMERIC`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3566
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3594
#, no-wrap
msgid "Dependency line for numeric extension."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3567
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3595
#, no-wrap
msgid "`PYNUMPY`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3569
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3597
#, no-wrap
msgid "Dependency line for the new numeric extension, numpy. (PYNUMERIC is deprecated by upstream vendor)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3570
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3598
#, no-wrap
msgid "`PYXML`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3572
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3600
#, no-wrap
msgid "Dependency line for XML extension (not needed for Python 2.0 and higher as it is also in base distribution)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3573
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3601
#, no-wrap
msgid "`PY_ENUM34`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3575
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3603
#, no-wrap
msgid "Conditional dependency on package:devel/py-enum34[] depending on the Python version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3576
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3604
#, no-wrap
msgid "`PY_ENUM_COMPAT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3578
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3606
#, no-wrap
msgid "Conditional dependency on package:devel/py-enum-compat[] depending on the Python version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3579
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3607
#, no-wrap
msgid "`PY_PATHLIB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3581
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3609
#, no-wrap
msgid "Conditional dependency on package:devel/py-pathlib[] depending on the Python version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3582
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3610
#, no-wrap
msgid "`PY_IPADDRESS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3584
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3612
#, no-wrap
msgid "Conditional dependency on package:net/py-ipaddress[] depending on the Python version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3585
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3613
#, no-wrap
msgid "`PY_FUTURES`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3586
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3614
#, no-wrap
msgid "Conditional dependency on package:devel/py-futures[] depending on the Python version."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3589
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3617
msgid ""
"A complete list of available variables can be found in [.filename]#/usr/"
"ports/Mk/Uses/python.mk#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3594
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3622
msgid ""
"All dependencies to Python ports using crossref:flavors[flavors-auto-python,"
"Python flavors] (either with `USE_PYTHON=distutils` or `USE_PYTHON=flavors`) "
"must have the Python flavor appended to their origin using `@${PY_FLAVOR}`. "
"See <<python-Makefile>>."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3597
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3625
#, no-wrap
msgid "Makefile for a Simple Python Module"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3605
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3633
#, no-wrap
msgid ""
"PORTNAME=\tsample\n"
"DISTVERSION=\t1.2.3\n"
"CATEGORIES=\tdevel\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3609
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3637
#, no-wrap
msgid ""
-"MAINTAINER=\tjohn@doe.tld\n"
+"MAINTAINER=\tfred.bloggs@example.com\n"
"COMMENT=\tPython sample module\n"
-"WWW=\t\thttps://pypi.org/project/sample/\n"
+"WWW=\t\thttps://example.com/project/sample/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3611
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3639
#, no-wrap
msgid "RUN_DEPENDS=\t${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3614
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3642
#, no-wrap
msgid ""
"USES=\t\tpython\n"
"USE_PYTHON=\tautoplist distutils\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3624
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3652
msgid ""
"Some Python applications claim to have `DESTDIR` support (which would be "
"required for staging) but it is broken (Mailman up to 2.1.16, for "
"instance). This can be worked around by recompiling the scripts. This can "
"be done, for example, in the `post-build` target. Assuming the Python "
"scripts are supposed to reside in `PYTHONPREFIX_SITELIBDIR` after "
"installation, this solution can be applied:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3630
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3658
#, no-wrap
msgid ""
"(cd ${STAGEDIR}${PREFIX} \\\n"
" && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \\\n"
" -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3633
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3661
msgid ""
"This recompiles the sources with a path relative to the stage directory, and "
"prepends the value of `PREFIX` to the file name recorded in the byte-"
"compiled output file by `-d`. `-f` is required to force recompilation, and "
"the `:S;${PREFIX}/;;` strips prefixes from the value of "
"`PYTHONPREFIX_SITELIBDIR` to make it relative to `PREFIX`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3635
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3663
#, no-wrap
msgid "Using Tcl/Tk"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3640
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3668
msgid ""
"The Ports Collection supports parallel installation of multiple Tcl/Tk "
"versions. Ports should try to support at least the default Tcl/Tk version "
"and higher with `USES=tcl`. It is possible to specify the desired version "
"of `tcl` by appending `:_xx_`, for example, `USES=tcl:85`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3642
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3670
#, no-wrap
msgid "The Most Useful Read-Only Variables for Ports That Use Tcl/Tk"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3646
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3674
#, no-wrap
msgid "`TCL_VER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3648
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3676
#, no-wrap
msgid "chosen major.minor version of Tcl"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3649
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3677
#, no-wrap
msgid "`TCLSH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3651
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3679
#, no-wrap
msgid "full path of the Tcl interpreter"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3652
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3680
#, no-wrap
msgid "`TCL_LIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3654
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3682
#, no-wrap
msgid "path of the Tcl libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3655
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3683
#, no-wrap
msgid "`TCL_INCLUDEDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3657
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3685
#, no-wrap
msgid "path of the Tcl C header files"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3658
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3686
#, no-wrap
msgid "`TK_VER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3660
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3688
#, no-wrap
msgid "chosen major.minor version of Tk"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3661
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3689
#, no-wrap
msgid "`WISH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3663
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3691
#, no-wrap
msgid "full path of the Tk interpreter"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3664
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3692
#, no-wrap
msgid "`TK_LIBDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3666
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3694
#, no-wrap
msgid "path of the Tk libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3667
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3695
#, no-wrap
msgid "`TK_INCLUDEDIR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3668
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3696
#, no-wrap
msgid "path of the Tk C header files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3672
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3700
msgid ""
"See the crossref:uses[uses-tcl,`USES=tcl`] and crossref:uses[uses-tk,"
"`USES=tk`] of crossref:uses[uses,Using `USES` Macros] for a full description "
"of those variables. A complete list of those variables is available in [."
"filename]#/usr/ports/Mk/Uses/tcl.mk#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3674
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3702
#, no-wrap
msgid "Using SDL"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3677
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3705
msgid ""
"`USE_SDL` is used to autoconfigure the dependencies for ports which use an "
"SDL based library like package:devel/sdl12[] and package:graphics/"
"sdl_image[]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3679
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3707
msgid "These SDL libraries for version 1.2 are recognized:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3681
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3709
msgid "sdl: package:devel/sdl12[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3682
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3710
msgid "console: package:devel/sdl_console[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3683
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3711
msgid "gfx: package:graphics/sdl_gfx[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3684
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3712
msgid "image: package:graphics/sdl_image[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3685
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3713
msgid "mixer: package:audio/sdl_mixer[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3686
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3714
msgid "mm: package:devel/sdlmm[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3687
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3715
msgid "net: package:net/sdl_net[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3688
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3716
msgid "pango: package:x11-toolkits/sdl_pango[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3689
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3717
msgid "sound: package:audio/sdl_sound[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3690
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3718
msgid "ttf: package:graphics/sdl_ttf[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3692
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3720
msgid "These SDL libraries for version 2.0 are recognized:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3694
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3722
msgid "sdl: package:devel/sdl20[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3695
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3723
msgid "gfx: package:graphics/sdl2_gfx[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3696
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3724
msgid "image: package:graphics/sdl2_image[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3697
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3725
msgid "mixer: package:audio/sdl2_mixer[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3698
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3726
msgid "net: package:net/sdl2_net[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3699
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3727
msgid "ttf: package:graphics/sdl2_ttf[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3701
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3729
msgid ""
"Therefore, if a port has a dependency on package:net/sdl_net[] and package:"
"audio/sdl_mixer[], the syntax will be:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3705
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3733
#, no-wrap
msgid "USE_SDL=\tnet mixer\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3708
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3736
msgid ""
"The dependency package:devel/sdl12[], which is required by package:net/"
"sdl_net[] and package:audio/sdl_mixer[], is automatically added as well."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3710
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3738
msgid "Using `USE_SDL` with entries for SDL 1.2, it will automatically:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3712
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3740
msgid "Add a dependency on sdl12-config to `BUILD_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3713
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3741
msgid "Add the variable `SDL_CONFIG` to `CONFIGURE_ENV`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3714
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3720
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3742
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3748
msgid "Add the dependencies of the selected libraries to `LIB_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3716
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3744
msgid "Using `USE_SDL` with entries for SDL 2.0, it will automatically:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3718
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3746
msgid "Add a dependency on sdl2-config to `BUILD_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3719
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3747
msgid "Add the variable `SDL2_CONFIG` to `CONFIGURE_ENV`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3723
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3751
#, no-wrap
msgid "Using wxWidgets"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3726
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3754
msgid ""
"This section describes the status of the wxWidgets libraries in the ports "
"tree and its integration with the ports system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3732
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3760
msgid ""
"There are many versions of the wxWidgets libraries which conflict between "
"them (install files under the same name). In the ports tree this problem "
"has been solved by installing each version under a different name using "
"version number suffixes."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3738
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3766
msgid ""
"The obvious disadvantage of this is that each application has to be modified "
"to find the expected version. Fortunately, most of the applications call "
"the `wx-config` script to determine the necessary compiler and linker "
"flags. The script is named differently for every available version. "
"Majority of applications respect an environment variable, or accept a "
"configure argument, to specify which `wx-config` script to call. Otherwise "
"they have to be patched."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3740
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4041
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3768
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4069
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4288
#, no-wrap
msgid "Version Selection"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3743
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3771
msgid ""
"To make the port use a specific version of wxWidgets there are two variables "
"available for defining (if only one is defined the other will be set to a "
"default value):"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3745
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3773
#, no-wrap
msgid "Variables to Select wxWidgets Versions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3752
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3780
#, no-wrap
msgid "Default value"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3753
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3781
#, no-wrap
msgid "`USE_WX`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3754
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3782
#, no-wrap
msgid "List of versions the port can use"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3756
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3784
#, no-wrap
msgid "All available versions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3757
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3785
#, no-wrap
msgid "`USE_WX_NOT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3786
#, no-wrap
msgid "List of versions the port cannot use"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3759
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3787
#, no-wrap
msgid "None"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3762
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3790
msgid ""
"The available wxWidgets versions and the corresponding ports in the tree are:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3764
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3792
#, no-wrap
msgid "Available wxWidgets Versions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3768
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3796
#, no-wrap
msgid "Version"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3770
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3798
#, no-wrap
msgid "Port"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3771
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3789
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3799
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3817
#, no-wrap
msgid "`2.8`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3773
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3801
#, no-wrap
msgid "package:x11-toolkits/wxgtk28[]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3774
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3802
#, no-wrap
msgid "`3.0`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3775
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3803
#, no-wrap
msgid "package:x11-toolkits/wxgtk30[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3778
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3806
msgid ""
"The variables in <<wx-ver-sel-table>> can be set to one or more of these "
"combinations separated by spaces:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3780
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3808
#, no-wrap
msgid "wxWidgets Version Specifications"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3786
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3814
#, no-wrap
msgid "Example"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3787
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3815
#, no-wrap
msgid "Single version"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3790
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3818
#, no-wrap
msgid "Ascending range"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3792
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3820
#, no-wrap
msgid "`2.8+`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3793
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3821
#, no-wrap
msgid "Descending range"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3795
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3823
#, no-wrap
msgid "`3.0-`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3796
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3824
#, no-wrap
msgid "Full range (must be ascending)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3797
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3840
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3825
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3868
#, no-wrap
msgid "`2.8-3.0`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3801
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3829
msgid ""
"There are also some variables to select the preferred versions from the "
"available ones. They can be set to a list of versions, the first ones will "
"have higher priority."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3802
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3830
#, no-wrap
msgid "Variables to Select Preferred wxWidgets Versions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3808
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3836
#, no-wrap
msgid "Designed for"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3809
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3837
#, no-wrap
msgid "`WANT_WX_VER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3811
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3839
#, no-wrap
msgid "the port"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3812
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3840
#, no-wrap
msgid "`WITH_WX_VER`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3813
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3841
#, no-wrap
msgid "the user"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3820
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3848
msgid ""
"There are other applications that, while not being wxWidgets libraries, are "
"related to them. These applications can be specified in `WX_COMPS`. These "
"components are available:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3822
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3850
#, no-wrap
msgid "Available wxWidgets Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3829
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3857
#, no-wrap
msgid "Version restriction"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3830
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3873
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3858
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3901
#, no-wrap
msgid "`wx`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3831
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3859
#, no-wrap
msgid "main library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3833
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3861
#, no-wrap
msgid "none"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3834
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3876
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3862
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3904
#, no-wrap
msgid "`contrib`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3835
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3863
#, no-wrap
msgid "contributed libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3837
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3865
#, no-wrap
msgid "`none`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3838
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3879
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3866
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3907
#, no-wrap
msgid "`python`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3839
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3867
#, no-wrap
msgid "wxPython (Python bindings)"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3845
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3873
msgid ""
"The dependency type can be selected for each component by adding a suffix "
"separated by a semicolon. If not present then a default type will be used "
"(see <<wx-def-dep-types>>). These types are available:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3847
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3875
#, no-wrap
msgid "Available wxWidgets Dependency Types"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3854
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3882
#, no-wrap
msgid "`build`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3856
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3884
#, no-wrap
msgid "Component is required for building, equivalent to `BUILD_DEPENDS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3857
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3881
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3885
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3909
#, no-wrap
msgid "`run`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3859
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3887
#, no-wrap
msgid "Component is required for running, equivalent to `RUN_DEPENDS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3860
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3875
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3878
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3884
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3886
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3888
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3903
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3906
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3912
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3914
#, no-wrap
msgid "`lib`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3861
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3889
#, no-wrap
msgid "Component is required for building and running, equivalent to `LIB_DEPENDS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3864
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3892
msgid "The default values for the components are detailed in this table:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3866
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3894
#, no-wrap
msgid "Default wxWidgets Dependency Types"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3872
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3900
#, no-wrap
msgid "Dependency type"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3882
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3910
#, no-wrap
msgid "`mozilla`"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3889
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3917
#, no-wrap
msgid "Selecting wxWidgets Components"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3893
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3921
msgid ""
"This fragment corresponds to a port which uses wxWidgets version `2.4` and "
"its contributed libraries."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3898
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3926
#, no-wrap
msgid ""
"USE_WX=\t\t2.8\n"
"WX_COMPS=\twx contrib\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3903
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3931
#, no-wrap
msgid "Detecting Installed Versions"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3908
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3936
msgid ""
"To detect an installed version, define `WANT_WX`. If it is not set to a "
"specific version then the components will have a version suffix. `HAVE_WX` "
"will be filled after detection."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3910
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3938
#, no-wrap
msgid "Detecting Installed wxWidgets Versions and Components"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3914
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3942
msgid ""
"This fragment can be used in a port that uses wxWidgets if it is installed, "
"or an option is selected."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3918
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3946
#, no-wrap
msgid "WANT_WX=\tyes\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3920
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3936
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3989
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4341
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3948
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4017
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4607
#, no-wrap
msgid ".include <bsd.port.pre.mk>\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3925
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3953
#, no-wrap
msgid ""
".if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.8)\n"
"USE_WX=\t\t\t2.8\n"
"CONFIGURE_ARGS+=\t--enable-wx\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3928
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3956
msgid ""
"This fragment can be used in a port that enables wxPython support if it is "
"installed or if an option is selected, in addition to wxWidgets, both "
"version `2.8`."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3934
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3962
#, no-wrap
msgid ""
"USE_WX=\t\t2.8\n"
"WX_COMPS=\twx\n"
"WANT_WX=\t2.8\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3941
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3969
#, no-wrap
msgid ""
".if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)\n"
"WX_COMPS+=\t\tpython\n"
"CONFIGURE_ARGS+=\t--enable-wxpython\n"
".endif\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3946
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4116
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3974
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4144
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4379
#, no-wrap
msgid "Defined Variables"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3949
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3977
msgid ""
"These variables are available in the port (after defining one from <<wx-ver-"
"sel-table>>)."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3951
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3979
#, no-wrap
msgid "Variables Defined for Ports That Use wxWidgets"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3958
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3986
#, no-wrap
msgid "`WX_CONFIG`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3960
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3988
#, no-wrap
msgid "The path to the wxWidgets`wx-config` script (with different name)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3961
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3989
#, no-wrap
msgid "`WXRC_CMD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3963
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3991
#, no-wrap
msgid "The path to the wxWidgets`wxrc` program (with different name)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3964
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3992
#, no-wrap
msgid "`WX_VERSION`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3965
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3993
#, no-wrap
msgid "The wxWidgets version that is going to be used (for example, `2.6`)"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3968
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3996
#, no-wrap
msgid "Processing in [.filename]#bsd.port.pre.mk#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3971
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:3999
msgid ""
"Define `WX_PREMK` to be able to use the variables right after including [."
"filename]#bsd.port.pre.mk#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3975
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4003
msgid ""
"When defining `WX_PREMK`, then the version, dependencies, components and "
"defined variables will not change if modifying the wxWidgets port variables "
"_after_ including [.filename]#bsd.port.pre.mk#."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3978
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4006
#, no-wrap
msgid "Using wxWidgets Variables in Commands"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3982
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4010
msgid ""
"This fragment illustrates the use of `WX_PREMK` by running the `wx-config` "
"script to obtain the full version string, assign it to a variable and pass "
"it to the program."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3987
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4015
#, no-wrap
msgid ""
"USE_WX=\t\t2.8\n"
"WX_PREMK=\tyes\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3992
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4020
#, no-wrap
msgid ""
".if exists(${WX_CONFIG})\n"
"VER_STR!=\t${WX_CONFIG} --release\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:3995
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4023
#, no-wrap
msgid ""
"PLIST_SUB+=\tVERSION=\"${VER_STR}\"\n"
".endif\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4002
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4030
msgid ""
"The wxWidgets variables can be safely used in commands when they are inside "
"targets without the need of `WX_PREMK`."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4005
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4033
#, no-wrap
msgid "Additional `configure` Arguments"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4008
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4036
msgid ""
"Some GNU `configure` scripts cannot find wxWidgets with just the `WX_CONFIG` "
"environment variable set, requiring additional arguments. `WX_CONF_ARGS` can "
"be used for provide them."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4010
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4038
#, no-wrap
msgid "Legal Values for `WX_CONF_ARGS`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4014
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4042
#, no-wrap
msgid "Possible value"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4016
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4044
#, no-wrap
msgid "Resulting argument"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4017
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4045
#, no-wrap
msgid "`absolute`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4019
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4047
#, no-wrap
msgid "`--with-wx-config=${WX_CONFIG}`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4020
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4048
#, no-wrap
msgid "`relative`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4021
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4049
#, no-wrap
msgid "`--with-wx=${LOCALBASE} --with-wx-config=${WX_CONFIG:T}`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4024
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4052
#, no-wrap
msgid "Using Lua"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4027
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4055
msgid ""
"This section describes the status of the Lua libraries in the ports tree and "
"its integration with the ports system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4033
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4061
msgid ""
"There are many versions of the Lua libraries and corresponding interpreters, "
"which conflict between them (install files under the same name). In the "
"ports tree this problem has been solved by installing each version under a "
"different name using version number suffixes."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4036
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4064
msgid ""
"The obvious disadvantage of this is that each application has to be modified "
"to find the expected version. But it can be solved by adding some "
"additional flags to the compiler and linker."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4039
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4067
msgid ""
"Applications that use Lua should normally build for just one version. "
"However, loadable modules for Lua are built in a separate flavor for each "
"Lua version that they support, and dependencies on such modules should "
"specify the flavor using the `@${LUA_FLAVOR}` suffix on the port origin."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4044
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4072
msgid "A port using Lua should have a line of this form:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4048
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4076
#, no-wrap
msgid "USES=\tlua\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4053
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4081
msgid ""
"If a specific version of Lua, or range of versions, is needed, it can be "
"specified as a parameter in the form `XY` (which may be used multiple "
"times), `XY+`, `-XY`, or `XY-ZA`. The default version of Lua as set via "
"`DEFAULT_VERSIONS` will be used if it falls in the requested range, "
"otherwise the closest requested version to the default will be used. For "
"example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4057
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4085
#, no-wrap
msgid "USES=\tlua:52-53\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4060
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4088
msgid ""
"Note that no attempt is made to adjust the version selection based on the "
"presence of any already-installed Lua version."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4065
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4093
msgid ""
"The `XY+` form of version specification should not be used without careful "
"consideration; the Lua API changes to some extent in every version, and "
"configuration tools like CMake or Autoconf will often fail to work on future "
"versions of Lua until updated to do so."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4068
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4096
#, no-wrap
msgid "Configuration and Compiler flags"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4073
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4101
msgid ""
"Software that uses Lua may have been written to auto-detect the Lua version "
"in use. In general ports should override this assumption, and force the use "
"of the specific Lua version selected as described above. Depending on the "
"software being ported, this might require any or all of:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4075
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4103
msgid ""
"Using `LUA_VER` as part of a parameter to the software's configuration "
"script via `CONFIGURE_ARGS` or `CONFIGURE_ENV` (or equivalent for other "
"build systems);"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4076
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4104
msgid ""
"Adding `-I${LUA_INCDIR}`, `-L${LUA_LIBDIR}`, and `-llua-${LUA_VER}` to "
"`CFLAGS`, `LDFLAGS`, `LIBS` respectively as appropriate;"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4077
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4105
msgid ""
"Patch the software's configuration or build files to select the correct "
"version."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4080
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4108
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4352
#, no-wrap
msgid "Version Flavors"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4084
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4112
msgid ""
"A port which installs a Lua module (rather than an application that simply "
"makes use of Lua) should build a separate flavor for each supported Lua "
"version. This is done by adding the `module` parameter:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4088
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4116
#, no-wrap
msgid "USES=\tlua:module\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4091
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4119
msgid ""
"A version number or range of versions can be specified as well; use a comma "
"to separate parameters."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4093
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4121
msgid ""
"Since each flavor must have a different package name, the variable "
"`LUA_PKGNAMEPREFIX` is provided which will be set to an appropriate value; "
"the intended usage is:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4097
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4125
#, no-wrap
msgid "PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4101
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4129
msgid ""
"Module ports should normally install files only to `LUA_MODLIBDIR`, "
"`LUA_MODSHAREDIR`, `LUA_DOCSDIR`, and `LUA_EXAMPLESDIR`, all of which are "
"set up to refer to version-specific subdirectories. Installing any other "
"files must be done with care to avoid conflicts between versions."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4103
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4131
msgid ""
"A port (other than a Lua module) which wishes to build a separate package "
"for each Lua version should use the `flavors` parameter:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4107
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4135
#, no-wrap
msgid "USES=\tlua:flavors\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4111
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4139
msgid ""
"This operates the same way as the `module` parameter described above, but "
"without the assumption that the package should be documented as a Lua module "
"(so `LUA_DOCSDIR` and `LUA_EXAMPLESDIR` are not defined by default). "
"However, the port may choose to define `LUA_DOCSUBDIR` as a suitable "
"subdirectory name (usually the port's `PORTNAME` as long as this does not "
"conflict with the `PORTNAME` of any module), in which case the framework "
"will define both `LUA_DOCSDIR` and `LUA_EXAMPLESDIR`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4114
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4142
msgid ""
"As with module ports, a flavored port should avoid installing files that "
"would conflict between versions. Typically this is done by adding "
"`LUA_VER_STR` as a suffix to program names (e.g. using crossref:uses[uses-"
"uniquefiles,`uniquefiles`]), and otherwise using either `LUA_VER` or "
"`LUA_VER_STR` as part of any other files or subdirectories used outside of "
"`LUA_MODLIBDIR` and `LUA_MODSHAREDIR`."
msgstr ""
-#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4119
-msgid "These variables are available in the port."
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4147
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4382
+msgid "These variables are available in the port."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4149
+#, no-wrap
+msgid "Variables Defined for Ports That Use Lua"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4156
+#, no-wrap
+msgid "`LUA_VER`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4158
+#, no-wrap
+msgid "The Lua version that is going to be used (for example, `5.4`)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4159
+#, no-wrap
+msgid "`LUA_VER_STR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4161
+#, no-wrap
+msgid "The Lua version without the dots (for example, `54`)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4162
+#, no-wrap
+msgid "`LUA_FLAVOR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4164
+#, no-wrap
+msgid "The flavor name corresponding to the selected Lua version, to be used for specifying dependencies"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4165
+#, no-wrap
+msgid "`LUA_BASE`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4167
+#, no-wrap
+msgid "The prefix that should be used to locate Lua (and components) that are already installed"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4168
+#, no-wrap
+msgid "`LUA_PREFIX`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4170
+#, no-wrap
+msgid "The prefix where Lua (and components) are to be installed by this port"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4171
+#, no-wrap
+msgid "`LUA_INCDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4173
+#, no-wrap
+msgid "The directory where Lua header files are installed"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4174
+#, no-wrap
+msgid "`LUA_LIBDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4176
+#, no-wrap
+msgid "The directory where Lua libraries are installed"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4177
+#, no-wrap
+msgid "`LUA_REFMODLIBDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4179
+#, no-wrap
+msgid "The directory where Lua module libraries ([.filename]#.so#) that are already installed are to be found"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4180
+#, no-wrap
+msgid "`LUA_REFMODSHAREDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4182
+#, no-wrap
+msgid "The directory where Lua modules ([.filename]#.lua#) that are already installed are to be found"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4183
+#, no-wrap
+msgid "`LUA_MODLIBDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4185
+#, no-wrap
+msgid "The directory where Lua module libraries ([.filename]#.so#) are to be installed by this port"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4186
+#, no-wrap
+msgid "`LUA_MODSHAREDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4188
+#, no-wrap
+msgid "The directory where Lua modules ([.filename]#.lua#) are to be installed by this port"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4189
+#, no-wrap
+msgid "`LUA_PKGNAMEPREFIX`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4191
+#, no-wrap
+msgid "The package name prefix used by Lua modules"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4192
+#, no-wrap
+msgid "`LUA_CMD`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4194
+#, no-wrap
+msgid "The name of the Lua interpreter (e.g. `lua54`)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4195
+#, no-wrap
+msgid "`LUAC_CMD`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4196
+#, no-wrap
+msgid "The name of the Lua compiler (e.g. `luac54`)"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4199
+msgid ""
+"These additional variables are available for ports that specified the "
+"`module` parameter:"
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4201
+#, no-wrap
+msgid "Variables Defined for Lua Module Ports"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4208
+#, no-wrap
+msgid "`LUA_DOCSDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4210
+#, no-wrap
+msgid "the directory to which the module's documentation should be installed."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4211
+#, no-wrap
+msgid "`LUA_EXAMPLESDIR`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4212
+#, no-wrap
+msgid "the directory to which the module's example files should be installed."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4218
+#, no-wrap
+msgid "Makefile for an application using Lua"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4223
+msgid ""
+"This example shows how to reference a Lua module required at run time. "
+"Notice that the reference must specify a flavor."
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4229
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4490
+#, no-wrap
+msgid ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4257
+#, no-wrap
+msgid ""
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/lua_sample/sample/\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4235
+#, no-wrap
+msgid "RUN_DEPENDS=\t${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4237
+#, no-wrap
+msgid "USES=\t\tlua\n"
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4244
+#, no-wrap
+msgid "Makefile for a simple Lua module"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4253
+#, no-wrap
+msgid ""
+"PORTNAME=\tsample\n"
+"DISTVERSION=\t1.2.3\n"
+"CATEGORIES=\twhatever\n"
+"PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4259
+#, no-wrap
+msgid "USES=\t\tlua:module\n"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4261
+#, no-wrap
+msgid "DOCSDIR=\t${LUA_DOCSDIR}\n"
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4268
+#, no-wrap
+msgid "Using Guile"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4271
+msgid ""
+"This section describes the status of Guile in the ports tree and its "
+"integration with the ports system."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4280
+msgid ""
+"There are multiple versions of the Guile libraries and corresponding "
+"interpreters, which conflict between them (install files under the same "
+"name). In the ports tree this problem has been solved by installing each "
+"version under a different name using version number suffixes. In most "
+"cases, applications should detect the correct version from the configuration "
+"variables provided and use `pkg-config` to determine the name and associated "
+"paths. However, some applications (especially those using their own "
+"configuration rules for `cmake` or `meson`) will always try to use the "
+"latest available version. In this case, either patch the port or declare a "
+"build conflict (see the `conflicts` option below) to ensure that the correct "
+"dependency is generated when building outside of poudriere."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4286
+msgid ""
+"Applications that use Guile should normally build for just one version, "
+"preferably the one specified in `DEFAULT_VERSIONS`, or failing that the "
+"latest version that they support. However, Guile or Scheme libraries, or "
+"extension modules for Guile are built in a separate flavor for each Guile "
+"version that they support, and dependencies on such ports should specify the "
+"flavor using the `@${GUILE_FLAVOR}` suffix on the port origin."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4291
+msgid ""
+"A port using Guile should define `USES=guile:__arg,arg...__` with "
+"appropriate arguments as follows:"
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4293
+#, no-wrap
+msgid "Arguments Defined for Ports That Use Guile"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4300
+#, no-wrap
+msgid "_X.Y_"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4304
+#, no-wrap
+msgid ""
+"Declare compatibility with Guile version `X.Y`.\n"
+"Currently available versions are `1.8` (obsolete), `2.2` and `3.0`.\n"
+"Multiple versions may be specified."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4305
+#, no-wrap
+msgid "flavors"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4309
+#, no-wrap
+msgid ""
+"Create a flavor for every Guile version specified.\n"
+"The version specified by `DEFAULT_VERSIONS` will become the default flavor.\n"
+"Flavor names are of the form `guileXY`."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4310
+#, no-wrap
+msgid "build"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4313
+#, no-wrap
+msgid ""
+"Add the Guile interpreter as a build dependency only, rather than a library dependency.\n"
+"`build` and `run` may both be specified."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4314
+#, no-wrap
+msgid "run"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4317
+#, no-wrap
+msgid ""
+"Add the Guile interpreter as a runtime dependency only, rather than a library dependency.\n"
+"`build` and `run` may both be specified."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4318
+#, no-wrap
+msgid "alias"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4320
+#, no-wrap
+msgid "Add `BINARY_ALIAS` values for the interpreter and tools."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4321
+#, no-wrap
+msgid "conflicts"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4323
+#, no-wrap
+msgid ""
+"Declare `CONFLICTS_BUILD` for Guile versions newer than the one selected.\n"
+"Use this when the port cannot be configured to use a specific Guile version."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4326
+msgid ""
+"Some additional arguments are available for handling unusual cases; see `Mk/"
+"Uses/guile.mk` for details."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4329
+msgid ""
+"Unless `build` or `run` is specified, then `LIB_DEPENDS` receives both the "
+"`libguile` library dependency and also any additional dependencies required "
+"by the guile version, e.g. `libgc`. Normally the port should not need any "
+"additional dependencies related to its use of Guile."
+msgstr ""
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4331
+#, no-wrap
+msgid "Configuration flags"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4336
+msgid ""
+"Software that uses Guile should be using the `pkg-config` mechanism to "
+"obtain compiler and linker flags. Some older or esoteric ports may be using "
+"`guile-config` or obtaining values directly from `guile` instead, which "
+"should also work (the `alias` argument may be useful in some of these cases)."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4338
+msgid ""
+"The framework tries to inform the port of the desired Guile version using "
+"the following methods:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4340
+msgid "`GUILE_EFFECTIVE_VERSION` is added to `CONFIGURE_ENV`;"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4341
+msgid ""
+"The full path to the Guile binary is specified in the `GUILE` variable in "
+"`CONFIGURE_ENV` and `MAKE_ENV`;"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4342
+msgid ""
+"If the `alias` option is used, the desired Guile version's binaries are the "
+"ones aliased;"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4343
+msgid ""
+"If the `alias` option is not used, paths to the desired Guile version's "
+"tools (`guild`, `guile-config`, etc.) are added to `CONFIGURE_ENV` and "
+"`MAKE_ENV` as variables `GUILD`, `GUILE_CONFIG`, etc."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4346
+msgid ""
+"For some ports, it may be necessary to specify the version in additional "
+"ways, such as via `CONFIGURE_ARGS` or `MESON_ARGS`, depending on the port."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4350
+msgid ""
+"If none of these methods cause the port to select the specified Guile "
+"version when other versions are present, then preferably patch it to do so. "
+"If that is not feasible, specify the `conflicts` option to prevent building "
+"the port under conditions where it will detect the wrong version."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4357
+msgid ""
+"A port which installs a Guile extension or library, or a Scheme library that "
+"precompiles for Guile, should build a separate flavor for each supported "
+"Guile version. This is done by adding the `flavors` option."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4359
+msgid ""
+"Since each flavor must have a different package name, such ports must set "
+"`PKGNAMESUFFIX`, typically:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4363
+#, no-wrap
+msgid "PKGNAMESUFFIX=\t-${FLAVOR}\n"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4367
+msgid ""
+"Such ports must install Scheme files to `GUILE_SITE_DIR` rather than to "
+"`GUILE_GLOBAL_SITE_DIR` even when the files are not version-specific. This "
+"often requires patching the port."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4370
+msgid ""
+"Additionally, if such a port installs a `.pc` file, it must be placed in "
+"`GUILE_PKGCONFIG_PATH` rather than in the global `pkgconfig` directory. "
+"This allows dependent ports to find a correct configuration for the specific "
+"Guile version in use."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4373
+msgid ""
+"If a Guile extension port installs a `.so` file, then it must usually be "
+"placed in the Guile-version-specific `extensions` directory. `USE_LDCONFIG` "
+"should usually not be used."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4377
+msgid ""
+"Any other files installed by a flavored port must likewise be in version-"
+"specific directories or use version-specific filenames. For documentation "
+"and examples, `GUILE_DOCS_DIR` and `GUILE_EXAMPLES_DIR` specify suitable "
+"locations in which the port should create a subdirectory, see below."
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4384
+#, no-wrap
+msgid "Variables Defined for Ports That Use Guile"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4389
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4451
+#, no-wrap
+msgid "Sample Value"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4392
+#, no-wrap
+msgid "`GUILE_VER`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4393
+#, no-wrap
+msgid "3.0"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4395
+#, no-wrap
+msgid "Guile version in use."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4396
+#, no-wrap
+msgid "`GUILE_SFX`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4397
+#, no-wrap
+msgid "3"
msgstr ""
-#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4121
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4400
#, no-wrap
-msgid "Variables Defined for Ports That Use Lua"
+msgid ""
+"Short suffix used on some names.\n"
+"Use only with care; may be non-unique or may change in the future."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4128
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4401
#, no-wrap
-msgid "`LUA_VER`"
+msgid "`GUILE_FLAVOR`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4130
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4402
#, no-wrap
-msgid "The Lua version that is going to be used (for example, `5.4`)"
+msgid "guile30"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4131
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4404
#, no-wrap
-msgid "`LUA_VER_STR`"
+msgid "Flavor name corresponding to the selected version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4133
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4405
#, no-wrap
-msgid "The Lua version without the dots (for example, `54`)"
+msgid "`GUILE_PORT`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4134
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4406
#, no-wrap
-msgid "`LUA_FLAVOR`"
+msgid "lang/guile3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4136
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4408
#, no-wrap
-msgid "The flavor name corresponding to the selected Lua version, to be used for specifying dependencies"
+msgid "Port origin of the specified Guile version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4137
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4409
#, no-wrap
-msgid "`LUA_BASE`"
+msgid "`GUILE_PREFIX`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4139
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4410
#, no-wrap
-msgid "The prefix that should be used to locate Lua (and components) that are already installed"
+msgid "${PREFIX}"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4140
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4412
#, no-wrap
-msgid "`LUA_PREFIX`"
+msgid "Directory prefix to be used for installation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4142
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4413
#, no-wrap
-msgid "The prefix where Lua (and components) are to be installed by this port"
+msgid "`GUILE_CMD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4143
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4414
#, no-wrap
-msgid "`LUA_INCDIR`"
+msgid "guile-3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4145
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4416
#, no-wrap
-msgid "The directory where Lua header files are installed"
+msgid "Name of the Guile interpreter, with version suffix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4146
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4417
#, no-wrap
-msgid "`LUA_LIBDIR`"
+msgid "`GUILE_CMDPATH`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4418
+#, no-wrap
+msgid "${LOCALBASE}/bin/guile-3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4148
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4420
#, no-wrap
-msgid "The directory where Lua libraries are installed"
+msgid "Full path to the Guile interpreter."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4149
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4421
#, no-wrap
-msgid "`LUA_REFMODLIBDIR`"
+msgid "`GUILD_CMD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4151
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4422
#, no-wrap
-msgid "The directory where Lua module libraries ([.filename]#.so#) that are already installed are to be found"
+msgid "guild-3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4152
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4424
#, no-wrap
-msgid "`LUA_REFMODSHAREDIR`"
+msgid "Name of the Guild tool, with version suffix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4154
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4425
#, no-wrap
-msgid "The directory where Lua modules ([.filename]#.lua#) that are already installed are to be found"
+msgid "`GUILD_CMDPATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4155
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4426
#, no-wrap
-msgid "`LUA_MODLIBDIR`"
+msgid "${LOCALBASE}/bin/guild-3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4157
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4428
#, no-wrap
-msgid "The directory where Lua module libraries ([.filename]#.so#) are to be installed by this port"
+msgid "Full path to the Guild tool."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4158
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4430
#, no-wrap
-msgid "`LUA_MODSHAREDIR`"
+msgid ""
+"`++GUILE_*_CMD++` +\n"
+"`++GUILE_*_CMDPATH++`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4160
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4433
#, no-wrap
-msgid "The directory where Lua modules ([.filename]#.lua#) are to be installed by this port"
+msgid "Like `GUILE_CMD` and `GUILE_CMDPATH`, but for other tool binaries."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4161
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4434
#, no-wrap
-msgid "`LUA_PKGNAMEPREFIX`"
+msgid "`GUILE_PKGCONFIG_PATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4163
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4435
#, no-wrap
-msgid "The package name prefix used by Lua modules"
+msgid "${LOCALBASE}/libdata/pkgconfig/guile/3.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4164
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4437
#, no-wrap
-msgid "`LUA_CMD`"
+msgid "Where packages using `flavors` should install `.pc` files."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4166
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4438
#, no-wrap
-msgid "The name of the Lua interpreter (e.g. `lua54`)"
+msgid "`GUILE_INFO_PATH`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4167
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4439
#, no-wrap
-msgid "`LUAC_CMD`"
+msgid "share/info/guile3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4168
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4440
#, no-wrap
-msgid "The name of the Lua compiler (e.g. `luac54`)"
+msgid "A suitable value for `INFO_PATH` for ports using the `flavors` option."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4171
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4444
msgid ""
-"These additional variables are available for ports that specified the "
-"`module` parameter:"
+"The following are defined as variables and as `PLIST_SUB` entries. The "
+"variable form is suffixed with `_DIR` and is a full path (prefixed with "
+"`GUILE_PREFIX`)."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4173
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4446
#, no-wrap
-msgid "Variables Defined for Lua Module Ports"
+msgid "Path Substitutions Defined for Ports That Use Guile"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4180
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4454
#, no-wrap
-msgid "`LUA_DOCSDIR`"
+msgid "GUILE_GLOBAL_SITE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4182
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4455
#, no-wrap
-msgid "the directory to which the module's documentation should be installed."
+msgid "share/guile/site"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4183
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4457
#, no-wrap
-msgid "`LUA_EXAMPLESDIR`"
+msgid "Site directory shared by all guile versions; this should not usually be used."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4184
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4458
#, no-wrap
-msgid "the directory to which the module's example files should be installed."
+msgid "GUILE_SITE"
msgstr ""
-#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4190
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4459
#, no-wrap
-msgid "Makefile for an application using Lua"
+msgid "share/guile/3.0/site"
msgstr ""
-#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4195
-msgid ""
-"This example shows how to reference a Lua module required at run time. "
-"Notice that the reference must specify a flavor."
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4461
+#, no-wrap
+msgid "Site directory for the selected Guile version."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4201
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4462
#, no-wrap
-msgid ""
-"PORTNAME=\tsample\n"
-"DISTVERSION=\t1.2.3\n"
-"CATEGORIES=\twhatever\n"
+msgid "GUILE_SITE_CCACHE"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4205
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4229
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4463
#, no-wrap
-msgid ""
-"MAINTAINER=\tjohn@doe.tld\n"
-"COMMENT=\tSample\n"
-"WWW=\t\thttps://github.com/lua_sample/sample/\n"
+msgid "lib/guile/3.0/site-ccache"
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4207
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4465
#, no-wrap
-msgid "RUN_DEPENDS=\t${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}\n"
+msgid "Directory for compiled bytecode files."
msgstr ""
-#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4209
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4466
#, no-wrap
-msgid "USES=\t\tlua\n"
+msgid "GUILE_DOCS"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4467
+#, no-wrap
+msgid "share/doc/guile30"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4469
+#, no-wrap
+msgid "Parent directory for version-specific documentation."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4470
+#, no-wrap
+msgid "GUILE_EXAMPLES"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4471
+#, no-wrap
+msgid "share/examples/guile30"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4472
+#, no-wrap
+msgid "Parent directory for version-specific examples."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4216
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4478
#, no-wrap
-msgid "Makefile for a simple Lua module"
+msgid "Makefile for an application using Guile"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4484
+msgid ""
+"This example shows how to reference a Guile library required at build and "
+"run time. Notice that the reference must specify a flavor. This example "
+"assumes that the application is using `pkg-config` to locate dependencies."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4225
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4494
#, no-wrap
msgid ""
-"PORTNAME=\tsample\n"
-"DISTVERSION=\t1.2.3\n"
-"CATEGORIES=\twhatever\n"
-"PKGNAMEPREFIX=\t${LUA_PKGNAMEPREFIX}\n"
+"MAINTAINER=\tfred.bloggs@example.com\n"
+"COMMENT=\tSample\n"
+"WWW=\t\thttps://example.com/guile_sample/sample/\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4231
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4497
#, no-wrap
-msgid "USES=\t\tlua:module\n"
+msgid ""
+"BUILD_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
+"RUN_DEPENDS=\tguile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4233
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4499
#, no-wrap
-msgid "DOCSDIR=\t${LUA_DOCSDIR}\n"
+msgid "USES=\t\tguile:2.2,3.0 pkgconfig\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4240
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4506
#, no-wrap
msgid "Using `iconv`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4243
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4509
msgid "FreeBSD has a native `iconv` in the operating system."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4245
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4511
msgid "For software that needs `iconv`, define `USES=iconv`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4247
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4513
msgid "When a port defines `USES=iconv`, these variables will be available:"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4252
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4518
#, no-wrap
msgid "Variable name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4253
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4519
#, no-wrap
msgid "Purpose"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4254
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4520
#, no-wrap
msgid "Port iconv (when using WCHAR_T or //TRANSLIT extensions)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4257
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4523
#, no-wrap
msgid "Base iconv"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4258
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4524
#, no-wrap
msgid "`ICONV_CMD`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4259
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4525
#, no-wrap
msgid "Directory where the `iconv` binary resides"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4260
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4526
#, no-wrap
msgid "`${LOCALBASE}/bin/iconv`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4262
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4528
#, no-wrap
msgid "[.filename]#/usr/bin/iconv#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4263
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4529
#, no-wrap
msgid "`ICONV_LIB`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4264
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4530
#, no-wrap
msgid "`ld` argument to link to [.filename]#libiconv# (if needed)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4265
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4531
#, no-wrap
msgid "`-liconv`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4267
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4277
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4281
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4533
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4543
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4547
#, no-wrap
msgid "(empty)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4268
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4534
#, no-wrap
msgid "`ICONV_PREFIX`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4269
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4535
#, no-wrap
msgid "Directory where the `iconv` implementation resides (useful for configure scripts)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4270
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4536
#, no-wrap
msgid "`${LOCALBASE}`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4272
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4538
#, no-wrap
msgid "[.filename]#/usr#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4273
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4539
#, no-wrap
msgid "`ICONV_CONFIGURE_ARG`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4274
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4279
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4540
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4545
#, no-wrap
msgid "Preconstructed configure argument for configure scripts"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4275
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4541
#, no-wrap
msgid "`--with-libiconv-prefix=${LOCALBASE}`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4278
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4544
#, no-wrap
msgid "`ICONV_CONFIGURE_BASE`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4280
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4546
#, no-wrap
msgid "`--with-libiconv=${LOCALBASE}`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4284
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4550
msgid ""
"These two examples automatically populate the variables with the correct "
"value for systems using package:converters/libiconv[] or the native `iconv` "
"respectively:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4286
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4552
#, no-wrap
msgid "Simple `iconv` Usage"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4293
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4559
#, no-wrap
msgid ""
"USES=\t\ticonv\n"
"LDFLAGS+=\t-L${LOCALBASE}/lib ${ICONV_LIB}\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4298
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4564
#, no-wrap
msgid "`iconv` Usage with `configure`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4305
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4571
#, no-wrap
msgid ""
"USES=\t\ticonv\n"
"CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4311
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4577
msgid ""
"As shown above, `ICONV_LIB` is empty when a native `iconv` is present. This "
"can be used to detect the native `iconv` and respond appropriately."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4314
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4580
msgid ""
"Sometimes a program has an `ld` argument or search path hardcoded in a [."
"filename]#Makefile# or configure script. This approach can be used to solve "
"that problem:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4316
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4582
#, no-wrap
msgid "Fixing Hardcoded `-liconv`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4322
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4339
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4588
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4605
#, no-wrap
msgid "USES=\t\ticonv\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4325
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4591
#, no-wrap
msgid ""
"post-patch:\n"
"\t@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/Makefile\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4331
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4597
msgid ""
"In some cases it is necessary to set alternate values or perform operations "
"depending on whether there is a native `iconv`. [.filename]#bsd.port.pre."
"mk# must be included before testing the value of `ICONV_LIB`:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4333
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4599
#, no-wrap
msgid "Checking for Native `iconv` Availability"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4347
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4613
#, no-wrap
msgid ""
"post-patch:\n"
".if empty(ICONV_LIB)\n"
"\t# native iconv detected\n"
"\t@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.sh\n"
".endif\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4349
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4615
#, no-wrap
msgid ".include <bsd.port.post.mk>\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4354
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4620
#, no-wrap
msgid "Using Xfce"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4357
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4623
msgid "Ports that need Xfce libraries or applications set `USES=xfce`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4361
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4627
msgid ""
"Specific Xfce library and application dependencies are set with values "
"assigned to `USE_XFCE`. They are defined in [.filename]#/usr/ports/Mk/Uses/"
"xfce.mk#. The possible values are:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4362
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4628
#, no-wrap
msgid "Values of `USE_XFCE`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4363
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4629
#, no-wrap
msgid "garcon"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4365
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4631
msgid "package:sysutils/garcon[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4366
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4632
#, no-wrap
msgid "libexo"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4368
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4634
msgid "package:x11/libexo[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4369
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4635
#, no-wrap
msgid "libgui"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4371
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4637
msgid "package:x11-toolkits/libxfce4gui[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4372
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4638
#, no-wrap
msgid "libmenu"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4374
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4640
msgid "package:x11/libxfce4menu[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4375
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4641
#, no-wrap
msgid "libutil"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4377
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4643
msgid "package:x11/libxfce4util[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4378
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4644
#, no-wrap
msgid "panel"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4380
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4646
msgid "package:x11-wm/xfce4-panel[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4381
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4647
#, no-wrap
msgid "thunar"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4383
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4649
msgid "package:x11-fm/thunar[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4384
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4650
#, no-wrap
msgid "xfconf"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4386
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4652
msgid "package:x11/xfce4-conf[]"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4388
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4654
#, no-wrap
msgid "`USES=xfce` Example"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4395
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4661
#, no-wrap
msgid ""
"USES=\t\txfce\n"
"USE_XFCE=\tlibmenu\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4400
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4666
#, no-wrap
msgid "Using Xfce's Own GTK2 Widgets"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4404
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4670
msgid ""
"In this example, the ported application uses the GTK2-specific widgets "
"package:x11/libxfce4menu[] and package:x11/xfce4-conf[]."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4409
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4675
#, no-wrap
msgid ""
"USES=\t\txfce:gtk2\n"
"USE_XFCE=\tlibmenu xfconf\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4418
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4684
msgid ""
"Xfce components included this way will automatically include any "
"dependencies they need. It is no longer necessary to specify the entire "
"list. If the port only needs package:x11-wm/xfce4-panel[], use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4423
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4689
#, no-wrap
msgid ""
"USES=\t\txfce\n"
"USE_XFCE=\tpanel\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4426
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4692
msgid ""
"There is no need to list the components package:x11-wm/xfce4-panel[] needs "
"itself like this:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4431
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4697
#, no-wrap
msgid ""
"USES=\t\txfce\n"
"USE_XFCE=\tlibexo libmenu libutil panel\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4435
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4701
msgid ""
"However, Xfce components and non-Xfce dependencies of the port must be "
"included explicitly. Do not count on an Xfce component to provide a sub-"
"dependency other than itself for the main port."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4438
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4704
#, no-wrap
msgid "Using Budgie"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4441
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4707
msgid ""
"Applications or libraries depending on the Budgie desktop should set `USES= "
"budgie` and set `USE_BUDGIE` to the list of required components."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4448
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4714
#, no-wrap
msgid "`libbudgie`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4450
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4716
#, no-wrap
msgid "Desktop core (library)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4451
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4717
+#, no-wrap
+msgid "`libmagpie`"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4719
+#, no-wrap
+msgid "Budgie's X11 window manager and compositor library"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4720
#, no-wrap
msgid "`raven`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4453
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4722
#, no-wrap
msgid "All-in-one center in panel for accessing different applications widgets"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4454
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4723
#, no-wrap
msgid "`screensaver`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4456
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4725
#, no-wrap
msgid "Desktop-specific screensaver"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4461
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4730
msgid ""
"All application widgets communicate through the *org.budgie_desktop.Raven* "
"service."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4463
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4732
msgid ""
"The default dependency is lib- and run-time, it can be changed with `:build` "
"or `:run`, for example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4468
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4737
#, no-wrap
msgid ""
"USES=\t\tbudgie\n"
"USE_BUDGIE=\tscreensaver:build\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4472
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4741
#, no-wrap
msgid "`USE_BUDGIE` Example"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4479
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4748
#, no-wrap
msgid ""
"USES=\t\tbudgie gettext gnome meson pkgconfig\n"
"USE_BUDGIE=\tlibbudgie\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4483
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4752
#, no-wrap
msgid "Using Databases"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4486
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4755
msgid ""
"Use one of the `USES` macros from <<using-databases-uses>> to add a "
"dependency on a database."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4488
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4757
#, no-wrap
msgid "Database `USES` Macros"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4492
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4761
#, no-wrap
msgid "Database"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4494
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4763
#, no-wrap
msgid "USES Macro"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4495
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4764
#, no-wrap
msgid "Berkeley DB"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4497
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4766
#, no-wrap
msgid "crossref:uses[uses-bdb,`bdb`]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4498
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4767
#, no-wrap
msgid "MariaDB, MySQL, Percona"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4500
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4769
#, no-wrap
msgid "crossref:uses[uses-mysql,`mysql`]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4501
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4770
#, no-wrap
msgid "PostgreSQL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4503
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4772
#, no-wrap
msgid "crossref:uses[uses-pgsql,`pgsql`]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4504
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4773
#, no-wrap
msgid "SQLite"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4505
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4774
#, no-wrap
msgid "crossref:uses[uses-sqlite,`sqlite`]"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4508
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4777
#, no-wrap
msgid "Using Berkeley DB 6"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4514
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4783
#, no-wrap
msgid "USES=\tbdb:6\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4517
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4786
msgid "See crossref:uses[uses-bdb,`bdb`] for more information."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4520
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4789
#, no-wrap
msgid "Using MySQL"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4524
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4793
msgid "When a port needs the MySQL client library add"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4528
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4797
#, no-wrap
msgid "USES=\tmysql\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4531
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4800
msgid "See crossref:uses[uses-mysql,`mysql`] for more information."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4534
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4803
#, no-wrap
msgid "Using PostgreSQL"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4538
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4807
msgid "When a port needs the PostgreSQL server version 9.6 or later add"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4543
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4812
#, no-wrap
msgid ""
"USES=\t\tpgsql:9.6+\n"
"WANT_PGSQL=\tserver\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4546
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4815
msgid "See crossref:uses[uses-pgsql,`pgsql`] for more information."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4549
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4818
#, no-wrap
msgid "Using SQLite 3"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4555
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4824
#, no-wrap
msgid "USES=\tsqlite:3\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4558
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4827
msgid "See crossref:uses[uses-sqlite,`sqlite`] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4561
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4830
#, no-wrap
msgid "Starting and Stopping Services (`rc` Scripts)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4568
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4837
msgid ""
"[.filename]#rc.d# scripts are used to start services on system startup, and "
"to give administrators a standard way of stopping, starting and restarting "
"the service. Ports integrate into the system [.filename]#rc.d# framework. "
"Details on its usage can be found in extref:{handbook}[the rc.d Handbook "
"chapter, configtuning-rcd]. Detailed explanation of the available commands "
"is provided in man:rc[8] and man:rc.subr[8]. Finally, there is extref:{rc-"
"scripting}[an article] on practical aspects of [.filename]#rc.d# scripting."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4571
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4840
msgid ""
"With a mythical port called _doorman_, which needs to start a _doormand_ "
"daemon. Add the following to the [.filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4575
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4844
#, no-wrap
msgid "USE_RC_SUBR=\tdoormand\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4582
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4851
msgid ""
"Multiple scripts may be listed and will be installed. Scripts must be "
"placed in the [.filename]#files# subdirectory and a `.in` suffix must be "
"added to their filename. Standard `SUB_LIST` expansions will be ran against "
"this file. Use of the `%%PREFIX%%` and `%%LOCALBASE%%` expansions is "
"strongly encouraged as well. More on `SUB_LIST` in crossref:pkg-files[using-"
"sub-files,the relevant section]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4584
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4853
msgid ""
"As of FreeBSD 6.1-RELEASE, local [.filename]#rc.d# scripts (including those "
"installed by ports) are included in the overall man:rcorder[8] of the base "
"system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4586
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4855
msgid ""
"An example simple [.filename]#rc.d# script to start the doormand daemon:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4590
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4859
#, no-wrap
msgid "#!/bin/sh\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4602
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4871
#, no-wrap
msgid ""
"# PROVIDE: doormand\n"
"# REQUIRE: LOGIN\n"
"# KEYWORD: shutdown\n"
"#\n"
"# Add these lines to /etc/rc.conf.local or /etc/rc.conf\n"
"# to enable this service:\n"
"#\n"
"# doormand_enable (bool):\tSet to NO by default.\n"
"#\t\t\t\tSet it to YES to enable doormand.\n"
"# doormand_config (path):\tSet to %%PREFIX%%/etc/doormand/doormand.cf\n"
"#\t\t\t\tby default.\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4604
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4873
#, no-wrap
msgid ". /etc/rc.subr\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4607
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4876
#, no-wrap
msgid ""
"name=doormand\n"
"rcvar=doormand_enable\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4609
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4878
#, no-wrap
msgid "load_rc_config $name\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4612
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4881
#, no-wrap
msgid ""
": ${doormand_enable:=\"NO\"}\n"
": ${doormand_config=\"%%PREFIX%%/etc/doormand/doormand.cf\"}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4615
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4884
#, no-wrap
msgid ""
"command=%%PREFIX%%/sbin/${name}\n"
"pidfile=/var/run/${name}.pid\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4617
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4886
#, no-wrap
msgid "command_args=\"-p $pidfile -f $doormand_config\"\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4619
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4888
#, no-wrap
msgid "run_rc_command \"$1\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4622
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4891
msgid ""
"Unless there is a very good reason to start the service earlier, or it runs "
"as a particular user (other than root), all ports scripts must use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4626
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4895
#, no-wrap
msgid "REQUIRE: LOGIN\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4629
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4898
msgid ""
"If the startup script launches a daemon that must be shutdown, the following "
"will trigger a stop of the service on system shutdown:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4633
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4902
#, no-wrap
msgid "KEYWORD: shutdown\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4636
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4905
msgid ""
"If the script is not starting a persistent service this is not necessary."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4639
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4908
msgid ""
"For optional configuration elements the \"=\" style of default variable "
"assignment is preferable to the \":=\" style here, since the former sets a "
"default value only if the variable is unset, and the latter sets one if the "
"variable is unset _or_ null. A user might very well include something like:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4643
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4912
#, no-wrap
msgid "doormand_flags=\"\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4647
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4916
msgid ""
"in their [.filename]#rc.conf.local#, and a variable substitution using \":"
"=\" would inappropriately override the user's intention. The `_enable` "
"variable is not optional, and must use the \":\" for the default."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4652
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4921
msgid ""
"Ports _must not_ start and stop their services when installing and "
"deinstalling. Do not abuse the [.filename]#plist# keywords described in "
"crossref:plist[plist-keywords-base-exec, \"the @preexec command,@postexec "
"command,@preunexec command,@postunexec command section\"] by running "
"commands that modify the currently running system, including starting or "
"stopping services."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4655
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4924
#, no-wrap
msgid "Pre-Commit Checklist"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4658
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4927
msgid ""
"Before contributing a port with an [.filename]#rc.d# script, and more "
"importantly, before committing one, please consult this checklist to be sure "
"that it is ready."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4660
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4929
msgid ""
"The package:devel/rclint[] port can check for most of these, but it is not a "
"substitute for proper review."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4663
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4932
msgid ""
"If this is a new file, does it have a [.filename]#.sh# extension? If so, "
"that must be changed to just [.filename]#file.in# since [.filename]#rc.d# "
"files may not end with that extension."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4664
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4933
msgid ""
"Do the name of the file (minus [.filename]#.in#), the `PROVIDE` line, and "
"`$` _name_ all match? The file name matching `PROVIDE` makes debugging "
"easier, especially for man:rcorder[8] issues. Matching the file name and "
"`$`_name_ makes it easier to figure out which variables are relevant in [."
"filename]#rc.conf[.local]#. It is also a policy for all new scripts, "
"including those in the base system."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4665
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4934
msgid ""
"Is the `REQUIRE` line set to `LOGIN`? This is mandatory for scripts that run "
"as a non-root user. If it runs as root, is there a good reason for it to run "
"prior to `LOGIN`? If not, it must run after so that local scrips can be "
"loosely grouped to a point in man:rcorder[8] after most everything in the "
"base is already running."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4666
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4935
msgid ""
"Does the script start a persistent service? If so, it must have `KEYWORD: "
"shutdown`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4667
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4936
msgid ""
"Make sure there is no `KEYWORD: FreeBSD` present. This has not been "
"necessary nor desirable for years. It is also an indication that the new "
"script was copy/pasted from an old script, so extra caution must be given to "
"the review."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4668
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4937
msgid ""
"If the script uses an interpreted language like `perl`, `python`, or `ruby`, "
"make certain that `command_interpreter` is set appropriately, for example, "
"for Perl, by adding `PERL=${PERL}` to `SUB_LIST` and using `%%PERL%%`. "
"Otherwise,"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4672
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4941
#, no-wrap
msgid "# service name stop\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4675
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4944
msgid ""
"will probably not work properly. See man:service[8] for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4676
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4945
msgid ""
"Have all occurrences of [.filename]#/usr/local# been replaced with `%%PREFIX%"
"%`?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4677
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4946
msgid "Do the default variable assignments come after `load_rc_config`?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4678
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4947
msgid ""
"Are there default assignments to empty strings? They should be removed, but "
"double-check that the option is documented in the comments at the top of the "
"file."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4679
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4948
msgid "Are things that are set in variables actually used in the script?"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4680
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4949
msgid ""
"Are options listed in the default _name_`_flags` things that are actually "
"mandatory? If so, they must be in `command_args`. `-d` is a red flag (pardon "
"the pun) here, since it is usually the option to \"daemonize\" the process, "
"and therefore is actually mandatory."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4681
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4950
msgid ""
"`_name__flags` must never be included in `command_args` (and vice versa, "
"although that error is less common)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4682
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4951
msgid ""
"Does the script execute any code unconditionally? This is frowned on. "
"Usually these things must be dealt with through a `start_precmd`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4683
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4952
msgid ""
"All boolean tests must use the `checkyesno` function. No hand-rolled tests "
"for `[Yy][Ee][Ss]`, etc."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4684
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4953
msgid ""
"If there is a loop (for example, waiting for something to start) does it "
"have a counter to terminate the loop? We do not want the boot to be stuck "
"forever if there is an error."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4685
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4954
msgid ""
"Does the script create files or directories that need specific permissions, "
"for example, a [.filename]#pid# that needs to be owned by the user that runs "
"the process? Rather than the traditional man:touch[1]/man:chown[8]/man:"
"chmod[1] routine, consider using man:install[1] with the proper command line "
"arguments to do the whole procedure with one step."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4687
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4956
#, no-wrap
msgid "Adding Users and Groups"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4692
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4961
msgid ""
"Some ports require a particular user account to be present, usually for "
"daemons that run as that user. For these ports, choose a _unique_ UID from "
"50 to 999 and register it in [.filename]#ports/UIDs# (for users) and [."
"filename]#ports/GIDs# (for groups). The unique identification should be the "
"same for users and groups."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4694
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4963
msgid ""
"Please include a patch against these two files when requiring a new user or "
"group to be created for the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4696
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4965
msgid ""
"Then use `USERS` and `GROUPS` in [.filename]#Makefile#, and the user will be "
"automatically created when installing the port."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4701
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4970
#, no-wrap
msgid ""
"USERS=\tpulse\n"
"GROUPS=\tpulse pulse-access pulse-rt\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4704
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4973
msgid ""
"The current list of reserved UIDs and GIDs can be found in [.filename]#ports/"
"UIDs# and [.filename]#ports/GIDs#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4706
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4975
#, no-wrap
msgid "Ports That Rely on Kernel Sources"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4710
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4979
msgid ""
"Some ports (such as kernel loadable modules) need the kernel source files so "
"that the port can compile. Here is the correct way to determine if the user "
"has them installed:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4714
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4983
#, no-wrap
msgid "USES=\tkmod\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4717
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4986
msgid ""
"Apart from this check, the `kmod` feature takes care of most items that "
"these ports need to take into account."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4719
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4988
#, no-wrap
msgid "Go Libraries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4723
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4992
msgid ""
"Ports must not package or install Go libs or source code. Go ports must "
"fetch the required deps at the normal fetch time and should only install the "
"programs and things users need, not the things Go developers would need."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4725
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4994
msgid "Ports should (in order of preference):"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4727
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4996
msgid "Use vendored dependencies included with the package source."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4728
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4997
msgid ""
"Fetch the versions of deps specified by upstream (in the case of go.mod, "
"vendor.json or similar)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4729
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:4998
msgid ""
"As a last resort (deps are not included nor versions specified exactly) "
"fetch versions of dependencies available at the time of upstream development/"
"release."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4731
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5000
#, no-wrap
msgid "Haskell Libraries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4735
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5004
msgid ""
"Just like in case of Go language, Ports must not package or install Haskell "
"libraries. Haskell ports must link statically to their dependencies and "
"fetch all distribution files on fetch stage."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4737
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5006
#, no-wrap
msgid "Shell Completion Files"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4742
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5011
msgid ""
"Many modern shells (including bash, fish, tcsh and zsh) support parameter "
"and/or option tab-completion. This support usually comes from completion "
"files, which contain the definitions for how tab completion will work for a "
"certain command. Ports sometimes ship with their own completion files, or "
"porters may have created them themselves."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4746
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5015
msgid ""
"When available, completion files should always be installed. It is not "
"necessary to make an option for it. If an option is used, though, always "
"enable it in `OPTIONS_DEFAULT`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4748
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5017
#, no-wrap
-msgid "Shell completion file paths"
+msgid "Full shell completion file names"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4752
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5021
#, no-wrap
msgid "`bash`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4754
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5022
#, no-wrap
-msgid "[.filename]#${PREFIX}/etc/bash_completion.d#"
+msgid "[.filename]#${PREFIX}/etc/bash_completion.d# or [.filename]#${PREFIX}/share/bash-completion/completions#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4755
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5024
+#, no-wrap
+msgid "(any unique file names in one of these folders)"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5025
#, no-wrap
msgid "`fish`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4757
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5026
#, no-wrap
-msgid "[.filename]#${PREFIX}/share/fish/vendor_completions.d#"
+msgid "[.filename]#${PREFIX}/share/fish/completions/${PORTNAME}.fish#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4758
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5029
#, no-wrap
msgid "`zsh`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4759
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5030
#, no-wrap
-msgid "[.filename]#${PREFIX}/share/zsh/site-functions#"
+msgid "[.filename]#${PREFIX}/share/zsh/site-functions/_${PORTNAME}#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/special/_index.adoc:4761
+#: documentation/content/en/books/porters-handbook/special/_index.adoc:5033
msgid "Do not register any dependencies on the shells themselves."
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/testing/_index.po b/documentation/content/en/books/porters-handbook/testing/_index.po
index f5c5d71be1..8a1641786d 100644
--- a/documentation/content/en/books/porters-handbook/testing/_index.po
+++ b/documentation/content/en/books/porters-handbook/testing/_index.po
@@ -1,1154 +1,1284 @@
# 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: 2023-05-21 14:43-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/testing/_index.adoc:1
#, no-wrap
msgid "Testing a FreeBSD Port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:1
#, no-wrap
msgid "Chapter 10. Testing the Port"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:13
#, no-wrap
msgid "Testing the Port"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:51
#, no-wrap
msgid "Running `make describe`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:56
msgid ""
"Several of the FreeBSD port maintenance tools, such as man:portupgrade[1], "
"rely on a database called [.filename]#/usr/ports/INDEX# which keeps track of "
"such items as port dependencies. [.filename]#INDEX# is created by the top-"
"level [.filename]#ports/Makefile# via `make index`, which descends into each "
"port subdirectory and executes `make describe` there. Thus, if `make "
"describe` fails in any port, no one can generate [.filename]#INDEX#, and "
"many people will quickly become unhappy."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:61
msgid ""
"It is important to be able to generate this file no matter what options are "
"present in [.filename]#make.conf#, so please avoid doing things such as "
"using `.error` statements when (for instance) a dependency is not "
"satisfied. (See crossref:porting-dads[dads-dot-error,Avoid Use of the `."
"error` Construct].)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:65
msgid ""
"If `make describe` produces a string rather than an error message, "
"everything is probably safe. See [.filename]#bsd.port.mk# for the meaning "
"of the string produced."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:67
msgid ""
"Also note that running a recent version of `portlint` (as specified in the "
"next section) will cause `make describe` to be run automatically."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/testing/_index.adoc:69
#, no-wrap
+msgid "Running `make test`"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:75
+msgid ""
+"Even if the port builds fine, it is a good idea to ensure that the software "
+"correctly does what it is supposed to do. If the original upstream project "
+"provides tests along with the software, it is a good idea to run them and "
+"check everything works as expected."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:80
+msgid ""
+"A port can enable tests automatically by using the `TEST_TARGET` variable. "
+"When set, this variable contains the name of the testing target of the "
+"port. This is usually just `test` but other names include `tests`, `check` "
+"or for specific cases things like `run_tests.py`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:83
+msgid ""
+"In addition to the `TEST_TARGET` variable the framework provides the "
+"following variables to control the tests execution:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:85
+msgid "`TEST_WRKSRC` is the directory to do the tests in."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:86
+msgid ""
+"`TEST_ENV` contains additional variables to be passed to the test stage."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:87
+msgid "`TEST_ARGS` contains any extra arguments passed to the test stage."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:90
+msgid ""
+"Examples of use of these variables can be found in package:cad/xyce[], "
+"package:www/libjwt[] and others."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:94
+msgid "Please make sure that tests do not break when updating a port."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:98
+#, no-wrap
msgid "Portclippy / Portfmt"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:72
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:101
msgid "Those tools come from package:ports-mgmt/portfmt[]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:74
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:103
msgid ""
"Portclippy is a linter that checks if variables in the [.filename]#Makefile# "
"are in the correct order according to crossref:order[porting-order,Order of "
"Variables in Port Makefiles]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:76
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:105
msgid "Portfmt is a tool for automatically formatting [.filename]#Makefile#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:78
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:107
#, no-wrap
msgid "Portlint"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:83
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:112
msgid ""
"Do check the port with crossref:quick-porting[porting-portlint,`portlint`] "
"before submitting or committing it. `portlint` warns about many common "
"errors, both functional and stylistic. For a new port, `portlint -A` is the "
"most thorough; for an existing port, `portlint -C` is sufficient."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:89
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:118
msgid ""
"Since `portlint` uses heuristics to try to figure out errors, it can produce "
"false positive warnings. In addition, occasionally something that is "
"flagged as a problem really cannot be done in any other way due to "
"limitations in the ports framework. pass:[<!-- vale Vale.Terms = NO -->] "
"When in doubt, the best thing to do is ask on {freebsd-ports}. pass:[<!-- "
"vale Vale.Terms = YES -->]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:91
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:120
#, no-wrap
msgid "Port Tools"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:94
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:123
msgid ""
"The package:ports-mgmt/porttools[] program is part of the Ports Collection."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:99
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:128
msgid ""
"`port` is the front-end script, which can help simplify the testing job. "
"Whenever a new port or an update to an existing one needs testing, use `port "
"test` to test the port, including the <<testing-portlint,`portlint`>> "
"checking. This command also detects and lists any files that are not listed "
"in [.filename]#pkg-plist#. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:103
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:132
#, no-wrap
msgid "# port test /usr/ports/net/csup\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:106
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:135
#, no-wrap
msgid "`PREFIX` and `DESTDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:111
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:140
msgid ""
"`PREFIX` determines where the port will be installed. It defaults to [."
"filename]#/usr/local#, but can be set by the user to a custom path like [."
"filename]#/opt#. The port must respect the value of this variable."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:116
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:145
msgid ""
"`DESTDIR`, if set by the user, determines the complete alternative "
"environment, usually a jail or an installed system mounted somewhere other "
"than [.filename]#/#. A port will actually install into [.filename]#DESTDIR/"
"PREFIX#, and register with the package database in [.filename]#DESTDIR/var/"
"db/pkg#. `DESTDIR` is handled automatically by the ports infrastructure "
"with man:chroot[8]. There is no need for modifications or any extra care to "
"write `DESTDIR`-compliant ports."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:119
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:148
msgid ""
"The value of `PREFIX` will be set to `LOCALBASE` (defaulting to [.filename]#/"
"usr/local#). If `USE_LINUX_PREFIX` is set, `PREFIX` will be `LINUXBASE` "
"(defaulting to [.filename]#/compat/linux#)."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:123
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:152
msgid ""
"Avoiding hard-coded [.filename]#/usr/local# paths in the source makes the "
"port much more flexible and able to cater to the needs of other sites. "
"Often, this can be accomplished by replacing occurrences of [.filename]#/usr/"
"local# in the port's various [.filename]##Makefile##s with `${PREFIX}`. "
"This variable is automatically passed down to every stage of the build and "
"install processes."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:126
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:155
msgid ""
"Make sure the application is not installing things in [.filename]#/usr/"
"local# instead of `PREFIX`. A quick test for such hard-coded paths is:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:130
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:159
#, no-wrap
msgid "% make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:133
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:162
msgid ""
"If anything is installed outside of `PREFIX`, the package creation process "
"will complain that it cannot find the files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:135
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:164
msgid ""
"In addition, it is worth checking the same with the stage directory support "
"(see crossref:special[staging,Staging]):"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:139
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:168
#, no-wrap
msgid "% make stage && make check-plist && make stage-qa && make package\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:142
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:171
msgid ""
"`check-plist` checks for files missing from the plist, and files in the "
"plist that are not installed by the port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:143
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:172
msgid ""
"`stage-qa` checks for common problems like bad shebang, symlinks pointing "
"outside the stage directory, setuid files, and non-stripped libraries..."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:146
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:175
msgid ""
"These tests will not find hard-coded paths inside the port's files, nor will "
"it verify that `LOCALBASE` is being used to correctly refer to files from "
"other ports. The temporarily installed port in [.filename]#/var/tmp/`make -"
"V PORTNAME`# must be tested for proper operation to make sure there are no "
"problems with paths."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:149
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:178
msgid ""
"`PREFIX` must not be set explicitly in a port's [.filename]#Makefile#. "
"Users installing the port may have set `PREFIX` to a custom location, and "
"the port must respect that setting."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:153
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:182
msgid ""
"Refer to programs and files from other ports with the variables mentioned "
"above, not explicit pathnames. For instance, if the port requires a macro "
"`PAGER` to have the full pathname of `less`, do not use a literal path of [."
"filename]#/usr/local/bin/less#. Instead, use `${LOCALBASE}`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:157
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:186
#, no-wrap
msgid "-DPAGER=\\\"${LOCALBASE}/bin/less\\\"\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:160
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:189
msgid ""
"The path with `LOCALBASE` is more likely to still work if the system "
"administrator has moved the whole [.filename]#/usr/local# tree somewhere "
"else."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:166
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:195
msgid ""
"All these tests are done automatically when running `poudriere testport` or "
"`poudriere bulk -t`. It is highly recommended that every ports contributor "
"install and test their ports with it. See <<testing-poudriere>> for more "
"information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:169
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:198
#, no-wrap
msgid "poudriere"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:173
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:202
msgid ""
"For a ports contributor, poudriere is one of the most important and helpful "
"testing and build tools. Its main features include:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:175
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:204
msgid ""
"Bulk building of the entire ports tree, specific subsets of the ports tree, "
"or a single port including its dependencies"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:176
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:205
msgid "Automatic packaging of build results"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:177
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:206
msgid "Generation of build log files per port"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:178
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:207
msgid "Providing a signed man:pkg[8] repository"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:179
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:208
msgid ""
"Testing of port builds before submitting a patch to the FreeBSD bug tracker "
"or committing to the ports tree"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:180
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:209
msgid "Testing for successful ports builds using different options"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:183
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:212
msgid ""
"Because poudriere performs its building in a clean man:jail[8] environment "
"and uses man:zfs[8] features, it has several advantages over traditional "
"testing on the host system:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:185
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:214
msgid ""
"No pollution of the host environment: No leftover files, no accidental "
"removals, no changes of existing configuration files."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:186
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:215
msgid "Verify [.filename]#pkg-plist# for missing or superfluous entries"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:187
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:216
msgid ""
"Ports committers sometimes ask for a poudriere log alongside a patch "
"submission to assess whether the patch is ready for integration into the "
"ports tree"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:190
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:219
msgid ""
"It is also quite straightforward to set up and use, has no dependencies, and "
"will run on any supported FreeBSD release. This section shows how to "
"install, configure, and run poudriere as part of the normal workflow of a "
"ports contributor."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:195
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:224
msgid ""
"The examples in this section show a default file layout, as standard in "
"FreeBSD. Substitute any local changes accordingly. The ports tree, "
"represented by `${PORTSDIR}`, is located in [.filename]#/usr/ports#. Both "
"`${LOCALBASE}` and `${PREFIX}` are [.filename]#/usr/local# by default."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:197
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:226
#, no-wrap
msgid "Installing poudriere"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:201
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:230
msgid ""
"poudriere is available in the ports tree in package:ports-mgmt/poudriere[]. "
"It can be installed using man:pkg[8] or from ports:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:205
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:234
#, no-wrap
msgid "# pkg install poudriere\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:208
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:237
msgid "or"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:212
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:241
#, no-wrap
msgid "# make -C /usr/ports/ports-mgmt/poudriere install clean\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:223
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:252
msgid ""
"There is also a work-in-progress version of poudriere which will eventually "
"become the next release. It is available in package:ports-mgmt/poudriere-"
"devel[]. This development version is used for the official FreeBSD package "
"builds, so it is well tested. It often has newer interesting features. A "
"ports committer will want to use the development version because it is what "
"is used in production, and has all the new features that will make sure "
"everything is exactly right. A contributor will not necessarily need those "
"as the most important fixes are backported to released version. The main "
"reason for the use of the development version to build the official package "
"is because it is faster, in a way that will shorten a full build from 18 "
"hours to 17 hours when using a high end 32 CPU server with 128GB of RAM. "
"Those optimizations will not matter a lot when building ports on a desktop "
"machine."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:225
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:254
#, no-wrap
msgid "Setting Up poudriere"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:230
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:259
msgid ""
"The port installs a default configuration file, [.filename]#/usr/local/etc/"
"poudriere.conf#. Each parameter is documented in the configuration file and "
"in man:poudriere[8]. Here is a minimal example config file:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:237
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:266
#, no-wrap
msgid ""
-"ZPOOL=tank\n"
-"BASEFS=/poudriere\n"
+"ZPOOL=zroot\n"
+"BASEFS=/usr/local/poudriere\n"
"DISTFILES_CACHE=/usr/ports/distfiles\n"
"RESOLV_CONF=/etc/resolv.conf\n"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:239
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:268
#, no-wrap
msgid "`ZPOOL`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:242
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:271
msgid ""
"The name of the ZFS storage pool which poudriere shall use. Must be listed "
"in the output of `zpool status`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:243
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:272
#, no-wrap
msgid "`BASEFS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:246
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:275
msgid ""
"The root mount point for poudriere file systems. This entry will cause "
"poudriere to mount `tank/poudriere` to `/poudriere`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:247
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:276
#, no-wrap
msgid "`DISTFILES_CACHE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:252
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:281
msgid ""
"Defines where distfiles are stored. In this example, poudriere and the host "
"share the distfiles storage directory. This avoids downloading tarballs "
"which are already present on the system. Please create this directory if it "
"does not already exist so that poudriere can find it."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:253
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:282
#, no-wrap
msgid "`RESOLV_CONF`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:258
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:287
msgid ""
"Use the host [.filename]#/etc/resolv.conf# inside jails for DNS. This is "
"needed so jails can resolve the URLs of distfiles when downloading. It is "
"not needed when using a proxy. Refer to the default configuration file for "
"proxy configuration."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:260
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:289
#, no-wrap
msgid "Creating poudriere Jails"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:263
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:292
msgid "Create the base jails which poudriere will use for building:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:267
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:296
#, no-wrap
msgid "# poudriere jail -c -j 131Ramd64 -v 13.1-RELEASE -a amd64\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:272
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:301
msgid ""
"Fetch a `13.1-RELEASE` for `amd64` from the FTP server given by "
"`FREEBSD_HOST` in [.filename]#poudriere.conf#, create the zfs file system "
"`tank/poudriere/jails/131Ramd64`, mount it on [.filename]#/poudriere/"
"jails/131Ramd64# and extract the `13.1-RELEASE` tarballs into this file "
"system."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:276
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:305
#, no-wrap
msgid "# poudriere jail -c -j 12i386 -v stable/12 -a i386 -m git+https\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:281
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:310
msgid ""
"Create `tank/poudriere/jails/12i386`, mount it on [.filename]#/poudriere/"
"jails/12i386#, then check out the tip of the Git branch of `FreeBSD-12-"
"STABLE` from `GIT_HOST` in [.filename]#poudriere.conf# or the default `git."
"freebsd.org` into [.filename]#/poudriere/jails/12i386/usr/src#, then "
"complete a `buildworld` and install it into [.filename]#/poudriere/"
"jails/12i386#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:287
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:316
msgid ""
"While it is possible to build a newer version of FreeBSD on an older "
"version, most of the time it will not run. For example, if a `stable/13` "
"jail is needed, the host will have to run `stable/13` too. Running `13.1-"
"RELEASE` is not enough."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:292
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:321
msgid "To create a poudriere jail for `14.0-CURRENT`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:296
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:325
#, no-wrap
msgid "# poudriere jail -c -j 14amd64 -v main -a amd64 -m git+https\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:301
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:330
msgid ""
"In order to run a `14.0-CURRENT` poudriere jail the host must be running "
"`14.0-CURRENT`. In general, newer kernels can build and run older jails. "
"For instance, a `14.0-CURRENT` kernel can build and run a `12.4-STABLE` if "
"the `COMPAT_FREEBSD12` kernel option was compiled in (on by default in `14.0-"
"CURRENT`[.filename]#GENERIC# kernel config)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:304
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:333
msgid ""
"A list of jails currently known to poudriere can be shown with `poudriere "
"jail -l`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:311
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:340
#, no-wrap
msgid ""
"# poudriere jail -l\n"
"JAILNAME VERSION ARCH METHOD\n"
"131Ramd64 13.1-RELEASE amd64 ftp\n"
"12i386 12.4-STABLE i386 git+https\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:314
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:343
#, no-wrap
msgid "Keeping poudriere Jails Updated"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:318
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:347
msgid "Managing updates is very straightforward. The command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:322
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:351
#, no-wrap
msgid "# poudriere jail -u -j JAILNAME\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:329
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:358
msgid ""
"updates the specified jail to the latest version available. pass:[<!-- vale "
"Vale.Terms = NO -->] For FreeBSD releases, update to the latest patchlevel "
"with man:freebsd-update[8]. pass:[<!-- vale Vale.Terms = YES -->] For "
"FreeBSD versions built from source, update to the latest git revision in the "
"branch."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:334
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:363
msgid ""
"For jails employing a `git+*` method, it is helpful to add `-J "
"_NumberOfParallelBuildJobs_` to speed up the build by increasing the number "
"of parallel compile jobs used. For example, if the building machine has 6 "
"CPUs, use:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:338
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:367
#, no-wrap
msgid "# poudriere jail -u -J 6 -j JAILNAME\n"
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:343
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:372
#, no-wrap
msgid "Setting Up Ports Trees for Use with poudriere"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:347
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:376
msgid ""
"There are multiple ways to use ports trees in poudriere. The most "
"straightforward way is to have poudriere create a default ports tree for "
"itself, using link:{handbook}mirrors/#git[Git]:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:351
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:380
#, no-wrap
msgid "# poudriere ports -c -m git+https -B main\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:355
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:384
msgid ""
"These commands create `tank/poudriere/ports/default`, mount it on [."
"filename]#/poudriere/ports/default#, and populate it using Git. Afterward "
"it is included in the list of known ports trees:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:361
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:390
#, no-wrap
msgid ""
"# poudriere ports -l\n"
"PORTSTREE METHOD TIMESTAMP PATH\n"
"default git+https 2020-07-20 04:23:56 /poudriere/ports/default\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:368
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:397
msgid ""
"Note that the \"default\" ports tree is special. Each of the build commands "
"explained later will implicitly use this ports tree unless specifically "
"specified otherwise. To use another tree, add `-p _treename_` to the "
"commands."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:373
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:402
msgid ""
"The best way to deal with local modifications for a ports contributor is to "
"use link:{handbook}mirrors/#git[Git]. As with the creation of jails, it is "
"possible to use a different method for creating the ports tree. To add an "
"additional ports tree for testing local modifications and ports development, "
"checking out the tree via git (as described above) is preferable."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:375
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:404
#, no-wrap
msgid "Using Manually Managed Ports Trees with poudriere"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:379
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:408
msgid ""
"Depending on the workflow, it can be extremely helpful to use ports trees "
"which are maintained manually. For instance, if there is a local copy of "
"the ports tree in [.filename]#/work/ports#, point poudriere to the location:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:383
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:412
#, no-wrap
msgid "# poudriere ports -c -m null -M /work/ports -p development\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:386
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:415
msgid "This will be listed in the table of known trees:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:392
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:421
#, no-wrap
msgid ""
"# poudriere ports -l\n"
"PORTSTREE METHOD TIMESTAMP PATH\n"
"development null 2020-07-20 05:06:33 /work/ports\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:398
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:427
msgid ""
"The dash or `null` in the `METHOD` column means that poudriere will not "
"update or change this ports tree, ever. It is completely up to the user to "
"maintain this tree, including all local modifications that may be used for "
"testing new ports and submitting patches."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:401
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:430
#, no-wrap
msgid "Keeping poudriere Ports Trees Updated"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:404
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:433
msgid "As straightforward as with jails described earlier:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:408
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:437
#, no-wrap
msgid "# poudriere ports -u -p PORTSTREE\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:411
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:440
msgid ""
"Will update the given _PORTSTREE_, one tree given by the output of "
"`poudriere -l`, to the latest revision available on the official servers."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:415
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:444
msgid ""
"Ports trees without a method, see <<testing-poudriere-ports-tree-manual>>, "
"cannot be updated like this and must be updated manually by the porter."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:418
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:447
#, no-wrap
msgid "Testing Ports"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:421
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:450
msgid ""
"After jails and ports trees have been set up, the result of a contributor's "
"modifications to the ports tree can be tested."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:423
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:452
msgid ""
"For example, local modifications to the package:www/firefox[] port located "
"in [.filename]#/work/ports/www/firefox# can be tested in the previously "
"created 13.1-RELEASE jail:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:427
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:456
#, no-wrap
msgid "# poudriere testport -j 131Ramd64 -p development -o www/firefox\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:433
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:462
msgid ""
"This will build all dependencies of Firefox. If a dependency has been built "
"previously and is still up-to-date, the pre-built package is installed. If "
"a dependency has no up-to-date package, one will be built with default "
"options in a jail. Then Firefox itself is built."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:435
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:464
msgid ""
"The complete build of every port is logged to [.filename]#/poudriere/data/"
"logs/bulk/131Ri386-development/build-time/logs#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:440
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:469
msgid ""
"The directory name `131Ri386-development` is derived from the arguments to `-"
"j` and `-p`, respectively. For convenience, a symbolic link [.filename]#/"
"poudriere/data/logs/bulk/131Ri386-development/latest# is also maintained. "
"The link points to the latest _build-time_ directory. Also in this "
"directory is an [.filename]#index.html# for observing the build process with "
"a web browser."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:443
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:472
msgid ""
"By default, poudriere cleans up the jails and leaves log files in the "
"directories mentioned above. To ease investigation, jails can be kept "
"running after the build by adding `-i` to `testport`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:447
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:476
#, no-wrap
msgid "# poudriere testport -j 131Ramd64 -p development -i -o www/firefox\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:454
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:483
msgid ""
"After the build completes, and regardless of whether it was successful, a "
"shell is provided within the jail. The shell is used to investigate "
"further. poudriere can be told to leave the jail running after the build "
"finishes with `-I`. poudriere will show the command to run when the jail is "
"no longer needed. It is then possible to man:jexec[8] into it:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:468
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:497
#, no-wrap
msgid ""
"# poudriere testport -j 131Ramd64 -p development -I -o www/firefox\n"
"[...]\n"
"====>> Installing local Pkg repository to /usr/local/etc/pkg/repos\n"
"====>> Leaving jail 131Ramd64-development-n running, mounted at /poudriere/data/.m/131Ramd64-development/ref for interactive run testing\n"
"====>> To enter jail: jexec 131Ramd64-development-n env -i TERM=$TERM /usr/bin/login -fp root\n"
"====>> To stop jail: poudriere jail -k -j 131Ramd64 -p development\n"
"# jexec 131Ramd64-development-n env -i TERM=$TERM /usr/bin/login -fp root\n"
"# [do some stuff in the jail]\n"
"# exit\n"
"# poudriere jail -k -j 131Ramd64 -p development\n"
"====>> Umounting file systems\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:473
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:502
msgid ""
"An integral part of the FreeBSD ports build infrastructure is the ability to "
"tweak ports to personal preferences with options. These can be tested with "
"poudriere as well. Adding the `-c`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:477
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:506
#, no-wrap
msgid "# poudriere testport -c -o www/firefox\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:482
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:511
msgid ""
"Presents the port configuration dialog before the port is built. The ports "
"given after `-o` in the format `_category_/_portname_` will use the "
"specified options, all dependencies will use the default options. Testing "
"dependent ports with non-default options can be accomplished using sets, see "
"<<testing-poudriere-sets>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:487
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:516
msgid ""
"When testing ports where [.filename]#pkg-plist# is altered during build "
"depending on the selected options, it is recommended to perform a test run "
"with all options selected _and_ one with all options deselected."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:490
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:519
#, no-wrap
msgid "Using Sets"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:495
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:524
msgid ""
"For all actions involving builds, a so-called _set_ can be specified using `-"
"z _setname_`. A set refers to a fully independent build. This allows, for "
"instance, usage of `testport` with non-standard options for the dependent "
"ports."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:501
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:530
msgid ""
"To use sets, poudriere expects an existing directory structure similar to "
"`PORT_DBDIR`, defaults to [.filename]#/var/db/ports# in its configuration "
"directory. This directory is then man:nullfs[5]-mounted into the jails "
"where the ports and their dependencies are built. Usually a suitable "
"starting point can be obtained by recursively copying the existing "
"`PORT_DBDIR` to [.filename]#/usr/local/etc/poudriere.d/jailname-portname-"
"setname-options#. This is described in detail in man:poudriere[8]. For "
"instance, testing package:www/firefox[] in a specific set named `devset`, "
"add the `-z devset` parameter to the `testport` command:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:505
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:549
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:534
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:578
#, no-wrap
msgid "# poudriere testport -j 131Ramd64 -p development -z devset -o www/firefox\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:508
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:537
msgid "This will look for the existence of these directories in this order:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:510
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:539
msgid ""
"[.filename]#/usr/local/etc/poudriere.d/131Ramd64-development-devset-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:511
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:540
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-devset-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:512
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:541
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-development-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:513
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:542
msgid "[.filename]#/usr/local/etc/poudriere.d/devset-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:514
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:543
msgid "[.filename]#/usr/local/etc/poudriere.d/development-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:515
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:544
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:516
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:545
msgid "[.filename]#/usr/local/etc/poudriere.d/options#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:519
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:548
msgid ""
"From this list, poudriere man:nullfs[5]-mounts the _first existing_ "
"directory tree into the [.filename]#/var/db/ports# directory of the build "
"jails. Hence, all custom options are used for all the ports during this run "
"of `testport`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:522
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:551
msgid ""
"After the directory structure for a set is provided, the options for a "
"particular port can be altered. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:526
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:555
#, no-wrap
msgid "# poudriere options -c www/firefox -z devset\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:530
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:559
msgid ""
"The configuration dialog for package:www/firefox[] is shown, and options can "
"be edited. The selected options are saved to the `devset` set."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:536
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:565
msgid ""
"poudriere is very flexible in the option configuration. poudriere can be "
"set for particular jails, ports trees, and for multiple ports by one "
"command. Refer to man:poudriere[8] for details."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:539
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:568
#, no-wrap
msgid "Providing a Custom [.filename]#make.conf# File"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:545
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:574
msgid ""
"Similar to using sets, poudriere will also use a custom [.filename]#make."
"conf# if it is provided. No special command line argument is necessary. "
"Instead, poudriere looks for existing files matching a name scheme derived "
"from the command line. For instance:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:552
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:581
msgid ""
"causes poudriere to check for the existence of these files in this order:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:554
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:583
msgid "[.filename]#/usr/local/etc/poudriere.d/make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:555
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:584
msgid "[.filename]#/usr/local/etc/poudriere.d/devset-make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:556
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:585
msgid "[.filename]#/usr/local/etc/poudriere.d/development-make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:557
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:586
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:558
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:587
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-development-make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:559
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:588
msgid "[.filename]#/usr/local/etc/poudriere.d/131Ramd64-devset-make.conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:560
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:589
msgid ""
"[.filename]#/usr/local/etc/poudriere.d/131Ramd64-development-devset-make."
"conf#"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:564
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:593
msgid ""
"Unlike with sets, all of the found files will be appended, _in that order_, "
"into one [.filename]#make.conf# inside the build jails. It is hence "
"possible to have general make variables, intended to affect all builds in [."
"filename]#/usr/local/etc/poudriere.d/make.conf#. Special variables, "
"intended to affect only certain jails or sets can be set in specialised [."
"filename]#make.conf# files, such as [.filename]#/usr/local/etc/poudriere."
"d/131Ramd64-development-devset-make.conf#."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:566
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:595
#, no-wrap
msgid "Using [.filename]#make.conf# to Change Default Perl"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:571
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:600
msgid ""
"To build a set with a non default Perl version, for example, `5.20`, using a "
"set named `perl5-20`, create a [.filename]#perl5-20-make.conf# with this "
"line:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:575
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:604
#, no-wrap
msgid "DEFAULT_VERSIONS+= perl=5.20\n"
msgstr ""
#. type: delimited block * 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:579
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:608
msgid ""
"Note the use of `+=` so that if the variable is already set in the default [."
"filename]#make.conf# its content will not be overwritten."
msgstr ""
#. type: Title ===
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:584
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:613
#, no-wrap
msgid "Pruning no Longer Needed Distfiles"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:588
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:617
msgid ""
"poudriere comes with a built-in mechanism to remove outdated distfiles that "
"are no longer used by any port of a given tree. The command"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:592
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:621
#, no-wrap
msgid "# poudriere distclean -p portstree\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:597
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:626
msgid ""
"will scan the distfiles folder, `DISTFILES_CACHE` in [.filename]#poudriere."
"conf#, versus the ports tree given by the `-p _portstree_` argument and "
"prompt for removal of those distfiles. To skip the prompt and remove all "
"unused files unconditionally, the `-y` argument can be added:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/testing/_index.adoc:601
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:630
#, no-wrap
msgid "# poudriere distclean -p portstree -y\n"
msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:633
+#, no-wrap
+msgid "Debugging ports"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:640
+msgid ""
+"Sometimes things go wrong and the port fails at run time. The framework "
+"provides some facilities to help in debugging ports. These helpers are "
+"limited since the way of debugging a port heavily depends on the technology "
+"used. The following variables help with debugging ports:"
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:642
+msgid "`WITH_DEBUG`. If set, ports are built with debugging symbols."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:643
+msgid ""
+"`WITH_DEBUG_PORTS`. Specifies a list of ports to be built with `WITH_DEBUG` "
+"set."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:644
+msgid ""
+"`DEBUG_FLAGS`. Used to specify additional flags to `CFLAGS`. Defaults to `-"
+"g`."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:647
+msgid ""
+"When `WITH_DEBUG` is set, either globally or for a list of ports, the "
+"resulting binaries are not stripped."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:650
+msgid ""
+"These variables can be specified in [.filename]#make.conf# or in the command "
+"line:"
+msgstr ""
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:654
+#, no-wrap
+msgid "# cd category/port && make -DWITH_DEBUG DEBUG_FLAGSS=\"-g -O0\"\n"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:662
+msgid ""
+"If the port is built using package:ports-mgmt/poudriere[] the debugging "
+"variables must be specified in poudriere's [.filename]#make.conf# and not in "
+"[.filename]#/etc/make.conf#. Refer to package:ports-mgmt/poudriere[] "
+"documentation for details."
+msgstr ""
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/testing/_index.adoc:666
+msgid ""
+"Please refer to the debugging information in the extref:{developers-handbook}"
+"[Developer's Handbook, debugging] for more details about the debugging tools "
+"available."
+msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/upgrading/_index.po b/documentation/content/en/books/porters-handbook/upgrading/_index.po
index 57923aec44..263f1a4291 100644
--- a/documentation/content/en/books/porters-handbook/upgrading/_index.po
+++ b/documentation/content/en/books/porters-handbook/upgrading/_index.po
@@ -1,513 +1,513 @@
# 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: 2023-07-15 16:42-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Upgrading a FreeBSD Port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Chapter 11. Upgrading a Port"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:13
#, no-wrap
msgid "Upgrading a Port"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:52
msgid ""
"When a port is not the most recent version available from the authors, "
"update the local working copy of [.filename]#/usr/ports#. The port might "
"have already been updated to the new version."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:56
msgid ""
"When working with more than a few ports, it will probably be easier to use "
-"Git to keep the whole ports collection up-to-date, as described in the "
-"extref:{handbook}[Handbook, ports-using]. This will have the added benefit "
-"of tracking all the port's dependencies."
+"Git to keep the whole ports collection up-to-date, as described in extref:"
+"{handbook}ports[Using the Ports Collection, ports-using]. This will have "
+"the added benefit of tracking all the port's dependencies."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:61
msgid ""
"The next step is to see if there is an update already pending. To do this, "
"there are two options. There is a searchable interface to the https://bugs."
"freebsd.org/search/[FreeBSD Problem Report (PR) or bug database]. Select "
"`Ports & Packages` in the `Product` multiple select menu, and enter the name "
"of the port in the `Summary` field."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:65
msgid ""
"If there is no pending PR, the next step is to send an email to the port's "
"maintainer, as shown by `make maintainer`. That person may already be "
"working on an upgrade, or have a reason to not upgrade the port right now "
"(because of, for example, stability problems of the new version), and there "
"is no need to duplicate their work. Note that unmaintained ports are listed "
"with a maintainer of `ports@FreeBSD.org`, which is just the general ports "
"mailing list, so sending mail there probably will not help in this case."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:67
msgid ""
"If the maintainer asks you to do the upgrade or there is no maintainer, then "
"help out FreeBSD by preparing the update! Please do this by using the man:"
"diff[1] command in the base system."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:69
msgid ""
"To create a suitable `diff` for a single patch, copy the file that needs "
"patching to [.filename]#something.orig#, save the changes to [."
"filename]#something# and then create the patch:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:73
#, no-wrap
msgid "% diff -u something.orig something > something.diff\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:80
msgid ""
"Otherwise, either use the `git diff` method (<<git-diff>>) or copy the "
"contents of the port to an entire different directory and use the result of "
"the recursive man:diff[1] output of the new and old ports directories (for "
"example, if the modified port directory is called [.filename]#superedit# and "
"the original is in our tree as [.filename]#superedit.bak#, then save the "
"result of `diff -ruN superedit.bak superedit`). Either unified or context "
"diff is fine, but port committers generally prefer unified diffs. Note the "
"use of the `-N` option-this is the accepted way to force diff to properly "
"deal with the case of new files being added or old files being deleted. "
"Before sending us the diff, please examine the output to make sure all the "
"changes make sense. (In particular, make sure to first clean out the work "
"directories with `make clean`)."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:84
msgid ""
"If some files have been added, copied, moved, or removed, add this "
"information to the problem report so that the committer picking up the patch "
"will know what man:git[1] commands to run."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:89
msgid ""
"To simplify common operations with patch files, use `make makepatch` as "
"described in crossref:slow-porting[slow-patch,Patching]. Other tools "
"exists, like [.filename]#/usr/ports/Tools/scripts/patchtool.py#. Before "
"using it, please read [.filename]#/usr/ports/Tools/scripts/README.patchtool#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:93
msgid ""
"If the port is unmaintained, and you are actively using it, please consider "
"volunteering to become its maintainer. FreeBSD has over 4000 ports without "
"maintainers, and this is an area where more volunteers are always needed. "
"(For a detailed description of the responsibilities of maintainers, refer to "
"the section in the extref:{developers-handbook}[Developer's Handbook, "
"POLICIES-MAINTAINER].)"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:99
msgid ""
"To submit the diff, use the https://bugs.freebsd.org/submit/[bug submit "
"form] (product `Ports & Packages`, component `Individual Port(s)`). Always "
"include the category with the port name, followed by colon, and brief "
"description of the issue. Examples: `_category/portname_: _add FOO "
"option_`; `_category/portname_: _Update to X.Y_`. Please mention any added "
"or deleted files in the message, as they have to be explicitly specified to "
"man:git[1] when doing a commit. Do not compress or encode the diff."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:102
msgid ""
"Before submitting the bug, review the extref:{problem-reports}[Writing the "
"problem report, pr-writing] section in the Problem Reports article. It "
"contains far more information about how to write useful problem reports."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:108
msgid ""
"If the upgrade is motivated by security concerns or a serious fault in the "
"currently committed port, please notify the {portmgr} to request immediate "
"rebuilding and redistribution of the port's package. Unsuspecting users of "
"`pkg` will otherwise continue to install the old version via `pkg install` "
"for several weeks."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:115
msgid ""
"Please use man:diff[1] or `git diff` to create updates to existing ports. "
"Other formats include the whole file and make it impossible to see just what "
"has changed. When diffs are not included, the entire update might be "
"ignored."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:118
msgid ""
"Now that all of that is done, read about how to keep up-to-date in crossref:"
"keeping-up[keeping-up,Keeping Up]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:120
#, no-wrap
msgid "Using Git to Make Patches"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:129
msgid ""
"When possible, please submit a man:git[1] patch or diff. They are easier to "
"handle than diffs between \"new and old\" directories. It is easier to see "
"what has changed, and to update the diff if something was modified in the "
"Ports Collection since the work on it began, or if the committer asks for "
"something to be fixed. Also, a patch generated with man:git-format-patch[1] "
"or man:git-diff[1] can be easily applied with man:git-am[1] or man:git-"
"apply[1] and will save some time for the committer. Finally, the git patch "
"generated by man:git-format-patch[1] includes your author information and "
"commit messages. These will be recorded in the log of the repository and "
"this is the recommended way to submit your changes."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:134
#, no-wrap
msgid ""
"% git clone https://git.FreeBSD.org/ports.git ~/my_wrkdir <.> <.>\n"
"% cd ~/my_wrkdir\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:137
msgid ""
"This can be anywhere, of course. Building ports is not limited to within [."
"filename]#/usr/ports/#."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:139
msgid ""
"https://git.FreeBSD.org/[git.FreeBSD.org] is the FreeBSD public Git server. "
"See extref:{handbook}mirrors[FreeBSD Git Repository URL Table, git-url-"
"table] for more information."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:142
msgid ""
"While in the port directory, make any changes that are needed. If adding, "
"moving, or removing a file, use `git` to track these changes:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:148
#, no-wrap
msgid ""
"% git add new_file\n"
"% git mv old_name new_name\n"
"% git rm deleted_file\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:151
msgid ""
"Make sure to check the port using the checklist in crossref:quick-"
"porting[porting-testing,Testing the Port] and crossref:quick-porting[porting-"
"portlint,Checking the Port with `portlint`]."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:153
msgid "Also, update the checksum reference in distinfo with `make makesum`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:157
msgid ""
"Before making the patch, fetch the latest repository and rebase the changes "
"on top of it. Watch and follow the output carefully. If any of the files "
"failed to rebase, it means that the upstream files changed while you were "
"editing the same file, and the conflicts need to be resolved manually."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:162
#, no-wrap
msgid ""
"% git fetch origin main\n"
"% git rebase origin/main\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:165
msgid "Check the changes staged for the patch:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:170
#, no-wrap
msgid ""
"% git status\n"
"% git diff --staged\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:173
msgid "The last step is to make an unified diff or patch of the changes:"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:175
msgid "To generate a patch with man:git-format-patch[1]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:180
#, no-wrap
msgid ""
"% git checkout -b my_branch\n"
"% git commit\n"
"% git format-patch main\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:186
msgid ""
"This will generate a patch named like `0001-foo.patch`. This is the "
"preferred way as it would include author identity, and it is also easier "
"when you are making a series of changes that are not meant to be squashed "
"together."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:188
msgid "Alternatively, to generate an unified diff with man:git-diff[1]:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:191
#, no-wrap
msgid "% git diff --staged > ../`make -VPKGNAME`.diff\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:194
msgid ""
"This will generate a diff named like `foo-1.2.3.diff`. Where `foo` is "
"replaced with the first line of the commit message, i.e., the subject of the "
"commit message."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:196
msgid ""
"After patch has been created, you can switch to the main branch for starting "
"other developments."
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:199
#, no-wrap
msgid "% git checkout main\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:202
msgid ""
"Once the patch is accepted and merged, you can delete the local development "
"branch if you want:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:205
#, no-wrap
msgid "% git branch -D my_branch\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:212
msgid ""
"If files have been added, moved, or removed, include the man:git[1] `add`, "
"`mv`, and `rm` commands that were used. `git mv` must be run before the "
"patch can be applied. `git add` or `git rm` must be run after the patch is "
"applied."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:215
msgid ""
"Send the patch following the extref:{problem-reports}[problem report "
"submission guidelines, pr-writing]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:217
#, no-wrap
msgid "UPDATING and MOVED"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:220
#, no-wrap
msgid "/usr/ports/UPDATING"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:224
msgid ""
"If upgrading the port requires special steps like changing configuration "
"files or running a specific program, it must be documented in this file. "
"The format of an entry in this file is:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:230
#, no-wrap
msgid ""
"YYYYMMDD:\n"
" AFFECTS: users of portcategory/portname\n"
" AUTHOR: Your name <Your email address>\n"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:232
#, no-wrap
msgid " Special instructions\n"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:239
msgid ""
"When including exact portmaster, portupgrade, and/or pkg instructions, "
"please make sure to get the shell escaping right. For example, do _not_ use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:243
#, no-wrap
msgid "# pkg delete -g -f docbook-xml* docbook-sk* docbook[2345]??-* docbook-4*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:247
msgid ""
"As shown, the command will only work with bourne shells. Instead, use the "
"form shown below, which will work with both bourne shell and c-shell:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:251
#, no-wrap
msgid "# pkg delete -g -f docbook-xml\\* docbook-sk\\* docbook\\[2345\\]\\?\\?-\\* docbook-4\\*\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:259
msgid ""
"It is recommended that the AFFECTS line contains a glob matching all the "
"ports affected by the entry so that automated tools can parse it as easily "
"as possible. If an update concerns all the existing BIND 9 versions the "
"`AFFECTS` content must be `users of dns/bind9*`, it must _not_ be `users of "
"BIND 9`"
msgstr ""
#. type: Title ===
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:262
#, no-wrap
msgid "/usr/ports/MOVED"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:268
msgid ""
"This file is used to list moved or removed ports. Each line in the file is "
"made up of the name of the port, where the port was moved, when, and why. "
"If the port was removed, the section detailing where it was moved can be "
"left blank. Each section must be separated by the `|` (pipe) character, "
"like so:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:272
#, no-wrap
msgid "old name|new name (blank for deleted)|date of move|reason\n"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:276
msgid ""
"The date must be entered in the form `YYYY-MM-DD`. New entries are added to "
"the end of the list to keep it in chronological order, with the oldest entry "
"at the top of the list."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:278
msgid ""
"If a port was removed but has since been restored, delete the line in this "
"file that states that it was removed."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:280
msgid ""
"If a port was renamed and then renamed back to its original name, add a new "
"one with the intermediate name to the old name, and remove the old entry as "
"to not create a loop."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:284
msgid "Any changes must be validated with `Tools/scripts/MOVEDlint.awk`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:286
msgid "If using a ports directory other than [.filename]#/usr/ports#, use:"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:291
#, no-wrap
msgid ""
"% cd /home/user/ports\n"
"% env PORTSDIR=$PWD Tools/scripts/MOVEDlint.awk\n"
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/uses/_index.po b/documentation/content/en/books/porters-handbook/uses/_index.po
index 23bee67b99..c5cb41d1e1 100644
--- a/documentation/content/en/books/porters-handbook/uses/_index.po
+++ b/documentation/content/en/books/porters-handbook/uses/_index.po
@@ -1,6505 +1,6576 @@
# 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: 2023-04-20 20:56-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/uses/_index.adoc:1
#, no-wrap
msgid "USES macros make it easy to declare requirements and settings for a FreeBSD Port"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1
#, no-wrap
msgid "Chapter 17. Using USES Macros"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:13
#, no-wrap
msgid "Using `USES` Macros"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:51
#, no-wrap
msgid "An Introduction to `USES`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:55
msgid ""
"`USES` macros make it easy to declare requirements and settings for a port. "
"They can add dependencies, change building behavior, add metadata to "
"packages, and so on, all by selecting simple, preset values."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:59
msgid ""
"Each section in this chapter describes a possible value for `USES`, along "
"with its possible arguments. Arguments are appended to the value after a "
"colon (`:`). Multiple arguments are separated by commas (`,`)."
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:61
#, no-wrap
msgid "Using Multiple Values"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:67
#, no-wrap
msgid "USES=\tbison perl\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:71
#, no-wrap
msgid "Adding an Argument"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:77
#, no-wrap
msgid "USES=\ttar:xz\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:81
#, no-wrap
msgid "Adding Multiple Arguments"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:87
#, no-wrap
msgid "USES=\tdrupal:7,theme\n"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:91
#, no-wrap
msgid "Mixing it All Together"
msgstr ""
#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:97
#, no-wrap
msgid "USES=\tpgsql:9.3+ cpe python:2.7,build\n"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:101
#, no-wrap
msgid "`7z`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:104
msgid "Possible arguments: (none), `p7zip`, `partial`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:108
msgid ""
"Extract using man:7z[1] instead of man:bsdtar[1] and sets "
"`EXTRACT_SUFX=.7z`. The `p7zip` option forces a dependency on the `7z` from "
"package:archivers/p7zip[] if the one from the base system is not able to "
"extract the files. `EXTRACT_SUFX` is not changed if the `partial` option is "
"used, this can be used if the main distribution file does not have a [."
"filename]#.7z# extension."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:110
#, no-wrap
msgid "`ada`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:113
msgid "Possible arguments: (none), `5`, `6`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:117
msgid ""
"Depends on an Ada-capable compiler, and sets `CC` accordingly. Defaults to "
"use gcc 5 from ports. Use the `:_X_` version option to force building with "
"a different version."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:119
#, no-wrap
msgid "`autoreconf`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:122
msgid "Possible arguments: (none), `build`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:129
msgid ""
"Runs `autoreconf`. It encapsulates the `aclocal`, `autoconf`, `autoheader`, "
"`automake`, `autopoint`, and `libtoolize` commands. Each command applies to "
"[.filename]#${AUTORECONF_WRKSRC}/configure.ac# or its old name, [."
"filename]#${AUTORECONF_WRKSRC}/configure.in#. If [.filename]#configure.ac# "
"defines subdirectories with their own [.filename]#configure.ac# using "
"`AC_CONFIG_SUBDIRS`, `autoreconf` will recursively update those as well. "
"The `:build` argument only adds build time dependencies on those tools but "
"does not run `autoreconf`. A port can set `AUTORECONF_WRKSRC` if `WRKSRC` "
"does not contain the path to [.filename]#configure.ac#."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:131
#, no-wrap
msgid "`blaslapack`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:134
msgid ""
"Possible arguments: (none), `atlas`, `netlib` (default), `gotoblas`, "
"`openblas`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:136
msgid "Adds dependencies on Blas / Lapack libraries."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:138
#, no-wrap
msgid "`bdb`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:141
msgid "Possible arguments: (none), `48`, `5` (default), `6`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:148
msgid ""
"Add dependency on the Berkeley DB library. Default to package:databases/"
"db5[]. It can also depend on package:databases/db48[] when using the `:48` "
"argument or package:databases/db6[] with `:6`. It is possible to declare a "
"range of acceptable values, `:48+` finds the highest installed version, and "
"falls back to 4.8 if nothing else is installed. `INVALID_BDB_VER` can be "
"used to specify versions which do not work with this port. The framework "
"exposes the following variables to the port:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:149
#, no-wrap
msgid "`BDB_LIB_NAME`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:152
msgid ""
"The name of the Berkeley DB library. For example, when using package:"
"databases/db5[], it contains `db-5.3`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:153
#, no-wrap
msgid "`BDB_LIB_CXX_NAME`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:156
msgid ""
"The name of the Berkeley DBC++ library. For example, when using package:"
"databases/db5[], it contains `db_cxx-5.3`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:157
#, no-wrap
msgid "`BDB_INCLUDE_DIR`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:160
msgid ""
"The location of the Berkeley DB include directory. For example, when using "
"package:databases/db5[], it will contain `${LOCALBASE}/include/db5`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:161
#, no-wrap
msgid "`BDB_LIB_DIR`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:164
msgid ""
"The location of the Berkeley DB library directory. For example, when using "
"package:databases/db5[], it contains `${LOCALBASE}/lib`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:165
#, no-wrap
msgid "`BDB_VER`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:168
msgid ""
"The detected Berkeley DB version. For example, if using `USES=bdb:48+` and "
"Berkeley DB 5 is installed, it contains `5`."
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:173
msgid ""
"package:databases/db48[] is deprecated and unsupported. It must not be used "
"by any port."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:176
#, no-wrap
msgid "`bison`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:179
msgid "Possible arguments: (none), `build`, `run`, `both`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:181
msgid ""
"Uses package:devel/bison[] By default, with no arguments or with the `build` "
"argument, it implies `bison` is a build-time dependency, `run` implies a run-"
"time dependency, and `both` implies both run-time and build-time "
"dependencies."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:183
#, no-wrap
msgid "`budgie`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:186
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:272
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:281
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:332
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:361
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:370
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:386
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:418
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:464
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:521
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:557
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:590
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:597
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:751
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:822
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:927
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1001
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1008
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1016
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1184
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1203
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1210
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1217
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1256
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1264
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1307
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1325
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1353
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1378
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1400
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1827
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1835
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1844
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2073
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2081
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2136
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2205
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:432
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:478
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:535
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:571
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:604
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:611
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:765
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:836
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:958
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1032
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1039
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1047
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1215
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1234
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1241
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1248
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1287
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1295
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1338
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1356
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1384
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1409
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1431
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1858
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1866
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1875
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2104
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2112
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2167
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2236
msgid "Possible arguments: (none)"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:190
msgid ""
"Provide support for the Budgie desktop environment. Use `USE_BUDGIE` to "
"select the components needed for the port. See crossref:special[using-"
"budgie,Using Budgie] for more information."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:192
#, no-wrap
msgid "`cabal`"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:197
msgid ""
"Ports should not be created for Haskell libraries, see crossref:"
"special[haskell-libs,Haskell Libraries] for more information."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:200
msgid "Possible arguments: (none), `hpack`, `nodefault`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:208
msgid ""
"Sets default values and targets used to build Haskell software using Cabal. "
"A build dependency on the Haskell compiler port (package:lang/ghc[]) is "
"added. If there is some other version of GHC already listed in the "
"`BUILD_DEPENDS` variable (for example, package:lang/ghc810[]), it would be "
"used instead. If the `hpack` argument is given, a build dependency on "
"package:devel/hs-hpack[] is added and `hpack` is invoked at configuration "
"step to generate .cabal file. If the `nodefault` argument is given, the "
"framework will not try to pull the main distribution file from the Hackage. "
"This argument is implicitly added if `USE_GITHUB` or `USE_GITLAB` is present."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:210
msgid "The framework provides the following variables:"
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:211
#, no-wrap
msgid "`CABAL_REVISION`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:214
msgid ""
"Haskell packages hosted on Hackage may have revisions. Set this knob to an "
"integer number to pull in revised package description."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:215
#, no-wrap
msgid "`USE_CABAL`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:220
msgid ""
"If the software uses Haskell dependencies, list them in this variable. Each "
"item should be present on Hackage and be listed in form `packagename-"
"_0.1.2_`. Dependencies can have revisions too, which are specified after "
"the `_` symbol. Automatic generation of the dependency list is supported, "
"see crossref:special[using-cabal,Building Haskell Applications with `cabal`]."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:221
#, no-wrap
msgid "`CABAL_FLAGS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:226
msgid ""
"List of flags to be passed to `cabal-install` during the configuring and "
"building stage. The flags are passed verbatim. This variable is usually "
"used to enable or disable flags that are declared in the .cabal file. Pass "
"`foo` to enable the `foo` flag and `-foo` to disable it."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:227
#, no-wrap
msgid "`CABAL_EXECUTABLES`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:233
msgid ""
"List of executable files installed by the port. Default value: `${PORTNAME}"
"`. Consult the .cabal file of the project being ported to get a list of "
"possible values for this variable. Each value corresponds to an `executable` "
"stanza in the .cabal file. Items from this list are automatically added to "
"pkg-plist."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:234
#, no-wrap
msgid "`SKIP_CABAL_PLIST`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:236
msgid "If defined, do not add items from `${CABAL_EXECUTABLES}` to pkg-plist."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:237
#, no-wrap
msgid "`opt_USE_CABAL`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:239
msgid "Adds items to `${USE_CABAL}` depending on `opt` option."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:240
#, no-wrap
msgid "`opt_CABAL_EXECUTABLES`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:242
msgid "Adds items to `${CABAL_EXECUTABLES}` depending on `opt` option."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:243
#, no-wrap
msgid "`opt_CABAL_FLAGS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:247
msgid ""
"If `opt` is enabled, append the value to `${CABAL_FLAGS}`. Otherwise, "
"append `-value` to disable the flag. Note that this behavior is slightly "
"different from the plain `CABAL_FLAGS` as it does not accept values starting "
"with `-`."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:248
#, no-wrap
msgid "`CABAL_WRAPPER_SCRIPTS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:253
msgid ""
"A subset of `${CABAL_EXECUTABLES}` containing Haskell programs to be wrapped "
"into a shell script that sets `*_datadir` environment variables before "
"running the program. This also causes the actual Haskell binary to be "
"installed under `libexec/cabal/` directory. This knob is needed for Haskell "
"programs that install their data files under `share/` directory."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:254
#, no-wrap
msgid "`FOO_DATADIR_VARS`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:258
msgid ""
"List of extra Haskell packages, whose data files should be accessible by the "
"executable named `FOO`. The executable should be a part of "
"`${CABAL_WRAPPER_SCRIPTS}`. Haskell packages listed there should not have a "
"version suffix."
msgstr ""
#. type: Labeled list
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:259
#, no-wrap
msgid "`CABAL_PROJECT`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:264
msgid ""
"Some Haskell projects may already have a `cabal.project` file, which is also "
"generated by the ports framework. If that is the case, use this variable to "
"specify what to do with the original `cabal.project`. Setting this variable "
"to `remove` will cause the original file to be removed. Setting this "
"variable to `append` will:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:265
msgid ""
"Move the original file to `cabal.project.${PORTNAME}` during the `extract` "
"stage."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:267
msgid ""
"Concatenate the original `cabal.project.${PORTNAME}` and the generated "
"`cabal.project` into a single file after the `patch` stage. Using `append` "
"makes it possible to perform patching on the original file before it gets "
"merged."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:269
#, no-wrap
msgid "`cargo`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:276
msgid ""
"Uses Cargo for configuring, building, and testing. It can be used to port "
"Rust applications that use the Cargo build system. For more information see "
"crossref:special[using-cargo,Building Rust Applications with `cargo`]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:278
#, no-wrap
msgid "`charsetfix`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:285
msgid ""
"Prevents the port from installing [.filename]#charset.alias#. This must be "
"installed only by package:converters/libiconv[]. `CHARSETFIX_MAKEFILEIN` "
"can be set to a path relative to `WRKSRC` if [.filename]#charset.alias# is "
"not installed by [.filename]#${WRKSRC}/Makefile.in#."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:287
#, no-wrap
msgid "`cmake`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:290
msgid "Possible arguments: (none), `insource`, `noninja`, `run`, `testing`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:292
msgid "Use CMake for configuring the port and generating a build system."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:296
msgid ""
"By default an out-of-source build is performed, leaving the sources in "
"`WRKSRC` free from build artifacts. With the `insource` argument, an in-"
"source build will be performed instead. This argument should be an "
"exception, used only when a regular out-of-source build does not work."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:301
msgid ""
"By default Ninja (package:devel/ninja[]) is used for the build. In some "
"cases this does not work correctly. With the `noninja` argument, the build "
"will use regular `make` for builds. This argument should only be used if a "
"Ninja-based build does not work."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:303
msgid ""
"With the `run` argument, a run dependency is registered in addition to a "
"build dependency."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:306
msgid ""
"With the `testing` argument, a test-target is added that uses CTest. When "
"running tests the port will be re-configured for testing and re-built."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:308
msgid "For more information see crossref:special[using-cmake,Using `cmake`]."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:310
#, no-wrap
msgid "`compiler`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:313
msgid ""
"Possible arguments: (none), `env` (default, implicit), `{cpp}17-lang`, `{cpp}"
"14-lang`, `{cpp}11-lang`, `gcc-{cpp}11-lib`, `{cpp}11-lib`, `{cpp}0x`, "
"`c11`, `nestedfct`, `features`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:317
msgid ""
"Determines which compiler to use based on any given wishes. Use `{cpp}17-"
"lang` if the port needs a {cpp}17-capable compiler, `{cpp}14-lang` if the "
"port needs a {cpp}14-capable compiler, `{cpp}11-lang` if the port needs a "
"{cpp}11-capable compiler, `gcc-{cpp}11-lib` if the port needs the `g++` "
"compiler with a {cpp}11 library, or `{cpp}11-lib` if the port needs a {cpp}"
"11-ready standard library. If the port needs a compiler understanding {cpp}"
"0X, C11 or nested functions, the corresponding parameters should be used."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:320
msgid ""
"Use `features` to request a list of features supported by the default "
"compiler. After including [.filename]#bsd.port.pre.mk# the port can inspect "
"the results using these variables:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:322
msgid ""
"`COMPILER_TYPE`: the default compiler on the system, either gcc or clang"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:323
msgid ""
"`ALT_COMPILER_TYPE`: the alternative compiler on the system, either gcc or "
"clang. Only set if two compilers are present in the base system."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:324
msgid ""
"`COMPILER_VERSION`: the first two digits of the version of the default "
"compiler."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:325
msgid ""
"`ALT_COMPILER_VERSION`: the first two digits of the version of the "
"alternative compiler, if present."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:326
msgid "`CHOSEN_COMPILER_TYPE`: the chosen compiler, either gcc or clang"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:327
msgid ""
"`COMPILER_FEATURES`: the features supported by the default compiler. It "
"currently lists the {cpp} library."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:329
#, no-wrap
msgid "`cpe`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:336
msgid ""
"Include Common Platform Enumeration (CPE) information in package manifest as "
"a CPE 2.3 formatted string. See the https://scap.nist.gov/specifications/"
"cpe/[CPE specification] for details. To add CPE information to a port, "
"follow these steps:"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:339
msgid ""
"Search for the official CPE entry for the software product either by using "
"the NVD's https://web.nvd.nist.gov/view/cpe/search[CPE search engine] or in "
"the https://nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-"
"dictionary_v2.3.xml.gz[official CPE dictionary] (warning, very large XML "
"file). _Do not ever make up CPE data._"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:340
msgid ""
"Add `cpe` to `USES` and compare the result of `make -V CPE_STR` to the CPE "
"dictionary entry. Continue one step at a time until `make -V CPE_STR` is "
"correct."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:341
msgid ""
"If the product name (second field, defaults to `PORTNAME`) is incorrect, "
"define `CPE_PRODUCT`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:342
msgid ""
"If the vendor name (first field, defaults to `CPE_PRODUCT`) is incorrect, "
"define `CPE_VENDOR`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:343
msgid ""
"If the version field (third field, defaults to `PORTVERSION`) is incorrect, "
"define `CPE_VERSION`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:344
msgid ""
"If the update field (fourth field, defaults to empty) is incorrect, define "
"`CPE_UPDATE`."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:345
msgid ""
"If it is still not correct, check [.filename]#Mk/Uses/cpe.mk# for additional "
"details, or contact the {ports-secteam}."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:346
msgid ""
"Derive as much as possible of the CPE name from existing variables such as "
"`PORTNAME` and `PORTVERSION`. Use variable modifiers to extract the relevant "
"portions from these variables rather than hardcoding the name."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:347
msgid ""
"_Always_ run `make -V CPE_STR` and check the output before committing "
"anything that changes `PORTNAME` or `PORTVERSION` or any other variable "
"which is used to derive `CPE_STR`."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:349
#, no-wrap
msgid "`cran`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:352
msgid "Possible arguments: (none), `auto-plist`, `compiles`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:356
msgid ""
"Uses the Comprehensive R Archive Network. Specify `auto-plist` to "
"automatically generate [.filename]#pkg-plist#. Specify `compiles` if the "
"port has code that need to be compiled."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:358
#, no-wrap
msgid "`desktop-file-utils`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:365
msgid ""
"Uses update-desktop-database from package:devel/desktop-file-utils[]. An "
"extra post-install step will be run without interfering with any post-"
"install steps already in the port [.filename]#Makefile#. A line with "
"<<plist-keywords-desktop-file-utils,`@desktop-file-utils`>> will be added to "
"the plist."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:367
#, no-wrap
msgid "`desthack`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:372
msgid ""
"Changes the behavior of GNU configure to properly support `DESTDIR` in case "
"the original software does not."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:374
#, no-wrap
msgid "`display`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:377
msgid "Possible arguments: (none), _ARGS_"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:381
msgid ""
"Set up a virtual display environment. If the environment variable `DISPLAY` "
"is not set, then Xvfb is added as a build dependency, and `CONFIGURE_ENV` is "
"extended with the port number of the currently running instance of Xvfb. "
"The _ARGS_ parameter defaults to `install` and controls the phase around "
"which to start and stop the virtual display."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:383
#, no-wrap
msgid "`dos2unix`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:391
msgid ""
"The port has files with line endings in DOS format which need to be "
"converted. Several variables can be set to control which files will be "
"converted. The default is to convert _all_ files, including binaries. See "
"crossref:slow-porting[slow-patch-automatic-replacements,Simple Automatic "
"Replacements] for examples."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:393
msgid "`DOS2UNIX_REGEX`: match file names based on a regular expression."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:394
msgid "`DOS2UNIX_FILES`: match literal file names."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:395
msgid "`DOS2UNIX_GLOB`: match file names based on a glob pattern."
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:396
msgid ""
"`DOS2UNIX_WRKSRC`: the directory from which to start the conversions. "
"Defaults to `${WRKSRC}`."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:398
#, no-wrap
msgid "`drupal`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:401
msgid "Possible arguments: `7`, `module`, `theme`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:406
msgid ""
"Automate installation of a port that is a Drupal theme or module. Use with "
"the version of Drupal that the port is expecting. For example, "
"`USES=drupal:7,module` says that this port creates a Drupal 7 module. A "
"Drupal 7 theme can be specified with `USES=drupal:7,theme`."
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:408
#, no-wrap
-msgid "`eigen`"
+msgid "`ebur128`"
msgstr ""
#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:411
+msgid "Possible arguments: (none), `build`, `lib`, `run`, `test`"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:416
+msgid ""
+"Adds a dependency on package:audio/ebur128[]. It allows to transparently "
+"depend on the `rust` or `legacy` variants by using `DEFAULT_VERSIONS` in [."
+"filename]#make.conf#. For instance, to use the legacy version, use "
+"`DEFAULT_VERSIONS+=ebur128=legacy`"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:420
+msgid ""
+"When no arguments are used, the behavior is the same as if the `lib` "
+"argument was provided. The rest of the arguments provide the corresponding "
+"category of dependency."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:422
+#, no-wrap
+msgid "`eigen`"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:425
msgid "Possible arguments: 2, 3, build (default), run"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:413
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:427
msgid "Add dependency on package:math/eigen[]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:415
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:429
#, no-wrap
msgid "`elfctl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:420
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:434
msgid "Change an ELF binary's feature control note by setting ELF_FEATURES."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:422
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:436
#, no-wrap
msgid "Uses=elfctl"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:431
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:445
#, no-wrap
msgid ""
"USES= elfctl\n"
"ELF_FEATURES=\tfeaturelist:path/to/file1 \\\n"
"\t\tfeaturelist:path/to/file1 \\\n"
"\t\tfeaturelist:path/to/file2\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:436
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:450
msgid ""
"The format of `featurelist` is described in man:elfctl[1]. The file paths "
"are relative to ${BUILD_WRKSRC}."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:438
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:452
#, no-wrap
msgid "`erlang`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:441
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:455
msgid "Possible arguments: (none), `enc`, `rebar`, `rebar3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:446
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:460
msgid ""
"Adds a build and run time dependency on package:lang/erlang[]. Depending on "
"the argument, it adds additional build dependencies. `enc` adds a dependency "
"on package:devel/erlang-native-compiler[], `rebar` adds a dependency on "
"package:devel/rebar[] and `rebar3` adds a dependency on package:devel/"
"rebar3[]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:448
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:462
msgid "In addition, the following variables are available to the port:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:450
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:464
msgid ""
"`ERL_APP_NAME`: Erlang app name as installed in Erlang's lib dir (minus "
"version)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:451
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:465
msgid "`ERL_APP_ROOT`: Root directory for this Erlang app"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:452
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:466
msgid "`REBAR_CMD`: Path to the \"rebar\" command"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:453
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:467
msgid "`REBAR3_CMD`: Path to the \"rebar3\" command"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:454
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:468
msgid "`REBAR_PROFILE`: Rebar profile"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:455
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:469
msgid "`REBAR_TARGETS`: Rebar target list (usually compile, maybe escriptize)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:456
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:470
msgid "`ERL_BUILD_NAME`: Build name for rebar3"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:457
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:471
msgid "`ERL_BUILD_DEPS`: List of BUILD_DEPENDS in category/portname format"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:458
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:472
msgid "`ERL_RUN_DEPS`: List of RUN_DEPENDS in category/portname format"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:459
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:473
msgid "`ERL_DOCS`: List of documentation files and directories"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:461
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:475
#, no-wrap
msgid "`fakeroot`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:467
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:481
msgid ""
"Changes some default behavior of build systems to allow installing as a "
"user. See https://wiki.debian.org/FakeRoot[] for more information on "
"`fakeroot`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:469
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:483
#, no-wrap
msgid "`fam`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:472
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:486
msgid "Possible arguments: (none), `fam`, `gamin`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:475
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:489
msgid ""
"Uses a File Alteration Monitor as a library dependency, either package:devel/"
"fam[] or package:devel/gamin[]. End users can set WITH_FAM_SYSTEM to "
"specify their preference."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:477
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:491
#, no-wrap
msgid "`firebird`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:480
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:494
msgid "Possible arguments: (none), `25`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:482
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:496
msgid "Add a dependency to the client library of the Firebird database."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:484
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:498
#, no-wrap
msgid "`fonts`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:487
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:501
msgid "Possible arguments: (none), `fc`, `fontsdir` (default), `none`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:492
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:506
msgid ""
"Adds a runtime dependency on tools needed to register fonts. Depending on "
"the argument, add a `crossref:plist[plist-keywords-fc,@fc] ${FONTSDIR}` "
"line, `crossref:plist[plist-keywords-fontsdir,@fontsdir] ${FONTSDIR}` line, "
"or no line if the argument is `none`, to the plist. `FONTSDIR` defaults to "
"[.filename]#${PREFIX}/share/fonts/${FONTNAME}# and `FONTNAME` to `${PORTNAME}"
"`. Add `FONTSDIR` to `PLIST_SUB` and `SUB_LIST`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:494
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:508
#, no-wrap
msgid "`fortran`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:497
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:511
msgid "Possible arguments: `gcc` (default)"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:499
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:513
msgid "Uses the GNU Fortran compiler."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:501
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:515
#, no-wrap
msgid "`fuse`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:504
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:518
msgid "Possible arguments: `2` (default), `3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:506
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:520
msgid ""
"The port will depend on the FUSE library and handle the dependency on the "
"kernel module depending on the version of FreeBSD."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:508
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:522
#, no-wrap
msgid "`gem`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:511
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:525
msgid "Possible arguments: (none), `noautoplist`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:514
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:528
msgid ""
"Handle building with RubyGems. If `noautoplist` is used, the packing list "
"is not generated automatically."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:516
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:530
msgid "This implies `USES=ruby`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:518
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:532
#, no-wrap
msgid "`gettext`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:524
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:538
msgid ""
"Deprecated. Will include both <<uses-gettext-runtime,`gettext-runtime`>> "
"and <<uses-gettext-tools,`gettext-tools`>>."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:526
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:540
#, no-wrap
msgid "`gettext-runtime`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:529
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:543
msgid "Possible arguments: (none), `lib` (default), `build`, `run`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:533
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:547
msgid ""
"Uses package:devel/gettext-runtime[]. By default, with no arguments or with "
"the `lib` argument, implies a library dependency on [.filename]#libintl."
"so#. `build` and `run` implies, respectively a build-time and a run-time "
"dependency on [.filename]#gettext#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:535
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:549
#, no-wrap
msgid "`gettext-tools`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:538
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:552
msgid "Possible arguments: (none), `build` (default), `run`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:542
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:556
msgid ""
"Uses package:devel/gettext-tools[]. By default, with no argument, or with "
"the `build` argument, a build time dependency on [.filename]#msgfmt# is "
"registered. With the `run` argument, a run-time dependency is registered."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:544
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:558
#, no-wrap
msgid "`ghostscript`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:547
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:561
msgid "Possible arguments: _X_, `build`, `run`, `nox11`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:552
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:566
msgid ""
"A specific version _X_ can be used. Possible versions are `7`, `8`, `9`, and "
"`agpl` (default). `nox11` indicates that the `-nox11` version of the port "
"is required. `build` and `run` add build- and run-time dependencies on "
"Ghostscript. The default is both build- and run-time dependencies."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:554
#: documentation/content/en/books/porters-handbook/uses/_index.adoc:568
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:853
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:582
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:867
#, no-wrap
msgid "`gl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:561
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:575
msgid ""
"Provides an easy way to depend on GL components. The components should be "
"listed in `USE_GL`. The available components are:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:562
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:576
#, no-wrap
msgid "`egl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:564
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:578
msgid ""
"add a library dependency on [.filename]#libEGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:565
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:579
#, no-wrap
msgid "`gbm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:567
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:581
msgid ""
"Add a library dependency on [.filename]#libgbm.so# from package:graphics/"
"mesa-libs[]"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:570
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:584
msgid ""
"Add a library dependency on [.filename]#libGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:571
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:585
#, no-wrap
msgid "`glesv2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:573
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:587
msgid ""
"Add a library dependency on [.filename]#libGLESv2.so# from package:graphics/"
"libglvnd[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:574
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:588
#, no-wrap
msgid "`glew`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:576
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:590
msgid ""
"Add a library dependency on [.filename]#libGLEW.so# from package:graphics/"
"glew[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:577
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:591
#, no-wrap
msgid "`glu`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:579
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:593
msgid ""
"Add a library dependency on [.filename]#libGLU.so# from package:graphics/"
"libGLU[]"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:580
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:594
#, no-wrap
msgid "`glut`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:582
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:596
msgid ""
"Add a library dependency on [.filename]#libglut.so# from package:graphics/"
"freeglut[]"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:583
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1582
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:597
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1613
#, no-wrap
msgid "`opengl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:585
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:599
msgid ""
"Add a library dependency on [.filename]#libOpenGL.so# from package:graphics/"
"libglvnd[]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:587
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:601
#, no-wrap
msgid "`gmake`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:592
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:606
msgid ""
"Uses package:devel/gmake[] as a build-time dependency and sets up the "
"environment to use `gmake` as the default `make` for the build."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:594
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:608
#, no-wrap
msgid "`gnome`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:601
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:615
msgid ""
"Provides an easy way to depend on GNOME components. The components should "
"be listed in `USE_GNOME`. The available components are:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:603
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1043
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:617
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1074
msgid "`atk`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:604
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:618
msgid "`atkmm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:605
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:836
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1046
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:619
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:850
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1077
msgid "`cairo`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:606
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:620
msgid "`cairomm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:607
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:621
msgid "`dconf`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:608
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:622
msgid "`esound`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:609
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:623
msgid "`evolutiondataserver3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:610
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:624
msgid "`gconf2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:611
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:625
msgid "`gconfmm26`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:612
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:852
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:626
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:866
msgid "`gdkpixbuf`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:613
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1057
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:627
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1088
msgid "`gdkpixbuf2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:614
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:628
msgid "`glib12`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:615
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:629
msgid "`glib20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:616
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:630
msgid "`glibmm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:617
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:631
msgid "`gnomecontrolcenter3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:618
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:632
msgid "`gnomedesktop3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:619
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:633
msgid "`gnomedocutils`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:620
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:634
msgid "`gnomemenus3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:621
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:635
msgid "`gnomemimedata`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:622
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:636
msgid "`gnomeprefix`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:623
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:637
msgid "`gnomesharp20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:624
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:638
msgid "`gnomevfs2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:625
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:639
msgid "`gsound`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:626
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:640
msgid "`gtk-update-icon-cache`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:627
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:641
msgid "`gtk12`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:628
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:642
msgid "`gtk20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:629
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:643
msgid "`gtk30`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:630
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:644
msgid "`gtkhtml3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:631
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:645
msgid "`gtkhtml4`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:632
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:646
msgid "`gtkmm20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:633
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:647
msgid "`gtkmm24`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:634
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:648
msgid "`gtkmm30`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:635
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:649
msgid "`gtksharp20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:636
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:650
msgid "`gtksourceview`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:637
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:651
msgid "`gtksourceview2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:638
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:652
msgid "`gtksourceview3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:639
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:653
msgid "`gtksourceviewmm3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:640
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:654
msgid "`gvfs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:641
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1231
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:655
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1262
msgid "`intlhack`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:642
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1232
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:656
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1263
msgid "`intltool`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:643
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:657
msgid "`introspection`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:644
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:658
msgid "`libartlgpl2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:645
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:659
msgid "`libbonobo`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:646
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:660
msgid "`libbonoboui`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:647
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:661
msgid "`libgda5`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:648
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:662
msgid "`libgda5-ui`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:649
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:663
msgid "`libgdamm5`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:650
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:664
msgid "`libglade2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:651
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:665
msgid "`libgnome`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:652
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:666
msgid "`libgnomecanvas`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:653
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:667
msgid "`libgnomekbd`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:654
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:668
msgid "`libgnomeprint`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:655
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:669
msgid "`libgnomeprintui`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:656
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:670
msgid "`libgnomeui`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:657
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:671
msgid "`libgsf`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:658
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:672
msgid "`libgtkhtml`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:659
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:673
msgid "`libgtksourceviewmm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:660
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:674
msgid "`libidl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:661
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:675
msgid "`librsvg2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:662
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:676
msgid "`libsigc++12`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:663
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:677
msgid "`libsigc++20`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:664
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:678
msgid "`libwnck`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:665
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:679
msgid "`libwnck3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:666
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:680
msgid "`libxml++26`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:667
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1082
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:681
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1113
msgid "`libxml2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:668
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:682
msgid "`libxslt`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:669
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:683
msgid "`metacity`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:670
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:684
msgid "`nautilus3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:671
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:685
msgid "`orbit2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:672
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:889
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1093
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:686
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:903
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1124
msgid "`pango`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:673
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:687
msgid "`pangomm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:674
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:688
msgid "`pangox-compat`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:675
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:689
msgid "`py3gobject3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:676
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:690
msgid "`pygnome2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:677
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:691
msgid "`pygobject`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:678
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:692
msgid "`pygobject3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:679
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:693
msgid "`pygtk2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:680
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:694
msgid "`pygtksourceview`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:681
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:695
msgid "`referencehack`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:682
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:696
msgid "`vte`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:683
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:697
msgid "`vte3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:686
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1245
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:700
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1276
msgid ""
"The default dependency is build- and run-time, it can be changed with `:"
"build` or `:run`. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:691
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:705
#, no-wrap
msgid ""
"USES=\t\tgnome\n"
"USE_GNOME=\tgnomemenus3:build intlhack\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:694
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:708
msgid "See crossref:special[using-gnome,Using GNOME] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:696
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:710
#, no-wrap
msgid "`go`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:701
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:715
msgid ""
"Ports should not be created for Go libs, see crossref:special[go-libs,Go "
"Libraries] for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:704
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:718
msgid ""
"Possible arguments: (none), `N.NN`, `N.NN-devel`, `modules`, `no_targets`, "
"`run`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:711
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:725
msgid ""
"Sets default values and targets used to build Go software. A build "
"dependency on the Go compiler port is added, port maintainers can set "
"version required. By default the build is performed in GOPATH mode. If Go "
"software uses modules, the modules-aware mode can be switched on with "
"`modules` argument. `no_targets` will setup build environment like "
"`GO_ENV`, `GO_BUILDFLAGS` but skip creating extract and build targets. "
"`run` will also add a run dependency on the Go compiler port."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:713
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:727
msgid "The build process is controlled by several variables:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:714
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:728
#, no-wrap
msgid "`GO_MODULE`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:717
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:731
msgid ""
"The name of the application module as specified by the `module` directive in "
"`go.mod`. In most cases, this is the only required variable for ports that "
"use Go modules."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:718
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:732
#, no-wrap
msgid "`GO_PKGNAME`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:723
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:737
msgid ""
"The name of the Go package when building in GOPATH mode. This is the "
"directory that will be created in `${GOPATH}/src`. If not set explicitly "
"and `GH_SUBDIR` or `GL_SUBDIR` is present, `GO_PKGNAME` will be inferred "
"from it. It is not needed when building in modules-aware mode."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:724
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:738
#, no-wrap
msgid "`GO_TARGET`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:728
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:742
msgid ""
"The packages to build. The default value is `${GO_PKGNAME}`. `GO_TARGET` "
"can also be a tuple in the form `package:path` where path can be either a "
"simple filename or a full path starting with `${PREFIX}`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:729
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:743
#, no-wrap
msgid "`GO_TESTTARGET`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:732
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:746
msgid ""
"The packages to test. The default value is `./...` (the current package and "
"all subpackages)."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:733
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:747
#, no-wrap
msgid "`CGO_CFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:735
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:749
msgid "Additional `CFLAGS` values to be passed to the C compiler by `go`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:736
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:750
#, no-wrap
msgid "`CGO_LDFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:738
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:752
msgid "Additional `LDFLAGS` values to be passed to the C compiler by `go`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:739
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:753
#, no-wrap
msgid "`GO_BUILDFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:741
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:755
msgid "Additional build arguments to be passed to `go build`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:742
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:756
#, no-wrap
msgid "`GO_TESTFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:744
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:758
msgid "Additional build arguments to be passed to `go test`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:746
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:760
msgid ""
"See crossref:special[using-go,Building Go Applications] for usage examples."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:748
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:762
#, no-wrap
msgid "`gperf`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:753
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:767
msgid ""
"Add a buildtime dependency on package:devel/gperf[] if `gperf` is not "
"present in the base system."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:755
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:769
#, no-wrap
msgid "`grantlee`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:758
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:772
msgid "Possible arguments: `5`, `selfbuild`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:762
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:776
msgid ""
"Handle dependency on Grantlee. Specify `5` to depend on the Qt5 based "
"version, package:devel/grantlee5[]. `selfbuild` is used internally by "
"package:devel/grantlee5[] to get their versions numbers."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:764
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:778
#, no-wrap
msgid "`groff`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:767
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:781
msgid "Possible arguments: `build`, `run`, `both`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:769
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:783
msgid ""
"Registers a dependency on package:textproc/groff[] if not present in the "
"base system."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:771
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:785
#, no-wrap
msgid "`gssapi`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:774
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:788
msgid ""
"Possible arguments: (none), `base` (default), `heimdal`, `mit`, `flags`, "
"`bootstrap`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:779
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:793
msgid ""
"Handle dependencies needed by consumers of the GSS-API. Only libraries that "
"provide the Kerberos mechanism are available. By default, or set to `base`, "
"the GSS-API library from the base system is used. Can also be set to "
"`heimdal` to use package:security/heimdal[], or `mit` to use package:"
"security/krb5[]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:781
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:795
msgid ""
"When the local Kerberos installation is not in `LOCALBASE`, set "
"`HEIMDAL_HOME` (for `heimdal`) or `KRB5_HOME` (for `krb5`) to the location "
"of the Kerberos installation."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:783
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:797
msgid "These variables are exported for the ports to use:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:785
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:799
msgid "`GSSAPIBASEDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:786
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:800
msgid "`GSSAPICPPFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:787
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:801
msgid "`GSSAPIINCDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:788
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:802
msgid "`GSSAPILDFLAGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:789
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:803
msgid "`GSSAPILIBDIR`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:790
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:804
msgid "`GSSAPILIBS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:791
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:805
msgid "`GSSAPI_CONFIGURE_ARGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:794
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:808
msgid ""
"The `flags` option can be given alongside `base`, `heimdal`, or `mit` to "
"automatically add `GSSAPICPPFLAGS`, `GSSAPILDFLAGS`, and `GSSAPILIBS` to "
"`CFLAGS`, `LDFLAGS`, and `LDADD`, respectively. For example, use `base,"
"flags`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:797
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:811
msgid ""
"The `bootstrap` option is a special prefix only for use by package:security/"
"krb5[] and package:security/heimdal[]. For example, use `bootstrap,mit`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:799
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:813
#, no-wrap
msgid "Typical Use"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:806
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:820
#, no-wrap
msgid ""
"OPTIONS_SINGLE=\tGSSAPI\n"
"OPTIONS_SINGLE_GSSAPI=\tGSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:814
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:828
#, no-wrap
msgid ""
"GSSAPI_BASE_USES=\tgssapi\n"
"GSSAPI_BASE_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_HEIMDAL_USES=\tgssapi:heimdal\n"
"GSSAPI_HEIMDAL_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_MIT_USES=\tgssapi:mit\n"
"GSSAPI_MIT_CONFIGURE_ON=\t--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}\n"
"GSSAPI_NONE_CONFIGURE_ON=\t--without-gssapi\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:819
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:833
#, no-wrap
msgid "`gstreamer`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:826
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:840
msgid ""
"Provides an easy way to depend on GStreamer components. The components "
"should be listed in `USE_GSTREAMER`. The available components are:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:828
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:842
msgid "`a52dec`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:829
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:843
msgid "`aalib`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:830
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:844
msgid "`amrnb`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:831
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:845
msgid "`amrwbdec`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:832
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:846
msgid "`aom`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:833
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:847
msgid "`assrender`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:834
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:848
msgid "`bad`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:835
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:849
msgid "`bs2b`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:837
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:851
msgid "`cdio`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:838
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:852
msgid "`cdparanoia`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:839
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:853
msgid "`chromaprint`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:840
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1048
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:854
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1079
msgid "`curl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:841
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:855
msgid "`dash`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:842
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:856
msgid "`dtls`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:843
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:857
msgid "`dts`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:844
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:858
msgid "`dv`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:845
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:859
msgid "`dvd`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:846
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:860
msgid "`dvdread`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:847
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:861
msgid "`editing-services`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:848
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:862
msgid "`faac`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:849
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:863
msgid "`faad`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:850
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1055
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:864
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1086
msgid "`flac`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:851
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:865
msgid "`flite`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:854
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:868
msgid "`gme`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:855
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:869
msgid "`gnonlin`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:856
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:870
msgid "`good`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:857
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:871
msgid "`gsm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:858
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:872
msgid "`gtk4`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:859
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:873
msgid "`gtk`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:860
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:874
msgid "`hal`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:861
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:875
msgid "`hls`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:862
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:876
msgid "`jack`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:863
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1064
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:877
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1095
msgid "`jpeg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:864
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:878
msgid "`kate`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:865
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:879
msgid "`kms`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:866
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:880
msgid "`ladspa`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:867
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:881
msgid "`lame`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:868
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:882
msgid "`libav`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:869
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:883
msgid "`libcaca`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:870
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:884
msgid "`libde265`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:871
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:885
msgid "`libmms`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:872
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:886
msgid "`libvisual`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:873
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:887
msgid "`lv2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:874
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:888
msgid "`mm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:875
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:889
msgid "`modplug`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:876
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:890
msgid "`mpeg2dec`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:877
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:891
msgid "`mpeg2enc`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:878
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:892
msgid "`mpg123`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:879
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:893
msgid "`mplex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:880
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:894
msgid "`musepack`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:881
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:895
msgid "`neon`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:882
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:896
msgid "`ogg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:883
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:897
msgid "`opencv`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:884
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:898
msgid "`openexr`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:885
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:899
msgid "`openh264`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:886
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:900
msgid "`openjpeg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:887
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:901
msgid "`openmpt`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:888
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:902
msgid "`opus`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:890
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1095
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:904
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1126
msgid "`png`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:891
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:905
msgid "`pulse`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:892
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1097
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1684
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:906
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1128
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1715
#, no-wrap
msgid "`qt`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:893
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:907
msgid "`resindvd`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:894
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:908
msgid "`rsvg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:895
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:909
msgid "`rtmp`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:896
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:910
msgid "`shout2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:897
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:911
msgid "`sidplay`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:898
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:912
msgid "`smoothstreaming`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:899
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:913
msgid "`sndfile`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:900
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:914
msgid "`sndio`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:901
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:915
msgid "`soundtouch`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:902
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:916
msgid "`soup`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:903
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:917
msgid "`spandsp`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:904
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:918
msgid "`speex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:905
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:919
msgid "`srtp`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:906
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:920
msgid "`taglib`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:907
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:921
msgid "`theora`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:908
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:922
msgid "`ttml`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:909
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:923
msgid "`twolame`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:910
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:924
msgid "`ugly`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:911
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:925
msgid "`v4l2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:912
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:926
msgid "`vorbis`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:913
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:927
msgid "`vpx`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:914
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:928
msgid "`vulkan`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:915
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:929
msgid "`wavpack`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:916
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:930
msgid "`webp`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:917
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:931
msgid "`webrtcdsp`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:918
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:932
msgid "`x264`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:919
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:933
msgid "`x265`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:920
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:934
msgid "`x`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:921
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:935
msgid "`ximagesrc`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:922
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:936
msgid "`zbar`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:924
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:938
+#, no-wrap
+msgid "`guile`"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:941
+msgid ""
+"Possible arguments: (none), `_X.Y_`, `flavors`, `build`, `run`, `alias`, "
+"`conflicts`"
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:945
+msgid ""
+"Adds a dependency on Guile. By default this is a library dependency on the "
+"appropriate `libguile*.so`, unless overridden by the `build` and/or `run` "
+"option. The `alias` option configures `BINARY_ALIAS` appropriately (see "
+"crossref:makefiles[binary-alias,Use `BINARY_ALIAS`])."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:948
+msgid ""
+"The default version is set by the usual `DEFAULT_VERSIONS` mechanism; if the "
+"default version is not one of the listed versions, then the latest available "
+"listed version is used."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:951
+msgid ""
+"Applications using Guile are normally built for only a single Guile "
+"version. However, extension or library modules should use the `flavors` "
+"option to build with multiple flavors."
+msgstr ""
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:953
+msgid "For more information see crossref:special[using-guile,Using Guile]."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:955
#, no-wrap
msgid "`horde`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:931
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:962
msgid ""
"Add buildtime and runtime dependencies on package:devel/pear-channel-"
"horde[]. Other Horde dependencies can be added with `USE_HORDE_BUILD` and "
"`USE_HORDE_RUN`. See crossref:special[php-horde,Horde Modules] for more "
"information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:933
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:964
#, no-wrap
msgid "`iconv`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:936
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:967
msgid ""
"Possible arguments: (none), `lib`, `build`, `patch`, `translit`, `wchar_t`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:942
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:973
msgid ""
"Uses `iconv` functions, either from the port package:converters/libiconv[] "
"as a build-time and run-time dependency, or from the base system. By "
"default, with no arguments or with the `lib` argument, implies `iconv` with "
"build-time and run-time dependencies. `build` implies a build-time "
"dependency, and `patch` implies a patch-time dependency. If the port uses "
"the `WCHAR_T` or `//TRANSLIT` iconv extensions, add the relevant arguments "
"so that the correct iconv is used. For more information see crossref:"
"special[using-iconv,Using `iconv`]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:944
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:975
#, no-wrap
msgid "`imake`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:947
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:978
msgid "Possible arguments: (none), `env`, `notall`, `noman`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:952
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:983
msgid ""
"Add package:devel/imake[] as a build-time dependency and run `xmkmf -a` "
"during the `configure` stage. If the `env` argument is given, the "
"`configure` target is not set. If the `-a` flag is a problem for the port, "
"add the `notall` argument. If `xmkmf` does not generate a `install.man` "
"target, add the `noman` argument."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:954
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:985
#, no-wrap
msgid "`kde`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:957
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:988
msgid "Possible arguments: `5`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:960
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:991
msgid ""
"Add dependency on KDE components. See crossref:special[using-kde,Using KDE] "
"for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:962
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:993
#, no-wrap
msgid "`kmod`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:965
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:996
msgid "Possible arguments: (none), `debug`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:967
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:998
msgid "Fills in the boilerplate for kernel module ports, currently:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:969
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1000
msgid "Add `kld` to `CATEGORIES`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:970
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1001
msgid "Set `SSP_UNSAFE`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:971
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1002
msgid "Set `IGNORE` if the kernel sources are not found in `SRC_BASE`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:972
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1003
msgid ""
"Define `KMODDIR` to [.filename]#/boot/modules# by default, add it to "
"`PLIST_SUB` and `MAKE_ENV`, and create it upon installation. If `KMODDIR` is "
"set to [.filename]#/boot/kernel#, it will be rewritten to [.filename]#/boot/"
"modules#. This prevents breaking packages when upgrading the kernel due to [."
"filename]#/boot/kernel# being renamed to [.filename]#/boot/kernel.old# in "
"the process."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:973
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1004
msgid ""
"Handle cross-referencing kernel modules upon installation and "
"deinstallation, using crossref:plist[plist-keywords-kld,`@kld`]."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:974
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1005
msgid ""
"If the `debug` argument is given, the port can install a debug version of "
"the module into [.filename]#KERN_DEBUGDIR#/[.filename]#KMODDIR#. By default, "
"`KERN_DEBUGDIR` is copied from `DEBUGDIR` and set to [.filename]#/usr/lib/"
"debug#. The framework will take care of creating and removing any required "
"directories."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:976
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1007
#, no-wrap
msgid "`ldap`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:979
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1010
msgid "Possible arguments: (none), <version>, client, server"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:987
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1018
msgid ""
"Registers a dependency on package:net/openldap[]. It uses the specific "
"`<version>` (without the dot notation) if set. Otherwise it tries to find "
"the currently installed version. If necessary it falls back to the default "
"version found in `bsd.default-versions.mk`. `client` specifies a runtime "
"dependency on the client library. This is also the default. `server` "
"specifies a runtime dependency on the server."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:989
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1020
msgid "The following variables can be accessed by the port:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:990
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1021
#, no-wrap
msgid "`IGNORE_WITH_OPENLDAP`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:992
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1023
msgid ""
"This variable can be defined if the ports does not support one or more "
"versions of OpenLDAP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:992
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1023
#, no-wrap
msgid "`WITH_OPENLDAP_VER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:994
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1025
msgid "User defined variable to set OpenLDAP version."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:994
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1025
#, no-wrap
msgid "`OPENLDAP_VER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:996
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1027
msgid "Detected OpenLDAP version."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:998
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1029
#, no-wrap
msgid "`lha`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1003
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1034
msgid "Set `EXTRACT_SUFX` to `.lzh`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1005
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1036
#, no-wrap
msgid "`libarchive`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1011
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1042
msgid ""
"Registers a dependency on package:archivers/libarchive[]. Any ports "
"depending on libarchive must include `USES=libarchive`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1013
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1044
#, no-wrap
msgid "`libedit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1019
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1050
msgid ""
"Registers a dependency on package:devel/libedit[]. Any ports depending on "
"libedit must include `USES=libedit`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1021
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1052
#, no-wrap
msgid "`libtool`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1024
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1055
msgid "Possible arguments: (none), `keepla`, `build`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1028
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1059
msgid ""
"Patches `libtool` scripts. This must be added to all ports that use "
"`libtool`. The `keepla` argument can be used to keep [.filename]#.la# "
"files. Some ports do not ship with their own copy of libtool and need a "
"build time dependency on package:devel/libtool[], use the `:build` argument "
"to add such dependency."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1030
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1061
#, no-wrap
msgid "`linux`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1033
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1064
msgid "Possible arguments: `c6`, `c7`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1037
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1068
msgid ""
"Ports Linux compatibility framework. Specify `c6` to depend on CentOS 6 "
"packags. Specify `c7` to depend on CentOS 7 packages. The available "
"packages are:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1039
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1070
msgid "`allegro`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1040
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1071
msgid "`alsa-plugins-oss`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1041
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1072
msgid "`alsa-plugins-pulseaudio`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1042
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1073
msgid "`alsalib`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1044
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1075
msgid "`avahi-libs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1045
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2095
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1076
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2126
msgid "`base`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1047
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1078
msgid "`cups-libs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1049
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1080
msgid "`cyrus-sasl2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1050
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1081
msgid "`dbusglib`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1051
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1082
msgid "`dbuslibs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1052
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1083
msgid "`devtools`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1053
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1084
msgid "`dri`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1054
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1085
msgid "`expat`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1056
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1087
msgid "`fontconfig`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1058
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1089
msgid "`gnutls`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1059
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1090
msgid "`graphite2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1060
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1091
msgid "`gtk2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1061
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1092
msgid "`harfbuzz`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1062
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1093
msgid "`jasper`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1063
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1094
msgid "`jbigkit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1065
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1096
msgid "`libasyncns`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1066
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1097
msgid "`libaudiofile`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1067
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1098
msgid "`libelf`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1068
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1099
msgid "`libgcrypt`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1069
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1100
msgid "`libgfortran`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1070
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1101
msgid "`libgpg-error`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1071
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1102
msgid "`libmng`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1072
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1103
msgid "`libogg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1073
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1104
msgid "`libpciaccess`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1074
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1105
msgid "`libsndfile`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1075
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1106
msgid "`libsoup`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1076
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1107
msgid "`libssh2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1077
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1108
msgid "`libtasn1`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1078
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1109
msgid "`libthai`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1079
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1110
msgid "`libtheora`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1080
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1111
msgid "`libv4l`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1081
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1112
msgid "`libvorbis`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1083
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1114
msgid "`mikmod`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1084
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1115
msgid "`naslibs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1085
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1116
msgid "`ncurses-base`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1086
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1117
msgid "`nspr`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1087
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1118
msgid "`nss`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1088
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1365
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1119
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1396
#, no-wrap
msgid "`openal`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1089
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1120
msgid "`openal-soft`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1090
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1121
msgid "`openldap`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1091
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1122
msgid "`openmotif`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1092
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1123
msgid "`openssl`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1094
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2236
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1125
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2267
#, no-wrap
msgid "`pixman`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1096
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1127
msgid "`pulseaudio-libs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1098
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1129
msgid "`qt-x11`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1099
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1130
msgid "`qtwebkit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1100
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1131
msgid "`scimlibs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1101
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1132
msgid "`sdl12`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1102
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1133
msgid "`sdlimage`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1103
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1134
msgid "`sdlmixer`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1104
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1135
msgid "`sqlite3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1105
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1136
msgid "`tcl85`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1106
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1137
msgid "`tcp_wrappers-libs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1107
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1138
msgid "`tiff`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1108
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1139
msgid "`tk85`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1109
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1140
msgid "`ucl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1110
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1141
msgid "`xorglibs`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1112
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1143
#, no-wrap
msgid "`llvm`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1115
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1146
msgid ""
"Possible arguments: (none), `_XY_`, min=`_XY_`, max=`_XY_`, build, run, lib"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1123
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1154
msgid ""
"Adds a dependency on LLVM. By default this is a build dependency unless "
"overridden by the `run` or `lib` options. The default version is the one "
"set in `LLVM_DEFAULT`. A specific version can be specified as well. The "
"minimum and maximum versions can be specified with the `min` and `max` "
"parameters respectively. The ports framework export the following variables "
"to the port:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1124
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1155
#, no-wrap
msgid "`LLVM_VERSION`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1126
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1157
msgid "Version chosen from the arguments to llvm.mk"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1126
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1157
#, no-wrap
msgid "`LLVM_PORT`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1128
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1159
msgid "Chosen llvm port"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1128
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1159
#, no-wrap
msgid "`LLVM_CONFIG`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1130
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1161
msgid "llvm-config of the chosen port"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1130
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1161
#, no-wrap
msgid "`LLVM_LIBLLVM`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1132
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1163
msgid "libLLVM.so of the chosen port"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1132
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1163
#, no-wrap
msgid "`LLVM_PREFIX`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1134
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1165
msgid "Installation prefix of the chosen port"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1136
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1167
#, no-wrap
msgid "`localbase`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1139
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1170
msgid "Possible arguments: (none), `ldflags`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1144
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1175
msgid ""
"Ensures that libraries from dependencies in `LOCALBASE` are used instead of "
"the ones from the base system. Specify `ldflags` to add `-L${LOCALBASE}/"
"lib` to `LDFLAGS` instead of `LIBS`. Ports that depend on libraries that "
"are also present in the base system should use this. It is also used "
"internally by a few other `USES`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1146
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1177
#, no-wrap
msgid "`lua`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1149
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1180
msgid ""
"Possible arguments: (none), `_XY_`, `_XY_+`, `-_XY_`, `_XY_-_ZA_`, `module`, "
"`flavors`, `build`, `run`, `env`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1153
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1184
msgid ""
"Adds a dependency on Lua. By default this is a library dependency, unless "
"overridden by the `build` and/or `run` option. The `env` option prevents "
"the addition of any dependency, while still defining all the usual variables."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1155
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1186
msgid ""
"The default version is set by the usual `DEFAULT_VERSIONS` mechanism, unless "
"a version or range of versions is specified as an argument, for example, "
"`51` or `51-54`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1158
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1189
msgid ""
"Applications using Lua are normally built for only a single Lua version. "
"However, library modules intended to be loaded by Lua code should use the "
"`module` option to build with multiple flavors."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1160
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1179
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1191
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1210
msgid "For more information see crossref:special[using-lua,Using Lua]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1162
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1193
#, no-wrap
msgid "`luajit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1165
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1196
msgid "Possible arguments: (none), `_X_`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1168
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1199
msgid ""
"Adds a dependency on luajit runtime. A specific version _X_ can be used. "
"Possible versions are `luajit`, `luajit-devel`, `luajit-openresty`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1170
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1201
msgid ""
"After including [.filename]#bsd.port.options.mk# or [.filename]#bsd.port.pre."
"mk# the port can inspect these variables:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1171
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1202
#, no-wrap
msgid "`LUAJIT_VER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1173
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1204
msgid "The selected luajit version"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1173
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1204
#, no-wrap
msgid "`LUAJIT_INCDIR`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1175
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1206
msgid "The path to luajit's header files"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1175
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1206
#, no-wrap
msgid "`LUAJIT_LUAVER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1177
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1208
msgid "Which luajit spec version is selected (2.0 for luajit, else 2.1)"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1181
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1212
#, no-wrap
msgid "`lxqt`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1188
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1219
msgid ""
"Handle dependencies for the LXQt Desktop Environment. Use `USE_LXQT` to "
"select the components needed for the port. See crossref:special[using-lxqt,"
"Using LXQt] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1190
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1221
#, no-wrap
msgid "`magick`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1193
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1224
msgid "Possible arguments: (none), `_X_`, `build`, `nox11`, `run`, `test`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1198
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1229
msgid ""
"Add a library dependency on `ImageMagick`. A specific version _X_ can be "
"used. Possible versions are `6` and `7` (default). `nox11` indicates that "
"the `-nox11` version of the port is required. `build`, `run` and `test` add "
"build-, run-time and test dependencies on ImageMagick."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1200
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1231
#, no-wrap
msgid "`makeinfo`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1205
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1236
msgid ""
"Add a build-time dependency on `makeinfo` if it is not present in the base "
"system."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1207
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1238
#, no-wrap
msgid "`makeself`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1212
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1243
msgid ""
"Indicates that the distribution files are makeself archives and sets the "
"appropriate dependencies."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1214
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1245
#, no-wrap
msgid "`mate`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1221
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1252
msgid ""
"Provides an easy way to depend on MATE components. The components should be "
"listed in `USE_MATE`. The available components are:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1223
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1254
msgid "`autogen`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1224
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1255
msgid "`caja`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1225
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1256
msgid "`common`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1226
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1257
msgid "`controlcenter`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1227
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1258
msgid "`desktop`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1228
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1259
msgid "`dialogs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1229
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1260
msgid "`docutils`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1230
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1261
msgid "`icontheme`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1233
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1264
msgid "`libmatekbd`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1234
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1265
msgid "`libmateweather`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1235
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1266
msgid "`marco`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1236
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1267
msgid "`menus`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1237
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1268
msgid "`notificationdaemon`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1238
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1269
msgid "`panel`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1239
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1270
msgid "`pluma`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1240
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1271
msgid "`polkit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1241
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1272
msgid "`session`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1242
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1273
msgid "`settingsdaemon`"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1250
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1281
#, no-wrap
msgid ""
"USES=\t\tmate\n"
"USE_MATE=\tmenus:build intlhack\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1253
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1284
#, no-wrap
msgid "`meson`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1259
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1290
msgid ""
"Provide support for Meson based projects. For more information see crossref:"
"special[using-meson,Using `meson`]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1261
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1292
#, no-wrap
msgid "`metaport`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1266
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1297
msgid ""
"Sets the following variables to make it easier to create a metaport: "
"`MASTER_SITES`, `DISTFILES`, `EXTRACT_ONLY`, `NO_BUILD`, `NO_INSTALL`, "
"`NO_MTREE`, `NO_ARCH`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1268
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1299
#, no-wrap
msgid "`minizip`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1271
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1302
msgid "Possible arguments: (none), `ng`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1273
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1304
msgid ""
"Adds a library dependency on package:archivers/minizip[] or package:"
"archivers/minizip-ng[] respectively."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1275
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1306
#, no-wrap
msgid "`mysql`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1278
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1309
msgid ""
"Possible arguments: (none), `_version_`, `client` (default), `server`, "
"`embedded`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1287
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1318
msgid ""
"Provide support for MySQL If no version is given, try to find the current "
"installed version. Fall back to the default version, MySQL-5.6. The "
"possible versions are `55`, `55m`, `55p`, `56`, `56p`, `56w`, `57`, `57p`, "
"`80`, `100m`, `101m`, and `102m`. The `m` and `p` suffixes are for the "
"MariaDB and Percona variants of MySQL. `server` and `embedded` add a build- "
"and run-time dependency on the MySQL server. When using `server` or "
"`embedded`, add `client` to also add a dependency on [."
"filename]#libmysqlclient.so#. A port can set `IGNORE_WITH_MYSQL` if some "
"versions are not supported."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1289
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1320
msgid "The framework sets `MYSQL_VER` to the detected MySQL version."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1291
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1322
#, no-wrap
msgid "`mono`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1294
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1325
msgid "Possible arguments: (none), `nuget`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1296
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1327
msgid ""
"Adds a dependency on the Mono (currently only C#) framework by setting the "
"appropriate dependencies."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1300
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1331
msgid ""
"Specify `nuget` when the port uses nuget packages. `NUGET_DEPENDS` needs to "
"be set with the names and versions of the nuget packages in the format "
"`_name_=_version_`. An optional package origin can be added using "
"`_name_=_version_:_origin_`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1302
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1333
msgid ""
"The helper target, `buildnuget`, will output the content of the "
"`NUGET_DEPENDS` based on the provided [.filename]#packages.config#."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1304
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1335
#, no-wrap
msgid "`motif`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1313
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1344
msgid ""
"Uses package:x11-toolkits/open-motif[] as a library dependency. End users "
"can set `WANT_LESSTIF` in [.filename]#make.conf# to use package:x11-toolkits/"
"lesstif[] as dependency instead of package:x11-toolkits/open-motif[]. "
"Similarly setting `WANT_OPEN_MOTIF_DEVEL` in [.filename]#make.conf# will add "
"a dependency on package:x11-toolkits/open-motif-devel[]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1315
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1346
#, no-wrap
msgid "`ncurses`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1318
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1349
msgid "Possible arguments: (none), `base`, `port`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1320
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1351
msgid "Uses ncurses, and causes some useful variables to be set."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1322
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1353
#, no-wrap
msgid "`nextcloud`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1327
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1358
msgid ""
"Adds support for Nextcloud applications by adding a run time dependency on "
"package:www/nextcloud[]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1329
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1360
#, no-wrap
msgid "`ninja`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1332
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1363
msgid "Possible arguments: (none), `build`, `make` (default), `run`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1339
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1370
msgid ""
"If `build` or `run` arguments are specify, it respectively adds a build or "
"run time dependency on package:devel/ninja[]. If `make` or no arguments are "
"provided, use ninja to build the port instead of make. `make` implies "
"`build`. If the variable `NINJA_DEFAULT` is set to `samurai`, then the "
"depedencies are set on package:devel/samurai[] instead."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1341
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1372
#, no-wrap
msgid "`nodejs`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1345
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1376
#, no-wrap
msgid ""
"Possible arguments: (none), `build`, `run`, `current`, `lts`, `10`, `14`, `16`,\n"
" `17`.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1348
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1379
msgid ""
"Uses nodejs. Adds a dependency on package:www/node*[]. If a supported "
"version is specified then `run` and/or `build` must be specified too."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1350
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1381
#, no-wrap
msgid "`objc`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1355
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1386
msgid ""
"Add objective C dependencies (compiler, runtime library) if the base system "
"does not support it."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1357
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1388
#, no-wrap
msgid "`octave`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1360
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1391
msgid "Possible arguments: (none), env"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1363
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1394
msgid ""
"Uses package:math/octave[]. `env` loads only one `OCTAVE_VERSION` "
"environmental variable."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1368
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1399
msgid "Possible arguments: `al`, `soft` (default), `si`, `alut`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1373
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1404
msgid ""
"Uses OpenAL. The backend can be specified, with the software implementation "
"as the default. The user can specify a preferred backend with "
"`WANT_OPENAL`. Valid values for this knob are `soft` (default) and `si`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1375
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1406
#, no-wrap
msgid "`pathfix`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1382
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1413
msgid ""
"Look for [.filename]#Makefile.in# and [.filename]#configure# in "
"`PATHFIX_WRKSRC` (defaults to `WRKSRC`) and fix common paths to make sure "
"they respect the FreeBSD hierarchy. For example, it fixes the installation "
"directory of `pkgconfig`'s [.filename]#.pc# files to [.filename]#${PREFIX}/"
"libdata/pkgconfig#. If the port uses `USES=autoreconf`, [."
"filename]#Makefile.am# will be added to `PATHFIX_MAKEFILEIN` automatically."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1385
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1416
msgid ""
"If the port <<uses-cmake,`USES=cmake`>> it will look for [."
"filename]#CMakeLists.txt# in `PATHFIX_WRKSRC`. If needed, that default "
"filename can be changed with `PATHFIX_CMAKELISTSTXT`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1387
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1418
#, no-wrap
msgid "`pear`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1390
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1421
msgid "Possible arguments: `env`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1395
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1426
msgid ""
"Adds a dependency on package:devel/pear[]. It will setup default behavior "
"for software using the PHP Extension and Application Repository. Using the "
"`env` arguments only sets up the PEAR environment variables. See crossref:"
"special[php-pear,PEAR Modules] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1397
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1428
#, no-wrap
msgid "`perl5`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1402
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1433
msgid "Depends on Perl. The configuration is done using `USE_PERL5`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1404
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1435
msgid ""
"`USE_PERL5` can contain the phases in which to use Perl, can be `extract`, "
"`patch`, `build`, `run`, or `test`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1407
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1438
msgid ""
"`USE_PERL5` can also contain `configure`, `modbuild`, or `modbuildtiny` when "
"[.filename]#Makefile.PL#, [.filename]#Build.PL#, or Module::Build::Tiny's "
"flavor of [.filename]#Build.PL# is required."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1410
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1441
msgid ""
"`USE_PERL5` defaults to `build run`. When using `configure`, `modbuild`, or "
"`modbuildtiny`, `build` and `run` are implied."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1412
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1443
msgid "See crossref:special[using-perl,Using Perl] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1414
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1445
#, no-wrap
msgid "`pgsql`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1417
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1448
msgid "Possible arguments: (none), `_X.Y_`, `_X.Y_+`, `_X.Y_-`, `_X.Y_-_Z.A_`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1421
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1452
msgid ""
"Provide support for PostgreSQL. Port maintainer can set version required. "
"Minimum and maximum versions or a range can be specified; for example, `9.0-"
"`, `8.4+`, `8.4-9.2.`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1426
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1457
msgid ""
"By default, the added dependency will be the client, but if the port "
"requires additional components, this can be done using "
"`WANT_PGSQL=_component[:target]_`; for example, `WANT_PGSQL=server:configure "
"pltcl plperl`. The available components are:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1428
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1459
msgid "`client`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1429
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1460
msgid "`contrib`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1430
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2098
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1461
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2129
msgid "`docs`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1431
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1462
msgid "`pgtcl`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1432
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1463
msgid "`plperl`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1433
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1464
msgid "`plpython`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1434
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1465
msgid "`pltcl`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1435
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1466
msgid "`server`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1437
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1468
#, no-wrap
msgid "`php`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1440
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1471
msgid ""
"Possible arguments: (none), `phpize`, `ext`, `zend`, `build`, `cli`, `cgi`, "
"`mod`, `web`, `embed`, `pecl`, `flavors`, `noflavors`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1443
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1474
msgid ""
"Provide support for PHP. Add a runtime dependency on the default PHP "
"version, package:lang/php81[]."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1444
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1475
#, no-wrap
msgid "`phpize`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1447
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1478
msgid "Use to build a PHP extension. Enables flavors."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1448
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1479
#, no-wrap
msgid "`ext`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1451
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1482
msgid "Use to build, install and register a PHP extension. Enables flavors."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1452
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1483
#, no-wrap
msgid "`zend`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1455
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1486
msgid "Use to build, install and register a Zend extension. Enables flavors."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1456
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1487
#, no-wrap
msgid "`build`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1458
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1489
msgid "Set PHP also as a build-time dependency."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1459
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1490
#, no-wrap
msgid "`cli`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1461
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1492
msgid "Needs the CLI version of PHP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1462
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1493
#, no-wrap
msgid "`cgi`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1464
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1495
msgid "Needs the CGI version of PHP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1465
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1496
#, no-wrap
msgid "`mod`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1467
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1498
msgid "Needs the Apache module for PHP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1468
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1499
#, no-wrap
msgid "`web`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1470
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1501
msgid "Needs the Apache module or the CGI version of PHP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1471
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1502
#, no-wrap
msgid "`embed`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1473
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1504
msgid "Needs the embedded library version of PHP."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1474
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1505
#, no-wrap
msgid "`pecl`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1477
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1508
msgid ""
"Provide defaults for fetching PHP extensions from the PECL repository. "
"Enables flavors."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1478
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1509
#, no-wrap
msgid "`flavors`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1481
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1512
msgid ""
"Enable automatic crossref:flavors[flavors-auto-php,PHP flavors] generation. "
"Flavors will be generated for all PHP versions, except the ones present in "
"<<uses-php-ignore,`IGNORE_WITH_PHP`>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1482
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1513
#, no-wrap
msgid "`noflavors`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1485
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1516
msgid ""
"Disable automatic PHP flavors generation. _Must only_ be used with "
"extensions provided by PHP itself."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1487
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1518
msgid ""
"Variables are used to specify which PHP modules are required, as well as "
"which version of PHP are supported."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1488
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1519
#, no-wrap
msgid "`USE_PHP`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1492
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1523
msgid ""
"The list of required PHP extensions at run-time. Add `:build` to the "
"extension name to add a build-time dependency. Example: `pcre xml:build "
"gettext`"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1494
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1525
#, no-wrap
msgid "`IGNORE_WITH_PHP`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1497
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1528
msgid ""
"The port does not work with PHP of the given version. For possible values "
"look at the content of `_ALL_PHP_VERSIONS` in [.filename]#Mk/Uses/php.mk#."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1499
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1530
msgid ""
"When building a PHP or Zend extension with `:ext` or `:zend`, these "
"variables can be set:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1500
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1531
#, no-wrap
msgid "`PHP_MODNAME`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1503
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1534
msgid "The name of the PHP or Zend extension. Default value is `${PORTNAME}`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1504
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1535
#, no-wrap
msgid "`PHP_HEADER_DIRS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1507
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1538
msgid ""
"A list of subdirectories from which to install header files. The framework "
"will always install the header files that are present in the same directory "
"as the extension."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1508
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1539
#, no-wrap
msgid "`PHP_MOD_PRIO`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1511
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1542
msgid ""
"The priority at which to load the extension. It is a number between `00` "
"and `99`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1516
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1547
msgid ""
"For extensions that do not depend on any extension, the priority is "
"automatically set to `20`, for extensions that depend on another extension, "
"the priority is automatically set to `30`. Some extensions may need to be "
"loaded before every other extension, for example package:www/php56-"
"opcache[]. Some may need to be loaded after an extension with a priority of "
"`30`. In that case, add `PHP_MOD_PRIO=_XX_` in the port's Makefile. For "
"example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1522
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1553
#, no-wrap
msgid ""
"USES=\t\tphp:ext\n"
"USE_PHP=\twddx\n"
"PHP_MOD_PRIO=\t40\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1525
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1556
msgid ""
"These variables are available to use in `PKGNAMEPREFIX` or `PKGNAMESUFFIX`:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1526
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1557
#, no-wrap
msgid "`PHP_PKGNAMEPREFIX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1529
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1560
msgid ""
"Contains `php_XY_-` where _XY_ is the current flavor's PHP version. Use "
"with PHP extensions and modules."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1530
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1561
#, no-wrap
msgid "`PHP_PKGNAMESUFFIX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1533
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1564
msgid ""
"Contains `-php_XY_` where _XY_ is the current flavor's PHP version. Use "
"with PHP applications."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1534
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1565
#, no-wrap
msgid "`PECL_PKGNAMEPREFIX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1537
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1568
msgid ""
"Contains `php_XY_-pecl-` where _XY_ is the current flavor's PHP version. "
"Use with PECL modules."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1542
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1573
msgid ""
"With flavors, all PHP extensions, PECL extensions, PEAR modules _must have_ "
"a different package name, so they must all use one of these three variables "
"in their `PKGNAMEPREFIX` or `PKGNAMESUFFIX`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1545
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1576
#, no-wrap
msgid "`pkgconfig`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1548
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1579
msgid "Possible arguments: (none), `build` (default), `run`, `both`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1552
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1583
msgid ""
"Uses package:devel/pkgconf[]. With no arguments or with the `build` "
"argument, it implies `pkg-config` as a build-time dependency. `run` implies "
"a run-time dependency and `both` implies both run-time and build-time "
"dependencies."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1554
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1585
#, no-wrap
msgid "`pure`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1557
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1588
msgid "Possible arguments: (none), `ffi`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1561
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1592
msgid ""
"Uses package:lang/pure[]. Largely used for building related pure ports. "
"With the `ffi` argument, it implies package:devel/pure-ffi[] as a run-time "
"dependency."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1563
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1594
#, no-wrap
msgid "`pyqt`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1566
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1597
msgid "Possible arguments: (none), `4`, `5`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1570
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1601
msgid ""
"Uses PyQt. If the port is part of PyQT itself, set `PYQT_DIST`. Use "
"`USE_PYQT` to select the components the port needs. The available "
"components are:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1572
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1603
msgid "`core`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1573
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1604
msgid "`dbus`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1574
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1605
msgid "`dbussupport`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1575
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1606
msgid "`demo`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1576
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1607
msgid "`designer`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1577
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1608
msgid "`designerplugin`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1578
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1609
msgid "`doc`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1579
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1610
msgid "`gui`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1580
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1611
msgid "`multimedia`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1581
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1612
msgid "`network`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1583
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1614
msgid "`qscintilla2`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1584
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1615
msgid "`sip`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1585
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1616
msgid "`sql`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1586
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1617
msgid "`svg`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1587
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1618
msgid "`test`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1588
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1619
msgid "`webkit`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1589
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1620
msgid "`xml`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1590
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1621
msgid "`xmlpatterns`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1592
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1623
msgid "These components are only available with PyQT4:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1594
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1625
msgid "`assistant`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1595
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1626
msgid "`declarative`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1596
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1627
msgid "`help`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1597
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1628
msgid "`phonon`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1598
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1629
msgid "`script`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1599
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1630
msgid "`scripttools`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1601
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1632
msgid "These components are only available with PyQT5:"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1603
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1634
msgid "`multimediawidgets`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1604
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1635
msgid "`printsupport`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1605
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1636
msgid "`qml`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1606
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1637
msgid "`serialport`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1607
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1638
msgid "`webkitwidgets`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1608
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1639
msgid "`widgets`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1610
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1641
msgid ""
"The default dependency for each component is build- and run-time, to select "
"only build or run, add `_build` or `_run` to the component name. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1615
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1646
#, no-wrap
msgid ""
"USES=\t\tpyqt\n"
"USE_PYQT=\tcore doc_build designer_run\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1618
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1649
#, no-wrap
msgid "`pytest`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1621
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1652
msgid "Possible arguments: (none), 4"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1628
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1659
msgid ""
"Introduces a new dependency on package:devel/pytest[]. It defines a `do-"
"test` target which will run the tests properly. Use the argument to depend "
"on a specific package:devel/pytest[] version. For ports using package:devel/"
"pytest[] consider using this instead of a specific `do-test` target. The "
"framework exposes the following variables to the port:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1629
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1660
#, no-wrap
msgid "`PYTEST_ARGS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1631
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1662
msgid "Additional arguments to pytest (defaults to empty)."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1632
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1663
#, no-wrap
msgid "`PYTEST_IGNORED_TESTS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1635
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1666
msgid ""
"lists of `pytest -k` patterns of tests to ignore (defaults to empty). For "
"tests which are not expected to pass, such as ones requiring a database "
"access."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1636
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1667
#, no-wrap
msgid "`PYTEST_BROKEN_TESTS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1639
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1670
msgid ""
"lists of `pytest -k` patterns of tests to ignore (defaults to empty). For "
"broken tests which require fixing."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1641
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1672
msgid "In addition the following variables may be set by the user:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1642
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1673
#, no-wrap
msgid "`PYTEST_ENABLE_IGNORED_TESTS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1644
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1675
msgid "Enable tests which are otherwise ignored by `PYTEST_IGNORED_TESTS`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1645
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1676
#, no-wrap
msgid "`PYTEST_ENABLE_BROKEN_TESTS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1647
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1678
msgid "Enable tests which are otherwise ignored by `PYTEST_BROKEN_TESTS`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1648
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1679
#, no-wrap
msgid "`PYTEST_ENABLE_ALL_TESTS`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1651
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1682
msgid ""
"Enable tests which are otherwise ignored by `PYTEST_IGNORED_TESTS` and "
"`PYTEST_BROKEN_TESTS`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1654
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1685
#, no-wrap
msgid "`python`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1657
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1688
msgid ""
"Possible arguments: (none), `_X.Y_`, `_X.Y+_`, `_-X.Y_`, `_X.Y-Z.A_`, "
"`patch`, `build`, `run`, `test`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1662
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1693
msgid ""
"Uses Python. A supported version or version range can be specified. If "
"Python is only needed at build time, run time or for the tests, it can be "
"set as a build, run or test dependency with `build`, `run`, or `test`. If "
"Python is also needed during the patch phase, use `patch`. See crossref:"
"special[using-python, Using Python] for more information."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1665
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1696
msgid ""
"`PYTHON_NO_DEPENDS=yes` can be used when the variables exported by the "
"framework are needed but a dependency on Python is not. It can happen when "
"using with <<uses-shebangfix,`USES=shebangfix`>>, and the goal is only to "
"fix the shebangs but not add a dependency on Python."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1667
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1698
#, no-wrap
msgid "`qmail`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1670
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1701
msgid "Possible arguments: (none), `build`, `run`, `both`, `vars`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1675
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1706
msgid ""
"Uses package:mail/qmail[]. With the `build` argument, it implies `qmail` as "
"a build-time dependency. `run` implies a run-time dependency. Using no "
"argument or the `both` argument implies both run-time and build-time "
"dependencies. `vars` will only set QMAIL variables for the port to use."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1677
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1708
#, no-wrap
msgid "`qmake`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1680
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1711
msgid ""
"Possible arguments: (none), `norecursive`, `outsource`, `no_env`, "
"`no_configure`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1682
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1713
msgid ""
"Uses QMake for configuring. For more information see crossref:special[using-"
"qmake,Using `qmake`]."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1687
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1718
msgid "Possible arguments: `5`, `6`, `no_env`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1691
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1722
msgid ""
"Add dependency on Qt components. `no_env` is passed directly to `USES= "
"qmake`. See crossref:special[using-qt,Using Qt] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1693
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1724
#, no-wrap
msgid "`qt-dist`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1696
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1727
#, no-wrap
msgid "Possible arguments: (none) or `5` and (none) or `6` and (none) or one of `3d`, `5compat`, `base`, `charts`, `connectivity`, `datavis3d`, `declarative`, `doc` `languageserver`, `gamepad`, `graphicaleffects`, `imageformats`, `locat ion`, `lottie`, `multimedia`, `networkauth`, `positioning`, `quick3d`, `quickcontrols2`, `quickcontrols`, `quicktimeline`, `remoteobjects`, `script`, `scxml `, `sensors`, `serialbus`, `serialport`, `shadertools`, `speech`, `svg`, `tools`, `translations`, `virtualkeyboard`, `wayland`, `webchannel`, `webengine`, `webglplugin`, `websockets`, `webview`, `x11extras`, `xmlpatterns`.\n"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1699
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1730
msgid ""
"Provides support for building Qt 5 and Qt 6 components. It takes care of "
"setting up the appropriate configuration environment for the port to build."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1701
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1732
#, no-wrap
msgid "Building Qt 5 Components"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1705
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1736
msgid ""
"The port is Qt 5's `networkauth` component, which is part of the "
"`networkauth` distribution file."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1710
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1741
#, no-wrap
msgid ""
"PORTNAME=\tnetworkauth\n"
"DISTVERSION=\t${QT5_VERSION}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1712
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1743
#, no-wrap
msgid "USES=\t\tqt-dist:5\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1718
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1749
#, no-wrap
msgid "Building Qt 6 Components"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1722
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1753
msgid ""
"The port is Qt 6's `websockets` component, which is part of the `websockets` "
"distribution file."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1727
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1758
#, no-wrap
msgid ""
"PORTNAME= websockets\n"
"PORTVERSION= ${QT6_VERSION}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1729
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1760
#, no-wrap
msgid "USES= qt-dist:6\n"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1734
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1765
msgid ""
"If `PORTNAME` does not match the component name, it can be passed as an "
"argument to `qt-dist`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1736
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1767
#, no-wrap
msgid "Building Qt 5 Components with Different Names"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1740
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1771
msgid ""
"The port is Qt 5's `gui` component, which is part of the `base` distribution "
"file."
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1745
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1776
#, no-wrap
msgid ""
"PORTNAME=\tgui\n"
"DISTVERSION=\t${QT5_VERSION}\n"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1747
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1778
#, no-wrap
msgid "USES=\t\tqt-dist:5,base\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1752
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1783
#, no-wrap
msgid "`readline`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1755
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1786
msgid "Possible arguments: (none), `port`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1758
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1789
msgid ""
"Uses readline as a library dependency, and sets `CPPFLAGS` and `LDFLAGS` as "
"necessary. If the `port` argument is used or if readline is not present in "
"the base system, add a dependency on package:devel/readline[]"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1761
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1792
#, no-wrap
msgid "`ruby`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1764
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1795
msgid "Possible arguments: (none), `build`, `extconf`, `run`, `setup`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1771
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1802
msgid ""
"Provide support for Ruby related ports. `(none)` without arguments adds "
"runtime dependency on package:lang/ruby[]. `build` adds a dependency on "
"package:lang/ruby[] at build time. `extconf` states that the port uses "
"extconf.rb to configure. `run` adds a dependency on package:lang/ruby[] at "
"run time. This is also the default. `setup` states that the port uses setup."
"rb to configure and build."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1773
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1804
msgid "The user may have the following variables defined:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1774
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1791
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1805
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1822
#, no-wrap
msgid "`RUBY_VER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1776
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1807
msgid "Alternative short version of ruby in the form of `x.y'."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1777
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1808
#, no-wrap
msgid "`RUBY_DEFAULT_VER`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1779
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1810
msgid "Set to (e.g.) `2.7` to use `ruby27` as the default version."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1780
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1811
#, no-wrap
msgid "`RUBY_ARCH`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1782
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1813
msgid "Set the architecture name (e.g. i386-freebsd7)."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1784
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1815
msgid "The following variables are exported to be used by the port:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1785
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1816
#, no-wrap
msgid "`RUBY`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1790
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1821
msgid ""
"Set to full path of ruby. If set, the values of the following variables are "
"automatically obtained from the ruby executable: `RUBY_ARCH`, "
"`RUBY_ARCHLIBDIR`, `RUBY_LIBDIR`, `RUBY_SITEARCHLIBDIR`, `RUBY_SITELIBDIR`, "
"`RUBY_VER` and `RUBY_VERSION`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1793
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1824
msgid "Set to the alternative short version of ruby in the form of `x.y'."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1794
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1825
#, no-wrap
msgid "`RUBY_EXTCONF`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1796
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1827
msgid "Set to the alternative name of extconf.rb (default: extconf.rb)."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1797
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1828
#, no-wrap
msgid "`RUBY_EXTCONF_SUBDIRS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1799
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1830
msgid "Set to list of subdirectories, if multiple modules are included."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1800
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1831
#, no-wrap
msgid "`RUBY_SETUP`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1802
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1833
msgid "Set to the alternative name of setup.rb (default: setup.rb)."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1805
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1836
#, no-wrap
msgid "`samba`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1808
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1839
msgid "Possible arguments: `build`, `env`, `lib`, `run`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1813
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1844
msgid ""
"Handle dependency on Samba. `env` will not add any dependency and only set "
"up the variables. `build` and `run` will add build-time and run-time "
"dependency on [.filename]#smbd#. `lib` will add a dependency on [."
"filename]#libsmbclient.so#. The variables that are exported are:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1814
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1845
#, no-wrap
msgid "`SAMBAPORT`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1816
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1847
msgid "The origin of the default Samba port."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1817
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1848
#, no-wrap
msgid "`SAMBAINCLUDES`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1819
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1850
msgid "The location of the Samba header files."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1820
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1851
#, no-wrap
msgid "`SAMBALIBS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1822
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1853
msgid "The directory where the Samba shared libraries are available."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1824
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1855
#, no-wrap
msgid "`scons`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1830
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1861
msgid ""
"Provide support for the use of package:devel/scons[]. See crossref:"
"special[using-scons,Using `scons`] for more information."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1832
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1863
#, no-wrap
msgid "`shared-mime-info`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1839
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1870
msgid ""
"Uses update-mime-database from package:misc/shared-mime-info[]. This uses "
"will automatically add a post-install step in such a way that the port "
"itself still can specify there own post-install step if needed. It also add "
"an crossref:plist[plist-keywords-shared-mime-info,`@shared-mime-info`] entry "
"to the plist."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1841
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1872
#, no-wrap
msgid "`shebangfix`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1847
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1878
msgid ""
"A lot of software uses incorrect locations for script interpreters, most "
"notably [.filename]#/usr/bin/perl# and [.filename]#/bin/bash#. The "
"shebangfix macro fixes shebang lines in scripts listed in `SHEBANG_REGEX`, "
"`SHEBANG_GLOB`, or `SHEBANG_FILES`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1848
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1879
#, no-wrap
msgid "`SHEBANG_REGEX`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1851
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1882
msgid ""
"Contains _one_ extended regular expressions, and is used with the `-iregex` "
"argument of man:find[1]. See <<uses-shebangfix-ex-regex>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1852
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1883
#, no-wrap
msgid "`SHEBANG_GLOB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1855
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1886
msgid ""
"Contains a list of patterns used with the `-name` argument of man:find[1]. "
"See <<uses-shebangfix-ex-glob>>."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1856
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1887
#, no-wrap
msgid "`SHEBANG_FILES`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1861
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1892
msgid ""
"Contains a list of files or man:sh[1] globs. The shebangfix macro is run "
"from `${WRKSRC}`, so `SHEBANG_FILES` can contain paths that are relative to "
"`${WRKSRC}`. It can also deal with absolute paths if files outside of "
"`${WRKSRC}` require patching. See <<uses-shebangfix-ex-files>>."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1863
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1894
msgid ""
"Currently Bash, Java, Ksh, Lua, Perl, PHP, Python, Ruby, Tcl, and Tk are "
"supported by default."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1865
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1896
msgid "There are three configuration variables:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1866
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1897
#, no-wrap
msgid "`SHEBANG_LANG`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1868
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1899
msgid "The list of supported interpreters."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1869
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1900
#, no-wrap
msgid "`_interp__CMD`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1872
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1903
msgid ""
"The path to the command interpreter on FreeBSD. The default value is "
"`${LOCALBASE}/bin/_interp_`."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1873
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1904
#, no-wrap
msgid "`_interp__OLD_CMD`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1877
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1908
msgid ""
"The list of wrong invocations of interpreters. These are typically obsolete "
"paths, or paths used on other operating systems that are incorrect on "
"FreeBSD. They will be replaced by the correct path in `_interp__CMD`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1881
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1912
msgid ""
"These will _always_ be part of `_interp__OLD_CMD`: `\"/usr/bin/env "
"_interp_\" /bin/_interp_ /usr/bin/_interp_ /usr/local/bin/_interp_`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1888
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1919
msgid ""
"`_interp__OLD_CMD` contain multiple values. Any entry with spaces must be "
"quoted. See <<uses-shebangfix-ex-ksh>>."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1894
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1925
msgid ""
"The fixing of shebangs is done during the `patch` phase. If scripts are "
"created with incorrect shebangs during the `build` phase, the build process "
"(for example, the [.filename]#configure# script, or the [."
"filename]#Makefiles#) must be patched or given the right path (for example, "
"with `CONFIGURE_ENV`, `CONFIGURE_ARGS`, `MAKE_ENV`, or `MAKE_ARGS`) to "
"generate the right shebangs."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1896
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1927
msgid ""
"Correct paths for supported interpreters are available in `_interp__CMD`."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1901
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1932
msgid ""
"When used with <<uses-python,`USES=python`>>, and the aim is only to fix the "
"shebangs but a dependency on Python itself is not wanted, use "
"`PYTHON_NO_DEPENDS=yes`."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1904
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1935
#, no-wrap
msgid "Adding Another Interpreter to `USES=shebangfix`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1909
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1940
msgid "To add another interpreter, set `SHEBANG_LANG`. For example:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1913
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1944
#, no-wrap
msgid "SHEBANG_LANG=\tlua\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1918
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1949
#, no-wrap
msgid "Specifying all the Paths When Adding an Interpreter to `USES=shebangfix`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1922
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1953
msgid ""
"If it was not already defined, and there were no default values for "
"`_interp__OLD_CMD` and `_interp__CMD` the Ksh entry could be defined as:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1928
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1959
#, no-wrap
msgid ""
"SHEBANG_LANG=\tksh\n"
"ksh_OLD_CMD=\t\"/usr/bin/env ksh\" /bin/ksh /usr/bin/ksh\n"
"ksh_CMD=\t${LOCALBASE}/bin/ksh\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1933
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1964
#, no-wrap
msgid "Adding a Strange Location for an Interpreter"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1939
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1970
msgid ""
"Some software uses strange locations for an interpreter. For example, an "
"application might expect Python to be located in [.filename]#/opt/bin/"
"python2.7#. The strange path to be replaced can be declared in the port [."
"filename]#Makefile#:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1943
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1974
#, no-wrap
msgid "python_OLD_CMD=\t/opt/bin/python2.7\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1948
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1979
#, no-wrap
msgid "`USES=shebangfix` with `SHEBANG_REGEX`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1952
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1983
msgid ""
"To fix all the files in `${WRKSRC}/scripts` ending in [.filename]#.pl#, [."
"filename]#.sh#, or [.filename]#.cgi# do:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1957
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1988
#, no-wrap
msgid ""
"USES=\tshebangfix\n"
"SHEBANG_REGEX=\t./scripts/.*\\.(sh|pl|cgi)\n"
msgstr ""
#. type: delimited block = 6
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1963
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1994
msgid ""
"`SHEBANG_REGEX` is used by running `find -E`, which uses modern regular "
"expressions also known as extended regular expressions. See man:"
"re_format[7] for more information."
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1968
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1999
#, no-wrap
msgid "`USES=shebangfix` with `SHEBANG_GLOB`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1972
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2003
msgid ""
"To fix all the files in `${WRKSRC}` ending in [.filename]#.pl# or [."
"filename]#.sh#, do:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1977
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2008
#, no-wrap
msgid ""
"USES=\tshebangfix\n"
"SHEBANG_GLOB=\t*.sh *.pl\n"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1982
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2013
#, no-wrap
msgid "`USES=shebangfix` with `SHEBANG_FILES`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1986
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2017
msgid ""
"To fix the files [.filename]#script/foobar.pl# and [.filename]#script/*.sh# "
"in `${WRKSRC}`, do:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1991
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2022
#, no-wrap
msgid ""
"USES=\tshebangfix\n"
"SHEBANG_FILES=\tscripts/foobar.pl scripts/*.sh\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1996
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2027
#, no-wrap
msgid "`sqlite`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1999
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2030
msgid "Possible arguments: (none), `2`, `3`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2002
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2033
msgid ""
"Add a dependency on SQLite. The default version used is 3, but version 2 is "
"also possible using the `:2` modifier."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2004
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2035
#, no-wrap
msgid "`ssl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2007
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2038
msgid "Possible arguments: (none), `build`, `run`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2011
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2042
msgid ""
"Provide support for OpenSSL. A build- or run-time only dependency can be "
"specified using `build` or `run`. These variables are available for the "
"port's use, they are also added to `MAKE_ENV`:"
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2012
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2043
#, no-wrap
msgid "`OPENSSLBASE`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2014
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2045
msgid "Path to the OpenSSL installation base."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2015
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2046
#, no-wrap
msgid "`OPENSSLDIR`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2017
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2048
msgid "Path to OpenSSL's configuration files."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2018
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2049
#, no-wrap
msgid "`OPENSSLLIB`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2020
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2051
msgid "Path to the OpenSSL libraries."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2021
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2052
#, no-wrap
msgid "`OPENSSLINC`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2023
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2054
msgid "Path to the OpenSSL includes."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2024
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2055
#, no-wrap
msgid "`OPENSSLRPATH`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2026
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2057
msgid ""
"If defined, the path the linker needs to use to find the OpenSSL libraries."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2030
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2061
msgid ""
"If a port does not build with an OpenSSL flavor, set the `BROKEN_SSL` "
"variable, and possibly the `BROKEN_SSL_REASON__flavor_`:"
msgstr ""
#. type: delimited block . 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2035
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2066
#, no-wrap
msgid ""
"BROKEN_SSL=\tlibressl\n"
"BROKEN_SSL_REASON_libressl=\tneeds features only available in OpenSSL\n"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2040
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2071
#, no-wrap
msgid "`tar`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2044
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2075
msgid ""
"Possible arguments: (none), `Z`, `bz2`, `bzip2`, `lzma`, `tbz`, `tbz2`, "
"`tgz`, `txz`, `xz`, `zst`, `zstd`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2047
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2078
msgid ""
"Set `EXTRACT_SUFX` to `.tar`, `.tar.Z`, `.tar.bz2`, `.tar.bz2`, `.tar.lzma`, "
"`.tbz`, `.tbz2`, `.tgz`, `.txz`, `.tar.xz`, `.tar.zst` or `.tar.zstd` "
"respectively."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2049
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2080
#, no-wrap
msgid "`tcl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2052
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2083
msgid "Possible arguments: _version_, `wrapper`, `build`, `run`, `tea`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2059
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2090
msgid ""
"Add a dependency on Tcl. A specific version can be requested using "
"_version_. The version can be empty, one or more exact version numbers "
"(currently `84`, `85`, or `86`), or a minimal version number (currently "
"`84+`, `85+` or `86+`). To only request a non version specific wrapper, use "
"`wrapper`. A build- or run-time only dependency can be specified using "
"`build` or `run`. To build the port using the Tcl Extension Architecture, "
"use `tea`. After including [.filename]#bsd.port.pre.mk# the port can "
"inspect the results using these variables:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2061
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2092
msgid "`TCL_VER`: chosen major.minor version of Tcl"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2062
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2093
msgid "`TCLSH`: full path of the Tcl interpreter"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2063
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2094
msgid "`TCL_LIBDIR`: path of the Tcl libraries"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2064
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2095
msgid "`TCL_INCLUDEDIR`: path of the Tcl C header files"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2065
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2096
msgid "`TK_VER`: chosen major.minor version of Tk"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2066
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2097
msgid "`WISH`: full path of the Tk interpreter"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2067
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2098
msgid "`TK_LIBDIR`: path of the Tk libraries"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2068
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2099
msgid "`TK_INCLUDEDIR`: path of the Tk C header files"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2070
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2101
#, no-wrap
msgid "`terminfo`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2076
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2107
msgid ""
"Adds crossref:plist[plist-keywords-terminfo,`@terminfo`] to the [."
"filename]#plist#. Use when the port installs [.filename]#*.terminfo# files "
"in [.filename]#${PREFIX}/share/misc#."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2078
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2113
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2109
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2144
#, no-wrap
msgid "`tex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2084
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2115
msgid ""
"Provide support for tex. Loads all the default variables for TEX related "
"ports and does not add any dependency on any ports."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2086
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2117
msgid "Variables are used to specify which TEX modules are required."
msgstr ""
#. type: Labeled list
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2087
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2118
#, no-wrap
msgid "`USE_TEX`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2091
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2122
msgid ""
"The list of required TEX extensions at run-time. Add `:build` to the "
"extension name to add a build-time dependency, `:run` to add runtime "
"dependency, `:test` for test time dependency, `:extract` for extract time "
"dependency. Example: `base texmf:build source:run`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2093
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2124
msgid "Current possible arguments are as follows:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2096
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2127
msgid "`texmf`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2097
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2128
msgid "`source`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2099
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2130
msgid "`web2c`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2100
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2131
msgid "`kpathsea`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2101
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2132
msgid "`ptexenc`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2102
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2133
msgid "`basic`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2103
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2134
msgid "`tlmgr`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2104
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2135
msgid "`texlua`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2105
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2136
msgid "`texluajit`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2106
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2137
msgid "`synctex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2107
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2138
msgid "`xpdfopen`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2108
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2139
msgid "`dvipsk`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2109
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2140
msgid "`dvipdfmx`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2110
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2141
msgid "`xdvik`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2111
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2142
msgid "`gbklatex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2112
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2143
msgid "`formats`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2114
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2145
msgid "`latex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2115
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2146
msgid "`pdftex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2116
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2147
msgid "`jadetex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2117
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2148
msgid "`luatex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2118
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2149
msgid "`ptex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2119
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2150
msgid "`xetex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2120
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2151
msgid "`xmltex`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2121
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2152
msgid "`texhash`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2122
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2153
msgid "`updmap`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2123
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2154
msgid "`fmtutil`"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2125
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2156
#, no-wrap
msgid "`tk`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2128
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2159
msgid "Same as arguments for `tcl`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2131
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2162
msgid ""
"Small wrapper when using both Tcl and Tk. The same variables are returned "
"as when using Tcl."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2133
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2164
#, no-wrap
msgid "`uidfix`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2139
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2170
msgid ""
"Changes some default behavior (mostly variables) of the build system to "
"allow installing this port as a normal user. Try this in the port before "
"using <<uses-fakeroot,USES=fakeroot>> or patching."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2141
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2172
#, no-wrap
msgid "`uniquefiles`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2144
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2175
msgid "Possible arguments: (none), `dirs`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2148
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2179
msgid ""
"Make files or directories 'unique', by adding a prefix or suffix. If the "
"`dirs` argument is used, the port needs a prefix (and only a prefix) based "
"on `UNIQUE_PREFIX` for standard directories `DOCSDIR`, `EXAMPLESDIR`, "
"`DATADIR`, `WWWDIR`, `ETCDIR`. These variables are available for ports:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2150
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2181
msgid ""
"`UNIQUE_PREFIX`: The prefix to be used for directories and files. Default: "
"`${PKGNAMEPREFIX}`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2151
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2182
msgid ""
"`UNIQUE_PREFIX_FILES`: A list of files that need to be prefixed. Default: "
"empty."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2152
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2183
msgid ""
"`UNIQUE_SUFFIX`: The suffix to be used for files. Default: `${PKGNAMESUFFIX}"
"`."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2153
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2184
msgid ""
"`UNIQUE_SUFFIX_FILES`: A list of files that need to be suffixed. Default: "
"empty."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2155
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2186
#, no-wrap
msgid "`vala`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2158
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2189
msgid "Possible arguments: `build`, `lib`, `no_depend`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2161
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2192
msgid ""
"Adds build or library dependencies on package:lang/vala[]. The `no_depend` "
"argument is reserved for package:lang/vala[] itself."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2163
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2194
#, no-wrap
msgid "`varnish`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2166
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2197
msgid "Possible arguments: `4` (default), `6`, `7`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2169
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2200
msgid ""
"Handle dependencies on Varnish Cache. Adds a dependency on package:www/"
"varnish*[]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2171
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2202
#, no-wrap
msgid "`webplugin`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2174
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2205
msgid "Possible arguments: (none), `ARGS`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2177
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2208
msgid ""
"Automatically create and remove symbolic links for each application that "
"supports the webplugin framework. `ARGS` can be one of:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2179
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2210
msgid "`gecko`: support plug-ins based on Gecko"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2180
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2211
msgid "`native`: support plug-ins for Gecko, Opera, and WebKit-GTK"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2181
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2212
msgid "`linux`: support Linux plug-ins"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2182
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2213
msgid "`all` (default, implicit): support all plug-in types"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2183
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2214
msgid "(individual entries): support only the browsers listed"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2185
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2216
msgid "These variables can be adjusted:"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2187
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2218
msgid ""
"`WEBPLUGIN_FILES`: No default, must be set manually. The plug-in files to "
"install."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2188
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2219
msgid ""
"`WEBPLUGIN_DIR`: The directory to install the plug-in files to, default [."
"filename]#PREFIX/lib/browser_plugins/WEBPLUGIN_NAME#. Set this if the port "
"installs plug-in files outside of the default directory to prevent broken "
"symbolic links."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2189
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2220
msgid ""
"`WEBPLUGIN_NAME`: The final directory to install the plug-in files into, "
"default `PKGBASE`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2191
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2222
#, no-wrap
msgid "`xfce`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2194
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2225
msgid "Possible arguments: (none), `gtk2`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2197
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2228
msgid ""
"Provide support for Xfce related ports. See crossref:special[using-xfce,"
"Using Xfce] for details."
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2200
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2231
msgid ""
"The `gtk2` argument specifies that the port requires GTK2 support. It adds "
"additional features provided by some core components, for example, package:"
"x11/libxfce4menu[] and package:x11-wm/xfce4-panel[]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2202
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2233
#, no-wrap
msgid "`xorg`"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2209
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2240
msgid ""
"Provides an easy way to depend on X.org components. The components should "
"be listed in `USE_XORG`. The available components are:"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2211
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2242
#, no-wrap
msgid "Available X.Org Components"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2215
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2246
#, no-wrap
msgid "Name"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2217
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2248
#, no-wrap
msgid "Description"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2218
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2249
#, no-wrap
msgid "`dmx`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2220
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2251
#, no-wrap
msgid "DMX extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2221
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2252
#, no-wrap
msgid "`fontenc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2223
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2254
#, no-wrap
msgid "The fontenc Library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2224
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2255
#, no-wrap
msgid "`fontutil`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2226
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2257
#, no-wrap
msgid "Create an index of X font files in a directory"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2227
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2258
#, no-wrap
msgid "`ice`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2229
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2260
#, no-wrap
msgid "Inter Client Exchange library for X11"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2230
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2261
#, no-wrap
msgid "`libfs`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2232
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2263
#, no-wrap
msgid "The FS library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2233
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2264
#, no-wrap
msgid "`pciaccess`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2235
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2266
#, no-wrap
msgid "Generic PCI access library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2238
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2269
#, no-wrap
msgid "Low-level pixel manipulation library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2239
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2270
#, no-wrap
msgid "`sm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2241
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2272
#, no-wrap
msgid "Session Management library for X11"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2242
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2273
#, no-wrap
msgid "`x11`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2244
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2275
#, no-wrap
msgid "X11 library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2245
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2276
#, no-wrap
msgid "`xau`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2247
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2278
#, no-wrap
msgid "Authentication Protocol library for X11"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2248
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2279
#, no-wrap
msgid "`xaw`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2250
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2253
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2256
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2281
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2284
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2287
#, no-wrap
msgid "X Athena Widgets library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2251
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2282
#, no-wrap
msgid "`xaw6`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2254
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2285
#, no-wrap
msgid "`xaw7`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2257
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2288
#, no-wrap
msgid "`xbitmaps`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2259
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2290
#, no-wrap
msgid "X.Org bitmaps data"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2260
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2291
#, no-wrap
msgid "`xcb`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2262
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2293
#, no-wrap
msgid "The X protocol C-language Binding (XCB) library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2263
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2294
#, no-wrap
msgid "`xcomposite`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2265
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2296
#, no-wrap
msgid "X Composite extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2266
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2297
#, no-wrap
msgid "`xcursor`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2268
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2299
#, no-wrap
msgid "X client-side cursor loading library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2269
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2300
#, no-wrap
msgid "`xdamage`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2271
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2302
#, no-wrap
msgid "X Damage extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2272
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2303
#, no-wrap
msgid "`xdmcp`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2274
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2305
#, no-wrap
msgid "X Display Manager Control Protocol library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2275
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2306
#, no-wrap
msgid "`xext`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2277
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2308
#, no-wrap
msgid "X11 Extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2278
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2309
#, no-wrap
msgid "`xfixes`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2280
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2311
#, no-wrap
msgid "X Fixes extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2281
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2312
#, no-wrap
msgid "`xfont`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2283
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2286
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2314
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2317
#, no-wrap
msgid "X font library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2284
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2315
#, no-wrap
msgid "`xfont2`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2287
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2318
#, no-wrap
msgid "`xft`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2289
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2320
#, no-wrap
msgid "Client-sided font API for X applications"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2290
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2321
#, no-wrap
msgid "`xi`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2292
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2323
#, no-wrap
msgid "X Input extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2293
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2324
#, no-wrap
msgid "`xinerama`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2295
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2326
#, no-wrap
msgid "X11 Xinerama library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2296
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2327
#, no-wrap
msgid "`xkbfile`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2298
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2329
#, no-wrap
msgid "XKB file library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2299
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2330
#, no-wrap
msgid "`xmu`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2301
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2304
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2332
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2335
#, no-wrap
msgid "X Miscellaneous Utilities libraries"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2302
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2333
#, no-wrap
msgid "`xmuu`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2305
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2336
#, no-wrap
msgid "`xorg-macros`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2307
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2338
#, no-wrap
msgid "X.Org development aclocal macros"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2308
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2339
#, no-wrap
msgid "`xorg-server`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2310
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2341
#, no-wrap
msgid "X.Org X server and related programs"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2311
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2342
#, no-wrap
msgid "`xorgproto`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2313
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2344
#, no-wrap
msgid "xorg protocol headers"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2314
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2345
#, no-wrap
msgid "`xpm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2316
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2347
#, no-wrap
msgid "X Pixmap library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2317
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2348
#, no-wrap
msgid "`xpresent`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2319
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2350
#, no-wrap
msgid "X Present Extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2320
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2351
#, no-wrap
msgid "`xrandr`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2322
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2353
#, no-wrap
msgid "X Resize and Rotate extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2323
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2354
#, no-wrap
msgid "`xrender`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2325
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2356
#, no-wrap
msgid "X Render extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2326
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2357
#, no-wrap
msgid "`xres`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2328
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2359
#, no-wrap
msgid "X Resource usage library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2329
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2360
#, no-wrap
msgid "`xscrnsaver`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2331
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2362
#, no-wrap
msgid "The XScrnSaver library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2332
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2363
#, no-wrap
msgid "`xshmfence`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2334
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2365
#, no-wrap
msgid "Shared memory 'SyncFence' synchronization primitive"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2335
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2366
#, no-wrap
msgid "`xt`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2337
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2368
#, no-wrap
msgid "X Toolkit library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2338
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2369
#, no-wrap
msgid "`xtrans`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2340
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2371
#, no-wrap
msgid "Abstract network code for X"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2341
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2372
#, no-wrap
msgid "`xtst`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2343
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2374
#, no-wrap
msgid "X Test extension"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2344
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2375
#, no-wrap
msgid "`xv`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2346
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2377
#, no-wrap
msgid "X Video Extension library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2347
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2378
#, no-wrap
msgid "`xvmc`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2349
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2380
#, no-wrap
msgid "X Video Extension Motion Compensation library"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2350
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2381
#, no-wrap
msgid "`xxf86dga`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2352
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2383
#, no-wrap
msgid "X DGA Extension"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2353
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2384
#, no-wrap
msgid "`xxf86vm`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2354
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2385
#, no-wrap
msgid "X Vidmode Extension"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2357
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2388
#, no-wrap
msgid "`xorg-cat`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2360
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2391
msgid ""
"Possible arguments: `app`, `data`, `doc`, `driver`, `font`, `lib`, `proto`, "
"`util`, `xserver` and (none) or one off `autotools` (default), `meson`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2364
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2395
msgid ""
"Provide support for building Xorg components. It takes care of setting up "
"common dependencies and an appropriate configuration environment needed. "
"This is intended only for Xorg components."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2366
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2397
msgid "The category has to match upstream categories."
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2369
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2400
msgid ""
"The second argument is the build system to use. autotools is the default, "
"but meson is also supported."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2371
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2402
#, no-wrap
msgid "`zip`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2374
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2405
msgid "Possible arguments: (none), `infozip`"
msgstr ""
#. type: Plain text
-#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2376
+#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2407
msgid ""
"Indicates that the distribution files use the ZIP compression algorithm. "
"For files using the InfoZip algorithm the `infozip` argument must be passed "
"to set the appropriate dependencies."
msgstr ""
diff --git a/documentation/content/en/books/porters-handbook/versions/_index.po b/documentation/content/en/books/porters-handbook/versions/_index.po
index 404cf9c472..9693b03da4 100644
--- a/documentation/content/en/books/porters-handbook/versions/_index.po
+++ b/documentation/content/en/books/porters-handbook/versions/_index.po
@@ -1,32181 +1,32369 @@
# 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: 2023-07-15 16:42-0300\n"
+"POT-Creation-Date: 2023-09-09 18:12-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/porters-handbook/versions/_index.adoc:1
#, no-wrap
msgid "A list of changes to the sys/param.h file"
msgstr ""
#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1
#, no-wrap
msgid "Chapter 18. __FreeBSD_version Values"
msgstr ""
#. type: Title =
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:12
#, no-wrap
msgid "`__FreeBSD_version` Values"
msgstr ""
#. type: Plain text
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:50
msgid ""
"Here is a convenient list of `__FreeBSD_version` values as defined in "
"https://cgit.freebsd.org/src/tree/sys/sys/param.h[sys/param.h]:"
msgstr ""
#. type: Title ==
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:52
#, no-wrap
-msgid "FreeBSD 14 Versions"
+msgid "FreeBSD 15 Versions"
msgstr ""
#. type: Block title
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:55
#, no-wrap
-msgid "FreeBSD 14 `__FreeBSD_version` Values"
+msgid "FreeBSD 15 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:59
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:477
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1445
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2248
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3231
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3921
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4366
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5141
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5609
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5987
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6615
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6973
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7091
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:78
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1494
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5663
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7243
#, no-wrap
msgid "Value"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:60
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:478
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1446
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2249
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3232
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3922
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4367
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5142
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5610
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5988
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6616
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6974
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7092
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:79
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7244
#, no-wrap
msgid "Revision"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:61
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:479
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1447
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2250
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3233
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3923
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4368
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5143
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5611
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5989
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6617
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6975
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7093
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:80
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2304
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7245
#, no-wrap
msgid "Date"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:63
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:481
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1449
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2252
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3235
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3925
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4370
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5145
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5613
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5991
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6619
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6977
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7095
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:82
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3289
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4424
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7247
#, no-wrap
msgid "Release"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:64
#, no-wrap
-msgid "1400000"
+msgid "1500000"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:65
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:489
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:494
#, no-wrap
-msgid "gitref:a53ce3fc4938e37d5ec89304846203d2083c61a2[repository=\"src\",length=12]"
+msgid "gitref:29a16ce065dbc28bc9e87c9bfadb08bb58b137e4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:66
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:490
#, no-wrap
-msgid "January 22, 2021"
+msgid "August 24, 2023"
msgstr ""
#. type: Table
#: documentation/content/en/books/porters-handbook/versions/_index.adoc:68
#, no-wrap
+msgid "15.0-CURRENT."
+msgstr ""
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:71
+#, no-wrap
+msgid "FreeBSD 14 Versions"
+msgstr ""
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:74
+#, no-wrap
+msgid "FreeBSD 14 `__FreeBSD_version` Values"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:83
+#, no-wrap
+msgid "1400000"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:84
+#, no-wrap
+msgid "gitref:a53ce3fc4938e37d5ec89304846203d2083c61a2[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:85
+#, no-wrap
+msgid "January 22, 2021"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:87
+#, no-wrap
msgid "14.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:69
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:88
#, no-wrap
msgid "1400001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:70
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:89
#, no-wrap
msgid "gitref:739ecbcf1c4fd22b5f6ee0bb180a67644046a3e0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:71
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:90
#, no-wrap
msgid "January 23, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:73
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:92
#, no-wrap
msgid "14.0-CURRENT after adding symlink support to lockless lookup."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:74
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:93
#, no-wrap
msgid "1400002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:75
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:94
#, no-wrap
msgid "gitref:2cf84258922f306a3f84866685d2f5346f67db58[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:76
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:95
#, no-wrap
msgid "January 26, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:78
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:97
#, no-wrap
msgid "14.0-CURRENT after fixing a clang assertion when building the package:devel/onetbb[] port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:79
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:98
#, no-wrap
msgid "1400003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:80
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:99
#, no-wrap
msgid "gitref:d386f3a3c32f0396aa7995349dd65d6c59711393[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:81
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:100
#, no-wrap
msgid "January 28, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:83
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:102
#, no-wrap
msgid "14.0-CURRENT after adding various LinuxKPI bits conflicting with drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:84
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:103
#, no-wrap
msgid "1400004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:85
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:104
#, no-wrap
msgid "gitref:68f6800ce05c386ff045b4416d8595d09c4d8fdd[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:86
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:105
#, no-wrap
msgid "February 8, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:88
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:107
#, no-wrap
msgid "14.0-CURRENT after kernel interfaces for dispatching cryptographic operations were changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:89
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:108
#, no-wrap
msgid "1400005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:90
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:109
#, no-wrap
msgid "gitref:45eabf5754ac1d291bd677fdf29f59ce4bbc2c8f[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:91
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:110
#, no-wrap
msgid "February 17, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:93
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:112
#, no-wrap
msgid "14.0-CURRENT after changing the API of man:ptrace[2] `PT_GETDBREGS`/`PT_SETDBREGS` on arm64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:94
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:113
#, no-wrap
msgid "1400006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:95
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:114
#, no-wrap
msgid "gitref:c96151d33509655efb7fb26768cb56a041c176f1[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:96
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:115
#, no-wrap
msgid "March 17, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:98
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:117
#, no-wrap
msgid "14.0-CURRENT after adding man:sndstat[4] enumeration ioctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:99
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:118
#, no-wrap
msgid "1400007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:119
#, no-wrap
msgid "gitref:d36d6816151705907393889d661cbfd25c630ca8[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:120
#, no-wrap
msgid "April 6, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:103
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:122
#, no-wrap
msgid "14.0-CURRENT after fixing wrong `dlpi_tls_data`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:104
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:123
#, no-wrap
msgid "1400008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:124
#, no-wrap
msgid "gitref:e152bbecb221a592e7dbcabe3d1170a60f0d0dfe[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:125
#, no-wrap
msgid "April 11, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:127
#, no-wrap
msgid "14.0-CURRENT after changing the internal KAPI between the `krpc` and NFS modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:109
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:128
#, no-wrap
msgid "1400009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:110
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:129
#, no-wrap
msgid "gitref:9ca874cf740ee68c5742df8b5f9e20910085c011[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:130
#, no-wrap
msgid "April 20, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:132
#, no-wrap
msgid "14.0-CURRENT after adding TCP LRO support for VLAN and VxLAN."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:114
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:133
#, no-wrap
msgid "1400010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:115
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:134
#, no-wrap
msgid "gitref:a3a02acde1009f03dc78e979e051acee9f9247c2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:135
#, no-wrap
msgid "April 21, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:137
#, no-wrap
msgid "14.0-CURRENT after changing the man:sndstat[4] ioctls `nvlist` schema and definitions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:119
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:138
#, no-wrap
msgid "1400015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:139
#, no-wrap
msgid "gitref:d72cd275187c6399caf0ca4125292dc7e55fa478[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:121
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:126
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:150
#, no-wrap
msgid "May 25, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:142
#, no-wrap
msgid "14.0-CURRENT after adding more LinuxKPI changes needing adjustments to drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:124
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:143
#, no-wrap
msgid "1400016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:125
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:144
#, no-wrap
msgid "gitref:21e3c1fbe2460f144f6d4dfd61c3346b2de59667[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:147
#, no-wrap
msgid "14.0-CURRENT after removing support for KTLS software backends."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:148
#, no-wrap
msgid "1400017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:130
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:149
#, no-wrap
msgid "gitref:beb817edfe22cdea91e19a60c42caabd9404da48[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:152
#, no-wrap
msgid "14.0-CURRENT after adding `crypto_cursor_segment()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:153
#, no-wrap
msgid "1400018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:135
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:154
#, no-wrap
msgid "gitref:a4b07a2701f568c2c0f0c0426091f1489244a92d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:155
#, no-wrap
msgid "May 30, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:138
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:157
#, no-wrap
msgid "14.0-CURRENT after allowing the man:VFS_QUOTACTL[9] implementation to indicate busy state changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:139
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:158
#, no-wrap
msgid "1400019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:159
#, no-wrap
msgid "gitref:37d64dcdfa519157aff9711f1f226ad7bd778f46[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:160
#, no-wrap
msgid "June 7, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:162
#, no-wrap
msgid "14.0-CURRENT after including `pr_err_once()` in the LinuxKPI [.filename]#printk.h#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:144
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:163
#, no-wrap
msgid "1400020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:164
#, no-wrap
msgid "gitref:8a1a42b2a7a428fb97fda9f19fd0d67a4eec7535[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:165
#, no-wrap
msgid "June 9, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:148
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:167
#, no-wrap
msgid "14.0-CURRENT after adding macros for `might_lock_nested()` and `lockdep_(re/un/)pin_lock()` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:168
#, no-wrap
msgid "1400021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:169
#, no-wrap
msgid "gitref:b47f461c8e67253fdb394968428b760e880baa08[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:170
#, no-wrap
msgid "June 10, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:153
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:172
#, no-wrap
msgid "14.0-CURRENT after adding a `list_for_each_entry_lockless()` macro to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:154
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:173
#, no-wrap
msgid "1400022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:174
#, no-wrap
msgid "gitref:40cc9a3a6b81a65a03712dfd93bbed48552a97ad[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:156
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1244
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1283
#, no-wrap
msgid "June 11, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:177
#, no-wrap
msgid "14.0-CURRENT after commit gitref:e1a907a25cfa422c0d1acaf9f91352ada04f4bca[repository=\"src\",length=12] changed the internal KAPI between the `krpc` and nfsserver modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:159
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:178
#, no-wrap
msgid "1400023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:160
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:179
#, no-wrap
msgid "gitref:d409305fa3838fb39b38c26fc085fb729b8766d5[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:180
#, no-wrap
msgid "June 13, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:182
#, no-wrap
msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:183
#, no-wrap
msgid "1400024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:165
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:184
#, no-wrap
msgid "gitref:41dfd8bd6466fd39957dee2614d88c81cdf420a7[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:185
#, no-wrap
msgid "June 18, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:168
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:192
#, no-wrap
msgid "14.0-CURRENT after various additions to LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:188
#, no-wrap
msgid "1400025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:189
#, no-wrap
msgid "gitref:5fa1eb1cd927219070b5753b64114a9240d76bf8[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:190
#, no-wrap
msgid "July 5, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:193
#, no-wrap
msgid "1400026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:194
#, no-wrap
msgid "gitref:fad3f322efb53d4924fdda34f9f23f881659c269[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:195
#, no-wrap
msgid "July 16, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:197
#, no-wrap
msgid "14.0-CURRENT after changing the internal KAPI between the nfscommon and nfsd modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:198
#, no-wrap
msgid "1400027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:180
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:199
#, no-wrap
msgid "gitref:cc55ee8009a550810d38777fd6ace9abf3a2f6b4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:200
#, no-wrap
msgid "July 28, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:202
#, no-wrap
msgid "14.0-CURRENT after adding out-of-line LSE atomics helpers to [.filename]#libcompiler_rt.a# on aarch64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:203
#, no-wrap
msgid "1400028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:204
#, no-wrap
msgid "gitref:792b602a337ddc5efaa5e5326d9433fe3da7f303[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:186
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1269
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1308
#, no-wrap
msgid "July 31, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:207
#, no-wrap
msgid "14.0-CURRENT after making FPU sections thread-safe in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:208
#, no-wrap
msgid "1400029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:209
#, no-wrap
msgid "gitref:245ec7651e4221043d1032fb3f82f335dc65fc7f[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:210
#, no-wrap
msgid "August 5, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:212
#, no-wrap
msgid "14.0-CURRENT after adding man:fspacectl[2], man:vn_deallocate[9] and man:VOP_DEALLOCATE[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:194
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:213
#, no-wrap
msgid "1400030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:214
#, no-wrap
msgid "gitref:95941b963606f6e03282cd6f866f3166dcedfa5b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:215
#, no-wrap
msgid "August 12, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:217
#, no-wrap
msgid "14.0-CURRENT after man:VOP_DEALLOCATE[9] parameter changes and addition of man:fspacectl[2] support to POSIX shared memory."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:218
#, no-wrap
msgid "1400031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:219
#, no-wrap
msgid "gitref:1a4c5061fc5ba8f2eee41456a6873547915f268a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:220
#, no-wrap
msgid "August 24, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:203
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:222
#, no-wrap
msgid "14.0-CURRENT after changing man:fspacectl[2], man:vn_deallocate[9] and man:VOP_DEALLOCATE[9] to update rmsr.r_offset to a meaningful value."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:204
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:223
#, no-wrap
msgid "1400032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:224
#, no-wrap
msgid "gitref:76321d2d432ed270d93b282e54e59b708c0cf3b4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:225
#, no-wrap
msgid "August 25, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:227
#, no-wrap
msgid "14.0-CURRENT after changing man:fspacectl[2], man:vn_deallocate[9] and man:VOP_DEALLOCATE[9] to make calculating the number of bytes zeroed easier."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:209
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:228
#, no-wrap
msgid "1400033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:210
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:229
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:234
#, no-wrap
msgid "gitref:c751d067c166db71ce8bf3a323c62ac3428bd32a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:230
#, no-wrap
msgid "September 7, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:232
#, no-wrap
msgid "14.0-CURRENT after moving the socket buffer locks into the containing socket and renaming sb(un)lock to SOCK_IO_RECV_LOCK, SOCK_IO_RECV_UNLOCK, SOCK_IO_SEND_LOCK, and SOCK_IO_SEND_UNLOCK."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:233
#, no-wrap
msgid "1400034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:235
#, no-wrap
msgid "September 29, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:237
#, no-wrap
msgid "14.0-CURRENT after LinuxKPI changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:238
#, no-wrap
msgid "1400035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:239
#, no-wrap
msgid "gitref:16f1ee11e6574d7f8d8a9dc6ebc9be3036ff9fd0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:240
#, no-wrap
msgid "October 4, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:242
#, no-wrap
msgid "14.0-CURRENT after splitting libtinfow from libncurses."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:224
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:243
#, no-wrap
msgid "1400036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:225
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:244
#, no-wrap
msgid "gitref:ac847dbf73685a5df9f70bbcdefa9fdeb559071d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:245
#, no-wrap
msgid "October 6, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:247
#, no-wrap
msgid "14.0-CURRENT after extending the AES-CCM and Chacha20-Poly1305 ciphers in OCF to support multiple nonce lengths."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:229
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:248
#, no-wrap
msgid "1400037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:230
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:249
#, no-wrap
msgid "gitref:2b68eb8e1dbbdaf6a0df1c83b26f5403ca52d4c3[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:250
#, no-wrap
msgid "October 11, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:252
#, no-wrap
msgid "14.0-CURRENT after removal of thread argument from man:VOP_STAT[9] and `fo_stat`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:234
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:253
#, no-wrap
msgid "1400038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:235
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:254
#, no-wrap
msgid "gitref:0d6516b453469ce1d92ec903c4c4df9ee08be0f9[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:255
#, no-wrap
msgid "October 17, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:257
#, no-wrap
msgid "14.0-CURRENT after LinuxKPI gained support of lazy BAR allocation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:239
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:258
#, no-wrap
msgid "1400039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:240
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:259
#, no-wrap
msgid "gitref:bd49c454ca62170506a98959c1acab7ad50c3276[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:260
#, no-wrap
msgid "October 19, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:262
#, no-wrap
msgid "14.0-CURRENT after page allocator changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:244
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:263
#, no-wrap
msgid "1400040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:245
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:264
#, no-wrap
msgid "gitref:f38bef2ce417d6270f32b4ed17cec84bfd95d548[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:265
#, no-wrap
msgid "October 30, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:267
#, no-wrap
msgid "14.0-CURRENT after libdialog shared library version number bump."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:249
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:268
#, no-wrap
msgid "1400041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:250
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:269
#, no-wrap
msgid "gitref:0c276dee030b241e12e1ceb1b2ab619004f08ce1[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:270
#, no-wrap
msgid "November 6, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:272
#, no-wrap
msgid "14.0-CURRENT after changing the arguments for man:VOP_ALLOCATE[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:254
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:273
#, no-wrap
msgid "1400042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:255
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:274
#, no-wrap
msgid "gitref:20aa359773befc8182f6b5dcb5aad7390cab6c26[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:275
#, no-wrap
msgid "November 13, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:277
#, no-wrap
msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-0-gd7b669b3a303, a.k.a. 13.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:259
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:278
#, no-wrap
msgid "1400043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:260
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:279
#, no-wrap
msgid "gitref:7e1d3eefd410ca0fbae5a217422821244c3eeee4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:280
#, no-wrap
msgid "November 25, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:282
#, no-wrap
msgid "14.0-CURRENT after removing the unused thread argument from man:NDINIT[9]*."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:264
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:283
#, no-wrap
msgid "1400044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:265
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:284
#, no-wrap
msgid "gitref:ec434c85b46dd715da1940e2a8911bf476b0e477[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:285
#, no-wrap
msgid "December 9, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:287
#, no-wrap
msgid "14.0-CURRENT after changing in-kernel software crypto ciphers transforms to support AEAD ciphers and changing the Blake-2S/B auth transforms to support Init before Setkey like other auth transforms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:269
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:288
#, no-wrap
msgid "1400045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:270
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:289
#, no-wrap
msgid "gitref:b214fcceacad6b842545150664bd2695c1c2b34f[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:290
#, no-wrap
msgid "December 15, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:292
#, no-wrap
msgid "14.0-CURRENT after changing man:VOP_READDIR[9]'s cookies argument to a `**uint64_t`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:274
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:293
#, no-wrap
msgid "1400046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:275
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:294
#, no-wrap
msgid "gitref:e2650af157bc7489deaf2c9054995f0f88a6e5da[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:295
#, no-wrap
msgid "December 30, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:297
#, no-wrap
msgid "14.0-CURRENT after making the CPU_SET macros compatible with glibc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:279
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:298
#, no-wrap
msgid "1400047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:280
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:299
#, no-wrap
msgid "gitref:ed6417cd8d0bb5a2c175fce9d8e4a495fae9e9f4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:300
#, no-wrap
msgid "January 17, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:283
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:363
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:373
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:397
#, no-wrap
msgid "14.0-CURRENT after multiple LinuxKPI changes required by drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:284
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:303
#, no-wrap
msgid "1400048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:304
#, no-wrap
msgid "gitref:dd2f7a4b45eb1285e710cfce60cb77f7c11f8075[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:305
#, no-wrap
msgid "January 18, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:307
#, no-wrap
msgid "14.0-CURRENT after adding <crypto/chacha20_poly1305.h>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:289
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:308
#, no-wrap
msgid "1400049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:290
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:309
#, no-wrap
msgid "gitref:2c4b65cc3d227f31864e183c15f6c42e2c596cd9[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:310
#, no-wrap
msgid "January 24, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:312
#, no-wrap
msgid "14.0-CURRENT after adding <crypto/curve25519.h>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:294
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:313
#, no-wrap
msgid "1400050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:295
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:314
#, no-wrap
msgid "gitref:213e91399b7998554d787bb290109ebe602aa279[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:296
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:315
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:320
#, no-wrap
msgid "January 25, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:317
#, no-wrap
msgid "14.0-CURRENT after iflib adds the feature that a driver can set its own TX queue selection function as `ift_txq_select` in struct `if_txrx`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:299
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:318
#, no-wrap
msgid "1400051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:300
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:319
#, no-wrap
msgid "gitref:59d465e200bb7058dfdb183c061730c10dd5bc03[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:322
#, no-wrap
msgid "14.0-CURRENT after adding i2c support for LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:304
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:323
#, no-wrap
msgid "1400052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:305
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:324
#, no-wrap
msgid "gitref:05f0b24bfb3416606c8ea02bc1bdb9bcee7aee0c[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:325
#, no-wrap
msgid "February 14, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:327
#, no-wrap
msgid "14.0-CURRENT after adding GUID_INIT and pm_qos.h support for LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:309
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:328
#, no-wrap
msgid "1400053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:310
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:329
#, no-wrap
msgid "gitref:ba87e9bf74202b08b8e3b0a297b9b88f6869fbfb[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:330
#, no-wrap
msgid "February 17, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:332
#, no-wrap
msgid "14.0-CURRENT after adding mmap_lock.h to LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:314
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:333
#, no-wrap
msgid "1400054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:315
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:334
#, no-wrap
msgid "gitref:50bb3a33d879536e86e8a23365f070ef00b5cb32[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:316
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:335
#, no-wrap
msgid "March 28, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:337
#, no-wrap
msgid "14.0-CURRENT after changing `irq_work_queue` to return a bool in LinuxKPI to match 5.10 API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:319
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:338
#, no-wrap
msgid "1400055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:320
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:339
#, no-wrap
msgid "gitref:d69af4758be912625ec08656ba64eb90a98c9a7f[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:340
#, no-wrap
msgid "March 29, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:342
#, no-wrap
msgid "14.0-CURRENT after adding `for_each_sgtable_dma_sg` and `for_each_sgtable_dma_page` to LinuxKPI"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:324
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:343
#, no-wrap
msgid "1400056"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:325
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:344
#, no-wrap
msgid "gitref:ab8ac4c28574a42a2891b2e2341f802949c1fb57[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:345
#, no-wrap
msgid "March 31, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:328
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:347
#, no-wrap
msgid "14.0-CURRENT after zlib upgrade to 1.2.12"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:329
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:348
#, no-wrap
msgid "1400057"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:330
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:349
#, no-wrap
msgid "gitref:e68b35e40881a1bd858e1b4b5003123a484fd7cd[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:350
#, no-wrap
msgid "April 22, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:352
#, no-wrap
msgid "14.0-CURRENT after changing udp_tun_func_t() prototype."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:334
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:353
#, no-wrap
msgid "1400058"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:335
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:354
#, no-wrap
msgid "gitref:2e32d4e41d205d6f14834f87306a77ff77b9c0bd[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:355
#, no-wrap
msgid "May 7, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:357
#, no-wrap
msgid "14.0-CURRENT after newbus changes to remove devclass arguments."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:339
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:358
#, no-wrap
msgid "1400059"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:340
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:359
#, no-wrap
msgid "gitref:3a9a9c0ca44ec535dcf73fe8462bee458e54814b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:360
#, no-wrap
msgid "May 14, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:362
#, no-wrap
msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14.0.3-0-g1f9140064dfb, a.k.a. 14.0.3 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:344
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:363
#, no-wrap
msgid "1400060"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:345
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:364
#, no-wrap
msgid "gitref:85d7875d42913c2cb10a007a1be05b210dc6aab2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:346
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:365
#, no-wrap
msgid "June 6, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:367
#, no-wrap
msgid "14.0-CURRENT after LinuxKPI dmi_matches() fixes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:349
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:368
#, no-wrap
msgid "1400061"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:350
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:369
#, no-wrap
msgid "gitref:c4c5981c14d5bd69e9df9ae691069ec4c2e92174[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:351
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:370
#, no-wrap
msgid "June 8, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:372
#, no-wrap
msgid "14.0-CURRENT after mbuf(9) structure changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:354
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:373
#, no-wrap
msgid "1400062"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:355
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:374
#, no-wrap
msgid "gitref:8c309d48aabf1cb469334c7716033f177a2715c0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:375
#, no-wrap
msgid "June 18, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:358
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:377
#, no-wrap
msgid "14.0-CURRENT after struct `kinfo_file` changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:359
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:378
#, no-wrap
msgid "1400063"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:360
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:379
#, no-wrap
msgid "gitref:8cff8e6e13a6d3ccff40fc0d8d97f5aef22a8f4d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:361
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:380
#, no-wrap
msgid "June 29, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:364
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:383
#, no-wrap
msgid "1400064"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:365
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:384
#, no-wrap
msgid "gitref:ddd9004e7a5dbf02c34ef0effcef90f7d5df357d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:385
#, no-wrap
msgid "July 18, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:387
#, no-wrap
msgid "14.0-CURRENT after the removal of OBJT_DEFAULT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:369
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:388
#, no-wrap
msgid "1400065"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:370
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:389
#, no-wrap
msgid "gitref:b273f93657cf0e6f2c6ee4d0f40a43656233c6d0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:390
#, no-wrap
msgid "August 8, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:374
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:393
#, no-wrap
msgid "1400066"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:375
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:394
#, no-wrap
msgid "gitref:ff7812ee7d444b738a454064f9639c3feb5743e8[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:395
#, no-wrap
msgid "August 18, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:379
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:398
#, no-wrap
msgid "1400069"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:380
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:399
#, no-wrap
msgid "gitref:f95c0bc89ea4fcde04b0990d57e842ef387ea896[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:381
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:386
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:396
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:415
#, no-wrap
msgid "September 22, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:383
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:447
#, no-wrap
msgid "14.0-CURRENT after multiple LinuxKPI changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:384
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:403
#, no-wrap
msgid "1400070"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:404
#, no-wrap
msgid "gitref:6bddde307e21eba297ac3f3e534b4cf3be81dfe2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:407
#, no-wrap
msgid "14.0-CURRENT after KPI changes to pmap_unmapdev() and kmem_*()."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:389
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:408
#, no-wrap
msgid "1400071"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:390
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:409
#, no-wrap
msgid "gitref:d3f96f661050e9bd21fe29931992a8b9e67ff189[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:410
#, no-wrap
msgid "September 26, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:412
#, no-wrap
msgid "14.0-CURRENT after KPI changes that sysctl OIDs lists converted to RB trees."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:394
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:413
#, no-wrap
msgid "1400072"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:395
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:414
#, no-wrap
msgid "gitref:8a96874eeeee5195b0b0952b77227bef6a26d1a6[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:417
#, no-wrap
msgid "14.0-CURRENT after `qsort_r` prototype modified to match POSIX."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:399
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:418
#, no-wrap
msgid "1400073"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:419
#, no-wrap
msgid "gitref:9c950139051298831ce19d01ea5fb33ec6ea7f89[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:401
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1374
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1413
#, no-wrap
msgid "October 17, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:422
#, no-wrap
msgid "14.0-CURRENT after introduction of v2 of TX Queue Select Functionality."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:404
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:423
#, no-wrap
msgid "1400074"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:424
#, no-wrap
msgid "gitref:e28932c643e891294a49f386ba65322cf8410225[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:406
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:425
#, no-wrap
msgid "December 9, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:427
#, no-wrap
msgid "14.0-CURRENT after adding spare fops slots in fileops."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:409
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:428
#, no-wrap
msgid "1400078"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:410
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:429
#, no-wrap
msgid "gitref:4b56afaf7bf4fa37bae5b26fd93ee1ff5969c1bb[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:411
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:430
#, no-wrap
msgid "January 13, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:432
#, no-wrap
msgid "14.0-CURRENT after changing LinuxKPI pci.h."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:414
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:433
#, no-wrap
msgid "1400079"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:415
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:434
#, no-wrap
msgid "gitref:3264f6b88fce7c5437d205685863617d8f6a22dd[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:435
#, no-wrap
msgid "February 8, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:437
#, no-wrap
msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6, a.k.a. 15.0.7 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:419
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:438
+#, no-wrap
+msgid "1400084"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:439
+#, no-wrap
+msgid "gitref:ea3061526e9ce5d3b65932c1d3e4437abd556d65[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:440
+#, no-wrap
+msgid "March 23, 2023"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:442
+#, no-wrap
+msgid "14.0-CURRENT after changing the arm64 struct reg, struct gpreg, struct trapframe, and struct pcb."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:443
+#, no-wrap
+msgid "1400085"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:444
+#, no-wrap
+msgid "gitref:1cebc9298cf2272da46c3c574d06a80ce59854aa[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:445
+#, no-wrap
+msgid "March 28, 2023"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:448
+#, no-wrap
+msgid "1400086"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:449
+#, no-wrap
+msgid "gitref:c17eb99a66e7d1e8a64458a969eeb7649f827493[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:450
+#, no-wrap
+msgid "April 8, 2023"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:452
+#, no-wrap
+msgid "14.0-CURRENT after vn_lock_pair() argument changes."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:453
+#, no-wrap
+msgid "1400087"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:454
+#, no-wrap
+msgid "gitref:af22da75a035e25cb47cd3f2eabe5a84d8a5cb34[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:455
#, no-wrap
-msgid "1400084"
+msgid "April 22, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:457
#, no-wrap
-msgid "gitref:ea3061526e9ce5d3b65932c1d3e4437abd556d65[repository=\"src\",length=12]"
+msgid "14.0-CURRENT after LinuxKPI updates."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:458
#, no-wrap
-msgid "March 23, 2023"
+msgid "1400088"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:459
#, no-wrap
-msgid "14.0-CURRENT after changing the arm64 struct reg, struct gpreg, struct trapframe, and struct pcb."
+msgid "gitref:97583aa2567589cb83540d2d9de1980b76db9a99[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:424
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:460
#, no-wrap
-msgid "1400085"
+msgid "April 24, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:425
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:462
#, no-wrap
-msgid "gitref:1cebc9298cf2272da46c3c574d06a80ce59854aa[repository=\"src\",length=12]"
+msgid "14.0-CURRENT after migrating the LinuxKPI to IfAPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:463
#, no-wrap
-msgid "March 28, 2023"
+msgid "1400089"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:429
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:464
#, no-wrap
-msgid "1400086"
+msgid "gitref:9fb6718d1b180c341373b25c03dbfc221ddee311[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:430
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:465
#, no-wrap
-msgid "gitref:c17eb99a66e7d1e8a64458a969eeb7649f827493[repository=\"src\",length=12]"
+msgid "April 25, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:431
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:467
#, no-wrap
-msgid "April 8, 2023"
+msgid "14.0-CURRENT after dynamically allocating the stoppcbs array in smp."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:468
#, no-wrap
-msgid "14.0-CURRENT after vn_lock_pair() argument changes."
+msgid "1400090"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:434
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:469
#, no-wrap
-msgid "1400087"
+msgid "gitref:653738e895ba022be1179a95a85089e7bc66dbbe[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:435
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:470
#, no-wrap
-msgid "gitref:af22da75a035e25cb47cd3f2eabe5a84d8a5cb34[repository=\"src\",length=12]"
+msgid "June 7, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:436
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:472
#, no-wrap
-msgid "April 22, 2023"
+msgid "14.0-CURRENT after ptrace started clearing TDB_BORN during PT_DETACH."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:473
#, no-wrap
-msgid "14.0-CURRENT after LinuxKPI updates."
+msgid "1400091"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:439
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:474
#, no-wrap
-msgid "1400088"
+msgid "gitref:a681cba16d8967651a2146385ce44a2bfeb1c4c3[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:440
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:475
#, no-wrap
-msgid "gitref:97583aa2567589cb83540d2d9de1980b76db9a99[repository=\"src\",length=12]"
+msgid "June 22, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:477
#, no-wrap
-msgid "April 24, 2023"
+msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.6-0-g7cbf1a259152, a.k.a. 16.0.6 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:478
#, no-wrap
-msgid "14.0-CURRENT after migrating the LinuxKPI to IfAPI."
+msgid "1400092"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:444
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:479
#, no-wrap
-msgid "1400089"
+msgid "gitref:9ead001d5b42ef9cba04757c9e7ee74c06037139[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:480
#, no-wrap
-msgid "gitref:9fb6718d1b180c341373b25c03dbfc221ddee311[repository=\"src\",length=12]"
+msgid "June 24, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:446
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:482
#, no-wrap
-msgid "April 25, 2023"
+msgid "14.0-CURRENT after importing OpenSSL 3.0.9 into base."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:483
#, no-wrap
-msgid "14.0-CURRENT after dynamically allocating the stoppcbs array in smp."
+msgid "1400093"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:449
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:484
#, no-wrap
-msgid "1400090"
+msgid "gitref:ba8cc6d7271a50fec978a1d3a088aec7985fae48[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:485
#, no-wrap
-msgid "gitref:653738e895ba022be1179a95a85089e7bc66dbbe[repository=\"src\",length=12]"
+msgid "July 5, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:487
#, no-wrap
-msgid "June 7, 2023"
+msgid "14.0-CURRENT after using __enum_uint8 for vtype and vstate in VFS"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:453
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:488
#, no-wrap
-msgid "14.0-CURRENT after ptrace started clearing TDB_BORN during PT_DETACH."
+msgid "1400097"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:454
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:492
#, no-wrap
-msgid "1400091"
+msgid "14.0-STABLE after branching stable/14"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:455
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:493
#, no-wrap
-msgid "gitref:a681cba16d8967651a2146385ce44a2bfeb1c4c3[repository=\"src\",length=12]"
+msgid "1400500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:495
#, no-wrap
-msgid "June 22, 2023"
+msgid "September 8, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:497
#, no-wrap
-msgid "14.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.6-0-g7cbf1a259152, a.k.a. 16.0.6 release."
+msgid "14.0-STABLE after branching releng/14.0"
msgstr ""
#. Template:
#. |14XXXXX
#. |gitref:XXXXXXXX[repository="src",length=12]
#. |October 30, 2021
#. |14.0-CURRENT after XXXXXX.
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:470
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:509
#, no-wrap
msgid "FreeBSD 13 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:512
#, no-wrap
msgid "FreeBSD 13 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:521
#, no-wrap
msgid "1300000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:522
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/339436[339436]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:484
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1931
#, no-wrap
msgid "October 19, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:525
#, no-wrap
msgid "13.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:526
#, no-wrap
msgid "1300001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:488
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:527
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/339730[339730]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:489
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:494
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1936
#, no-wrap
msgid "October 25, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:530
#, no-wrap
msgid "13.0-CURRENT after bumping OpenSSL shared library version numbers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:531
#, no-wrap
msgid "1300002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:532
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/339765[339765]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:535
#, no-wrap
msgid "13.0-CURRENT after restoration of [.filename]#sys/joystick.h#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:536
#, no-wrap
msgid "1300003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:537
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/340055[340055]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:499
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:538
#, no-wrap
msgid "November 2, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:540
#, no-wrap
msgid "13.0-CURRENT after `vop_symlink` API change (`a_target` is now `const`.)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:541
#, no-wrap
msgid "1300004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:542
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/340841[340841]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:504
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:543
#, no-wrap
msgid "November 23, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:545
#, no-wrap
msgid "13.0-CURRENT after enabling crtbegin and crtend code."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:546
#, no-wrap
msgid "1300005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:547
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/341836[341836]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:509
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:548
#, no-wrap
msgid "December 11, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:550
#, no-wrap
msgid "13.0-CURRENT after enabling UFS inode checksums."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:551
#, no-wrap
msgid "1300006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:513
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:552
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/342398[342398]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:514
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:553
#, no-wrap
msgid "December 24, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:555
#, no-wrap
msgid "13.0-CURRENT after fixing [.filename]#sys/random.h# include to be usable from C++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:556
#, no-wrap
msgid "1300007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:557
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/342629[342629]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:519
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:558
#, no-wrap
msgid "December 30, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:560
#, no-wrap
msgid "13.0-CURRENT after changing the size of `struct linux_cdev` on 32-bit platforms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:561
#, no-wrap
msgid "1300008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:562
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/342772[342772]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:524
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:563
#, no-wrap
msgid "January 4, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:565
#, no-wrap
msgid "13.0-CURRENT after adding `kern.smp.threads_per_core` and `kern.smp.cores` sysctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:566
#, no-wrap
msgid "1300009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:567
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/343213[343213]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:529
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:568
#, no-wrap
msgid "January 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:570
#, no-wrap
msgid "13.0-CURRENT after `struct ieee80211vap` structure change to resolve ioctl/detach race for ieee80211com structure."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:571
#, no-wrap
msgid "1300010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:572
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/343485[343485]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:534
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:573
#, no-wrap
msgid "January 27, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:575
#, no-wrap
msgid "13.0-CURRENT after increasing `SPECNAMELEN` from 63 to `MAXNAMELEN` (255)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:576
#, no-wrap
msgid "1300011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:538
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:577
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344041[344041]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:539
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:544
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:583
#, no-wrap
msgid "February 12, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:580
#, no-wrap
msgid "13.0-CURRENT after man:renameat[2] has been corrected to work with kernels built with the `CAPABILITIES` option."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:581
#, no-wrap
msgid "1300012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:543
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:582
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344062[344062]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:585
#, no-wrap
msgid "13.0-CURRENT after `taskqgroup_attach()` and `taskqgroup_attach_cpu()` take a `device_t` and a struct resource pointer as arguments for denoting device interrupts."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:586
#, no-wrap
msgid "1300013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:587
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344300[344300]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:549
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:588
#, no-wrap
msgid "February 19, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:590
#, no-wrap
msgid "13.0-CURRENT after the removal of drm and drm2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:591
#, no-wrap
msgid "1300014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:553
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:592
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344779[344779]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:554
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:593
#, no-wrap
msgid "March 4, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:595
#, no-wrap
msgid "13.0-CURRENT after upgrading clang, llvm, lld, lldb, compiler-rt and libc++ to 8.0.0 rc3."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:596
#, no-wrap
msgid "1300015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:558
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:597
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/345196[345196]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:559
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1912
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1961
#, no-wrap
msgid "March 15, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:600
#, no-wrap
msgid "13.0-CURRENT after deanonymizing thread and proc state enums, so userland applications can use them without redefining the value names."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:601
#, no-wrap
msgid "1300016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:563
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:602
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/345236[345236]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:564
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:574
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:603
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:613
#, no-wrap
msgid "March 16, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:605
#, no-wrap
msgid "13.0-CURRENT after enabling LLVM OpenMP 8.0.0 rc5 on amd64 by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:606
#, no-wrap
msgid "1300017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:607
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/345305[345305]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:569
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:608
#, no-wrap
msgid "March 19, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:610
#, no-wrap
msgid "13.0-CURRENT after exposing the Rx mbuf buffer size to drivers in iflib."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:611
#, no-wrap
msgid "1300018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:573
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:612
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346012[346012]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:615
#, no-wrap
msgid "13.0-CURRENT after introduction of `funlinkat` syscall in link:https://svnweb.freebsd.org/changeset/base/345982[345982]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:616
#, no-wrap
msgid "1300019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:617
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346282[346282]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:579
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3075
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3129
#, no-wrap
msgid "April 16, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:620
#, no-wrap
msgid "13.0-CURRENT after addition of man:is_random_seeded[9] to man:random[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:582
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:621
#, no-wrap
msgid "1300020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:622
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346358[346358]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:584
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:623
#, no-wrap
msgid "April 18, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:625
#, no-wrap
msgid "13.0-CURRENT after restoring man:random[4] availability tradeoff prior to link:https://svnweb.freebsd.org/changeset/base/346250[346250] and adding new tunables and diagnostic sysctls for programmatically discovering early seeding problems after boot."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:626
#, no-wrap
msgid "1300021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:588
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:627
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346645[346645]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:589
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:628
#, no-wrap
msgid "April 24, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:630
#, no-wrap
msgid "13.0-CURRENT after LinuxKPI uses man:bus_dma[9] to be compatible with an IOMMU."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:631
#, no-wrap
msgid "1300022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:632
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347089[347089]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:594
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:633
#, no-wrap
msgid "May 4, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:635
#, no-wrap
msgid "13.0-CURRENT after fixing regression issue after link:https://svnweb.freebsd.org/changeset/base/346645[346645] in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:636
#, no-wrap
msgid "1300023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:637
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347192[347192]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:599
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3085
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:638
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3139
#, no-wrap
msgid "May 6, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:601
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:640
#, no-wrap
msgid "13.0-CURRENT after list-ifying kernel dump device configuration."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:641
#, no-wrap
msgid "1300024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:603
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:642
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347325[347325]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:604
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:643
#, no-wrap
msgid "May 8, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:606
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:645
#, no-wrap
msgid "13.0-CURRENT after bumping the Mellanox driver version numbers (man:mlx4en[4]; man:mlx5en[4])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:646
#, no-wrap
msgid "1300025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:608
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:647
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347532[347532]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:609
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:648
#, no-wrap
msgid "May 13, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:611
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:650
#, no-wrap
msgid "13.0-CURRENT after renaming `vm.max_wired` to `vm.max_user_wired` and changing its type."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:651
#, no-wrap
msgid "1300026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:613
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:652
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347596[347596]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:614
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:619
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:658
#, no-wrap
msgid "May 14, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:655
#, no-wrap
msgid "13.0-CURRENT after adding context member to ww_mutex in LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:656
#, no-wrap
msgid "1300027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:657
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347601[347601]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:660
#, no-wrap
msgid "13.0-CURRENT after adding prepare to `pm_ops` in LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:622
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:661
#, no-wrap
msgid "1300028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:623
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:662
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347925[347925]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:663
#, no-wrap
msgid "May 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:665
#, no-wrap
msgid "13.0-CURRENT after removal of `bm`, `cs`, de, ed, `ep`, ex, `fe`, `pcn`, sf, `sn`, `tl`, `tx`, `txp`, `vx`, `wb`, and xe drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:666
#, no-wrap
msgid "1300029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:628
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:667
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347984[347984]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:629
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:668
#, no-wrap
msgid "May 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:670
#, no-wrap
msgid "13.0-CURRENT after removing some header pollution due to [.filename]#sys/eventhandler.h#. Affected files may now need to explicitly include one or more of [.filename]#sys/eventhandler.h#, [.filename]#sys/ktr.h#, [.filename]#sys/lock.h#, or [.filename]#sys/mutex.h#, when the missing header may have been included implicitly prior to 1300029."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:671
#, no-wrap
msgid "1300030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:633
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:672
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/348350[348350]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:634
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:673
#, no-wrap
msgid "May 29, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:675
#, no-wrap
msgid "13.0-CURRENT after adding relocation support to libdwarf on powerpc64 to fix handling of DWARF information on unlinked objects. Original commit in link:https://svnweb.freebsd.org/changeset/base/348347[348347]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:637
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:676
#, no-wrap
msgid "1300031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:638
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:677
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/348808[348808]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:639
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:678
#, no-wrap
msgid "June 8, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:680
#, no-wrap
msgid "13.0-CURRENT after adding dpcpu and vnet section fixes to i386 kernel modules to avoid panics in certain conditions. i386 kernel modules need to be recompiled with the linker script magic in place or they will refuse to load."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:681
#, no-wrap
msgid "1300032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:643
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:682
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349151[349151]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:644
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:683
#, no-wrap
msgid "June 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:685
#, no-wrap
msgid "13.0-CURRENT after separating kernel `crc32()` implementation to its own header ([.filename]#gsb_crc32.h#) and renaming the source to [.filename]#gsb_crc32.c#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:647
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:686
#, no-wrap
msgid "1300033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:648
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:687
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349277[349277]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:649
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:688
#, no-wrap
msgid "June 21, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:690
#, no-wrap
msgid "13.0-CURRENT after additions to LinuxKPI's `rcu` list."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:691
#, no-wrap
msgid "1300034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:692
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349352[349352]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:654
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:693
#, no-wrap
msgid "June 24, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:656
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:695
#, no-wrap
msgid "13.0-CURRENT after NAND and NANDFS removal."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:696
#, no-wrap
msgid "1300035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:658
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:697
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349846[349846]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:659
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:698
#, no-wrap
msgid "July 8, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:700
#, no-wrap
msgid "13.0-CURRENT after merging the `vm_page` hold and wire mechanisms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:662
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:701
#, no-wrap
msgid "1300036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:663
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:702
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349972[349972]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:703
#, no-wrap
msgid "July 13, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:705
#, no-wrap
msgid "13.0-CURRENT after adding `arm_drain_writebuf()` and `arm_sync_icache()` for compatibility with NetBSD and OpenBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:706
#, no-wrap
msgid "1300037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:668
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:707
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/350307[350307]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:708
#, no-wrap
msgid "July 24, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:710
#, no-wrap
msgid "13.0-CURRENT after removal of man:libcap_random[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:711
#, no-wrap
msgid "1300038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:712
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/350437[350437]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:674
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:713
#, no-wrap
msgid "July 30, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:715
#, no-wrap
msgid "13.0-CURRENT after removal of gzip'ed a.out support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:716
#, no-wrap
msgid "1300039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:678
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:717
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/350665[350665]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:679
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:718
#, no-wrap
msgid "August 7, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:720
#, no-wrap
msgid "13.0-CURRENT after merge of fusefs from projects/fuse2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:721
#, no-wrap
msgid "1300040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:683
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:722
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351140[351140]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:684
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:723
#, no-wrap
msgid "August 16, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:725
#, no-wrap
msgid "13.0-CURRENT after deletion of [.filename]#sys/dir.h# which has been deprecated since 1997."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:687
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:872
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1042
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1302
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1565
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3316
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4861
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5396
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5949
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6137
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7101
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1614
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3370
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7160
#, no-wrap
msgid "(not changed)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:688
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:727
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351423[351423]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:689
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:728
#, no-wrap
msgid "August 23, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:730
#, no-wrap
msgid "13.0-CURRENT after changing most arguments to man:ping6[8]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:731
#, no-wrap
msgid "1300041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:693
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:732
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351480[351480]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:733
#, no-wrap
msgid "August 25, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:696
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:735
#, no-wrap
msgid "13.0-CURRENT after removal of zlib 1.0.4 after the completion of kernel zlib unification."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:736
#, no-wrap
msgid "1300042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:698
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:737
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351522[351522]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:738
#, no-wrap
msgid "August 27, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:701
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:740
#, no-wrap
msgid "13.0-CURRENT after addition of kernel-side support for in-kernel TLS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:741
#, no-wrap
msgid "1300043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:703
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:742
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351698[351698]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:704
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:748
#, no-wrap
msgid "September 2, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:745
#, no-wrap
msgid "13.0-CURRENT after removal of man:gets[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:746
#, no-wrap
msgid "1300044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:708
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:747
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351701[351701]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:711
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:750
#, no-wrap
msgid "13.0-CURRENT after adding sysfs create/remove functions that handles multiple files in one call to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:751
#, no-wrap
msgid "1300045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:713
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:752
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351729[351729]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:753
#, no-wrap
msgid "September 3, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:755
#, no-wrap
msgid "13.0-CURRENT after adding man:sysctlbyname[3] system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:756
#, no-wrap
msgid "1300046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:718
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:757
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351937[351937]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:758
#, no-wrap
msgid "September 6, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:721
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:760
#, no-wrap
msgid "13.0-CURRENT after LinuxKPI sysfs improvements."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:761
#, no-wrap
msgid "1300047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:723
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:762
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352110[352110]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:724
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:763
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2026
#, no-wrap
msgid "September 9, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:765
#, no-wrap
msgid "13.0-CURRENT after changing the synchronization rules for `vm_page` reference counting.."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:766
#, no-wrap
msgid "1300048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:728
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:767
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352700[352700]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:768
#, no-wrap
msgid "September 25, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:731
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:770
#, no-wrap
msgid "13.0-CURRENT after adding a shm_open2 syscall to support the upcoming man:memfd_create[2] syscall."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:771
#, no-wrap
msgid "1300049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:733
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:772
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353274[353274]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:773
#, no-wrap
msgid "October 7, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:736
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:775
#, no-wrap
msgid "13.0-CURRENT after factoring out the VNET shutdown check into an own vnet structure field."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:776
#, no-wrap
msgid "1300050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:738
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:777
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353358[353358]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:778
#, no-wrap
msgid "October 9, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:780
#, no-wrap
msgid "13.0-CURRENT after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 9.0.0 final release r372316."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:781
#, no-wrap
msgid "1300051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:782
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353685[353685]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:744
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:749
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:793
#, no-wrap
msgid "October 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:746
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:785
#, no-wrap
msgid "13.0-CURRENT after splitting out a more generic man:debugnet[4] from man:netdump[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:786
#, no-wrap
msgid "1300052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:748
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:787
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353698[353698]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:751
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:790
#, no-wrap
msgid "13.0-CURRENT after promoting the page busy field to a first class lock that no longer requires the object lock for consistency."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:752
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:791
#, no-wrap
msgid "1300053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:753
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:792
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353700[353700]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:756
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:795
#, no-wrap
msgid "13.0-CURRENT after implementing NetGDB."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:796
#, no-wrap
msgid "1300054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:758
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:797
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/353868[353868]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:798
#, no-wrap
msgid "October 21, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:761
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:800
#, no-wrap
msgid "13.0-CURRENT after removing obsoleted KPIs that were used to access interface address lists."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:801
#, no-wrap
msgid "1300055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:763
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:802
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354335[354335]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:803
#, no-wrap
msgid "November 4, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:766
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:805
#, no-wrap
msgid "13.0-CURRENT after enabling device class group attributes in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:806
#, no-wrap
msgid "1300056"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:768
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:807
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354460[354460]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:808
#, no-wrap
msgid "November 7, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:771
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:810
#, no-wrap
msgid "13.0-CURRENT after fixing a potential OOB read security issue in libc++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:811
#, no-wrap
msgid "1300057"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:773
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:812
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354694[354694]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:813
#, no-wrap
msgid "November 13, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:776
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:815
#, no-wrap
msgid "13.0-CURRENT after adding support for `AT_EXECPATH` to man:elf_aux_info[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:816
#, no-wrap
msgid "1300058"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:778
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:817
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354820[354820]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:779
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:818
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:823
#, no-wrap
msgid "November 18, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:781
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:820
#, no-wrap
msgid "13.0-CURRENT after widening the `vm_page` `aflags` field to 16 bits."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:821
#, no-wrap
msgid "1300059"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:822
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354835[354835]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:786
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:825
#, no-wrap
msgid "13.0-CURRENT after converting the in-tree `sysent` targets to use the new [.filename]#makesyscalls.lua#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:787
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:826
#, no-wrap
msgid "1300060"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:827
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354922[354922]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:828
#, no-wrap
msgid "November 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:791
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:830
#, no-wrap
msgid "13.0-CURRENT after adding [.filename]#/etc/os-release# as a symbolic link to [.filename]#/var/run/os-release#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:831
#, no-wrap
msgid "1300061"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:793
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:832
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354977[354977]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:794
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:833
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2061
#, no-wrap
msgid "November 21, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:796
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:835
#, no-wrap
msgid "13.0-CURRENT after adding functions to man:bitstring[3] to find contiguous sequences of set or unset bits."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:836
#, no-wrap
msgid "1300062"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:798
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:837
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355309[355309]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:838
#, no-wrap
msgid "December 2, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:801
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:840
#, no-wrap
msgid "13.0-CURRENT after adding TCP_STATS support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:841
#, no-wrap
msgid "1300063"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:803
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:842
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355537[355537]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:843
#, no-wrap
msgid "December 8, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:806
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:845
#, no-wrap
msgid "13.0-CURRENT after removal of VI_DOOMED (use VN_IS_DOOMED instead)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:846
#, no-wrap
msgid "1300064"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:808
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2016
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2065
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355658[355658]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:848
#, no-wrap
msgid "December 9, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:811
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:850
#, no-wrap
msgid "13.0-CURRENT after correcting the C++ version check for declaring man:timespec_get[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:851
#, no-wrap
msgid "1300065"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:813
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:852
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355643[355643]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:814
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:858
#, no-wrap
msgid "December 12, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:816
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:855
#, no-wrap
msgid "13.0-CURRENT after adding `sigsetop` extensions commonly found in musl libc and glibc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:856
#, no-wrap
msgid "1300066"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:818
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:857
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355679[355679]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:821
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:860
#, no-wrap
msgid "13.0-CURRENT after changing the internal interface between the NFS modules as part of the introduction of NFS 4.2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:861
#, no-wrap
msgid "1300067"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:823
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:862
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355732[355732]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:863
#, no-wrap
msgid "December 13, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:826
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:865
#, no-wrap
msgid "13.0-CURRENT after removing the deprecated `callout_handle_init`, `timeout`, and `untimeout` functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:866
#, no-wrap
msgid "1300068"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:828
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:867
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355828[355828]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:868
#, no-wrap
msgid "December 16, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:831
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:870
#, no-wrap
msgid "13.0-CURRENT after doubling the value of `ARG_MAX`, for 64 bit platforms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:871
#, no-wrap
msgid "1300069"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:833
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:872
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356051[356051]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:873
#, no-wrap
msgid "December 24, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:875
#, no-wrap
msgid "13.0-CURRENT after the addition of busdma templates."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:837
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:876
#, no-wrap
msgid "1300070"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:838
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:877
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356113[356113]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:839
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:883
#, no-wrap
msgid "December 27, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:841
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:880
#, no-wrap
msgid "13.0-CURRENT after eliminating the last MI difference in AT_* definitions (for powerpc)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:881
#, no-wrap
msgid "1300071"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:843
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:882
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356135[356135]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:846
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:885
#, no-wrap
msgid "13.0-CURRENT after making USB statistics be per-device instead of per bus."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:886
#, no-wrap
msgid "1300072"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:848
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:887
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356185[356185]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:888
#, no-wrap
msgid "December 29, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:851
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:890
#, no-wrap
msgid "13.0-CURRENT after removal of `GEOM_SCHED` class and `gsched` tool."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:852
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:891
#, no-wrap
msgid "1300073"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:892
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356263[356263]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:854
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2081
#, no-wrap
msgid "January 2, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:856
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:895
#, no-wrap
msgid "13.0-CURRENT after removing arm/arm as a valid target."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:896
#, no-wrap
msgid "1300074"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:858
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:897
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356337[356337]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:898
#, no-wrap
msgid "January 3, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:861
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:900
#, no-wrap
msgid "13.0-CURRENT after removing flags argument from `VOP_UNLOCK`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:901
#, no-wrap
msgid "1300075"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:863
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:902
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356409[356409]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:864
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2037
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3130
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3959
#, no-wrap
msgid "January 6, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:866
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:905
#, no-wrap
msgid "13.0-CURRENT after adding own counter for cancelled USB transfers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:906
#, no-wrap
msgid "1300076"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:868
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:907
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356511[356511]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:908
#, no-wrap
msgid "January 8, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:871
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:910
#, no-wrap
msgid "13.0-CURRENT after pushing `vnop` implementation into the `fileop` layer in man:posix_fallocate[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:873
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:912
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/357396[357396]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:913
#, no-wrap
msgid "February 2, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:876
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:915
#, no-wrap
msgid "13.0-CURRENT after removal of armv5 architecture code from the src tree."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:916
#, no-wrap
msgid "1300077"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:917
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/357455[357455]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:918
#, no-wrap
msgid "February 3, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:881
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:920
#, no-wrap
msgid "13.0-CURRENT after removal of sparc64 architecture code from the src tree."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:921
#, no-wrap
msgid "1300078"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:883
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:922
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358020[358020]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:923
#, no-wrap
msgid "February 17, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:886
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:925
#, no-wrap
msgid "13.0-CURRENT after changing `struct vnet` and the VNET magic cookie."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:926
#, no-wrap
msgid "1300079"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:888
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:927
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358164[358164]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:889
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:933
#, no-wrap
msgid "February 20, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:930
#, no-wrap
msgid "13.0-CURRENT after upgrading ncurses to 6.2.x"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:931
#, no-wrap
msgid "1300080"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:932
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358172[358172]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:896
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:935
#, no-wrap
msgid "13.0-CURRENT after adding `realpathat` syscall to VFS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:936
#, no-wrap
msgid "1300081"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:898
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:937
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358218[358218]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:938
#, no-wrap
msgid "February 21, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:901
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:940
#, no-wrap
msgid "13.0-CURRENT after recent linuxkpi changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:941
#, no-wrap
msgid "1300082"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:942
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358497[358497]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:943
#, no-wrap
msgid "March 1, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:945
#, no-wrap
msgid "13.0-CURRENT after removal of man:bktr[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:946
#, no-wrap
msgid "1300083"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:908
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:947
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358834[358834]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:909
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:953
#, no-wrap
msgid "March 10, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:950
#, no-wrap
msgid "13.0-CURRENT after removal of man:amd[8], r358821."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:912
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:951
#, no-wrap
msgid "1300084"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:913
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:952
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/358851[358851]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:916
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:955
#, no-wrap
msgid "13.0-CURRENT after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.0-rc3 c290cb61fdc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:956
#, no-wrap
msgid "1300085"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:918
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:957
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359261[359261]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:919
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:958
#, no-wrap
msgid "March 23, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:921
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:960
#, no-wrap
msgid "13.0-CURRENT after the import of the kyua test framework."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:922
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:961
#, no-wrap
msgid "1300086"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:923
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:962
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359347[359347]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:963
#, no-wrap
msgid "March 26, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:965
#, no-wrap
msgid "13.0-CURRENT after switching powerpc and powerpcspe to the lld linker."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:966
#, no-wrap
msgid "1300087"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:967
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359374[359374]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:968
#, no-wrap
msgid "March 27, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:931
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:970
#, no-wrap
msgid "13.0-CURRENT after refactoring the driver and consumer interfaces for in-kernel cryptography."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:932
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:971
#, no-wrap
msgid "1300088"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:933
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:972
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359530[359530]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:973
#, no-wrap
msgid "April 1, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:975
#, no-wrap
msgid "13.0-CURRENT after removing support for procfs process debugging."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:937
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:976
#, no-wrap
msgid "1300089"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:938
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:977
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359727[359727]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:978
#, no-wrap
msgid "April 8, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:941
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:980
#, no-wrap
msgid "13.0-CURRENT after cloning the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:981
#, no-wrap
msgid "1300090"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:943
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:982
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359747[359747]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:983
#, no-wrap
msgid "April 9, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:985
#, no-wrap
msgid "13.0-CURRENT after removing the old NFS lock device driver that uses Giant."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:947
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:986
#, no-wrap
msgid "1300091"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:987
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359839[359839]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:949
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:988
#, no-wrap
msgid "April 12, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:990
#, no-wrap
msgid "13.0-CURRENT after implementing a man:close_range[2] syscall."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:991
#, no-wrap
msgid "1300092"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:953
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:992
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359920[359920]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:993
#, no-wrap
msgid "April 14, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:995
#, no-wrap
msgid "13.0-CURRENT after reworking unmapped mbufs in KTLS to carry `ext_pgs` in the mbuf itself."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:996
#, no-wrap
msgid "1300093"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:958
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:997
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360418[360418]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:959
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:998
#, no-wrap
msgid "April 27, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1000
#, no-wrap
msgid "13.0-CURRENT after adding support for kernel TLS receive offload."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1001
#, no-wrap
msgid "1300094"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1002
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360796[360796]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:964
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3209
#, no-wrap
msgid "May 7, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1005
#, no-wrap
msgid "13.0-CURRENT after linuxkpi changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:967
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1006
#, no-wrap
msgid "1300095"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:968
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1007
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/361275[361275]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:969
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1008
#, no-wrap
msgid "May 20, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:971
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1010
#, no-wrap
msgid "13.0-CURRENT after adding HyperV socket support for FreeBSD guests."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:972
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1011
#, no-wrap
msgid "1300096"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:973
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1012
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/361410[361410]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:974
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1013
#, no-wrap
msgid "May 23, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1015
#, no-wrap
msgid "13.0-CURRENT after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.1 rc1 f79cd71e145."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1016
#, no-wrap
msgid "1300097"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:978
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1017
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/361724[361724]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1018
#, no-wrap
msgid "June 2, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:981
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1020
#, no-wrap
msgid "13.0-CURRENT after implementing `__is_constexpr()` function macro in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1021
#, no-wrap
msgid "1300098"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1022
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362159[362159]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:984
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1023
#, no-wrap
msgid "June 14, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:986
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1025
#, no-wrap
msgid "13.0-CURRENT after changing the `export_args ex_flags` field so that is 64bits."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1026
#, no-wrap
msgid "1300099"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:988
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1027
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362453[362453]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:989
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1028
#, no-wrap
msgid "June 20, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:991
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1030
#, no-wrap
msgid "13.0-CURRENT after making liblzma use libmd implementation of SHA256."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1031
#, no-wrap
msgid "1300100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:993
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1032
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362640[362640]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:994
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1033
#, no-wrap
msgid "June 26, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1035
#, no-wrap
msgid "13.0-CURRENT after changing the internal API between the NFS kernel modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1036
#, no-wrap
msgid "1300101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:998
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1037
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363077[363077]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1038
#, no-wrap
msgid "July 10, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1001
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1040
#, no-wrap
msgid "13.0-CURRENT after implementing the `array_size()` function in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1041
#, no-wrap
msgid "1300102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1042
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363562[363562]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1004
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1043
#, no-wrap
msgid "July 26, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1045
#, no-wrap
msgid "13.0-CURRENT after implementing lockless lookup in the VFS layer."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1046
#, no-wrap
msgid "1300103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1047
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363757[363757]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1009
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1048
#, no-wrap
msgid "August 1, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1011
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1050
#, no-wrap
msgid "13.0-CURRENT after making rights mandatory for NDINIT_ALL."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1051
#, no-wrap
msgid "1300104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1052
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363783[363783]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1014
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1053
#, no-wrap
msgid "August 2, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1016
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1055
#, no-wrap
msgid "13.0-CURRENT after vnode layout changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1056
#, no-wrap
msgid "1300105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1057
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363894[363894]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1019
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1058
#, no-wrap
msgid "August 5, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1021
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1060
#, no-wrap
msgid "13.0-CURRENT after `vaccess()` change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1061
#, no-wrap
msgid "1300106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1062
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364092[364092]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1024
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1068
#, no-wrap
msgid "August 11, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1026
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1065
#, no-wrap
msgid "13.0-CURRENT after adding an argument to `newnfs_connect()` that indicates use TLS for the connection."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1066
#, no-wrap
msgid "1300107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1067
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364109[364109]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1070
#, no-wrap
msgid "13.0-CURRENT after change to clone the task struct fields related to RCU."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1071
#, no-wrap
msgid "1300108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1072
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364233[364233]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1034
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1073
#, no-wrap
msgid "August 14, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1036
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1075
#, no-wrap
msgid "13.0-CURRENT after adding a few `wait_bit` functions to the linuxkpi, which are needed for DRM from Linux v5.4."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1076
#, no-wrap
msgid "1300109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1077
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364274[364274]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1039
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1083
#, no-wrap
msgid "August 16, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1080
#, no-wrap
msgid "13.0-CURRENT after `vget()` argument removal and `namei` flags renumbering."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1082
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364284[364284]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1046
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1085
#, no-wrap
msgid "13.0-CURRENT after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to release/11.x llvmorg-11.0.0-rc1-47-gff47911ddfc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1086
#, no-wrap
msgid "1300110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1087
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364331[364331]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1049
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1088
#, no-wrap
msgid "August 18, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1090
#, no-wrap
msgid "13.0-CURRENT after deleting the unused `use_ext` argument to `nfscl_reqstart()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1091
#, no-wrap
msgid "1300111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1092
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364476[364476]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1054
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1093
#, no-wrap
msgid "August 22, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1095
#, no-wrap
msgid "13.0-CURRENT after adding TLS support to the kernel RPC."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1096
#, no-wrap
msgid "1300112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1097
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364747[364747]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1059
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1064
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1103
#, no-wrap
msgid "August 25, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1061
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1100
#, no-wrap
msgid "13.0-CURRENT after merging OpenZFS support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1101
#, no-wrap
msgid "1300113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1102
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364753[364753]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1105
#, no-wrap
msgid "13.0-CURRENT after adding atomic and `bswap` functions to libcompiler_rt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1106
#, no-wrap
msgid "1300114"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1107
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365459[365459]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1069
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2122
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3254
#, no-wrap
msgid "September 8, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1110
#, no-wrap
msgid "13.0-CURRENT after changing arm64 AT_HWCAP definitions for man:elf_aux_info[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1111
#, no-wrap
msgid "1300115"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1112
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365705[365705]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1074
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1113
#, no-wrap
msgid "September 14, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1076
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1115
#, no-wrap
msgid "13.0-CURRENT after fixing man:crunchgen[1] application build with `WARNS=6`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1116
#, no-wrap
msgid "1300116"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1117
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366062[366062]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1079
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1118
#, no-wrap
msgid "September 22, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1120
#, no-wrap
msgid "13.0-CURRENT after the introduction of the powerpc64le ARCH."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1121
#, no-wrap
msgid "1300117"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1083
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1122
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366070[366070]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1084
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1123
#, no-wrap
msgid "September 23, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1125
#, no-wrap
msgid "13.0-CURRENT after reimplementing `purgevfs` to iterate vnodes instead of the entire hash."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1126
#, no-wrap
msgid "1300118"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1088
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1127
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366374[366374]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1089
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1128
#, no-wrap
msgid "October 2, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1091
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1130
#, no-wrap
msgid "13.0-CURRENT after adding backlight support and `dmi_*` functions to the linuxkpi."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1092
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1131
#, no-wrap
msgid "1300119"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1132
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366432[366432]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1094
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1133
#, no-wrap
msgid "October 6, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1135
#, no-wrap
msgid "13.0-CURRENT after populating the acquire context field of a `ww_mutex` in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1136
#, no-wrap
msgid "1300120"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1137
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366666[366666]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1099
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1138
#, no-wrap
msgid "October 13, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1140
#, no-wrap
msgid "13.0-CURRENT after the fix to arm64 write-only mappings."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1102
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1141
#, no-wrap
msgid "1300121"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1103
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1142
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366719[366719]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1104
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1143
#, no-wrap
msgid "October 15, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1145
#, no-wrap
msgid "13.0-CURRENT after the addition of `VOP_EAGAIN`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1146
#, no-wrap
msgid "1300122"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1147
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366782[366782]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1109
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1148
#, no-wrap
msgid "October 17, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1150
#, no-wrap
msgid "13.0-CURRENT after the addition of `ptsname_r`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1151
#, no-wrap
msgid "1300123"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1152
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366871[366871]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1114
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2152
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3210
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1153
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3264
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3269
#, no-wrap
msgid "October 20, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1155
#, no-wrap
msgid "13.0-CURRENT after `VOP`, `VPTOCNP`, and `INACTIVE` changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1156
#, no-wrap
msgid "1300124"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1157
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367162[367162]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1119
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1158
#, no-wrap
msgid "October 30, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1121
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1160
#, no-wrap
msgid "13.0-CURRENT after adding `cache_vop_mkdir` and renaming `cache_rename` to `cache_vop_rename`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1161
#, no-wrap
msgid "1300125"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1162
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367347[367347]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1124
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1163
#, no-wrap
msgid "November 4, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1126
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1165
#, no-wrap
msgid "13.0-CURRENT after using a `rms` lock for teardown handling in `zfs`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1166
#, no-wrap
msgid "1300126"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1167
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367384[367384]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1168
#, no-wrap
msgid "November 5, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1170
#, no-wrap
msgid "13.0-CURRENT after rationalizing per-cpu zones."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1171
#, no-wrap
msgid "1300127"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1172
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367432[367432]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1173
#, no-wrap
msgid "November 6, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1175
#, no-wrap
msgid "13.0-CURRENT after moving `malloc_type_internal` into `malloc_type`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1137
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1176
#, no-wrap
msgid "1300128"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1138
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1177
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367522[367522]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1139
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2157
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3274
#, no-wrap
msgid "November 9, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1180
#, no-wrap
msgid "13.0-CURRENT after LinuxKPI additions to implement ACPI bits required by `drm-kmod` in the base system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1142
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1181
#, no-wrap
msgid "1300129"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1182
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367627[367627]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1144
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1183
#, no-wrap
msgid "November 12, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1185
#, no-wrap
msgid "13.0-CURRENT after retiring `malloc_last_fail`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1186
#, no-wrap
msgid "1300130"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1148
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1187
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367777[367777]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1188
#, no-wrap
msgid "November 17, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1190
#, no-wrap
msgid "13.0-CURRENT after `p_pd` / `pwddesc` split from `p_fd` / filedesc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1191
#, no-wrap
msgid "1300131"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1153
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1192
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/368417[368417]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1154
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1193
#, no-wrap
msgid "December 7, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1195
#, no-wrap
msgid "13.0-CURRENT after removal of crypto file descriptors."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1196
#, no-wrap
msgid "1300132"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1197
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/368659[368659]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1159
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1198
#, no-wrap
msgid "December 15, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1200
#, no-wrap
msgid "13.0-CURRENT after improving handling of alternate settings in the USB stack."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1201
#, no-wrap
msgid "1300133"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1202
#, no-wrap
msgid "gitref:2ed0c8d801f5f72dbde7a7d30135c1cc361a1e90[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1203
#, no-wrap
msgid "December 23, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1205
#, no-wrap
msgid "13.0-CURRENT after changing the internal API between the NFS and kernel RPC modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1206
#, no-wrap
msgid "1300134"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1168
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1207
#, no-wrap
msgid "gitref:a84b0e94cdbf1a17a798ab7f77375aacb4d400ff[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1208
#, no-wrap
msgid "January 7, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1210
#, no-wrap
msgid "13.0-CURRENT after factoring out the hardware-independent part of USB HID support to a new module."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1211
#, no-wrap
msgid "1300135"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1212
#, no-wrap
msgid "gitref:35a39dc5b34962081eeda8dbcf0b99a31585499b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1213
#, no-wrap
msgid "January 12, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1215
#, no-wrap
msgid "13.0-CURRENT after adding `kernel_fpu_begin`/`kernel_fpu_end` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1216
#, no-wrap
msgid "1300136"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1217
#, no-wrap
msgid "gitref:72c551930be195b5ea982c1b16767f54388424f2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1218
#, no-wrap
msgid "January 17, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1220
#, no-wrap
msgid "13.0-CURRENT after reimplementing LinuxKPI's `irq_work` queue on top of fast `taskqueue`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1221
#, no-wrap
msgid "1300137"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1222
#, no-wrap
msgid "gitref:010196adcfaf2bb610725394d40691874b4ff2af[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1223
#, no-wrap
msgid "January 30, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1186
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1225
#, no-wrap
msgid "13.0-CURRENT after fixing a clang assertion when building the package:devel/onetbb[] port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1226
#, no-wrap
msgid "1300138"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1227
#, no-wrap
msgid "gitref:dcee9964238b12a8e55917f292139f074b1a80b2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1228
#, no-wrap
msgid "February 1, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1230
#, no-wrap
msgid "13.0-ALPHA3 after adding lockless symlink lookup to vfs cache."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1231
#, no-wrap
msgid "1300139"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1232
#, no-wrap
msgid "gitref:91a07ed50ffca4dfada3e7f1f050ea746c1bac66[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1194
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1233
#, no-wrap
msgid "February 2, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1235
#, no-wrap
msgid "13.0-ALPHA3 after adding various LinuxKPI bits conflicting with drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1236
#, no-wrap
msgid "1300500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1237
#, no-wrap
msgid "gitref:3c6a89748a01869c18955d5e3bfcdf35f6705d26[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1238
#, no-wrap
msgid "February 5, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1240
#, no-wrap
msgid "13.0-STABLE after releng/13.0 was branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1202
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1246
#, no-wrap
msgid "1300501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1203
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1247
#, no-wrap
msgid "gitref:c3f97dd75a1c294c4f60f42b604ee8bcda17be09[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1204
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1209
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1214
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1258
#, no-wrap
msgid "April 23, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1206
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1245
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1250
#, no-wrap
msgid "13.0-STABLE after fixing rtld's `dl_iterate_phdr()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1251
#, no-wrap
msgid "1300502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1252
#, no-wrap
msgid "gitref:da6a8ccfa293c3c831fdde51169754fcb9587657[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1255
#, no-wrap
msgid "13.0-STABLE after implementing `atomic_dec_and_lock_irqsave()` in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1256
#, no-wrap
msgid "1300503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1257
#, no-wrap
msgid "gitref:d60c6dc8f69b1264c7af5e2479ea94f000fd2c6d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1260
#, no-wrap
msgid "13.0-STABLE after changing the internal KAPI between the krpc and NFS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1261
#, no-wrap
msgid "1300504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1262
#, no-wrap
msgid "gitref:fb34817c686cc130449325499870e36979899801[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1224
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2216
#, no-wrap
msgid "April 30, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1265
#, no-wrap
msgid "13.0-STABLE after updating the LinuxKPI to accommodate the drm-kmod 5.5 update."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1266
#, no-wrap
msgid "1300505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1267
#, no-wrap
msgid "gitref:8f81f190a640e211dd814bdde7811982b9491fb0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1229
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2221
#, no-wrap
msgid "May 10, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1270
#, no-wrap
msgid "13.0-STABLE after changing the internal KAPI between the nscl.ko and nfscommon.ko modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1232
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1271
#, no-wrap
msgid "1300506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1272
#, no-wrap
msgid "gitref:e31579b8558db508dfc3f8fc276611a7c3c93aa1[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1234
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1239
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1278
#, no-wrap
msgid "June 2, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1275
#, no-wrap
msgid "13.0-STABLE after adding TCP LRO support for VLAN and VxLAN."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1237
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1276
#, no-wrap
msgid "1300507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1277
#, no-wrap
msgid "gitref:c64d1bd7145b5d30c97d1cd99e584da529d95100[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1280
#, no-wrap
msgid "13.0-STABLE after adding a new member to the man:EPOCH[9] tracker structure."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1281
#, no-wrap
msgid "1300508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1282
#, no-wrap
msgid "gitref:658f5eed38c35f3f7d6695110b7dae8dc94d12c7[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1285
#, no-wrap
msgid "13.0-STABLE after adding macros for `might_lock_nested()` and `lockdep_(re/un/)pin_lock()` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1286
#, no-wrap
msgid "1300509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1287
#, no-wrap
msgid "gitref:210349325af9920d1535ad76fa3b92847684f6e0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1249
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1288
#, no-wrap
msgid "June 14, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1290
#, no-wrap
msgid "13.0-STABLE after adding a macro for `list_for_each_entry_lockless()` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1252
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1291
#, no-wrap
msgid "1300510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1292
#, no-wrap
msgid "gitref:eb3397588e1b48043e166587ea454f60efea88d0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1254
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2226
#, no-wrap
msgid "June 26, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1295
#, no-wrap
msgid "13.0-STABLE after changing the internal KAPI between the krpc and nfsd modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1296
#, no-wrap
msgid "1300511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1297
#, no-wrap
msgid "gitref:2622570aeb3d162812d72f7ef192c322cd8b73ef[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1259
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1298
#, no-wrap
msgid "July 7, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1300
#, no-wrap
msgid "13.0-STABLE after changing `softdep_prelink()` to only do sync if another thread changed the vnode metadata since previous `prelink`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1301
#, no-wrap
msgid "1300512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1302
#, no-wrap
msgid "gitref:f72db34d2295080f57a283858125aa906c0d409e[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1264
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1303
#, no-wrap
msgid "July 18, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1305
#, no-wrap
msgid "13.0-STABLE after various merges to LinuxKPI, OFED, net80211, and drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1306
#, no-wrap
msgid "1300513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1307
#, no-wrap
msgid "gitref:af732203b8f7f006927528db5497f5cbc4c4742a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1310
#, no-wrap
msgid "13.0-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.1-0-gfed41342a82f, a.k.a. 12.0.1 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1311
#, no-wrap
msgid "1300514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1312
#, no-wrap
msgid "gitref:53d162819c20e5cf267cb91f7a19940e96e8bec4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1274
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1313
#, no-wrap
msgid "August 3, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1315
#, no-wrap
msgid "Incompatible changes to the KBI of internal interfaces between NFS requires rebuilding modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1316
#, no-wrap
msgid "1300515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1317
#, no-wrap
msgid "gitref:0437d10e359ea1cbefff8d17cd18ca491dbbd5d7[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1279
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1318
#, no-wrap
msgid "September 22, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1320
#, no-wrap
msgid "13.0-STABLE returning to 13.0 KBI for linuxkpi."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1321
#, no-wrap
msgid "1300518"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1322
#, no-wrap
msgid "gitref:a017868e281874261a560ba1e3069b4e14b7483e[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1284
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1289
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1328
#, no-wrap
msgid "October 21, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1325
#, no-wrap
msgid "13.0-STABLE after adding `crypto_cursor_segment()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1326
#, no-wrap
msgid "1300519"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1327
#, no-wrap
msgid "gitref:fe2827f1678b8ff0baf62a1529b2cc121a25b090[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1330
#, no-wrap
msgid "13.0-STABLE after extending the AES-CCM and Chacha20-Poly1305 ciphers in OCF to support multiple nonce lengths."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1331
#, no-wrap
msgid "1300521"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1332
#, no-wrap
msgid "gitref:29745cf91cfc22afa94da0ce43e07a6dc377f631[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1294
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1333
#, no-wrap
msgid "November 19, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1296
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1335
#, no-wrap
msgid "13.0-STABLE after various merges to LinuxKPI and net80211."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1336
#, no-wrap
msgid "1300522"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1337
#, no-wrap
msgid "gitref:0c8684ae20019b63c6672cc9fa40e1426708b007[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1299
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1338
#, no-wrap
msgid "November 24, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1340
#, no-wrap
msgid "13.0-STABLE after changing the internal KAPI between the NFS modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1342
#, no-wrap
msgid "gitref:7224d4125ab57bc1c4c799a6c286be42f8d37a83[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1304
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1343
#, no-wrap
msgid "December 6, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1345
#, no-wrap
msgid "13.0-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-0-gd7b669b3a303, a.k.a. 13.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1346
#, no-wrap
msgid "1300523"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1347
#, no-wrap
msgid "gitref:690bcf605d84283c1f9d254885a3cac69c5e80a6[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1309
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1348
#, no-wrap
msgid "December 18, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1350
#, no-wrap
msgid "13.0-STABLE after adding two arguments to man:VOP_ALLOCATE[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1312
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1351
#, no-wrap
msgid "1300524"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1352
#, no-wrap
msgid "gitref:dc4114875ef10618002d3eeb46f09dc42da56b30[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1314
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1353
#, no-wrap
msgid "January 14, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1316
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1355
#, no-wrap
msgid "13.0-STABLE after making the CPU_SET macros compatible with glibc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1356
#, no-wrap
msgid "1300525"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1357
#, no-wrap
msgid "gitref:dee0854a009cde7dcdb16ba39754237737022c8a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1319
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1358
#, no-wrap
msgid "January 22, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1360
#, no-wrap
msgid "13.0-STABLE after multiple LinuxKPI changes required by drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1322
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1361
#, no-wrap
msgid "1300526"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1362
#, no-wrap
msgid "gitref:c39ff2415cb965b729fd16f9eae91e712313877b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1324
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1363
#, no-wrap
msgid "February 20, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1365
#, no-wrap
msgid "13.0-STABLE after multiple LinuxKPI changes overlapping but not conflicting with drm-kmod."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1327
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1366
#, no-wrap
msgid "1301000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1328
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1367
#, no-wrap
msgid "gitref:ad329796bdb29c69bce610ad332d08257d7157ac[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1329
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1334
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1373
#, no-wrap
msgid "March 10, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1370
#, no-wrap
msgid "releng/13.1 branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1371
#, no-wrap
msgid "1301500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1372
#, no-wrap
msgid "gitref:08523c8c63bbcdcd3f0d36787a544817cb5b8282[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1375
#, no-wrap
msgid "13.1-STABLE after releng/13.1 branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1337
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1376
#, no-wrap
msgid "1301501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1377
#, no-wrap
msgid "gitref:6663718bb49635deac3f5dc55fa6f0f7cba593ba[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1339
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1378
#, no-wrap
msgid "March 27, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1380
#, no-wrap
msgid "13.1-STABLE after various merges to LinuxKPI and net80211."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1381
#, no-wrap
msgid "1301502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1382
#, no-wrap
msgid "gitref:2278cf4e48e7679b0a60008a83c764fe852174b2[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1344
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1383
#, no-wrap
msgid "April 27, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1346
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1361
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1410
#, no-wrap
msgid "13.1-STABLE after various merges to LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1386
#, no-wrap
msgid "1301503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1387
#, no-wrap
msgid "gitref:b2aa64d05bd8b04a1bdb63f2a5f9de39c600b463[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1349
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1388
#, no-wrap
msgid "May 19, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1351
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1390
#, no-wrap
msgid "13.1-STABLE after adding alternate DRIVER_MODULE macros without a devclass argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1391
#, no-wrap
msgid "1301504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1392
#, no-wrap
msgid "gitref:a13b6fc61908fd6afa460b88f94e4a67be74bb9a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1354
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1393
#, no-wrap
msgid "June 4, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1395
#, no-wrap
msgid "13.1-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14.0.3-0-g1f9140064dfb, a.k.a. 14.0.3 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1396
#, no-wrap
msgid "1301505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1358
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1397
#, no-wrap
msgid "gitref:6f93a76ffeabf7d4488edc73a0cca01436c2903b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1359
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1369
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1408
#, no-wrap
msgid "June 21, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1401
#, no-wrap
msgid "1301506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1363
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1402
#, no-wrap
msgid "gitref:8e6cfc632cf6f9fc906df9d825649443939b55c6[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1364
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1403
#, no-wrap
msgid "July 13, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1405
#, no-wrap
msgid "13.1-STABLE after adding <crypto/chacha20_poly1305.h> and <crypto/curve25519.h>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1406
#, no-wrap
msgid "1301507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1407
#, no-wrap
msgid "gitref:9cbba5950123f3afedcc5f24c43956e7a26f22f4[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1411
#, no-wrap
msgid "1301508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1412
#, no-wrap
msgid "gitref:83ac15a799e348c391951f5877feecd4089bab80[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1415
#, no-wrap
msgid "13.1-STABLE after various merges to LinuxKPI, and for de-macrofying pause()."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1416
#, no-wrap
msgid "1301509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1417
#, no-wrap
msgid "gitref:baa97013121a915057ee54dfcb2cb87e541f7d7f[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1379
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2271
#, no-wrap
msgid "October 19, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1420
#, no-wrap
msgid "13.1-STABLE after introduction of v2 of TX Queue Select Functionality."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1421
#, no-wrap
msgid "1301510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1383
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1422
#, no-wrap
msgid "gitref:6820a0512fa6616ee1da46cb0075da80478776f0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1384
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1423
#, no-wrap
msgid "December 8, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1386
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1425
#, no-wrap
msgid "13.1-STABLE after LinuxKPI dmi_matches() fixes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1426
#, no-wrap
msgid "1301511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1427
#, no-wrap
msgid "gitref:17333d92643d998d1c6a2dc5f6b1508b6507ad31[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1389
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1428
#, no-wrap
msgid "December 17, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1430
#, no-wrap
msgid "13.1-STABLE after adding a new rc: `machine_id` to generate `/etc/machine-id`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1431
#, no-wrap
msgid "1302500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1432
#, no-wrap
msgid "gitref:c243de11cf7c4bb3d67bbc1655b149037e5b04f1[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1394
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1433
#, no-wrap
msgid "February 9, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1396
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1435
#, no-wrap
msgid "13.2-STABLE after releng/13.2 was branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1436
#, no-wrap
msgid "1302501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1437
#, no-wrap
msgid "gitref:e3068d2655e2aea3e0b462a7298a68d344769ec6[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1399
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1438
#, no-wrap
msgid "February 16, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1401
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1440
#, no-wrap
msgid "13.2-STABLE after adding `totalram_pages()` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1441
#, no-wrap
msgid "1302502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1442
#, no-wrap
msgid "gitref:5ca371f4f536f9ee9d6c9fb178bf1f7f6de33216[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1404
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1443
#, no-wrap
msgid "February 17, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1406
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1411
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1465
#, no-wrap
msgid "13.2-STABLE after various merges to LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1446
#, no-wrap
msgid "1302503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1447
#, no-wrap
msgid "gitref:aaca677fee21f202db4bb974fc5056f4dcbbb598[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1409
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1448
#, no-wrap
msgid "February 21, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1451
#, no-wrap
msgid "1302504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1452
#, no-wrap
msgid "gitref:d6852eed98ed32ad51120a22aa1ebdf0601917b3[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1414
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1453
#, no-wrap
msgid "March 12, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1455
#, no-wrap
msgid "13.2-STABLE after merging machine-id into `hostid_save`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1456
#, no-wrap
msgid "1302505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1457
#, no-wrap
msgid "gitref:85e32e957fcca01d50e29e543584909795c1acef[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1419
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1458
#, no-wrap
msgid "April 9, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1460
+#, no-wrap
+msgid "13.2-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6, a.k.a. 15.0.7 release."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1461
+#, no-wrap
+msgid "1302506"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1462
+#, no-wrap
+msgid "gitref:e982b1cf1fe1dc0b84dc24f03d1c21e3fe6bdef3[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1463
+#, no-wrap
+msgid "June 26, 2023"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1466
+#, no-wrap
+msgid "1302507"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1467
+#, no-wrap
+msgid "gitref:b2acc21dfbd6fab28b1715c775b43d4914b75e0c[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1468
+#, no-wrap
+msgid "July 23, 2023"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1470
+#, no-wrap
+msgid "13.2-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.6-0-g7cbf1a259152, a.k.a. 16.0.6 release."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1471
#, no-wrap
-msgid "13.2-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6, a.k.a. 15.0.7 release."
+msgid "1302508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1472
#, no-wrap
-msgid "1302506"
+msgid "gitref:21ccba43f511cc4089899619b5a85e6d83a200dc[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1473
#, no-wrap
-msgid "gitref:e982b1cf1fe1dc0b84dc24f03d1c21e3fe6bdef3[repository=\"src\",length=12]"
+msgid "September 6, 2023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1424
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1475
#, no-wrap
-msgid "June 26, 2023"
+msgid "13.2-STABLE after ptrace started clearing TDB_BORN during PT_DETACH."
msgstr ""
#. Template:
#. |13XXXXX
#. |gitref:XXXXXXXX[repository="src",length=12]
#. |October 30, 2021
#. |13.0-STABLE after XXXXXX.
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1487
#, no-wrap
msgid "FreeBSD 12 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1490
#, no-wrap
msgid "FreeBSD 12 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1499
#, no-wrap
msgid "1200000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1500
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302409[302409]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1501
#, no-wrap
msgid "July 7, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1454
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1503
#, no-wrap
msgid "12.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1455
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1504
#, no-wrap
msgid "1200001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1505
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302628[302628]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1506
#, no-wrap
msgid "July 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1459
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1508
#, no-wrap
msgid "12.0-CURRENT after removing collation from `[a-z]`-type ranges."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1460
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1509
#, no-wrap
msgid "1200002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1461
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1510
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304395[304395]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1511
#, no-wrap
msgid "August 18, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1464
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1513
#, no-wrap
msgid "12.0-CURRENT after removing unused and obsolete `openbsd_poll` system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1465
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1514
#, no-wrap
msgid "1200003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1466
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1515
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304608[304608]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1467
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2870
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3889
#, no-wrap
msgid "August 22, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1469
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1518
#, no-wrap
msgid "12.0-CURRENT after adding C++11 `thread_local` support in rev link:https://svnweb.freebsd.org/changeset/base/303795[303795]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1470
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1519
#, no-wrap
msgid "1200004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1471
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1520
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304752[304752]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1521
#, no-wrap
msgid "August 24, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1474
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1523
#, no-wrap
msgid "12.0-CURRENT after fixing LC*MASK for man:newlocale[3] and man:querylocale[3] (rev link:https://svnweb.freebsd.org/changeset/base/304703[304703])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1475
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1524
#, no-wrap
msgid "1200005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1476
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1525
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304789[304789]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1526
#, no-wrap
msgid "August 25, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1479
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1528
#, no-wrap
msgid "12.0-CURRENT after changing some ioctl interfaces in rev link:https://svnweb.freebsd.org/changeset/base/304787[304787] between the iSCSI userspace programs and the kernel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1480
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1529
#, no-wrap
msgid "1200006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1481
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1530
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305256[305256]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1531
#, no-wrap
msgid "September 1, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1484
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1533
#, no-wrap
msgid "12.0-CURRENT after man:crunchgen[1] META_MODE fix in link:https://svnweb.freebsd.org/changeset/base/305254[305254]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1485
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1534
#, no-wrap
msgid "1200007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1535
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305421[305421]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1536
#, no-wrap
msgid "September 5, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1489
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1538
#, no-wrap
msgid "12.0-CURRENT after resolving a deadlock between `device_detach()` and man:usbd_do_request_flags[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1490
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1539
#, no-wrap
msgid "1200008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1540
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305833[305833]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1541
#, no-wrap
msgid "September 15, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1494
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1543
#, no-wrap
msgid "12.0-CURRENT after removing the 4.3BSD compatible macro `m_copy()` in link:https://svnweb.freebsd.org/changeset/base/305824[305824]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1544
#, no-wrap
msgid "1200009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1545
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/306077[306077]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1546
#, no-wrap
msgid "September 21, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1499
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1548
#, no-wrap
msgid "12.0-CURRENT after removing `bio_taskqueue()` in link:https://svnweb.freebsd.org/changeset/base/305988[305988]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1500
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1549
#, no-wrap
msgid "1200010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1550
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/306276[306276]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1551
#, no-wrap
msgid "September 23, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1504
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1553
#, no-wrap
msgid "12.0-CURRENT after mounting man:msdosfs[5] with `longnames` support by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1505
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1554
#, no-wrap
msgid "1200011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1555
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/306556[306556]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1556
#, no-wrap
msgid "October 1, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1509
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1558
#, no-wrap
msgid "12.0-CURRENT after adding `fb_memattr` field to `fb_info` in link:https://svnweb.freebsd.org/changeset/base/306555[306555]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1510
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1559
#, no-wrap
msgid "1200012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1560
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/306592[306592]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1561
#, no-wrap
msgid "October 2, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1514
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1563
#, no-wrap
msgid "12.0-CURRENT after man:net80211[4] changes (rev link:https://svnweb.freebsd.org/changeset/base/306590[306590], link:https://svnweb.freebsd.org/changeset/base/306591[306591])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1515
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1564
#, no-wrap
msgid "1200013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1565
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/307140[307140]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1566
#, no-wrap
msgid "October 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1519
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1568
#, no-wrap
msgid "12.0-CURRENT after installing header files required development with `libzfs_core`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1569
#, no-wrap
msgid "1200014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1570
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/307529[307529]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1571
#, no-wrap
msgid "October 17, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1524
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1573
#, no-wrap
msgid "12.0-CURRENT after merging common code in man:rtwn[4] and man:urtwn[4], and adding support for 802.11ac devices."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1525
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1574
#, no-wrap
msgid "1200015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1575
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/308874[308874]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1576
#, no-wrap
msgid "November 20, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1529
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1578
#, no-wrap
msgid "12.0-CURRENT after some ABI change for unbreaking powerpc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1530
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1579
#, no-wrap
msgid "1200016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1580
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/309017[309017]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1581
#, no-wrap
msgid "November 22, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1534
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1583
#, no-wrap
msgid "12.0-CURRENT after removing `PG_CACHED`-related fields from `vmmeter`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1535
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1584
#, no-wrap
msgid "1200017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1585
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/309124[309124]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1586
#, no-wrap
msgid "November 25, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1539
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1588
#, no-wrap
msgid "12.0-CURRENT after upgrading copies of clang, llvm, lldb, compiler-rt and libc++ to 3.9.0 release, and adding lld 3.9.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1540
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1589
#, no-wrap
msgid "1200018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1590
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/309676[309676]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1591
#, no-wrap
msgid "December 7, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1544
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1593
#, no-wrap
msgid "12.0-CURRENT after adding the `ki_moretdname` member to `struct kinfo_proc` and `struct kinfo_proc32` to export the whole thread name to user-space utilities."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1545
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1594
#, no-wrap
msgid "1200019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1595
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/310149[310149]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1596
#, no-wrap
msgid "December 16, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1549
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1598
#, no-wrap
msgid "12.0-CURRENT after starting to lay down the foundation for 11ac support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1550
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1599
#, no-wrap
msgid "1200020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1600
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/312087[312087]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1601
#, no-wrap
msgid "January 13, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1554
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1603
#, no-wrap
msgid "12.0-CURRENT after removing `fgetsock` and `fputsock`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1555
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1604
#, no-wrap
msgid "1200021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1605
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/313858[313858]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1606
#, no-wrap
msgid "February 16, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1559
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1608
#, no-wrap
msgid "12.0-CURRENT after removing MCA and EISA support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1560
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1609
#, no-wrap
msgid "1200022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1610
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/314040[314040]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1611
#, no-wrap
msgid "February 21, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1564
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1613
#, no-wrap
msgid "12.0-CURRENT after making the LinuxKPI task struct persistent across system calls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1615
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/314373[314373]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1567
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1621
#, no-wrap
msgid "March 2, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1569
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1618
#, no-wrap
msgid "12.0-CURRENT after removing System V Release 4 binary compatibility support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1570
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1619
#, no-wrap
msgid "1200023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1620
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/314564[314564]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1574
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1623
#, no-wrap
msgid "12.0-CURRENT after upgrading copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1575
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1624
#, no-wrap
msgid "1200024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1625
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/314865[314865]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1626
#, no-wrap
msgid "March 7, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1579
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1628
#, no-wrap
msgid "12.0-CURRENT after removal of [.filename]#pcap-int.h#"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1580
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1629
#, no-wrap
msgid "1200025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1630
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/315430[315430]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1582
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1636
#, no-wrap
msgid "March 16, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1584
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1633
#, no-wrap
msgid "12.0-CURRENT after addition of the [.filename]#<dev/mmc/mmc_ioctl.h># header."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1585
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1634
#, no-wrap
msgid "1200026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1635
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/315662[315662]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1589
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1638
#, no-wrap
msgid "12.0-CURRENT after hiding `struct inpcb` and `struct tcpcb` from userland."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1590
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1639
#, no-wrap
msgid "1200027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1640
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/315673[315673]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1641
#, no-wrap
msgid "March 21, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1594
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1643
#, no-wrap
msgid "12.0-CURRENT after making CAM SIM lock optional."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1595
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1644
#, no-wrap
msgid "1200028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1645
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/316683[316683]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1646
#, no-wrap
msgid "April 10, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1599
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1648
#, no-wrap
msgid "12.0-CURRENT after renaming `smp_no_rendevous_barrier()` to `smp_no_rendezvous_barrier()` in link:https://svnweb.freebsd.org/changeset/base/316648[316648]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1600
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1649
#, no-wrap
msgid "1200029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1601
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1650
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/317176[317176]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1651
#, no-wrap
msgid "April 19, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1604
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1653
#, no-wrap
msgid "12.0-CURRENT after the removal of `struct vmmeter` from `struct pcpu` from link:https://svnweb.freebsd.org/changeset/base/317061[317061]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1654
#, no-wrap
msgid "1200030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1606
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1655
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/317383[317383]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1656
#, no-wrap
msgid "April 24, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1609
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1658
#, no-wrap
msgid "12.0-CURRENT after removing NATM support including man:en[4], man:fatm[4], man:hatm[4], and man:patm[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1610
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1659
#, no-wrap
msgid "1200031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1611
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1660
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/318736[318736]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1661
#, no-wrap
msgid "May 23, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1614
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1663
#, no-wrap
msgid "12.0-CURRENT after types `ino_t`, `dev_t`, `nlink_t` were extended to 64bit and `struct dirent` changed layout (also known as ino64)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1615
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1664
#, no-wrap
msgid "1200032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1665
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/319664[319664]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1666
#, no-wrap
msgid "June 8, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1619
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1668
#, no-wrap
msgid "12.0-CURRENT after removal of `groff`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1669
#, no-wrap
msgid "1200033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1670
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320043[320043]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1622
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1671
#, no-wrap
msgid "June 17, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1673
#, no-wrap
msgid "12.0-CURRENT after the type of the `struct event` member `data` was increased to 64bit, and ext structure members added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1674
#, no-wrap
msgid "1200034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1675
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320085[320085]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1676
#, no-wrap
msgid "June 19, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1629
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1678
#, no-wrap
msgid "12.0-CURRENT after the NFS client and server were changed so that they actually use the 64bit `ino_t`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1679
#, no-wrap
msgid "1200035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1680
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320317[320317]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1681
#, no-wrap
msgid "June 24, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1634
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1683
#, no-wrap
msgid "12.0-CURRENT after the `MAP_GUARD` man:mmap[2] flag was added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1684
#, no-wrap
msgid "1200036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1685
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320347[320347]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1637
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1686
#, no-wrap
msgid "June 26, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1639
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1688
#, no-wrap
msgid "12.0-CURRENT after changing `time_t` to 64 bits on powerpc (32-bit version)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1640
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1689
#, no-wrap
msgid "1200037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1690
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320545[320545]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1691
#, no-wrap
msgid "July 1, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1644
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1693
#, no-wrap
msgid "12.0-CURRENT after the cleanup and inlining of `bus_dmamap*` functions (link:https://svnweb.freebsd.org/changeset/base/320528[320528])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1645
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1694
#, no-wrap
msgid "1200038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1695
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320879[320879]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1647
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1696
#, no-wrap
msgid "July 10, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1649
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1698
#, no-wrap
msgid "12.0-CURRENT after MMC CAM committed. (link:https://svnweb.freebsd.org/changeset/base/320844[320844])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1699
#, no-wrap
msgid "1200039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1700
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/321369[321369]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1701
#, no-wrap
msgid "July 22, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1654
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1703
#, no-wrap
msgid "12.0-CURRENT after upgrade of copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 5.0.0 (trunk r308421)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1704
#, no-wrap
msgid "1200040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1656
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2959
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3013
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/321688[321688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1657
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3014
#, no-wrap
msgid "July 29, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1659
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1708
#, no-wrap
msgid "12.0-CURRENT after adding NFS client forced dismount support `umount -N`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1709
#, no-wrap
msgid "1200041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1710
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/322762[322762]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1662
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1711
#, no-wrap
msgid "August 21, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1713
#, no-wrap
msgid "12.0-CURRENT after WRFSBASE instruction become operational on amd64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1714
#, no-wrap
msgid "1200042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1715
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/322900[322900]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1716
#, no-wrap
msgid "August 25, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1718
#, no-wrap
msgid "12.0-CURRENT after PLPMTUD counters were changed to use man:counter[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1719
#, no-wrap
msgid "1200043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1720
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/322989[322989]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1721
#, no-wrap
msgid "August 28, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1674
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1723
#, no-wrap
msgid "12.0-CURRENT after dropping x86 CACHE_LINE_SIZE down to 64 bytes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1724
#, no-wrap
msgid "1200044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1725
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323349[323349]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1726
#, no-wrap
msgid "September 8, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1679
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1728
#, no-wrap
msgid "12.0-CURRENT after implementing `poll_wait()` in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1729
#, no-wrap
msgid "1200045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1730
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323706[323706]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1731
#, no-wrap
msgid "September 18, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1684
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1733
#, no-wrap
msgid "12.0-CURRENT after adding shared memory support to LinuxKPI. (link:https://svnweb.freebsd.org/changeset/base/323703[323703])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1734
#, no-wrap
msgid "1200046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1735
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323910[323910]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1687
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1736
#, no-wrap
msgid "September 22, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1689
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1738
#, no-wrap
msgid "12.0-CURRENT after adding support for 32-bit compatibility IOCTLs to LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1690
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1739
#, no-wrap
msgid "1200047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1740
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324053[324053]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1692
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2970
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3024
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3029
#, no-wrap
msgid "September 26, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1743
#, no-wrap
msgid "12.0-CURRENT after removing M_HASHTYPE_RSS_UDP_IPV4_EX. (link:https://svnweb.freebsd.org/changeset/base/324052[324052])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1695
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1744
#, no-wrap
msgid "1200048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1696
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1745
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324227[324227]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1746
#, no-wrap
msgid "October 2, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1748
#, no-wrap
msgid "12.0-CURRENT after hiding `struct socket` and `struct unpcb` from userland."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1749
#, no-wrap
msgid "1200049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1701
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1750
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324281[324281]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1751
#, no-wrap
msgid "October 4, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1704
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1753
#, no-wrap
msgid "12.0-CURRENT after adding the `value.u16` field to `struct diocgattr_arg`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1754
#, no-wrap
msgid "1200050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1755
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324342[324342]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1756
#, no-wrap
msgid "October 5, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1758
#, no-wrap
msgid "12.0-CURRENT after adding the `armv7 MACHINE_ARCH`. (link:https://svnweb.freebsd.org/changeset/base/324340[324340])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1759
#, no-wrap
msgid "1200051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1711
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1760
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324455[324455]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1761
#, no-wrap
msgid "October 9, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1763
#, no-wrap
msgid "12.0-CURRENT after removing [.filename]#libstand.a# as a public interface. (link:https://svnweb.freebsd.org/changeset/base/324454[324454])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1764
#, no-wrap
msgid "1200052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1765
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/325028[325028]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1766
#, no-wrap
msgid "October 26, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1768
#, no-wrap
msgid "12.0-CURRENT after fixing `ptrace()` to always clear the correct thread event when resuming."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1720
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1769
#, no-wrap
msgid "1200053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1721
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1770
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/325506[325506]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1771
#, no-wrap
msgid "November 7, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1724
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1773
#, no-wrap
msgid "12.0-CURRENT after changing `struct mbuf` layout to add optional hardware timestamps for receive packets."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1774
#, no-wrap
msgid "1200054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1775
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/325852[325852]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1776
#, no-wrap
msgid "November 15, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1778
#, no-wrap
msgid "12.0-CURRENT after changing the layout of `struct vmtotal` to allow for reporting large memory counters."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1779
#, no-wrap
msgid "1200055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1731
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1780
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/327740[327740]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1781
#, no-wrap
msgid "January 9, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1783
#, no-wrap
msgid "12.0-CURRENT after adding `cpucontrol -e` support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1735
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1784
#, no-wrap
msgid "1200056"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1736
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1785
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/327952[327952]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1786
#, no-wrap
msgid "January 14, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1788
#, no-wrap
msgid "12.0-CURRENT after upgrading clang, llvm, lld, lldb, compiler-rt and libc++ to 6.0.0 (branches/release_60 r321788)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1789
#, no-wrap
msgid "1200057"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1790
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/329033[329033]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1791
#, no-wrap
msgid "February 8, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1793
#, no-wrap
msgid "12.0-CURRENT after applying a clang 6.0.0 fix to make the wine ports build correctly."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1745
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1794
#, no-wrap
msgid "1200058"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1746
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1795
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/329166[329166]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1796
#, no-wrap
msgid "February 12, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1798
#, no-wrap
msgid "12.0-CURRENT after the Lua loader was committed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1799
#, no-wrap
msgid "1200059"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1751
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1800
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/330299[330299]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1752
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1801
#, no-wrap
msgid "March 2, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1803
#, no-wrap
msgid "12.0-CURRENT after removing the declaration of `union semun` unless `_WANT_SEMUN` is defined. Also the removal of `struct mymsg` and the renaming of kernel-only members of `struct semid_ds` and `struct msgid_ds`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1804
#, no-wrap
msgid "1200060"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1756
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1805
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/330384[330384]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1806
#, no-wrap
msgid "March 4, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1808
#, no-wrap
msgid "12.0-CURRENT after upgrading clang, llvm, lld, lldb, compiler-rt and libc++ to 6.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1809
#, no-wrap
msgid "1200061"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1761
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1810
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/332100[332100]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1811
#, no-wrap
msgid "April 6, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1813
#, no-wrap
msgid "12.0-CURRENT after changing man:syslog[3] to emit RFC 5424 formatted messages."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1814
#, no-wrap
msgid "1200062"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1766
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1815
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/332423[332423]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1816
#, no-wrap
msgid "April 12, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1818
#, no-wrap
msgid "12.0-CURRENT after changing the Netmap API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1819
#, no-wrap
msgid "1200063"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1771
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1820
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/333446[333446]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1821
#, no-wrap
msgid "May 10, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1823
#, no-wrap
msgid "12.0-CURRENT after reworking CTL frontend and backend options to use man:nv[3], allow creating multiple ioctl frontend ports."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1824
#, no-wrap
msgid "1200064"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1776
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1825
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334074[334074]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1826
#, no-wrap
msgid "May 22, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1779
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1828
#, no-wrap
msgid "12.0-CURRENT after changing the ifnet address and multicast address TAILQ to CK_STAILQ."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1780
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1829
#, no-wrap
msgid "1200065"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1781
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1830
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334290[334290]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1831
#, no-wrap
msgid "May 28, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1833
#, no-wrap
msgid "12.0-CURRENT after changing man:dwatch[1] to allow '-E code' to override profile EVENT_DETAILS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1785
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1834
#, no-wrap
msgid "1200066"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1786
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1835
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334466[334466]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1787
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3035
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3040
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3089
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3094
#, no-wrap
msgid "June 1, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1838
#, no-wrap
msgid "12.0-CURRENT after removal of in-kernel pmc tables for Intel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1839
#, no-wrap
msgid "1200067"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1791
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1840
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334892[334892]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1841
#, no-wrap
msgid "June 9, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1794
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1843
#, no-wrap
msgid "12.0-CURRENT after adding DW_LANG constants to libdwarf."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1844
#, no-wrap
msgid "1200068"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1796
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1845
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334930[334930]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1846
#, no-wrap
msgid "June 12, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1848
#, no-wrap
msgid "12.0-CURRENT after changing the interface between the NFS modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1800
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1849
#, no-wrap
msgid "1200069"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1801
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1850
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/335237[335237]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1851
#, no-wrap
msgid "June 15, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1853
#, no-wrap
msgid "12.0-CURRENT after changing `struct kerneldumpheader` to version 4 (similar to version 2 in 11-STABLE and previous)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1805
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1854
#, no-wrap
msgid "1200070"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1806
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1855
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/335873[335873]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1856
#, no-wrap
msgid "July 2, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1858
#, no-wrap
msgid "12.0-CURRENT after inlining man:atomic[9] in modules on amd64 and i386 requiring all modules of consumers to be rebuilt for these architectures."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1810
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1859
#, no-wrap
msgid "1200071"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1811
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1860
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/335930[335930]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1861
#, no-wrap
msgid "July 4, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1814
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1863
#, no-wrap
msgid "12.0-CURRENT after changing the ABI and API of man:epoch[9] (link:https://svnweb.freebsd.org/changeset/base/335924[335924]) requiring modules of consumers to be rebuilt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1815
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1864
#, no-wrap
msgid "1200072"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1816
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1865
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/335979[335979]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1866
#, no-wrap
msgid "July 5, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1868
#, no-wrap
msgid "12.0-CURRENT after changing the ABI and API of `struct xinpcb` and friends."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1820
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1869
#, no-wrap
msgid "1200073"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1821
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1870
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/336313[336313]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1871
#, no-wrap
msgid "July 15, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1873
#, no-wrap
msgid "12.0-CURRENT after changing the ABI and API of `struct if_shared_ctx` and `struct if_softc_ctx` requiring modules of man:iflib[9] consumers to be rebuilt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1874
#, no-wrap
msgid "1200074"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1826
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1875
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/336360[336360]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1876
#, no-wrap
msgid "July 16, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1878
#, no-wrap
msgid "12.0-CURRENT after updating the configuration of libstdc++ to make use of C99 functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1879
#, no-wrap
msgid "1200075"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1831
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1880
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/336538[336538]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1881
#, no-wrap
msgid "July 19, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1883
#, no-wrap
msgid "12.0-CURRENT after `zfsloader` being folded into loader, and after adding ntpd:ntpd as uid:gid 123:123, and after removing arm big-endian support (MACHINE_ARCH=armeb)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1884
#, no-wrap
msgid "1200076"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1885
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/336914[336914]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1837
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1886
#, no-wrap
msgid "July 30, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1888
#, no-wrap
msgid "12.0-CURRENT after KPI changes to `timespecadd`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1889
#, no-wrap
msgid "1200077"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1841
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1890
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/337576[337576]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1891
#, no-wrap
msgid "August 10, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1893
#, no-wrap
msgid "12.0-CURRENT after man:timespec_get[3] was added to the system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1845
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1894
#, no-wrap
msgid "1200078"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1846
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1895
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/337863[337863]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1896
#, no-wrap
msgid "August 15, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1898
#, no-wrap
msgid "12.0-CURRENT after exec.created hook for jails."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1850
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1899
#, no-wrap
msgid "1200079"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1851
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1900
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338061[338061]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1852
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1901
#, no-wrap
msgid "August 19, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1903
#, no-wrap
msgid "12.0-CURRENT after converting `arc4random` to using the Chacha20 algorithm and deprecating `arc4random_stir` and `arc4random_addrandom`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1904
#, no-wrap
msgid "1200080"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1856
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1905
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338172[338172]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1906
#, no-wrap
msgid "August 22, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1908
#, no-wrap
msgid "12.0-CURRENT after removing the drm drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1909
#, no-wrap
msgid "1200081"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1861
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1910
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338182[338182]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1911
#, no-wrap
msgid "August 21, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1913
#, no-wrap
msgid "12.0-CURRENT after KPI changes to NVMe."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1914
#, no-wrap
msgid "1200082"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1866
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1915
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338285[338285]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1916
#, no-wrap
msgid "August 24, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1918
#, no-wrap
msgid "12.0-CURRENT after reverting the removal of the drm drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1870
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1919
#, no-wrap
msgid "1200083"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1871
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1920
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338331[338331]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1921
#, no-wrap
msgid "August 26, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1923
#, no-wrap
msgid "12.0-CURRENT after removing `arc4random_stir` and `arc4random_addrandom`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1924
#, no-wrap
msgid "1200084"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1876
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1925
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338478[338478]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1926
#, no-wrap
msgid "September 5, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1928
#, no-wrap
msgid "12.0-CURRENT after updating man:objcopy[1] to properly handle little-endian MIPS64 object files."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1880
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1929
#, no-wrap
msgid "1200085"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1881
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1930
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/339270[339270]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1933
#, no-wrap
msgid "12.0-STABLE after updating OpenSSL to version 1.1.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1885
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1934
#, no-wrap
msgid "1200086"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1886
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1935
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/339732[339732]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1889
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1938
#, no-wrap
msgid "12.0-STABLE after updating OpenSSL shared library version numbers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1890
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1939
#, no-wrap
msgid "1200500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1940
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/340471[340471]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1941
#, no-wrap
msgid "November 16, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1943
#, no-wrap
msgid "12-STABLE after releng/12.0 was branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1895
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1944
#, no-wrap
msgid "1200501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1896
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1945
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/342801[342801]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1897
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3065
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3119
#, no-wrap
msgid "January 6, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1948
#, no-wrap
msgid "12-STABLE after merge of fixing `linux_destroy_dev()` behaviour when there are still files open from the destroying cdev."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1900
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1949
#, no-wrap
msgid "1200502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1901
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1950
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/343126[343126]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1951
#, no-wrap
msgid "January 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1953
#, no-wrap
msgid "12-STABLE after enabling sys/random.h #include from C++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1954
#, no-wrap
msgid "1200503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1955
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344152[344152]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1956
#, no-wrap
msgid "February 15, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1909
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1958
#, no-wrap
msgid "12-STABLE after merge of fixing man:renameat[2] for CAPABILITIES kernels."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1959
#, no-wrap
msgid "1200504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1960
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/345169[345169]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1963
#, no-wrap
msgid "12-STABLE after merging CCM for the benefit of the ZoF port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1964
#, no-wrap
msgid "1200505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1916
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1965
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/345327[345327]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1966
#, no-wrap
msgid "March 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1919
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1968
#, no-wrap
msgid "12-STABLE after merging support for selectively disabling ZFS without disabling loader."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1920
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1969
#, no-wrap
msgid "1200506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1921
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1970
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346168[346168]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1922
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1971
#, no-wrap
msgid "April 12, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1973
#, no-wrap
msgid "12-STABLE after merging llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 8.0.0 final release r356365."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1925
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1974
#, no-wrap
msgid "1200507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1975
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346337[346337]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1976
#, no-wrap
msgid "April 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1978
#, no-wrap
msgid "12-STABLE after MFC of iflib changes in link:https://svnweb.freebsd.org/changeset/base/345303[345303], link:https://svnweb.freebsd.org/changeset/base/345658,[345658,] and partially of link:https://svnweb.freebsd.org/changeset/base/345305[345305]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1930
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1979
#, no-wrap
msgid "1200508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1931
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3079
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3133
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346784[346784]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1932
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3080
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1981
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3134
#, no-wrap
msgid "April 27, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1983
#, no-wrap
msgid "12-STABLE after `ether_gen_addr` availability."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1984
#, no-wrap
msgid "1200509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1985
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347790[347790]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1937
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3090
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1986
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3144
#, no-wrap
msgid "May 16, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1988
#, no-wrap
msgid "12-STABLE after bumping the Mellanox driver version numbers (man:mlx4en[4]; man:mlx5en[4])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1940
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1989
#, no-wrap
msgid "1200510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1941
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1990
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/348036[348036]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1991
#, no-wrap
msgid "May 21, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1993
#, no-wrap
msgid "12-STABLE after change to struct in linuxkpi from link:https://svnweb.freebsd.org/changeset/base/348035[348035]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1945
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1994
#, no-wrap
msgid "1200511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1995
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/348243[348243]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1947
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2001
#, no-wrap
msgid "May 24, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1949
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1998
#, no-wrap
msgid "12-STABLE after MFC of link:https://svnweb.freebsd.org/changeset/base/347843[347843]: adding `group_leader` member to struct `task_struct` to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1999
#, no-wrap
msgid "1200512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2000
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/348245[348245]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2003
#, no-wrap
msgid "12-STABLE after adding context member to ww_mutex in LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2004
#, no-wrap
msgid "1200513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2005
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349763[349763]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2006
#, no-wrap
msgid "July 5, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1959
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2008
#, no-wrap
msgid "12-STABLE after MFC of man:epoch[9] changes: link:https://svnweb.freebsd.org/changeset/base/349763[349763], link:https://svnweb.freebsd.org/changeset/base/340404[340404], link:https://svnweb.freebsd.org/changeset/base/340415[340415], link:https://svnweb.freebsd.org/changeset/base/340417[340417], link:https://svnweb.freebsd.org/changeset/base/340419[340419], link:https://svnweb.freebsd.org/changeset/base/340420[340420]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2009
#, no-wrap
msgid "1200514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2010
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/350083[350083]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2011
#, no-wrap
msgid "July 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1964
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2013
#, no-wrap
msgid "12-STABLE after additions to LinuxKPI's rcu list."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1965
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2014
#, no-wrap
msgid "1200515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2015
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/350877[350877]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1967
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2016
#, no-wrap
msgid "August 11, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1969
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2018
#, no-wrap
msgid "12-STABLE after MFC of link:https://svnweb.freebsd.org/changeset/base/349891[349891] (reorganize the SRCS lists as one file per line, and then alphabetize them) and link:https://svnweb.freebsd.org/changeset/base/349972[349972] (add `arm_sync_icache()` and `arm_drain_writebuf()` sysarch syscall wrappers)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1970
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2019
#, no-wrap
msgid "1200516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1971
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2020
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/351276[351276]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1972
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2021
#, no-wrap
msgid "August 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1974
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2023
#, no-wrap
msgid "12-STABLE after MFC of various changes to iflib link:https://svnweb.freebsd.org/changeset/base/351276[351276]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2024
#, no-wrap
msgid "1200517"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2025
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352076[352076]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2028
#, no-wrap
msgid "12-STABLE after adding sysfs create/remove functions that handles multiple files in one call to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2029
#, no-wrap
msgid "1200518"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1981
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2030
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352114[352114]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2031
#, no-wrap
msgid "September 10, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1984
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2033
#, no-wrap
msgid "12-STABLE after additional updates to LinuxKPI's sysfs."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1985
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2034
#, no-wrap
msgid "1200519"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1986
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2035
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352351[352351]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2036
#, no-wrap
msgid "September 15, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1989
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2038
#, no-wrap
msgid "12-STABLE after MFC of the new fusefs driver."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1990
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2039
#, no-wrap
msgid "1201000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1991
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2040
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352546[352546]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1992
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2046
#, no-wrap
msgid "September 20, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1994
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2043
#, no-wrap
msgid "releng/12.1 branched from stable/12@r352480."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2044
#, no-wrap
msgid "1201500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2045
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/352547[352547]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2048
#, no-wrap
msgid "12-STABLE after branching releng/12.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2000
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2049
#, no-wrap
msgid "1201501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2001
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3104
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3158
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354598[354598]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2002
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2017
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3159
#, no-wrap
msgid "November 10, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2004
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2053
#, no-wrap
msgid "12-STABLE after fixing a potential OOB read security issue in libc++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2005
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2054
#, no-wrap
msgid "1201502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2055
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354613[354613]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2007
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3110
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3115
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3174
#, no-wrap
msgid "November 11, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2009
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2058
#, no-wrap
msgid "12-STABLE after enabling device class group attributes in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2010
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2059
#, no-wrap
msgid "1201503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2011
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2060
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354928[354928]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2014
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2063
#, no-wrap
msgid "12-STABLE after adding support for `AT_EXECPATH` to man:elf_aux_info[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2015
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2064
#, no-wrap
msgid "1201504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2019
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2068
#, no-wrap
msgid "12-STABLE after correcting the C++ version check for declaring man:timespec_get[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2020
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2069
#, no-wrap
msgid "1201505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2021
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3124
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3178
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355899[355899]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2022
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3125
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3179
#, no-wrap
msgid "December 19, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2024
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2073
#, no-wrap
msgid "12-STABLE after adding `sigsetop` extensions commonly found in musl libc and glibc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2074
#, no-wrap
msgid "1201506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2026
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2075
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/355968[355968]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2076
#, no-wrap
msgid "December 21, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2078
#, no-wrap
msgid "12-STABLE after doubling the value of `ARG_MAX`, for 64 bit platforms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2030
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2079
#, no-wrap
msgid "1201507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2080
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356306[356306]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2034
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2083
#, no-wrap
msgid "12-STABLE after adding functions to man:bitstring[3] to find contiguous sequences of set or unset bits."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2035
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2084
#, no-wrap
msgid "1201508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2036
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2085
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356394[356394]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2039
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2088
#, no-wrap
msgid "12-STABLE after making USB statistics be per-device instead of per bus."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2040
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2089
#, no-wrap
msgid "1201509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2090
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356460[356460]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2091
#, no-wrap
msgid "January 7, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2093
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 9.0.0 final release r372316."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2094
#, no-wrap
msgid "1201510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2046
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2095
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356679[356679]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2047
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3135
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3964
#, no-wrap
msgid "January 13, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2049
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2098
#, no-wrap
msgid "12-STABLE after adding own counter for cancelled USB transfers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2099
#, no-wrap
msgid "1201511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2100
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/357333[357333]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2101
#, no-wrap
msgid "January 31, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2054
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2103
#, no-wrap
msgid "12-STABLE after adding [.filename]#/etc/os-release# as a symbolic link to [.filename]#/var/run/os-release#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2055
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2104
#, no-wrap
msgid "1201512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2105
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/357612[357612]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2057
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3194
#, no-wrap
msgid "February 6, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2059
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2108
#, no-wrap
msgid "12-STABLE after recent LinuxKPI changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2060
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2109
#, no-wrap
msgid "1201513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2061
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2110
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359957[359957]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2062
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3199
#, no-wrap
msgid "April 15, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2064
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2113
#, no-wrap
msgid "12-STABLE after cloning the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2065
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2114
#, no-wrap
msgid "1201514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2115
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360525[360525]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2067
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2121
#, no-wrap
msgid "May 1, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2069
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2118
#, no-wrap
msgid "12-STABLE after implementing full man:bus_dma[9] support in the LinuxKPI and pulling in all dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2119
#, no-wrap
msgid "1201515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2120
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360545[360545]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2074
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2123
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2075
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2124
#, no-wrap
msgid "1201516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2076
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2125
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360620[360620]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2126
#, no-wrap
msgid "May 4, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2079
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2128
#, no-wrap
msgid "12-STABLE after moving `id_mapped` to end of `bus_dma_impl` structure to preserve KPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2080
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2129
#, no-wrap
msgid "1201517"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2130
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/361350[361350]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2131
#, no-wrap
msgid "May 21, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2084
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2133
#, no-wrap
msgid "12-STABLE after renaming `vm.max_wired` to `vm.max_user_wired` and changing its type."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2085
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2134
#, no-wrap
msgid "1201518"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2135
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362319[362319]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2087
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3229
#, no-wrap
msgid "June 18, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2089
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2138
#, no-wrap
msgid "12-STABLE after implementing `__is_constexpr()` function macro in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2090
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2139
#, no-wrap
msgid "1201519"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2091
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2140
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362916[362916]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2092
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3180
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3234
#, no-wrap
msgid "July 4, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2094
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2143
#, no-wrap
msgid "12-STABLE after making liblzma use libmd implementation of SHA256."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2095
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2144
#, no-wrap
msgid "1201520"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2145
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363494[363494]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2097
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3239
#, no-wrap
msgid "July 24, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2099
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2148
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.1 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2149
#, no-wrap
msgid "1201521"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2150
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363790[363790]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2102
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3244
#, no-wrap
msgid "August 3, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2104
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2153
#, no-wrap
msgid "12-STABLE after implementing the `array_size()` function in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2154
#, no-wrap
msgid "1201522"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2155
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363832[363832]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2156
#, no-wrap
msgid "August 4, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2109
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2158
#, no-wrap
msgid "12-STABLE after adding sysctlbyname system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2110
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2159
#, no-wrap
msgid "1201523"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2160
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364390[364390]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2112
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3249
#, no-wrap
msgid "August 19, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2114
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2163
#, no-wrap
msgid "12-STABLE after change to clone the task struct fields related to RCU."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2115
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2164
#, no-wrap
msgid "1201524"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2165
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365356[365356]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2166
#, no-wrap
msgid "September 5, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2119
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2168
#, no-wrap
msgid "12-STABLE after splitting XDR off into a separate kernel module, to minimize ZFS dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2169
#, no-wrap
msgid "1201525"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2121
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3253
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365471[365471]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2124
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2238
#, no-wrap
msgid "12-STABLE after adding atomic and `bswap` functions to libcompiler_rt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2125
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2174
#, no-wrap
msgid "1201526"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2126
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2175
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365608[365608]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2176
#, no-wrap
msgid "September 10, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2178
#, no-wrap
msgid "12-STABLE after updating net80211 and kernel privilege checking API changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2130
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2179
#, no-wrap
msgid "1202000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2180
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365618[365618]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2132
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2137
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2186
#, no-wrap
msgid "September 11, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2183
#, no-wrap
msgid "releng/12.2 branched from stable/12@r365618."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2135
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2184
#, no-wrap
msgid "1202500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2185
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365619[365619]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2139
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2188
#, no-wrap
msgid "12-STABLE after branching releng/12.2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2189
#, no-wrap
msgid "1202501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2141
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3204
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3258
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365661[365661]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2142
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3259
#, no-wrap
msgid "September 12, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2144
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2193
#, no-wrap
msgid "12-STABLE after followup commits to libcompiler_rt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2194
#, no-wrap
msgid "1202502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2195
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/365816[365816]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2196
#, no-wrap
msgid "September 16, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2198
#, no-wrap
msgid "12-STABLE after fixing man:crunchgen[1] application build with `WARNS=6`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2199
#, no-wrap
msgid "1202503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2200
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366878[366878]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2154
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2203
#, no-wrap
msgid "12-STABLE after populating the acquire context field of a `ww_mutex` in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2204
#, no-wrap
msgid "1202504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2205
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367511[367511]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2159
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2208
#, no-wrap
msgid "12-STABLE after the addition of man:ptsname_r[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2160
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2209
#, no-wrap
msgid "1202505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2210
#, no-wrap
msgid "gitref:f3d75bed5475b15f21edf4052665b1212b548bd0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2211
#, no-wrap
msgid "December 28, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2213
#, no-wrap
msgid "12-STABLE after improving handling of alternate settings in the USB stack."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2165
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2214
#, no-wrap
msgid "1202506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2215
#, no-wrap
msgid "gitref:d36cc12ddfe3335ec8306bd4b393f11069551fa0[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2218
#, no-wrap
msgid "12-STABLE after changing the internal KAPI between the krpc and NFS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2219
#, no-wrap
msgid "1202507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2220
#, no-wrap
msgid "gitref:1e279fe9deaea1c5e3503117dd3077dcffb1276d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2223
#, no-wrap
msgid "12-STABLE after changing the internal KAPI between the nscl.ko and nfscommon.ko modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2224
#, no-wrap
msgid "1202508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2225
#, no-wrap
msgid "gitref:489236b0474857b0a7a2df77c302290e12be9e7b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2228
#, no-wrap
msgid "12-STABLE after changing the internal KAPI between the krpc and nfsd modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2180
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2229
#, no-wrap
msgid "1203500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2230
#, no-wrap
msgid "gitref:f2900e784cb024e55ec0f5cd6834af5fadcb9f9a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2231
#, no-wrap
msgid "October 20, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2233
#, no-wrap
msgid "12-STABLE after branching releng/12.3."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2234
#, no-wrap
msgid "1203501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2186
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2235
#, no-wrap
msgid "gitref:b148c7b87148b653fdbef9c5aa591b9abcd99e26[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2187
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2241
#, no-wrap
msgid "December 22, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2239
#, no-wrap
msgid "1203502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2240
#, no-wrap
msgid "gitref:4772e4135cb3fe7f25531894f3b02f35ec086bda[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2194
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2243
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 11.0.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2244
#, no-wrap
msgid "1203503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2245
#, no-wrap
msgid "gitref:e405b2dc913c99189aa9b923ed686a790253cc7e[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2197
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2202
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2256
#, no-wrap
msgid "December 25, 2021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2248
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 12.0.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2249
#, no-wrap
msgid "1203504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2250
#, no-wrap
msgid "gitref:1a398266112e73f91a4f2e2701ceefd3f2948aac[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2204
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2253
#, no-wrap
msgid "12-STABLE after adding out-of-line LSE atomics helpers to [.filename]#libcompiler_rt.a# on aarch64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2254
#, no-wrap
msgid "1203505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2255
#, no-wrap
msgid "gitref:0b7be89b329e0f862c25f34abfb13c75a4d45f2a[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2209
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2258
#, no-wrap
msgid "12-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 13.0.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2210
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2259
#, no-wrap
msgid "1203506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2260
#, no-wrap
msgid "gitref:f591279d9c93bc2ea9cd1a447c2df11d437fbc7b[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2261
#, no-wrap
msgid "February 12, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2263
#, no-wrap
msgid "12-STABLE after restoring availability tradeoff of random(4)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2264
#, no-wrap
msgid "1203507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2265
#, no-wrap
msgid "gitref:180d95e04e938328de8f2a24d16fdb5049e15262[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2266
#, no-wrap
msgid "April 9, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2268
#, no-wrap
msgid "12-STABLE after zlib unification."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2269
+#, no-wrap
+msgid "1203508"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2270
+#, no-wrap
+msgid "gitref:6c717a28505d3e77a0c3780ca1f65eb85b538eb9[repository=\"src\",length=12]"
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2273
+#, no-wrap
+msgid "12-STABLE after iflib: Allow drivers to determine which queue to TX on."
+msgstr ""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2274
#, no-wrap
msgid "1204000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2275
#, no-wrap
msgid "gitref:fce871fe35204527a2ce08e43e1572ae9295cc00[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2222
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2281
#, no-wrap
msgid "October 20, 2022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2224
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2278
#, no-wrap
msgid "releng/12.4 branched from stable/12."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2225
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2279
#, no-wrap
msgid "1204500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2280
#, no-wrap
msgid "gitref:6a9031c5e2ba5435aa4ea08ee05c351d5bef035d[repository=\"src\",length=12]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2229
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2283
#, no-wrap
msgid "12-STABLE after branching releng/12.4."
msgstr ""
#. Template:
#. |12XXXXX
#. |gitref:XXXXXXXX[repository="src",length=12]
#. |October 30, 2021
#. |12-STABLE after XXXXXX.
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2295
#, no-wrap
msgid "FreeBSD 11 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2244
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2298
#, no-wrap
msgid "FreeBSD 11 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2307
#, no-wrap
msgid "1100000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2254
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2308
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/256284[256284]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2255
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2309
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3582
#, no-wrap
msgid "October 10, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2311
#, no-wrap
msgid "11.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2312
#, no-wrap
msgid "1100001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2259
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2313
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/256776[256776]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2260
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2314
#, no-wrap
msgid "October 19, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2316
#, no-wrap
msgid "11.0-CURRENT after addition of support for \"first boot\" [.filename]#rc.d# scripts, so ports can make use of this."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2317
#, no-wrap
msgid "1100002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2264
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2318
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/257696[257696]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2265
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2319
#, no-wrap
msgid "November 5, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2321
#, no-wrap
msgid "11.0-CURRENT after dropping support for historic ioctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2322
#, no-wrap
msgid "1100003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2269
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2323
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/258284[258284]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2270
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2324
#, no-wrap
msgid "November 17, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2326
#, no-wrap
msgid "11.0-CURRENT after iconv changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2327
#, no-wrap
msgid "1100004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2274
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2328
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259424[259424]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2275
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3553
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2329
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3607
#, no-wrap
msgid "December 15, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2331
#, no-wrap
msgid "11.0-CURRENT after the behavior change of `gss_pseudo_random` introduced in link:https://svnweb.freebsd.org/changeset/base/259286[259286]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2332
#, no-wrap
msgid "1100005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2279
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2333
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/260010[260010]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2280
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2334
#, no-wrap
msgid "December 28, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2336
#, no-wrap
msgid "11.0-CURRENT after link:https://svnweb.freebsd.org/changeset/base/259951[259951] - Do not coalesce entries in man:vm_map_stack[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2337
#, no-wrap
msgid "1100006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2284
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2338
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/261246[261246]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2339
#, no-wrap
msgid "January 28, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2341
#, no-wrap
msgid "11.0-CURRENT after upgrades of libelf and libdwarf."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2342
#, no-wrap
msgid "1100007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2289
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2343
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/261283[261283]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2290
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2344
#, no-wrap
msgid "January 30, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2346
#, no-wrap
msgid "11.0-CURRENT after upgrade of libc++ to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2347
#, no-wrap
msgid "1100008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2294
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2348
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/261881[261881]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2295
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2349
#, no-wrap
msgid "February 14, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2351
#, no-wrap
msgid "11.0-CURRENT after libc++ 3.4 ABI compatibility fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2352
#, no-wrap
msgid "1100009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2299
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2353
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/261991[261991]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2300
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2354
#, no-wrap
msgid "February 16, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2356
#, no-wrap
msgid "11.0-CURRENT after upgrade of llvm/clang to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2357
#, no-wrap
msgid "1100010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2304
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2358
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/262630[262630]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2305
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2359
#, no-wrap
msgid "February 28, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2361
#, no-wrap
msgid "11.0-CURRENT after upgrade of ncurses to 5.9 release (rev link:https://svnweb.freebsd.org/changeset/base/262629[262629])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2362
#, no-wrap
msgid "1100011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2309
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2363
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263102[263102]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2310
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2364
#, no-wrap
msgid "March 13, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2312
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2366
#, no-wrap
msgid "11.0-CURRENT after ABI change in struct `if_data`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2367
#, no-wrap
msgid "1100012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2314
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2368
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263140[263140]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2315
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2320
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2369
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2374
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4322
#, no-wrap
msgid "March 14, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2371
#, no-wrap
msgid "11.0-CURRENT after removal of Novell IPX protocol support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2372
#, no-wrap
msgid "1100013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2319
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2373
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263152[263152]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2322
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2376
#, no-wrap
msgid "11.0-CURRENT after removal of AppleTalk protocol support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2377
#, no-wrap
msgid "1100014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2324
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2378
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263235[263235]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2325
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2379
#, no-wrap
msgid "March 16, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2327
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2381
#, no-wrap
msgid "11.0-CURRENT after renaming [.filename]#<sys/capability.h># to [.filename]#<sys/capsicum.h># to avoid a clash with similarly named headers in other operating systems. A compatibility header is left in place to limit build breakage, but will be deprecated in due course."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2328
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2382
#, no-wrap
msgid "1100015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2329
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2383
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263620[263620]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2330
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2384
#, no-wrap
msgid "March 22, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2386
#, no-wrap
msgid "11.0-CURRENT after `cnt` rename to `vm_cnt`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2387
#, no-wrap
msgid "1100016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2334
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2388
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263660[263660]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2335
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2389
#, no-wrap
msgid "March 23, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2337
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2391
#, no-wrap
msgid "11.0-CURRENT after addition of `armv6hf TARGET_ARCH`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2392
#, no-wrap
msgid "1100017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2339
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2393
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/264121[264121]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2340
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2394
#, no-wrap
msgid "April 4, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2396
#, no-wrap
msgid "11.0-CURRENT after GCC support for `__block` definition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2397
#, no-wrap
msgid "1100018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2344
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2398
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/264212[264212]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2345
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2399
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3632
#, no-wrap
msgid "April 6, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2401
#, no-wrap
msgid "11.0-CURRENT after support for UDP-Lite protocol (RFC 3828)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2402
#, no-wrap
msgid "1100019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2349
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3582
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4336
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/264289[264289]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2350
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2404
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3637
#, no-wrap
msgid "April 8, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2406
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:06.openssl (rev link:https://svnweb.freebsd.org/changeset/base/264265[264265])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2407
#, no-wrap
msgid "1100020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2354
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2408
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/265215[265215]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2355
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2409
#, no-wrap
msgid "May 1, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2411
#, no-wrap
msgid "11.0-CURRENT after removing `lindev` in favor of having /dev/full by default (rev link:https://svnweb.freebsd.org/changeset/base/265212[265212])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2358
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2412
#, no-wrap
msgid "1100021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2359
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2413
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/266151[266151]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2360
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2414
#, no-wrap
msgid "May 6, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2416
#, no-wrap
msgid "11.0-CURRENT after [.filename]#src.opts.mk# changes, decoupling man:make.conf[5] from `buildworld` (rev link:https://svnweb.freebsd.org/changeset/base/265419[265419])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2363
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2417
#, no-wrap
msgid "1100022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2364
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2418
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/266904[266904]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2365
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2419
#, no-wrap
msgid "May 30, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2421
#, no-wrap
msgid "11.0-CURRENT after changes to man:strcasecmp[3], moving man:strcasecmp_l[3] and man:strncasecmp_l[3] from [.filename]#<string.h># to [.filename]#<strings.h># for POSIX 2008 compliance (rev link:https://svnweb.freebsd.org/changeset/base/266865[266865])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2422
#, no-wrap
msgid "1100023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2369
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2423
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/267440[267440]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2370
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2424
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3652
#, no-wrap
msgid "June 13, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2426
#, no-wrap
msgid "11.0-CURRENT after the CUSE library and kernel module have been attached to the build by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2427
#, no-wrap
msgid "1100024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2374
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2428
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/267992[267992]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2375
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2429
#, no-wrap
msgid "June 27, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2431
#, no-wrap
msgid "11.0-CURRENT after man:sysctl[3] API change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2432
#, no-wrap
msgid "1100025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2379
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2433
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268066[268066]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2380
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2434
#, no-wrap
msgid "June 30, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2436
#, no-wrap
msgid "11.0-CURRENT after man:regex[3] library update to add \">\" and \"<\" delimiters."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2383
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2437
#, no-wrap
msgid "1100026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2384
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2438
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268118[268118]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2439
#, no-wrap
msgid "July 1, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2441
#, no-wrap
msgid "11.0-CURRENT after the internal interface between the NFS modules, including the krpc, was changed by (rev link:https://svnweb.freebsd.org/changeset/base/268115[268115])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2442
#, no-wrap
msgid "1100027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2389
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2443
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268441[268441]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2390
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3603
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2444
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4357
#, no-wrap
msgid "July 8, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2446
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:17.kmem (rev link:https://svnweb.freebsd.org/changeset/base/268431[268431])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2447
#, no-wrap
msgid "1100028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2394
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2448
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268945[268945]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2395
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2449
#, no-wrap
msgid "July 21, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2451
#, no-wrap
msgid "11.0-CURRENT after man:hdestroy[3] compliance fix changed ABI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2452
#, no-wrap
msgid "1100029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2399
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2453
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/270173[270173]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2400
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3613
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2454
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3672
#, no-wrap
msgid "August 3, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2456
#, no-wrap
msgid "11.0-CURRENT after `SOCK_DGRAM` bug fix (rev link:https://svnweb.freebsd.org/changeset/base/269489[269489])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2457
#, no-wrap
msgid "1100030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2404
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2458
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/270929[270929]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2459
#, no-wrap
msgid "September 1, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2461
#, no-wrap
msgid "11.0-CURRENT after `SOCK_RAW` sockets were changed to not modify packets at all."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2462
#, no-wrap
msgid "1100031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2409
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3622
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4312
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5102
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2463
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5156
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271341[271341]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2410
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2420
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3623
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4313
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5103
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2464
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2474
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5157
#, no-wrap
msgid "September 9, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2466
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:18.openssl (rev link:https://svnweb.freebsd.org/changeset/base/269686[269686])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2467
#, no-wrap
msgid "1100032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2414
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2468
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271438[271438]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2415
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2469
#, no-wrap
msgid "September 11, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2471
#, no-wrap
msgid "11.0-CURRENT after API changes to `ifa_ifwithbroadaddr`, `ifa_ifwithdstaddr`, `ifa_ifwithnet`, and `ifa_ifwithroute`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2472
#, no-wrap
msgid "1100033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2419
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2473
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271657[271657]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2476
#, no-wrap
msgid "11.0-CURRENT after changing `access`, `eaccess`, and `faccessat` to validate the mode argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2477
#, no-wrap
msgid "1100034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2424
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3627
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4317
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2478
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5161
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271686[271686]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2425
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3628
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4318
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2479
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5162
#, no-wrap
msgid "September 16, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2427
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2481
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:19.tcp (rev link:https://svnweb.freebsd.org/changeset/base/271666[271666])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2482
#, no-wrap
msgid "1100035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2429
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2483
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271705[271705]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2430
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2435
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2484
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2489
#, no-wrap
msgid "September 17, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2486
#, no-wrap
msgid "11.0-CURRENT after i915 HW context support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2487
#, no-wrap
msgid "1100036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2434
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2488
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271724[271724]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2491
#, no-wrap
msgid "Version bump to have ABI note distinguish binaries ready for strict man:mmap[2] flags checking (rev link:https://svnweb.freebsd.org/changeset/base/271724[271724])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2492
#, no-wrap
msgid "1100037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2439
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2493
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/272674[272674]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2440
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2494
#, no-wrap
msgid "October 6, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2442
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2496
#, no-wrap
msgid "11.0-CURRENT after addition of man:explicit_bzero[3] (rev link:https://svnweb.freebsd.org/changeset/base/272673[272673])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2497
#, no-wrap
msgid "1100038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2444
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2498
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/272951[272951]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2499
#, no-wrap
msgid "October 11, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2447
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2501
#, no-wrap
msgid "11.0-CURRENT after cleanup of TCP wrapper headers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2502
#, no-wrap
msgid "1100039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2449
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2503
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/273250[273250]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2504
#, no-wrap
msgid "October 18, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2506
#, no-wrap
msgid "11.0-CURRENT after removal of `MAP_RENAME` and `MAP_NORESERVE`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2453
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2507
#, no-wrap
msgid "1100040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2454
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3647
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4322
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3701
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5166
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/273432[273432]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2455
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3648
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4323
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2509
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5167
#, no-wrap
msgid "October 21, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2511
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:23 (rev link:https://svnweb.freebsd.org/changeset/base/273146[273146])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2512
#, no-wrap
msgid "1100041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2459
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2513
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/273875[273875]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2460
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2514
#, no-wrap
msgid "October 30, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2516
#, no-wrap
msgid "11.0-CURRENT after API changes to `syscall_register`, `syscall32_register`, `syscall_register_helper` and `syscall32_register_helper` (rev link:https://svnweb.freebsd.org/changeset/base/273707[273707])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2463
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2517
#, no-wrap
msgid "1100042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2464
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2518
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274046[274046]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2465
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2519
#, no-wrap
msgid "November 3, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2467
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2521
#, no-wrap
msgid "11.0-CURRENT after a change to `struct tcpcb`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2468
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2522
#, no-wrap
msgid "1100043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2469
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2523
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274085[274085]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2470
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2475
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2480
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3653
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4328
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2524
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2529
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2534
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5172
#, no-wrap
msgid "November 4, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2526
#, no-wrap
msgid "11.0-CURRENT after enabling man:vt[4] by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2527
#, no-wrap
msgid "1100044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2474
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2528
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274116[274116]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2531
#, no-wrap
msgid "11.0-CURRENT after adding new libraries/utilities (`dpv` and `figpar`) for data throughput visualization."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2478
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2532
#, no-wrap
msgid "1100045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2479
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3652
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4327
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5171
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274162[274162]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2536
#, no-wrap
msgid "11.0-CURRENT after FreeBSD-SA-14:23, FreeBSD-SA-14:24, and FreeBSD-SA-14:25."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2537
#, no-wrap
msgid "1100046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2484
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2538
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274470[274470]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2485
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2490
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2539
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2544
#, no-wrap
msgid "November 13, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2541
#, no-wrap
msgid "11.0-CURRENT after `kern_poll` signature change (rev link:https://svnweb.freebsd.org/changeset/base/274462[274462])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2488
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2542
#, no-wrap
msgid "1100047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2489
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2543
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/274476[274476]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2546
#, no-wrap
msgid "11.0-CURRENT after removal of no-at version of VFS syscalls helpers, like `kern_open`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2547
#, no-wrap
msgid "1100048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2494
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2548
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/275358[275358]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2549
#, no-wrap
msgid "December 1, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2551
#, no-wrap
msgid "11.0-CURRENT after starting the process of removing the use of the deprecated \"M_FLOWID\" flag from the network code."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2552
#, no-wrap
msgid "1100049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2499
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2553
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/275633[275633]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2500
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2554
#, no-wrap
msgid "December 9, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2556
#, no-wrap
msgid "11.0-CURRENT after importing an important fix to the LLVM vectorizer, which could lead to buffer overruns in some cases."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2557
#, no-wrap
msgid "1100050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2504
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2558
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/275732[275732]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2505
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2559
#, no-wrap
msgid "December 12, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2561
#, no-wrap
msgid "11.0-CURRENT after adding AES-ICM and AES-GCM to OpenCrypto."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2562
#, no-wrap
msgid "1100051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2509
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2563
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/276096[276096]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2510
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2564
#, no-wrap
msgid "December 23, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2566
#, no-wrap
msgid "11.0-CURRENT after removing old NFS client and server code from the kernel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2513
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2567
#, no-wrap
msgid "1100052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2514
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2568
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/276479[276479]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2515
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2569
#, no-wrap
msgid "December 31, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2571
#, no-wrap
msgid "11.0-CURRENT after upgrade of clang, llvm and lldb to 3.5.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2572
#, no-wrap
msgid "1100053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2519
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2573
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/276781[276781]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2574
#, no-wrap
msgid "January 7, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2576
#, no-wrap
msgid "11.0-CURRENT after man:MCLGET[9] gained a return value (rev link:https://svnweb.freebsd.org/changeset/base/276750[276750])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2577
#, no-wrap
msgid "1100054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2524
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2578
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277213[277213]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2525
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2579
#, no-wrap
msgid "January 15, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2581
#, no-wrap
msgid "11.0-CURRENT after rewrite of callout subsystem."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2582
#, no-wrap
msgid "1100055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2529
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2583
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277528[277528]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2530
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2584
#, no-wrap
msgid "January 22, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2586
#, no-wrap
msgid "11.0-CURRENT after reverting callout changes in link:https://svnweb.freebsd.org/changeset/base/277213[277213]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2587
#, no-wrap
msgid "1100056"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2534
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2588
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277610[277610]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2535
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2589
#, no-wrap
msgid "January 23, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2591
#, no-wrap
msgid "11.0-CURRENT after addition of `futimens` and `utimensat` system calls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2538
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2592
#, no-wrap
msgid "1100057"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2539
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2593
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277897[277897]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2540
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2594
#, no-wrap
msgid "January 29, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2596
#, no-wrap
msgid "11.0-CURRENT after removal of `d_thread_t`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2543
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2597
#, no-wrap
msgid "1100058"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2544
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2598
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/278228[278228]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2545
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2599
#, no-wrap
msgid "February 5, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2601
#, no-wrap
msgid "11.0-CURRENT after addition of support for probing the SCSI VPD Extended Inquiry page (0x86)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2602
#, no-wrap
msgid "1100059"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2549
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2603
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/278442[278442]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2550
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2604
#, no-wrap
msgid "February 9, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2606
#, no-wrap
msgid "11.0-CURRENT after import of xz 5.2.0, which added multi-threaded compression and lzma gained libthr dependency (rev link:https://svnweb.freebsd.org/changeset/base/278433[278433])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2553
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2607
#, no-wrap
msgid "1100060"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2554
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2608
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/278846[278846]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2555
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2609
#, no-wrap
msgid "February 16, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2611
#, no-wrap
msgid "11.0-CURRENT after forwarding `FBIO_BLANK` to framebuffer clients."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2558
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2612
#, no-wrap
msgid "1100061"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2559
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2613
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/278964[278964]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2560
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3683
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2614
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3737
#, no-wrap
msgid "February 18, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2616
#, no-wrap
msgid "11.0-CURRENT after `CDAI_FLAG_NONE` addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2563
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2617
#, no-wrap
msgid "1100062"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2564
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2618
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/279221[279221]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2565
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2619
#, no-wrap
msgid "February 23, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2621
#, no-wrap
msgid "11.0-CURRENT after man:mtio[4] and man:sa[4] API and man:ioctl[2] additions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2622
#, no-wrap
msgid "1100063"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2569
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2623
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/279728[279728]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2570
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2575
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2629
#, no-wrap
msgid "March 7, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2626
#, no-wrap
msgid "11.0-CURRENT after adding mutex support to the `pps_ioctl()` API in the kernel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2573
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2627
#, no-wrap
msgid "1100064"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2574
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2628
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/279729[279729]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2631
#, no-wrap
msgid "11.0-CURRENT after adding PPS support to USB serial drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2632
#, no-wrap
msgid "1100065"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2579
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2633
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/280031[280031]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2580
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2634
#, no-wrap
msgid "March 15, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2582
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2636
#, no-wrap
msgid "11.0-CURRENT after upgrading clang, llvm and lldb to 3.6.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2637
#, no-wrap
msgid "1100066"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2584
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2638
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/280306[280306]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2585
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2639
#, no-wrap
msgid "March 20, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2641
#, no-wrap
msgid "11.0-CURRENT after removal of SSLv2 support from OpenSSL."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2588
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2642
#, no-wrap
msgid "1100067"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2589
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2643
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/280630[280630]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2590
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2644
#, no-wrap
msgid "March 25, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2646
#, no-wrap
msgid "11.0-CURRENT after removal of SSLv2 support from man:fetch[1] and man:fetch[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2647
#, no-wrap
msgid "1100068"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2594
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2648
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/281172[281172]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2595
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2649
#, no-wrap
msgid "April 6, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2651
#, no-wrap
msgid "11.0-CURRENT after change to net.inet6.ip6.mif6table sysctl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2652
#, no-wrap
msgid "1100069"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2599
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2653
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/281550[281550]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2600
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2654
#, no-wrap
msgid "April 15, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2656
#, no-wrap
msgid "11.0-CURRENT after removal of const qualifier from man:iconv[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2603
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2657
#, no-wrap
msgid "1100070"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2604
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2658
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/281613[281613]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2659
#, no-wrap
msgid "April 16, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2661
#, no-wrap
msgid "11.0-CURRENT after moving ALTQ from [.filename]#contrib# to [.filename]#net/altq#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2608
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2662
#, no-wrap
msgid "1100071"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2609
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2663
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/282256[282256]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2610
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2664
#, no-wrap
msgid "April 29, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2666
#, no-wrap
msgid "11.0-CURRENT after API/ABI change to man:smb[4] (rev link:https://svnweb.freebsd.org/changeset/base/281985[281985])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2613
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2667
#, no-wrap
msgid "1100072"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2614
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2668
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/282319[282319]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2615
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2669
#, no-wrap
msgid "May 1, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2671
#, no-wrap
msgid "11.0-CURRENT after adding man:reallocarray[3] in libc (rev link:https://svnweb.freebsd.org/changeset/base/282314[282314])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2672
#, no-wrap
msgid "1100073"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2619
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2673
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/282650[282650]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2674
#, no-wrap
msgid "May 8, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2622
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2676
#, no-wrap
msgid "11.0-CURRENT after extending the maximum number of allowed PCM channels in a PCM stream to 127 and decreasing the maximum number of sub-channels to 1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2623
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2677
#, no-wrap
msgid "1100074"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2678
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/283526[283526]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2679
#, no-wrap
msgid "May 25, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2681
#, no-wrap
msgid "11.0-CURRENT after adding preliminary support for x86-64 Linux binaries (rev link:https://svnweb.freebsd.org/changeset/base/283424[283424]), and upgrading clang and llvm to 3.6.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2628
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2682
#, no-wrap
msgid "1100075"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2629
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2683
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/283623[283623]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2684
#, no-wrap
msgid "May 27, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2686
#, no-wrap
msgid "11.0-CURRENT after `dounmount()` requiring a reference on the passed struct mount (rev link:https://svnweb.freebsd.org/changeset/base/283602[283602])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2633
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2687
#, no-wrap
msgid "1100076"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2634
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2688
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/283983[283983]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2689
#, no-wrap
msgid "June 4, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2637
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2691
#, no-wrap
msgid "11.0-CURRENT after disabled generation of legacy formatted password databases entries by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2638
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2692
#, no-wrap
msgid "1100077"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2639
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2693
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/284233[284233]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2640
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3735
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3789
#, no-wrap
msgid "June 10, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2696
#, no-wrap
msgid "11.0-CURRENT after API changes to `lim_cur`, `lim_max`, and `lim_rlimit` (rev link:https://svnweb.freebsd.org/changeset/base/284215[284215])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2643
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2697
#, no-wrap
msgid "1100078"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2644
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2698
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/286672[286672]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2645
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2914
#, no-wrap
msgid "August 12, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2647
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2701
#, no-wrap
msgid "11.0-CURRENT after man:crunchgen[1] changes from link:https://svnweb.freebsd.org/changeset/base/284356[284356] to link:https://svnweb.freebsd.org/changeset/base/285986[285986]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2648
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2702
#, no-wrap
msgid "1100079"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2649
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2703
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/286874[286874]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2704
#, no-wrap
msgid "August 18, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2706
#, no-wrap
msgid "11.0-CURRENT after import of jemalloc 4.0.0 (rev link:https://svnweb.freebsd.org/changeset/base/286866[286866])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2707
#, no-wrap
msgid "1100080"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2654
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2708
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/288943[288943]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2709
#, no-wrap
msgid "October 5, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2711
#, no-wrap
msgid "11.0-CURRENT after upgrading clang, llvm, lldb, compiler-rt and libc++ to 3.7.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2658
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2712
#, no-wrap
msgid "1100081"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2659
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2713
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/289415[289415]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2714
#, no-wrap
msgid "October 16, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2662
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2716
#, no-wrap
msgid "11.0-CURRENT after `undating` ZFS to support resumable send/receive (rev link:https://svnweb.freebsd.org/changeset/base/289362[289362])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2663
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2717
#, no-wrap
msgid "1100082"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2718
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/289594[289594]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2719
#, no-wrap
msgid "October 19, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2721
#, no-wrap
msgid "11.0-CURRENT after Linux KPI updates."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2668
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2722
#, no-wrap
msgid "1100083"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2723
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/289749[289749]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2724
#, no-wrap
msgid "October 22, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2726
#, no-wrap
msgid "11.0-CURRENT after renaming [.filename]#linuxapi.ko# to [.filename]#linuxkpi.ko#."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2727
#, no-wrap
msgid "1100084"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2674
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2728
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290135[290135]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2729
#, no-wrap
msgid "October 29, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2731
#, no-wrap
msgid "11.0-CURRENT after moving the LinuxKPI module into the default kernel build."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2678
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2732
#, no-wrap
msgid "1100085"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2679
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2733
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290207[290207]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2734
#, no-wrap
msgid "October 30, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2736
#, no-wrap
msgid "11.0-CURRENT after import of OpenSSL 1.0.2d."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2683
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2737
#, no-wrap
msgid "1100086"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2684
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2738
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290275[290275]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2739
#, no-wrap
msgid "November 2, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2687
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2741
#, no-wrap
msgid "11.0-CURRENT after making man:figpar[3] macros more unique."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2688
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2742
#, no-wrap
msgid "1100087"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2689
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2743
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290479[290479]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2690
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2695
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2754
#, no-wrap
msgid "November 7, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2746
#, no-wrap
msgid "11.0-CURRENT after changing man:sysctl_add_oid[9]'s ABI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2693
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2747
#, no-wrap
msgid "1100088"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2748
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290495[290495]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2751
#, no-wrap
msgid "11.0-CURRENT after string collation and locales rework."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2698
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2752
#, no-wrap
msgid "1100089"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2753
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290505[290505]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2756
#, no-wrap
msgid "11.0-CURRENT after API change to man:sysctl_add_oid[9] (rev link:https://svnweb.freebsd.org/changeset/base/290475[290475])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2703
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2757
#, no-wrap
msgid "1100090"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2704
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2758
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/290715[290715]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2759
#, no-wrap
msgid "November 10, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2761
#, no-wrap
msgid "11.0-CURRENT after API change to callout_stop macro; (rev link:https://svnweb.freebsd.org/changeset/base/290664[290664])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2708
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2762
#, no-wrap
msgid "1100091"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2763
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/291537[291537]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2764
#, no-wrap
msgid "November 30, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2766
#, no-wrap
msgid "11.0-CURRENT after changing the interface between the [.filename]#nfsd.ko# and [.filename]#nfscommon.ko# modules in link:https://svnweb.freebsd.org/changeset/base/291527[291527]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2713
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2767
#, no-wrap
msgid "1100092"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2768
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/292499[292499]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2769
#, no-wrap
msgid "December 19, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2771
#, no-wrap
msgid "11.0-CURRENT after removal of `vm_pageout_grow_cache` (rev link:https://svnweb.freebsd.org/changeset/base/292469[292469])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2718
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2772
#, no-wrap
msgid "1100093"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2773
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/292966[292966]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2720
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3829
#, no-wrap
msgid "December 30, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2776
#, no-wrap
msgid "11.0-CURRENT after removal of sys/crypto/sha2.h (rev link:https://svnweb.freebsd.org/changeset/base/292782[292782])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2723
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2777
#, no-wrap
msgid "1100094"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2724
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2778
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/294086[294086]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2779
#, no-wrap
msgid "January 15, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2781
#, no-wrap
msgid "11.0-CURRENT after LinuxKPI PCI changes (rev link:https://svnweb.freebsd.org/changeset/base/294086[294086])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2728
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2782
#, no-wrap
msgid "1100095"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2783
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/294327[294327]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2784
#, no-wrap
msgid "January 19, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2786
#, no-wrap
msgid "11.0-CURRENT after LRO optimizations."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2733
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2787
#, no-wrap
msgid "1100096"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2788
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/294505[294505]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2735
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2789
#, no-wrap
msgid "January 21, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2791
#, no-wrap
msgid "11.0-CURRENT after LinuxKPI idr_* additions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2738
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2792
#, no-wrap
msgid "1100097"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2793
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/294860[294860]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2794
#, no-wrap
msgid "January 26, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2796
#, no-wrap
msgid "11.0-CURRENT after API change to man:dpv[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2797
#, no-wrap
msgid "1100098"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2798
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/295682[295682]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2745
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2799
#, no-wrap
msgid "February 16, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2801
#, no-wrap
msgid "11.0-CURRENT after API change to `rman` (rev link:https://svnweb.freebsd.org/changeset/base/294883[294883])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2748
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2802
#, no-wrap
msgid "1100099"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2803
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/295739[295739]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2804
#, no-wrap
msgid "February 18, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2752
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2806
#, no-wrap
msgid "11.0-CURRENT after allowing drivers to set the TCP ACK/data segment aggregation limit."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2753
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2807
#, no-wrap
msgid "1100100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2808
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296136[296136]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2809
#, no-wrap
msgid "February 26, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2811
#, no-wrap
msgid "11.0-CURRENT after man:bus_alloc_resource_any[9] API addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2758
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2812
#, no-wrap
msgid "1100101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2813
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296417[296417]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2814
#, no-wrap
msgid "March 5, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2816
#, no-wrap
msgid "11.0-CURRENT after upgrading copies of clang, llvm, lldb and compiler-rt to 3.8.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2763
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2817
#, no-wrap
msgid "1100102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2818
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296749[296749]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2819
#, no-wrap
msgid "March 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2821
#, no-wrap
msgid "11.0-CURRENT after libelf cross-endian fix in rev link:https://svnweb.freebsd.org/changeset/base/296685[296685]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2768
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2822
#, no-wrap
msgid "1100103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2823
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/297000[297000]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2824
#, no-wrap
msgid "March 18, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2826
#, no-wrap
msgid "11.0-CURRENT after using `uintmax_t` for `rman` ranges."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2773
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2827
#, no-wrap
msgid "1100104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2828
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/297156[297156]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2829
#, no-wrap
msgid "March 21, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2831
#, no-wrap
msgid "11.0-CURRENT after tracking `filemon` usage via a proc.p_filemon pointer rather than its own lists."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2778
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2832
#, no-wrap
msgid "1100105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2779
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2833
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/297602[297602]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2780
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2834
#, no-wrap
msgid "April 6, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2836
#, no-wrap
msgid "11.0-CURRENT after fixing sed functions `i` and `a` from discarding leading space."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2837
#, no-wrap
msgid "1100106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2838
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/298486[298486]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2785
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2839
#, no-wrap
msgid "April 22, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2787
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2841
#, no-wrap
msgid "11.0-CURRENT after fixes for using IPv6 addresses with RDMA."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2842
#, no-wrap
msgid "1100107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2843
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/299090[299090]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2844
#, no-wrap
msgid "May 4, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2846
#, no-wrap
msgid "11.0-CURRENT after improving performance and functionality of the man:bitstring[3] API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2793
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2847
#, no-wrap
msgid "1100108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2794
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2848
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/299530[299530]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2849
#, no-wrap
msgid "May 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2851
#, no-wrap
msgid "11.0-CURRENT after fixing handling of IOCTLs in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2798
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2852
#, no-wrap
msgid "1100109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2853
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/299933[299933]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2800
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2854
#, no-wrap
msgid "May 16, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2856
#, no-wrap
msgid "11.0-CURRENT after implementing more Linux device related functions in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2803
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2857
#, no-wrap
msgid "1100110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2858
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300207[300207]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2805
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4350
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4404
#, no-wrap
msgid "May 19, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2861
#, no-wrap
msgid "11.0-CURRENT after adding support for managing Shingled Magnetic Recording (SMR) drives."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2808
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2862
#, no-wrap
msgid "1100111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2863
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300303[300303]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2810
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2864
#, no-wrap
msgid "May 20, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2866
#, no-wrap
msgid "11.0-CURRENT after removing `brk` and `sbrk` from arm64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2813
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2867
#, no-wrap
msgid "1100112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2814
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2868
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300539[300539]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2815
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2869
#, no-wrap
msgid "May 23, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2871
#, no-wrap
msgid "11.0-CURRENT after adding `bit_count` to the man:bitstring[3] API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2818
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2872
#, no-wrap
msgid "1100113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2873
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300701[300701]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2820
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2879
#, no-wrap
msgid "May 26, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2876
#, no-wrap
msgid "11.0-CURRENT after disabling alignment faults on armv6."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2823
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2877
#, no-wrap
msgid "1100114"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2878
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300806[300806]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2881
#, no-wrap
msgid "11.0-CURRENT after fixing man:crunchgen[1] usage with `MAKEOBJDIRPREFIX`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2828
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2882
#, no-wrap
msgid "1100115"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2883
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300982[300982]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2884
#, no-wrap
msgid "May 30, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2886
#, no-wrap
msgid "11.0-CURRENT after adding an mbuf flag for `M_HASHTYPE_`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2833
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2887
#, no-wrap
msgid "1100116"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2888
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/301011[301011]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2889
#, no-wrap
msgid "May 31, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2837
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2891
#, no-wrap
msgid "11.0-CURRENT after SHA-512t256 (rev link:https://svnweb.freebsd.org/changeset/base/300903[300903]) and Skein (rev link:https://svnweb.freebsd.org/changeset/base/300966[300966]) where added to libmd, libcrypt, the kernel, and ZFS (rev link:https://svnweb.freebsd.org/changeset/base/301010[301010])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2838
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2892
#, no-wrap
msgid "1100117"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2893
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/301892[301892]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2894
#, no-wrap
msgid "June 6, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2896
#, no-wrap
msgid "11.0-CURRENT after libpam was synced with stock link:https://svnweb.freebsd.org/changeset/base/301602[301602], bumping library version."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2843
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2897
#, no-wrap
msgid "1100118"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2898
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302071[302071]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2845
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3879
#, no-wrap
msgid "June 21, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2901
#, no-wrap
msgid "11.0-CURRENT after breaking binary compatibility of struct disk link:https://svnweb.freebsd.org/changeset/base/302069[302069]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2848
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2902
#, no-wrap
msgid "1100119"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2903
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302150[302150]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2850
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2909
#, no-wrap
msgid "June 23, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2852
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2906
#, no-wrap
msgid "11.0-CURRENT after switching `geom_disk` to using a pool mutex."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2907
#, no-wrap
msgid "1100120"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2908
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302153[302153]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2911
#, no-wrap
msgid "11.0-CURRENT after adding spares to struct ifnet."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2858
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2912
#, no-wrap
msgid "1100121"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2859
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2913
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2918
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/303979[303979]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2916
#, no-wrap
msgid "11-STABLE after `releng/11.0` branched from 11-STABLE (rev link:https://svnweb.freebsd.org/changeset/base/303975[303975])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2863
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2917
#, no-wrap
msgid "1100500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2919
#, no-wrap
msgid "August 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2921
#, no-wrap
msgid "11.0-STABLE adding branched link:https://svnweb.freebsd.org/changeset/base/303976[303976]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2868
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2922
#, no-wrap
msgid "1100501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2923
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304609[304609]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2926
#, no-wrap
msgid "11.0-STABLE after adding C++11 `thread_local` support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2873
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2927
#, no-wrap
msgid "1100502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2928
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304865[304865]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2875
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3894
#, no-wrap
msgid "August 26, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2931
#, no-wrap
msgid "11.0-STABLE after `LC_*_MASK` fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2932
#, no-wrap
msgid "1100503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2933
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305733[305733]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2880
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3845
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4355
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5130
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4409
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5184
#, no-wrap
msgid "September 12, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2936
#, no-wrap
msgid "11.0-STABLE after resolving a deadlock between `device_detach()` and man:usbd_do_request_flags[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2883
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2937
#, no-wrap
msgid "1100504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2938
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/307330[307330]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2885
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3850
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3904
#, no-wrap
msgid "October 14, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2941
#, no-wrap
msgid "11.0-STABLE after ZFS merges."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2888
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2942
#, no-wrap
msgid "1100505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2889
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2943
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/307590[307590]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2890
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2944
#, no-wrap
msgid "October 19, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2946
#, no-wrap
msgid "11.0-STABLE after `struct fb_info` change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2947
#, no-wrap
msgid "1100506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2948
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/308048[308048]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2895
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2949
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3909
#, no-wrap
msgid "October 28, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2951
#, no-wrap
msgid "11.0-STABLE after installing header files required development with `libzfs_core`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2898
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2952
#, no-wrap
msgid "1100507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2953
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/310120[310120]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2900
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3914
#, no-wrap
msgid "December 15, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2956
#, no-wrap
msgid "11.0-STABLE after adding the `ki_moretdname` member to `struct kinfo_proc` and `struct kinfo_proc32` to export the whole thread name to user-space utilities."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2957
#, no-wrap
msgid "1100508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2958
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/310618[310618]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2959
#, no-wrap
msgid "December 26, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2961
#, no-wrap
msgid "11.0-STABLE after upgrading copies of clang, llvm, lldb, compiler-rt and libc++ to 3.9.1 release, and adding lld 3.9.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2908
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2962
#, no-wrap
msgid "1100509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2909
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2963
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/311186[311186]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2964
#, no-wrap
msgid "January 3, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2912
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2966
#, no-wrap
msgid "11.0-STABLE after man:crunchgen[1] META_MODE fix (rev link:https://svnweb.freebsd.org/changeset/base/311185[311185])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2913
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2967
#, no-wrap
msgid "1100510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2968
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/315312[315312]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2969
#, no-wrap
msgid "March 15, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2971
#, no-wrap
msgid "11.0-STABLE after MFC of `fget_cap`, `getsock_cap`, and related changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2918
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2972
#, no-wrap
msgid "1100511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2919
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2973
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/316423[316423]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2920
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2974
#, no-wrap
msgid "April 2, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2922
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2976
#, no-wrap
msgid "11.0-STABLE after multiple MFCs updating clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2923
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2977
#, no-wrap
msgid "1100512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2978
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/316498[316498]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2925
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3870
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3924
#, no-wrap
msgid "April 4, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2981
#, no-wrap
msgid "11.0-STABLE after making CAM SIM lock optional (revs link:https://svnweb.freebsd.org/changeset/base/315673[315673], link:https://svnweb.freebsd.org/changeset/base/315674[315674])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2982
#, no-wrap
msgid "1100513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2983
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/318197[318197]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2930
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2984
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3929
#, no-wrap
msgid "May 11, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2932
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2986
#, no-wrap
msgid "11.0-STABLE after merging the addition of the [.filename]#<dev/mmc/mmc_ioctl.h># header."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2933
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2987
#, no-wrap
msgid "1100514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2988
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/319279[319279]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2989
#, no-wrap
msgid "May 31, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2937
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2991
#, no-wrap
msgid "11.0-STABLE after multiple MFCs of `libpcap`, `WITHOUT_INET6`, and a few other minor changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2938
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2992
#, no-wrap
msgid "1101000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2993
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320486[320486]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2940
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2945
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2994
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3004
#, no-wrap
msgid "June 30, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2996
#, no-wrap
msgid "`releng/11.1` branched from `stable/11`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2943
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2997
#, no-wrap
msgid "1101001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2998
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320763[320763]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2947
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3001
#, no-wrap
msgid "11.1-RC1 After merging the `MAP_GUARD` man:mmap[2] flag addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3002
#, no-wrap
msgid "1101500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2949
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3003
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320487[320487]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3006
#, no-wrap
msgid "11-STABLE after `releng/11.1` branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2953
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3007
#, no-wrap
msgid "1101501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3008
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/320666[320666]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3009
#, no-wrap
msgid "July 5, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3011
#, no-wrap
msgid "11-STABLE after merging the `MAP_GUARD` man:mmap[2] flag addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2958
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3012
#, no-wrap
msgid "1101502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3016
#, no-wrap
msgid "11-STABLE after merging the NFS client forced dismount support `umount -N` addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3017
#, no-wrap
msgid "1101503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2964
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3018
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323431[323431]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2965
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3019
#, no-wrap
msgid "September 11, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2967
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3021
#, no-wrap
msgid "11-STABLE after merging changes making the WRFSBASE instruction operational on amd64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2968
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3022
#, no-wrap
msgid "1101504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2969
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3023
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324006[324006]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2972
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3026
#, no-wrap
msgid "11-STABLE after merging libm from head, which adds man:cacoshl[3], man:cacosl[3], man:casinhl[3], man:casinl[3], man:catanl[3], man:catanhl[3], man:sincos[3], man:sincosf[3], and man:sincosl[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2973
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3027
#, no-wrap
msgid "1101505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2974
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3028
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/324023[324023]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3031
#, no-wrap
msgid "11-STABLE after merging clang, llvm, lld, lldb, compiler-rt and libc++ 5.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2978
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3032
#, no-wrap
msgid "1101506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3033
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/325003[325003]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3034
#, no-wrap
msgid "October 25, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3036
#, no-wrap
msgid "11-STABLE after merging link:https://svnweb.freebsd.org/changeset/base/324281[324281], adding the `value.u16` field to `struct diocgattr_arg`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3037
#, no-wrap
msgid "1101507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2984
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3953
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/328379[328379]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2985
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2990
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3900
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3039
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3954
#, no-wrap
msgid "January 24, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3041
#, no-wrap
msgid "11-STABLE after merging link:https://svnweb.freebsd.org/changeset/base/325028[325028], fixing `ptrace()` to always clear the correct thread event when resuming."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2988
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3042
#, no-wrap
msgid "1101508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2989
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3043
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/328386[328386]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3046
#, no-wrap
msgid "11-STABLE after merging link:https://svnweb.freebsd.org/changeset/base/316648[316648], renaming `smp_no_rendevous_barrier()` to `smp_no_rendezvous_barrier()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2993
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3047
#, no-wrap
msgid "1101509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2994
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3048
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/328653[328653]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3049
#, no-wrap
msgid "February 1, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3051
#, no-wrap
msgid "11-STABLE after an overwrite merge backport of the LinuxKPI from FreeBSD-head."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2998
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3052
#, no-wrap
msgid "1101510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3053
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/329450[329450]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3000
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3054
#, no-wrap
msgid "February 17, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3056
#, no-wrap
msgid "11-STABLE after the `cmpxchg()` macro is now fully functional in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3057
#, no-wrap
msgid "1101511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3004
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3058
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/329981[329981]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3005
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3059
#, no-wrap
msgid "February 25, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3061
#, no-wrap
msgid "11-STABLE after concluding the recent LinuxKPI related updates."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3062
#, no-wrap
msgid "1101512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3009
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3063
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/331219[331219]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3010
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3064
#, no-wrap
msgid "March 19, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3066
#, no-wrap
msgid "11-STABLE after merging `retpoline` support from the upstream llvm, clang and lld 5.0 branches."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3067
#, no-wrap
msgid "1101513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3014
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3068
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/331838[331838]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3015
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3069
#, no-wrap
msgid "March 31, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3071
#, no-wrap
msgid "11-STABLE after merging clang, llvm, lld, lldb, compiler-rt and libc++ 6.0.0 release, and several follow-up fixes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3072
#, no-wrap
msgid "1101514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3019
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3073
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/332089[332089]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3020
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3074
#, no-wrap
msgid "April 5, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3076
#, no-wrap
msgid "11-STABLE after merging link:https://svnweb.freebsd.org/changeset/base/328331[328331], adding a new and incompatible interpretation of `${name}_limits` in rc scripts."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3077
#, no-wrap
msgid "1101515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3024
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3078
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/332363[332363]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3079
#, no-wrap
msgid "April 10, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3081
#, no-wrap
msgid "11-STABLE after reverting link:https://svnweb.freebsd.org/changeset/base/331880[331880], removing the new and incompatible interpretation of `${name}_limits` in rc scripts."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3082
#, no-wrap
msgid "1101516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3083
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334392[334392]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3030
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3084
#, no-wrap
msgid "May 30, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3086
#, no-wrap
msgid "11-STABLE after man:dwatch[1] touch-ups."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3087
#, no-wrap
msgid "1102000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3034
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3088
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334459[334459]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3091
#, no-wrap
msgid "`releng/11.2` branched from `stable/11`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3092
#, no-wrap
msgid "1102500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3039
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3093
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/334461[334461]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3096
#, no-wrap
msgid "11-STABLE after releng/11.2 branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3097
#, no-wrap
msgid "1102501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3098
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/335436[335436]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3099
#, no-wrap
msgid "June 20, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3101
#, no-wrap
msgid "11-STABLE after LinuxKPI updates requiring recompilation of external kernel modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3102
#, no-wrap
msgid "1102502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3049
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3103
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338617[338617]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3104
#, no-wrap
msgid "September 12, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3106
#, no-wrap
msgid "11-STABLE after adding a socket option SO_TS_CLOCK and fixing `recvmsg32()` system call to properly down-convert layout of the 64-bit structures to match what 32-bit app(s) expect."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3107
#, no-wrap
msgid "1102503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3054
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3108
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/338931[338931]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3055
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3109
#, no-wrap
msgid "September 25, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3111
#, no-wrap
msgid "11-STABLE after merging a TCP checksum fix to man:iflib[9] and adding new media types to if_media.h"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3112
#, no-wrap
msgid "1102504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3059
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3113
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/340309[340309]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3060
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3114
#, no-wrap
msgid "November 9, 2018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3116
#, no-wrap
msgid "11-STABLE after several MFCs: updating man:objcopy[1] to properly handle little-endian MIPS64 object; correcting mips64el test to use ELF header; adding test for 64-bit ELF in _libelf_is_mips64el."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3117
#, no-wrap
msgid "1102505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3064
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3118
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/342804[342804]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3121
#, no-wrap
msgid "11-STABLE after merge of fixing `linux_destroy_dev()` behaviour when there are still files open from the destroying cdev."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3122
#, no-wrap
msgid "1102506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3069
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3123
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/344220[344220]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3124
#, no-wrap
msgid "February 17, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3126
#, no-wrap
msgid "11-STABLE after merging multiple commits to lualoader."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3127
#, no-wrap
msgid "1102507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3074
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3128
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/346296[346296]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3131
#, no-wrap
msgid "11-STABLE after merging llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 8.0.0 final release r356365."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3132
#, no-wrap
msgid "1102508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3136
#, no-wrap
msgid "11-STABLE after `ether_gen_addr` availability."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3083
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3137
#, no-wrap
msgid "1102509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3084
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3138
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347212[347212]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3141
#, no-wrap
msgid "11-STABLE after MFC of link:https://svnweb.freebsd.org/changeset/base/345303[345303], link:https://svnweb.freebsd.org/changeset/base/345658,[345658,] and partially of link:https://svnweb.freebsd.org/changeset/base/345305[345305]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3088
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3142
#, no-wrap
msgid "1102510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3089
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3143
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/347883[347883]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3092
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3146
#, no-wrap
msgid "11-STABLE after bumping the Mellanox driver version numbers (man:mlx4en[4]; man:mlx5en[4])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3147
#, no-wrap
msgid "1103000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3094
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3148
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349026[349026]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3095
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3154
#, no-wrap
msgid "June 14, 2019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3151
#, no-wrap
msgid "`releng/11.3` branched from `stable/11`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3152
#, no-wrap
msgid "1103500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3099
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3153
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/349027[349027]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3102
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3156
#, no-wrap
msgid "11-STABLE after releng/11.3 branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3103
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3157
#, no-wrap
msgid "1103501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3161
#, no-wrap
msgid "11-STABLE after fixing a potential OOB read security issue in libc++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3162
#, no-wrap
msgid "1103502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3109
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3163
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354614[354614]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3166
#, no-wrap
msgid "11-STABLE after adding sysfs create/remove functions that handles multiple files in one call to the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3167
#, no-wrap
msgid "1103503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3114
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3168
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354615[354615]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3171
#, no-wrap
msgid "11-STABLE after LinuxKPI sysfs improvements."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3172
#, no-wrap
msgid "1103504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3119
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3173
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/354616[354616]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3176
#, no-wrap
msgid "11-STABLE after enabling device class group attributes in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3177
#, no-wrap
msgid "1103505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3181
#, no-wrap
msgid "11-STABLE after adding `sigsetop` extensions commonly found in musl libc and glibc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3182
#, no-wrap
msgid "1103506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3183
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356395[356395]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3186
#, no-wrap
msgid "11-STABLE after making USB statistics be per-device instead of per bus."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3187
#, no-wrap
msgid "1103507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3188
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356680[356680]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3137
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3191
#, no-wrap
msgid "11-STABLE after adding own counter for cancelled USB transfers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3138
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3192
#, no-wrap
msgid "1103508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3139
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3193
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/357613[357613]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3142
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3196
#, no-wrap
msgid "11-STABLE after recent LinuxKPI changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3197
#, no-wrap
msgid "1103509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3144
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3198
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/359958[359958]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3201
#, no-wrap
msgid "11-STABLE after moving `id_mapped` to end of `bus_dma_impl` structure to preserve KPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3148
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3202
#, no-wrap
msgid "1103510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3203
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360658[360658]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3204
#, no-wrap
msgid "May 5, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3206
#, no-wrap
msgid "11-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 9.0.0 final release r372316."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3153
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3207
#, no-wrap
msgid "1103511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3154
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3208
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360784[360784]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3211
#, no-wrap
msgid "11-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3212
#, no-wrap
msgid "1104000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3159
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3213
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360804[360804]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3160
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3165
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3224
#, no-wrap
msgid "May 8, 2020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3216
#, no-wrap
msgid "`releng/11.4` branched from `stable/11`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3217
#, no-wrap
msgid "1104001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3218
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360822[360822]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3221
#, no-wrap
msgid "11.4-BETA1 after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.0 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3168
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3222
#, no-wrap
msgid "1104500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3223
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/360805[360805]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3226
#, no-wrap
msgid "11-STABLE after releng/11.4 branched."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3227
#, no-wrap
msgid "1104501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3228
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362320[362320]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3231
#, no-wrap
msgid "11-STABLE after implementing `__is_constexpr()` function macro in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3232
#, no-wrap
msgid "1104502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3233
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/362919[362919]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3236
#, no-wrap
msgid "11-STABLE after making liblzma use libmd implementation of SHA256."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3237
#, no-wrap
msgid "1104503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3238
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363496[363496]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3241
#, no-wrap
msgid "11-STABLE after updating llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to 10.0.1 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3242
#, no-wrap
msgid "1104504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3243
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/363792[363792]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3246
#, no-wrap
msgid "11-STABLE after implementing the `array_size()` function in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3247
#, no-wrap
msgid "1104505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3194
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3248
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/364391[364391]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3251
#, no-wrap
msgid "11-STABLE after change to clone the task struct fields related to RCU."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3252
#, no-wrap
msgid "1104506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3256
#, no-wrap
msgid "11-STABLE after adding atomic and `bswap` functions to libcompiler_rt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3203
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3257
#, no-wrap
msgid "1104507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3261
#, no-wrap
msgid "11-STABLE after followup commits to libcompiler_rt."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3262
#, no-wrap
msgid "1104508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3209
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3263
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366879[366879]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3266
#, no-wrap
msgid "11-STABLE after populating the acquire context field of a `ww_mutex` in the LinuxKPI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3267
#, no-wrap
msgid "1104509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3268
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/366889[366889]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3271
#, no-wrap
msgid "11-STABLE after additions to LinuxKPI's `RCU` list."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3272
#, no-wrap
msgid "1104510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3273
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/367513[367513]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3275
#, no-wrap
msgid "11-STABLE after the addition of `ptsname_r`."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3224
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3278
#, no-wrap
msgid "FreeBSD 10 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3281
#, no-wrap
msgid "FreeBSD 10 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3290
#, no-wrap
msgid "1000000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3237
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3291
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/225757[225757]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3292
#, no-wrap
msgid "September 26, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3240
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3294
#, no-wrap
msgid "10.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3295
#, no-wrap
msgid "1000001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3296
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/227070[227070]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3297
#, no-wrap
msgid "November 4, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3245
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3299
#, no-wrap
msgid "10-CURRENT after addition of the man:posix_fadvise[2] system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3300
#, no-wrap
msgid "1000002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3301
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/228444[228444]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3302
#, no-wrap
msgid "December 12, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3250
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3304
#, no-wrap
msgid "10-CURRENT after defining boolean true/false in sys/types.h, sizeof(bool) may have changed (rev link:https://svnweb.freebsd.org/changeset/base/228444[228444]). 10-CURRENT after xlocale.h was introduced (rev link:https://svnweb.freebsd.org/changeset/base/227753[227753])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3305
#, no-wrap
msgid "1000003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3252
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3306
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/228571[228571]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3307
#, no-wrap
msgid "December 16, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3255
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3309
#, no-wrap
msgid "10-CURRENT after major changes to man:carp[4], changing size of struct `in_aliasreq`, struct in6_aliasreq (rev link:https://svnweb.freebsd.org/changeset/base/228571[228571]) and straitening arguments check of SIOCAIFADDR (rev link:https://svnweb.freebsd.org/changeset/base/228574[228574])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3310
#, no-wrap
msgid "1000004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3311
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/229204[229204]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3312
#, no-wrap
msgid "January 1, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3260
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3314
#, no-wrap
msgid "10-CURRENT after the removal of `skpc()` and the addition of man:memcchr[9] (rev link:https://svnweb.freebsd.org/changeset/base/229200[229200])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3315
#, no-wrap
msgid "1000005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3316
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/230207[230207]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3263
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4168
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5107
#, no-wrap
msgid "January 16, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3265
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3319
#, no-wrap
msgid "10-CURRENT after the removal of support for SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFDSTADDR ioctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3320
#, no-wrap
msgid "1000006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3321
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/230590[230590]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3322
#, no-wrap
msgid "January 26, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3270
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3324
#, no-wrap
msgid "10-CURRENT after introduction of read capacity data asynchronous notification in the man:cam[4] layer."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3325
#, no-wrap
msgid "1000007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3326
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/231025[231025]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3327
#, no-wrap
msgid "February 5, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3275
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3329
#, no-wrap
msgid "10-CURRENT after introduction of new man:tcp[4] socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3330
#, no-wrap
msgid "1000008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3331
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/231505[231505]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3332
#, no-wrap
msgid "February 11, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3280
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3334
#, no-wrap
msgid "10-CURRENT after introduction of the new extensible man:sysctl[3] interface NET_RT_IFLISTL to query address lists."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3335
#, no-wrap
msgid "1000009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3336
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/232154[232154]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3337
#, no-wrap
msgid "February 25, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3339
#, no-wrap
msgid "10-CURRENT after import of libarchive 3.0.3 (rev link:https://svnweb.freebsd.org/changeset/base/232153[232153])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3340
#, no-wrap
msgid "1000010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3341
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/233757[233757]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3342
#, no-wrap
msgid "March 31, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3290
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3344
#, no-wrap
msgid "10-CURRENT after `xlocale` cleanup."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3345
#, no-wrap
msgid "1000011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3346
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/234355[234355]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3347
#, no-wrap
msgid "April 16, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3295
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3349
#, no-wrap
msgid "10-CURRENT import of LLVM/Clang 3.1 trunk link:https://svnweb.freebsd.org/changeset/base/154661[154661] (rev link:https://svnweb.freebsd.org/changeset/base/234353[234353])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3296
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3350
#, no-wrap
msgid "1000012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3351
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/234924[234924]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3352
#, no-wrap
msgid "May 2, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3300
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3354
#, no-wrap
msgid "10-CURRENT jemalloc import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3355
#, no-wrap
msgid "1000013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3356
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/235788[235788]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3303
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4242
#, no-wrap
msgid "May 22, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3305
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3359
#, no-wrap
msgid "10-CURRENT after `byacc` import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3360
#, no-wrap
msgid "1000014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3361
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/237631[237631]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3362
#, no-wrap
msgid "June 27, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3310
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3364
#, no-wrap
msgid "10-CURRENT after BSD sort becoming the default sort (rev link:https://svnweb.freebsd.org/changeset/base/237629[237629])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3365
#, no-wrap
msgid "1000015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3312
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3366
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/238405[238405]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3367
#, no-wrap
msgid "July 12, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3315
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3369
#, no-wrap
msgid "10-CURRENT after import of OpenSSL 1.0.1c."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3371
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/238429[238429]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3372
#, no-wrap
msgid "July 13, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3320
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3374
#, no-wrap
msgid "10-CURRENT after the fix for LLVM/Clang 3.1 regression."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3375
#, no-wrap
msgid "1000016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3322
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3376
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/239179[239179]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3323
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3328
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3382
#, no-wrap
msgid "August 8, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3325
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3379
#, no-wrap
msgid "10-CURRENT after KBI change in man:ucom[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3380
#, no-wrap
msgid "1000017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3327
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3381
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/239214[239214]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3330
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3384
#, no-wrap
msgid "10-CURRENT after adding streams feature to the USB stack."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3385
#, no-wrap
msgid "1000018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3386
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/240233[240233]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3387
#, no-wrap
msgid "September 8, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3335
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3389
#, no-wrap
msgid "10-CURRENT after major rewrite of man:pf[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3390
#, no-wrap
msgid "1000019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3337
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3391
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/241245[241245]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3392
#, no-wrap
msgid "October 6, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3340
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3394
#, no-wrap
msgid "10-CURRENT after man:pfil[9] KBI/KPI changed to supply packets in net byte order to AF_INET filter hooks."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3395
#, no-wrap
msgid "1000020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3396
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/241610[241610]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3397
#, no-wrap
msgid "October 16, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3345
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3399
#, no-wrap
msgid "10-CURRENT after the network interface cloning KPI changed and struct `if_clone` becoming opaque."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3346
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3400
#, no-wrap
msgid "1000021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3401
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/241897[241897]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3348
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3407
#, no-wrap
msgid "October 22, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3350
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3404
#, no-wrap
msgid "10-CURRENT after removal of support for non-MPSAFE filesystems and addition of support for FUSEFS (rev link:https://svnweb.freebsd.org/changeset/base/241519[241519])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3351
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3405
#, no-wrap
msgid "1000022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3406
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/241913[241913]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3355
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3409
#, no-wrap
msgid "10-CURRENT after the entire IPv4 stack switched to network byte order for IP packet header storage."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3410
#, no-wrap
msgid "1000023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3411
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/242619[242619]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3358
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3363
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3417
#, no-wrap
msgid "November 5, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3360
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3414
#, no-wrap
msgid "10-CURRENT after jitter buffer in the common USB serial driver code, to temporarily store characters if the TTY buffer is full. Add flow stop and start signals when this happens."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3361
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3415
#, no-wrap
msgid "1000024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3416
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/242624[242624]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3365
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3419
#, no-wrap
msgid "10-CURRENT after clang was made the default compiler on i386 and amd64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3420
#, no-wrap
msgid "1000025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3421
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/243443[243443]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3422
#, no-wrap
msgid "November 17, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3370
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3424
#, no-wrap
msgid "10-CURRENT after the sin6_scope_id member variable in struct sockaddr_in6 was changed to being filled by the kernel before passing the structure to the userland via sysctl or routing socket. This means the KAME-specific embedded scope id in sin6_addr.s6_addr[2] is always cleared in userland application."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3425
#, no-wrap
msgid "1000026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3426
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/245313[245313]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3427
#, no-wrap
msgid "January 11, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3375
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3429
#, no-wrap
msgid "10-CURRENT after install gained the -N flag. May also be used to indicate the presence of nmtree."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3430
#, no-wrap
msgid "1000027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3431
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/246084[246084]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3432
#, no-wrap
msgid "January 29, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3380
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3434
#, no-wrap
msgid "10-CURRENT after cat gained the -l flag (rev link:https://svnweb.freebsd.org/changeset/base/246083[246083])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3435
#, no-wrap
msgid "1000028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3436
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/246759[246759]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3383
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3437
#, no-wrap
msgid "February 13, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3439
#, no-wrap
msgid "10-CURRENT after USB moved to the driver structure requiring a rebuild of all USB modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3386
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3440
#, no-wrap
msgid "1000029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3441
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/247821[247821]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3442
#, no-wrap
msgid "March 4, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3390
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3444
#, no-wrap
msgid "10-CURRENT after the introduction of tickless callout facility which also changed the layout of struct callout (rev link:https://svnweb.freebsd.org/changeset/base/247777[247777])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3445
#, no-wrap
msgid "1000030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3446
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/248210[248210]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3447
#, no-wrap
msgid "March 12, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3395
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3449
#, no-wrap
msgid "10-CURRENT after KPI breakage introduced in the VM subsystem to support read/write locking (rev link:https://svnweb.freebsd.org/changeset/base/248084[248084])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3396
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3450
#, no-wrap
msgid "1000031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3451
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/249943[249943]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3452
#, no-wrap
msgid "April 26, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3454
#, no-wrap
msgid "10-CURRENT after the `dst` parameter of the ifnet `if_output` method was changed to take const qualifier (rev link:https://svnweb.freebsd.org/changeset/base/249925[249925])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3401
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3455
#, no-wrap
msgid "1000032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3456
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/250163[250163]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3457
#, no-wrap
msgid "May 1, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3459
#, no-wrap
msgid "10-CURRENT after the introduction of the man:accept4[2] (rev link:https://svnweb.freebsd.org/changeset/base/250154[250154]) and man:pipe2[2] (rev link:https://svnweb.freebsd.org/changeset/base/250159[250159]) system calls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3406
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3460
#, no-wrap
msgid "1000033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3461
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/250881[250881]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3462
#, no-wrap
msgid "May 21, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3410
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3464
#, no-wrap
msgid "10-CURRENT after flex 2.5.37 import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3411
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3465
#, no-wrap
msgid "1000034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3466
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/251294[251294]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3467
#, no-wrap
msgid "June 3, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3415
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3469
#, no-wrap
msgid "10-CURRENT after the addition of these functions to libm: man:cacos[3], man:cacosf[3], man:cacosh[3], man:cacoshf[3], man:casin[3], man:casinf[3], man:casinh[3], man:casinhf[3], man:catan[3], man:catanf[3], man:catanh[3], man:catanhf[3], man:logl[3], man:log2l[3], man:log10l[3], man:log1pl[3], man:expm1l[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3470
#, no-wrap
msgid "1000035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3471
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/251527[251527]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3472
#, no-wrap
msgid "June 8, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3474
#, no-wrap
msgid "10-CURRENT after the introduction of the man:aio_mlock[2] system call (rev link:https://svnweb.freebsd.org/changeset/base/251526[251526])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3475
#, no-wrap
msgid "1000036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3476
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253049[253049]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3423
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3482
#, no-wrap
msgid "July 9, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3425
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3479
#, no-wrap
msgid "10-CURRENT after the addition of a new function to the kernel GSSAPI module's function call interface."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3480
#, no-wrap
msgid "1000037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3427
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3481
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253089[253089]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3430
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3484
#, no-wrap
msgid "10-CURRENT after the migration of statistics structures to PCPU counters. Changed structures include: `ahstat`, `arpstat`, `espstat`, `icmp6_ifstat`, `icmp6stat`, `in6_ifstat`, `ip6stat`, `ipcompstat`, `ipipstat`, `ipsecstat`, `mrt6stat`, `mrtstat`, `pfkeystat`, `pim6stat`, `pimstat`, `rip6stat`, `udpstat` (rev link:https://svnweb.freebsd.org/changeset/base/253081[253081])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3431
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3485
#, no-wrap
msgid "1000038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3486
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253396[253396]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3487
#, no-wrap
msgid "July 16, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3435
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3489
#, no-wrap
msgid "10-CURRENT after making `ARM EABI` the default ABI on arm, armeb, armv6, and armv6eb architectures."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3436
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3490
#, no-wrap
msgid "1000039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3491
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253549[253549]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3492
#, no-wrap
msgid "July 22, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3440
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3494
#, no-wrap
msgid "10-CURRENT after `CAM` and man:mps[4] driver scanning changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3495
#, no-wrap
msgid "1000040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3442
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3496
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253638[253638]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3497
#, no-wrap
msgid "July 24, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3499
#, no-wrap
msgid "10-CURRENT after addition of libusb `pkgconf` files."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3446
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3500
#, no-wrap
msgid "1000041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3447
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3501
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253970[253970]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3502
#, no-wrap
msgid "August 5, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3504
#, no-wrap
msgid "10-CURRENT after change from `time_second` to `time_uptime` in `PF_INET6`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3505
#, no-wrap
msgid "1000042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3506
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254138[254138]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3453
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3507
#, no-wrap
msgid "August 9, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3455
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3509
#, no-wrap
msgid "10-CURRENT after VM subsystem change to unify soft and hard busy mechanisms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3510
#, no-wrap
msgid "1000043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3511
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254273[254273]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3512
#, no-wrap
msgid "August 13, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3460
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3514
#, no-wrap
msgid "10-CURRENT after `WITH_ICONV` is enabled by default. A new man:src.conf[5] option, `WITH_LIBICONV_COMPAT` (disabled by default) adds `libiconv_open` to provide compatibility with the package:converters/libiconv[] port."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3461
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3515
#, no-wrap
msgid "1000044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3516
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254358[254358]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3463
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3468
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3522
#, no-wrap
msgid "August 15, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3465
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3519
#, no-wrap
msgid "10-CURRENT after [.filename]#libc.so# conversion to an man:ld[1] script (rev link:https://svnweb.freebsd.org/changeset/base/251668[251668])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3466
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3520
#, no-wrap
msgid "1000045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3467
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3521
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254389[254389]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3470
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3524
#, no-wrap
msgid "10-CURRENT after devfs programming interface change by replacing the cdevsw flag `D_UNMAPPED_IO` with the struct cdev flag `SI_UNMAPPED`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3471
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3525
#, no-wrap
msgid "1000046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3526
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254537[254537]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527
#, no-wrap
msgid "August 19, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527
#, no-wrap
msgid "10-CURRENT after addition of `M_PROTO[9-12]` and removal of `M_FRAG\\"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527
#, no-wrap
msgid "M_FIRSTFRAG\\"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3475
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3529
#, no-wrap
msgid "M_LASTFRAG` mbuf flags (rev link:https://svnweb.freebsd.org/changeset/base/254524[254524], link:https://svnweb.freebsd.org/changeset/base/254526[254526])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3476
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3530
#, no-wrap
msgid "1000047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3531
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254627[254627]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3478
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3532
#, no-wrap
msgid "August 21, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3480
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3534
#, no-wrap
msgid "10-CURRENT after man:stat[2] update to allow storing some Windows/DOS and CIFS file attributes as man:stat[2] flags."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3481
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3535
#, no-wrap
msgid "1000048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3536
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254672[254672]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3537
#, no-wrap
msgid "August 22, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3485
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3539
#, no-wrap
msgid "10-CURRENT after modification of structure `xsctp_inpcb`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3540
#, no-wrap
msgid "1000049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3541
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254760[254760]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3488
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3547
#, no-wrap
msgid "August 24, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3490
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3544
#, no-wrap
msgid "10-CURRENT after man:physio[9] support for devices that do not function properly with split I/O, such as man:sa[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3545
#, no-wrap
msgid "1000050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3546
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254844[254844]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3549
#, no-wrap
msgid "10-CURRENT after modifications of structure `mbuf` (rev link:https://svnweb.freebsd.org/changeset/base/254780[254780], link:https://svnweb.freebsd.org/changeset/base/254799[254799], link:https://svnweb.freebsd.org/changeset/base/254804[254804], link:https://svnweb.freebsd.org/changeset/base/254807[254807]link:https://svnweb.freebsd.org/changeset/base/254842[254842])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3550
#, no-wrap
msgid "1000051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3551
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254887[254887]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3552
#, no-wrap
msgid "August 25, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3500
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3554
#, no-wrap
msgid "10-CURRENT after Radeon KMS driver import (rev link:https://svnweb.freebsd.org/changeset/base/254885[254885])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3555
#, no-wrap
msgid "1000052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3556
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/255180[255180]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3557
#, no-wrap
msgid "September 3, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3505
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3559
#, no-wrap
msgid "10-CURRENT after import of NetBSD `libexecinfo` is connected to the build."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3560
#, no-wrap
msgid "1000053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3561
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/255305[255305]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3508
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3513
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3572
#, no-wrap
msgid "September 6, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3510
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3564
#, no-wrap
msgid "10-CURRENT after API and ABI changes to the Capsicum framework."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3565
#, no-wrap
msgid "1000054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3566
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/255321[255321]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3515
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3569
#, no-wrap
msgid "10-CURRENT after `gcc` and `libstdc++` are no longer built by default."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3570
#, no-wrap
msgid "1000055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3571
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/255449[255449]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3574
#, no-wrap
msgid "10-CURRENT after addition of `MMAP_32BIT` man:mmap[2] flag (rev link:https://svnweb.freebsd.org/changeset/base/255426[255426])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3575
#, no-wrap
msgid "1000100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3576
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259065[259065]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3523
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3543
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3602
#, no-wrap
msgid "December 7, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3525
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3579
#, no-wrap
msgid "`releng/10.0` branched from `stable/10`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3580
#, no-wrap
msgid "1000500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3581
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/256283[256283]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3530
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3584
#, no-wrap
msgid "10-STABLE after branch from `head/`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3585
#, no-wrap
msgid "1000501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3586
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/256916[256916]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3533
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4302
#, no-wrap
msgid "October 22, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3535
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3589
#, no-wrap
msgid "10-STABLE after addition of first-boot man:rc[8] support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3590
#, no-wrap
msgid "1000502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3591
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/258398[258398]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3538
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3592
#, no-wrap
msgid "November 20, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3540
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3594
#, no-wrap
msgid "10-STABLE after removal of iconv symbols from `libc.so.7`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3595
#, no-wrap
msgid "1000510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3596
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259067[259067]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3545
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3599
#, no-wrap
msgid "`releng/10.0` __FreeBSD_version update to prevent the value from going backwards."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3600
#, no-wrap
msgid "1000700"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3601
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259069[259069]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3550
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3604
#, no-wrap
msgid "10-STABLE after `releng/10.0` branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3605
#, no-wrap
msgid "1000701"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3606
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259447[259447]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3555
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3609
#, no-wrap
msgid "10.0-STABLE after Heimdal encoding fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3610
#, no-wrap
msgid "1000702"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3611
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/260135[260135]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3558
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4312
#, no-wrap
msgid "December 31, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3560
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3614
#, no-wrap
msgid "10-STABLE after MAP_STACK fixes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3615
#, no-wrap
msgid "1000703"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3562
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4316
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/262801[262801]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3563
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4317
#, no-wrap
msgid "March 5, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3565
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3619
#, no-wrap
msgid "10-STABLE after upgrade of libc++ to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3620
#, no-wrap
msgid "1000704"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3621
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/262889[262889]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3622
#, no-wrap
msgid "March 7, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3570
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3624
#, no-wrap
msgid "10-STABLE after MFC of the man:vt[4] driver (rev link:https://svnweb.freebsd.org/changeset/base/262861[262861])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3625
#, no-wrap
msgid "1000705"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3626
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263508[263508]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3573
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4327
#, no-wrap
msgid "March 21, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3575
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3629
#, no-wrap
msgid "10-STABLE after upgrade of llvm/clang to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3630
#, no-wrap
msgid "1000706"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3631
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/264214[264214]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3580
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3634
#, no-wrap
msgid "10-STABLE after GCC support for `__block` definition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3635
#, no-wrap
msgid "1000707"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3585
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3639
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:06.openssl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3640
#, no-wrap
msgid "1000708"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3641
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/265122[265122]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3588
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4288
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5147
#, no-wrap
msgid "April 30, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3590
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3644
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:07.devfs, FreeBSD-SA-14:08.tcp, and FreeBSD-SA-14:09.openssl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3645
#, no-wrap
msgid "1000709"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3646
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/265946[265946]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3647
#, no-wrap
msgid "May 13, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3595
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3649
#, no-wrap
msgid "10-STABLE after support for UDP-Lite protocol (RFC 3828)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3650
#, no-wrap
msgid "1000710"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3651
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/267465[267465]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3600
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3654
#, no-wrap
msgid "10-STABLE after changes to man:strcasecmp[3], moving man:strcasecmp_l[3] and man:strncasecmp_l[3] from [.filename]#<string.h># to [.filename]#<strings.h># for POSIX 2008 compliance."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3601
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3655
#, no-wrap
msgid "1000711"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3656
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268442[268442]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3659
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:17.kmem (rev link:https://svnweb.freebsd.org/changeset/base/268432[268432])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3606
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3660
#, no-wrap
msgid "1000712"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3661
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/269400[269400]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3608
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3662
#, no-wrap
msgid "August 1, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3610
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3664
#, no-wrap
msgid "10-STABLE after man:nfsd[8] 4.1 merge (rev link:https://svnweb.freebsd.org/changeset/base/269398[269398])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3611
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3665
#, no-wrap
msgid "1000713"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3666
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/269484[269484]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3615
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3669
#, no-wrap
msgid "10-STABLE after man:regex[3] library update to add \">\" and \"<\" delimiters."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3670
#, no-wrap
msgid "1000714"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3671
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/270174[270174]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3674
#, no-wrap
msgid "10-STABLE after `SOCK_DGRAM` bug fix (rev link:https://svnweb.freebsd.org/changeset/base/269490[269490])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3675
#, no-wrap
msgid "1000715"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3679
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:18 (rev link:https://svnweb.freebsd.org/changeset/base/269686[269686])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3680
#, no-wrap
msgid "1000716"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3684
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:19 (rev link:https://svnweb.freebsd.org/changeset/base/271667[271667])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3685
#, no-wrap
msgid "1000717"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3686
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/271816[271816]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3633
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3687
#, no-wrap
msgid "September 18, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3689
#, no-wrap
msgid "10-STABLE after i915 HW context support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3690
#, no-wrap
msgid "1001000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3637
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3691
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/272463[272463]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3638
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3643
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3697
#, no-wrap
msgid "October 2, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3640
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3694
#, no-wrap
msgid "10.1-RC1 after releng/10.1 branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3695
#, no-wrap
msgid "1001500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3696
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/272464[272464]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3645
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3699
#, no-wrap
msgid "10-STABLE after releng/10.1 branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3700
#, no-wrap
msgid "1001501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3704
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:20, FreeBSD-SA-14:22, and FreeBSD-SA-14:23 (rev link:https://svnweb.freebsd.org/changeset/base/273411[273411])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3705
#, no-wrap
msgid "1001502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3709
#, no-wrap
msgid "10-STABLE after FreeBSD-SA-14:23, FreeBSD-SA-14:24, and FreeBSD-SA-14:25."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3656
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3710
#, no-wrap
msgid "1001503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3711
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/275040[275040]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3658
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3712
#, no-wrap
msgid "November 25, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3714
#, no-wrap
msgid "10-STABLE after merging new libraries/utilities (man:dpv[1] man:dpv[3], and man:figpar[3]) for data throughput visualization."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3715
#, no-wrap
msgid "1001504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3662
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4386
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/275742[275742]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3663
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4387
#, no-wrap
msgid "December 13, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3719
#, no-wrap
msgid "10-STABLE after merging an important fix to the LLVM vectorizer, which could lead to buffer overruns in some cases."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3720
#, no-wrap
msgid "1001505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3721
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/276633[276633]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3668
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3722
#, no-wrap
msgid "January 3, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3724
#, no-wrap
msgid "10-STABLE after merging some arm constants in link:https://svnweb.freebsd.org/changeset/base/276312[276312]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3725
#, no-wrap
msgid "1001506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3726
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277087[277087]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3727
#, no-wrap
msgid "January 12, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3729
#, no-wrap
msgid "10-STABLE after merging max table size update for yacc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3730
#, no-wrap
msgid "1001507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3731
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/277790[277790]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3678
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3732
#, no-wrap
msgid "January 27, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3734
#, no-wrap
msgid "10-STABLE after changes to the UDP tunneling callback to provide a context pointer and the source `sockaddr`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3735
#, no-wrap
msgid "1001508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3736
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/278974[278974]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3739
#, no-wrap
msgid "10-STABLE after addition of the `CDAI_TYPE_EXT_INQ` request type."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3740
#, no-wrap
msgid "1001509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3687
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4337
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5176
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/279287[279287]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3689
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4339
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5124
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5178
#, no-wrap
msgid ""
"February 25, 2015\n"
"pass:[<!-- vale Vale.Terms = NO -->]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3746
#, no-wrap
msgid ""
"10-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind.\n"
"pass:[<!-- vale Vale.Terms = YES -->]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3693
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3747
#, no-wrap
msgid "1001510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3748
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/279329[279329]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3695
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3749
#, no-wrap
msgid "February 26, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3751
#, no-wrap
msgid "10-STABLE after MFC of rev link:https://svnweb.freebsd.org/changeset/base/278964[278964]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3698
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3752
#, no-wrap
msgid "1001511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3753
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/280246[280246]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3754
#, no-wrap
msgid "March 19, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3756
#, no-wrap
msgid "10-STABLE after [.filename]#sys/capability.h# is renamed to [.filename]#sys/capsicum.h# (rev link:https://svnweb.freebsd.org/changeset/base/280224/[280224/])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3703
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3757
#, no-wrap
msgid "1001512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3704
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3758
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/280438[280438]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3759
#, no-wrap
msgid "March 24, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3761
#, no-wrap
msgid "10-STABLE after addition of new man:mtio[4], man:sa[4] ioctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3708
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3762
#, no-wrap
msgid "1001513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3763
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/281955[281955]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3764
#, no-wrap
msgid "April 24, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3766
#, no-wrap
msgid "10-STABLE after starting the process of removing the use of the deprecated \"M_FLOWID\" flag from the network code."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3713
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3767
#, no-wrap
msgid "1001514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3768
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/282275[282275]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3769
#, no-wrap
msgid "April 30, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3771
#, no-wrap
msgid "10-STABLE after MFC of man:iconv[3] fixes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3718
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3772
#, no-wrap
msgid "1001515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3773
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/282781[282781]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3720
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3774
#, no-wrap
msgid "May 11, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3776
#, no-wrap
msgid "10-STABLE after adding back `M_FLOWID`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3723
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3777
#, no-wrap
msgid "1001516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3724
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3778
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/283341[283341]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3779
#, no-wrap
msgid "May 24, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3781
#, no-wrap
msgid "10-STABLE after MFC of many USB things."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3728
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3782
#, no-wrap
msgid "1001517"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3783
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/283950[283950]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3784
#, no-wrap
msgid "June 3, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3786
#, no-wrap
msgid "10-STABLE after MFC of sound related things."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3733
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3787
#, no-wrap
msgid "1001518"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3788
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/284204[284204]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3791
#, no-wrap
msgid "10-STABLE after MFC of zfs vfs fixes (rev link:https://svnweb.freebsd.org/changeset/base/284203[284203])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3738
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3792
#, no-wrap
msgid "1001519"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3793
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/284720[284720]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3794
#, no-wrap
msgid "June 23, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3796
#, no-wrap
msgid "10-STABLE after reverting bumping `MAXCPU` on amd64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3797
#, no-wrap
msgid "1002000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3798
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/285830[285830]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3745
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3804
#, no-wrap
msgid "July 24, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3801
#, no-wrap
msgid "`releng/10.2` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3748
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3802
#, no-wrap
msgid "1002500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3803
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/285831[285831]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3752
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3806
#, no-wrap
msgid "10-STABLE after `releng/10.2` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3753
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3807
#, no-wrap
msgid "1002501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3808
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/289005[289005]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3809
#, no-wrap
msgid "October 8, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3811
#, no-wrap
msgid "10-STABLE after merge of ZFS changes that affected the internal interface of `zfeature_info` structure (rev link:https://svnweb.freebsd.org/changeset/base/288572[288572])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3758
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3812
#, no-wrap
msgid "1002502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3813
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/291243[291243]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3814
#, no-wrap
msgid "November 24, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3816
#, no-wrap
msgid "10-STABLE after merge of dump device changes that affected the arguments of `g_dev_setdumpdev()`(rev link:https://svnweb.freebsd.org/changeset/base/291215[291215])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3763
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3817
#, no-wrap
msgid "1002503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3818
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/292224[292224]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3819
#, no-wrap
msgid "December 14, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3821
#, no-wrap
msgid "10-STABLE after merge of changes to the internal interface between the nfsd.ko and nfscommon.ko modules, requiring them to be upgraded together (rev link:https://svnweb.freebsd.org/changeset/base/292223[292223])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3768
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3822
#, no-wrap
msgid "1002504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3823
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/292589[292589]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3824
#, no-wrap
msgid "December 22, 2015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3826
#, no-wrap
msgid "10-STABLE after merge of xz 5.2.2 merge (multithread support) (rev link:https://svnweb.freebsd.org/changeset/base/292588[292588])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3773
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3827
#, no-wrap
msgid "1002505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3828
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/292908[292908]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3831
#, no-wrap
msgid "10-STABLE after merge of changes to man:pci[4] (rev link:https://svnweb.freebsd.org/changeset/base/292907[292907])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3778
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3832
#, no-wrap
msgid "1002506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3779
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3833
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/293476[293476]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3780
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3785
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3844
#, no-wrap
msgid "January 9, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3836
#, no-wrap
msgid "10-STABLE after merge of man:utimensat[2] (rev link:https://svnweb.freebsd.org/changeset/base/293473[293473])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3837
#, no-wrap
msgid "1002507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3838
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/293610[293610]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3787
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3841
#, no-wrap
msgid "10-STABLE after merge of changes to man:linux[4] (rev link:https://svnweb.freebsd.org/changeset/base/293477[293477] through link:https://svnweb.freebsd.org/changeset/base/293609[293609])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3842
#, no-wrap
msgid "1002508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/293619[293619]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3846
#, no-wrap
msgid "10-STABLE after merge of changes to man:figpar[3] types/macros (rev link:https://svnweb.freebsd.org/changeset/base/290275[290275])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3793
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3847
#, no-wrap
msgid "1002509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3794
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3848
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/295107[295107]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3849
#, no-wrap
msgid "February 1, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3851
#, no-wrap
msgid "10-STABLE after merge of API change to man:dpv[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3798
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3852
#, no-wrap
msgid "1003000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296373[296373]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3800
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3805
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3859
#, no-wrap
msgid "March 4, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3856
#, no-wrap
msgid "`releng/10.3` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3803
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3857
#, no-wrap
msgid "1003500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3858
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296374[296374]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3861
#, no-wrap
msgid "10-STABLE after `releng/10.3` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3808
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3862
#, no-wrap
msgid "1003501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3863
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/298299[298299]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3810
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3815
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3820
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3874
#, no-wrap
msgid "June 19, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3866
#, no-wrap
msgid "10-STABLE after adding -P option for `kdbcontrol` (rev link:https://svnweb.freebsd.org/changeset/base/298297[298297])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3813
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3867
#, no-wrap
msgid "1003502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3814
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3868
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/299966[299966]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3871
#, no-wrap
msgid "10-STABLE after libcrypto.so was made position independent."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3818
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3872
#, no-wrap
msgid "1003503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3873
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300235[300235]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3876
#, no-wrap
msgid "10-STABLE after allowing `MK_` overrides (rev link:https://svnweb.freebsd.org/changeset/base/300233[300233])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3823
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3877
#, no-wrap
msgid "1003504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3878
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302066[302066]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3881
#, no-wrap
msgid "10-STABLE after MFC of `filemon` changes from 11-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3828
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3882
#, no-wrap
msgid "1003505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3883
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/302228[302228]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3884
#, no-wrap
msgid "June 27, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3886
#, no-wrap
msgid "10-STABLE after converting sed to use REG_STARTEND, fixing a Mesa issue."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3833
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3887
#, no-wrap
msgid "1003506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3888
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304611[304611]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3837
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3891
#, no-wrap
msgid "10-STABLE after adding C++11 `thread_local` support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3838
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3892
#, no-wrap
msgid "1003507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3893
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/304864[304864]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3896
#, no-wrap
msgid "10-STABLE after `LC_*_MASK` fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3897
#, no-wrap
msgid "1003508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3898
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305734[305734]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3901
#, no-wrap
msgid "10-STABLE after resolving a deadlock between `device_detach()` and man:usbd_do_request_flags[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3848
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3902
#, no-wrap
msgid "1003509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3903
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/307331[307331]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3852
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3906
#, no-wrap
msgid "10-STABLE after ZFS merges."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3907
#, no-wrap
msgid "1003510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3908
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/308047[308047]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3911
#, no-wrap
msgid "10-STABLE after installing header files required development with libzfs_core."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3858
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3912
#, no-wrap
msgid "1003511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3913
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/310121[310121]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3916
#, no-wrap
msgid "10-STABLE after exporting whole thread name in `kinfo_proc` (rev link:https://svnweb.freebsd.org/changeset/base/309676[309676])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3863
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3917
#, no-wrap
msgid "1003512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3918
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/315730[315730]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3919
#, no-wrap
msgid "March 22, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3921
#, no-wrap
msgid "10-STABLE after libmd changes (rev link:https://svnweb.freebsd.org/changeset/base/314143[314143])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3868
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3922
#, no-wrap
msgid "1003513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3923
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/316499[316499]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3926
#, no-wrap
msgid "10-STABLE after making CAM SIM lock optional (revs link:https://svnweb.freebsd.org/changeset/base/315673[315673], link:https://svnweb.freebsd.org/changeset/base/315674[315674])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3873
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3927
#, no-wrap
msgid "1003514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3928
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/318198[318198]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3931
#, no-wrap
msgid "10-STABLE after merging the addition of the [.filename]#<dev/mmc/mmc_ioctl.h># header."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3932
#, no-wrap
msgid "1003515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3933
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/321222[321222]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3880
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3934
#, no-wrap
msgid "July 19, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3936
#, no-wrap
msgid "10-STABLE after adding C++14 sized deallocation functions to libc++."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3883
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3937
#, no-wrap
msgid "1003516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3938
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/321717[321717]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3885
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3939
#, no-wrap
msgid "July 30, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3941
#, no-wrap
msgid "10-STABLE after merging the `MAP_GUARD` man:mmap[2] flag addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3888
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3942
#, no-wrap
msgid "1004000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3889
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3943
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323604[323604]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3890
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3895
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3949
#, no-wrap
msgid "September 15, 2017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3946
#, no-wrap
msgid "`releng/10.4` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3947
#, no-wrap
msgid "1004500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3948
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/323605[323605]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3951
#, no-wrap
msgid "10-STABLE after `releng/10.4` branched from 10-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3898
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3952
#, no-wrap
msgid "1004501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3956
#, no-wrap
msgid "10-STABLE after merging link:https://svnweb.freebsd.org/changeset/base/325028[325028], fixing `ptrace()` to always clear the correct thread event when resuming."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3957
#, no-wrap
msgid "1004502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3958
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356396[356396]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3961
#, no-wrap
msgid "10-STABLE after making USB statistics be per-device instead of per bus."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3908
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3962
#, no-wrap
msgid "1004503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3909
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3963
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/356681[356681]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3965
#, no-wrap
msgid "10-STABLE after adding own counter for cancelled USB transfers."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3968
#, no-wrap
msgid "FreeBSD 9 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3971
#, no-wrap
msgid "FreeBSD 9 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3980
#, no-wrap
msgid "900000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3981
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/196432[196432]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3982
#, no-wrap
msgid "August 22, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3930
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3984
#, no-wrap
msgid "9.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3931
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3985
#, no-wrap
msgid "900001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3932
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3986
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/197019[197019]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3933
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3987
#, no-wrap
msgid "September 8, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3989
#, no-wrap
msgid "9.0-CURRENT after importing x86emu, a software emulator for real mode x86 CPU from OpenBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3990
#, no-wrap
msgid "900002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3937
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3991
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/197430[197430]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3938
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3992
#, no-wrap
msgid "September 23, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3940
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3994
#, no-wrap
msgid "9.0-CURRENT after implementing the EVFILT_USER `kevent` filter functionality."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3941
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3995
#, no-wrap
msgid "900003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3996
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/200039[200039]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3943
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3997
#, no-wrap
msgid "December 2, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3945
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3999
#, no-wrap
msgid "9.0-CURRENT after addition of man:sigpause[2] and PIE support in `csu`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4000
#, no-wrap
msgid "900004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3947
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4001
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/200185[200185]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4002
#, no-wrap
msgid "December 6, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4004
#, no-wrap
msgid "9.0-CURRENT after addition of libulog and its libutempter compatibility interface."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4005
#, no-wrap
msgid "900005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4006
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/200447[200447]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3953
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4007
#, no-wrap
msgid "December 12, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4009
#, no-wrap
msgid "9.0-CURRENT after addition of man:sleepq_sleepcnt[9], which can be used to query the number of waiters on a specific waiting queue."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4010
#, no-wrap
msgid "900006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4011
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/201513[201513]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3958
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4012
#, no-wrap
msgid "January 4, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4014
#, no-wrap
msgid "9.0-CURRENT after change of the man:scandir[3] and man:alphasort[3] prototypes to conform to SUSv4."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4015
#, no-wrap
msgid "900007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4016
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/202219[202219]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4017
#, no-wrap
msgid "January 13, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3965
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4019
#, no-wrap
msgid "9.0-CURRENT after the removal of man:utmp[5] and the addition of `utmpx` (see man:getutxent[3]) for improved logging of user logins and system events."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4020
#, no-wrap
msgid "900008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3967
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4021
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/202722[202722]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3968
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4022
#, no-wrap
msgid "January 20, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3970
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4024
#, no-wrap
msgid "9.0-CURRENT after the import of BSDL bc/dc and the deprecation of GNU bc/dc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3971
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4025
#, no-wrap
msgid "900009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3972
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4026
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/203052[203052]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3973
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4027
#, no-wrap
msgid "January 26, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4029
#, no-wrap
msgid "9.0-CURRENT after the addition of SIOCGIFDESCR and SIOCSIFDESCR ioctls to network interfaces. These ioctl can be used to manipulate interface description, as inspired by OpenBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4030
#, no-wrap
msgid "900010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4031
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/205471[205471]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3978
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4032
#, no-wrap
msgid "March 22, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4034
#, no-wrap
msgid "9.0-CURRENT after the import of zlib 1.2.4."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3981
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4035
#, no-wrap
msgid "900011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4036
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/207410[207410]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4037
#, no-wrap
msgid "April 24, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3985
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4039
#, no-wrap
msgid "9.0-CURRENT after adding soft-updates journaling."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3986
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4040
#, no-wrap
msgid "900012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4041
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/207842[207842]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3988
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4042
#, no-wrap
msgid "May 10, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3990
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4044
#, no-wrap
msgid "9.0-CURRENT after adding liblzma, xz, xzdec, and lzmainfo."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3991
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4045
#, no-wrap
msgid "900013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4046
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/208486[208486]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3993
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4047
#, no-wrap
msgid "May 24, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4049
#, no-wrap
msgid "9.0-CURRENT after bringing in USB fixes for man:linux[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4050
#, no-wrap
msgid "900014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4051
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/208973[208973]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3998
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4052
#, no-wrap
msgid "June 10, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4000
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4054
#, no-wrap
msgid "9.0-CURRENT after adding Clang."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4001
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4055
#, no-wrap
msgid "900015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4056
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/210390[210390]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4057
#, no-wrap
msgid "July 22, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4005
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4059
#, no-wrap
msgid "9.0-CURRENT after the import of BSD grep."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4060
#, no-wrap
msgid "900016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4061
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/210565[210565]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4062
#, no-wrap
msgid "July 28, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4010
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4064
#, no-wrap
msgid "9.0-CURRENT after adding `mti_zone` to struct `malloc_type_internal`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4011
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4065
#, no-wrap
msgid "900017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4066
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/211701[211701]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4067
#, no-wrap
msgid "August 23, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4015
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4069
#, no-wrap
msgid "9.0-CURRENT after changing back default grep to GNU grep and adding WITH_BSD_GREP knob."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4016
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4070
#, no-wrap
msgid "900018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4071
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/211735[211735]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4072
#, no-wrap
msgid "August 24, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4020
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4074
#, no-wrap
msgid "9.0-CURRENT after the man:pthread_kill[3] -generated signal is identified as SI_LWP in `si_code`. Previously, `si_code` was SI_USER."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4021
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4075
#, no-wrap
msgid "900019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4076
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/211937[211937]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4077
#, no-wrap
msgid "August 28, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4079
#, no-wrap
msgid "9.0-CURRENT after addition of the MAP_PREFAULT_READ flag to man:mmap[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4026
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4080
#, no-wrap
msgid "900020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4081
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/212381[212381]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4082
#, no-wrap
msgid "September 9, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4030
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4084
#, no-wrap
msgid "9.0-CURRENT after adding drain functionality to `sbufs`, which also changed the layout of struct `sbuf`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4085
#, no-wrap
msgid "900021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4086
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/212568[212568]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4087
#, no-wrap
msgid "September 13, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4035
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4089
#, no-wrap
msgid "9.0-CURRENT after DTrace has grown support for userland tracing."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4036
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4090
#, no-wrap
msgid "900022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4091
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/213395[213395]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4092
#, no-wrap
msgid "October 2, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4040
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4094
#, no-wrap
msgid "9.0-CURRENT after addition of the BSDL man utilities and retirement of GNU/GPL man utilities."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4095
#, no-wrap
msgid "900023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4096
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/213700[213700]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4097
#, no-wrap
msgid "October 11, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4099
#, no-wrap
msgid "9.0-CURRENT after updating xz to git 20101010 snapshot."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4046
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4100
#, no-wrap
msgid "900024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4101
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/215127[215127]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4102
#, no-wrap
msgid "November 11, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4104
#, no-wrap
msgid "9.0-CURRENT after libgcc.a was replaced by libcompiler_rt.a."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4105
#, no-wrap
msgid "900025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4106
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/215166[215166]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4107
#, no-wrap
msgid "November 12, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4055
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4109
#, no-wrap
msgid "9.0-CURRENT after the introduction of the modularised congestion control."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4110
#, no-wrap
msgid "900026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4111
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216088[216088]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4112
#, no-wrap
msgid "November 30, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4060
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4114
#, no-wrap
msgid "9.0-CURRENT after the introduction of Serial Management Protocol (SMP) passthrough and the XPT_SMP_IO and XPT_GDEV_ADVINFO CAM `CCBs`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4061
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4115
#, no-wrap
msgid "900027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4116
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216212[216212]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4117
#, no-wrap
msgid "December 5, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4065
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4119
#, no-wrap
msgid "9.0-CURRENT after the addition of log2 to libm."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4120
#, no-wrap
msgid "900028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4121
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216615[216615]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4122
#, no-wrap
msgid "December 21, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4124
#, no-wrap
msgid "9.0-CURRENT after the addition of the Hhook (Helper Hook), Khelp (Kernel Helpers) and Object Specific Data (OSD) KPIs."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4125
#, no-wrap
msgid "900029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4126
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216758[216758]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4127
#, no-wrap
msgid "December 28, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4075
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4129
#, no-wrap
msgid "9.0-CURRENT after the modification of the TCP stack to allow Khelp modules to interact with it via helper hook points and store per-connection data in the TCP control block."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4076
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4130
#, no-wrap
msgid "900030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4131
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/217309[217309]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4132
#, no-wrap
msgid "January 12, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4080
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4134
#, no-wrap
msgid "9.0-CURRENT after the update of libdialog to version 20100428."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4135
#, no-wrap
msgid "900031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4136
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/218414[218414]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4083
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4137
#, no-wrap
msgid "February 7, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4085
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4139
#, no-wrap
msgid "9.0-CURRENT after the addition of man:pthread_getthreadid_np[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4140
#, no-wrap
msgid "900032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4141
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/218425[218425]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4088
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4142
#, no-wrap
msgid "February 8, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4090
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4144
#, no-wrap
msgid "9.0-CURRENT after the removal of the `uio_yield` prototype and symbol."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4091
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4145
#, no-wrap
msgid "900033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4092
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4146
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/218822[218822]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4147
#, no-wrap
msgid "February 18, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4095
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4149
#, no-wrap
msgid "9.0-CURRENT after the update of binutils to version 2.17.50."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4150
#, no-wrap
msgid "900034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4151
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/219406[219406]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4152
#, no-wrap
msgid "March 8, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4154
#, no-wrap
msgid "9.0-CURRENT after the struct `sysvec` (`sv_schedtail`) changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4155
#, no-wrap
msgid "900035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4102
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4156
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/220150[220150]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4103
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4157
#, no-wrap
msgid "March 29, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4159
#, no-wrap
msgid "9.0-CURRENT after the update of base gcc and libstdc++ to the last GPLv2 licensed revision."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4160
#, no-wrap
msgid "900036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4161
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/220770[220770]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4162
#, no-wrap
msgid "April 18, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4110
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4164
#, no-wrap
msgid "9.0-CURRENT after the removal of libobjc and Objective-C support from the base system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4165
#, no-wrap
msgid "900037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4166
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/221862[221862]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4167
#, no-wrap
msgid "May 13, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4115
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4169
#, no-wrap
msgid "9.0-CURRENT after importing the man:libprocstat[3] library and man:fuser[1] utility to the base system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4170
#, no-wrap
msgid "900038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4171
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222167[222167]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4172
#, no-wrap
msgid "May 22, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4174
#, no-wrap
msgid "9.0-CURRENT after adding a lock flag argument to man:VFS_FHTOVP[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4121
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4175
#, no-wrap
msgid "900039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4176
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/223637[223637]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4177
#, no-wrap
msgid "June 28, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4125
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4179
#, no-wrap
msgid "9.0-CURRENT after importing pf from OpenBSD 4.5."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4126
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4180
#, no-wrap
msgid "900040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4181
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/224217[224217]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4128
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5077
#, no-wrap
msgid "July 19, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4130
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4184
#, no-wrap
msgid "Increase default MAXCPU for FreeBSD to 64 on amd64 and ia64 and to 128 for XLP (mips)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4185
#, no-wrap
msgid "900041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4186
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/224834[224834]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4187
#, no-wrap
msgid "August 13, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4135
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4189
#, no-wrap
msgid "9.0-CURRENT after the implementation of Capsicum capabilities; man:fget[9] gains a rights argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4190
#, no-wrap
msgid "900042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4137
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4142
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4196
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/225350[225350]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4138
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4192
#, no-wrap
msgid "August 28, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4194
#, no-wrap
msgid "Bump shared libraries' version numbers for libraries whose ABI has changed in preparation for 9.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4195
#, no-wrap
msgid "900043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4197
#, no-wrap
msgid "September 2, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4199
#, no-wrap
msgid "Add automatic detection of USB mass storage devices which do not support the no synchronize cache SCSI command."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4200
#, no-wrap
msgid "900044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4201
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/225469[225469]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4148
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5087
#, no-wrap
msgid "September 10, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4204
#, no-wrap
msgid "Re-factor auto-quirk. 9.0-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4205
#, no-wrap
msgid "900045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4206
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/229285[229285]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4153
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4212
#, no-wrap
msgid "January 2, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4209
#, no-wrap
msgid "9-STABLE after MFC of true/false from 1000002."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4210
#, no-wrap
msgid "900500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4211
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/229318[229318]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4160
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4214
#, no-wrap
msgid "9.0-STABLE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4215
#, no-wrap
msgid "900501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4216
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/229723[229723]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4163
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5102
#, no-wrap
msgid "January 6, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4165
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4219
#, no-wrap
msgid "9.0-STABLE after merging of addition of the man:posix_fadvise[2] system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4220
#, no-wrap
msgid "900502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4221
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/230237[230237]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4224
#, no-wrap
msgid "9.0-STABLE after merging gperf 3.0.3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4225
#, no-wrap
msgid "900503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4226
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/231768[231768]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4173
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5112
#, no-wrap
msgid "February 15, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4229
#, no-wrap
msgid "9.0-STABLE after introduction of the new extensible man:sysctl[3] interface NET_RT_IFLISTL to query address lists."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4230
#, no-wrap
msgid "900504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4231
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/232728[232728]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4178
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5063
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4232
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5122
#, no-wrap
msgid "March 3, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4180
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4234
#, no-wrap
msgid "9.0-STABLE after changes related to mounting of filesystem inside a jail."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4235
#, no-wrap
msgid "900505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4236
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/232945[232945]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4237
#, no-wrap
msgid "March 13, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4239
#, no-wrap
msgid "9.0-STABLE after introduction of new man:tcp[4] socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4186
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4240
#, no-wrap
msgid "900506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4241
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/235786[235786]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4244
#, no-wrap
msgid "9.0-STABLE after introduction of the `quick_exit` function and related changes required for C++11."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4245
#, no-wrap
msgid "901000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4246
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/239082[239082]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4247
#, no-wrap
msgid "August 5, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4249
#, no-wrap
msgid "9.1-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4250
#, no-wrap
msgid "901500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4251
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/239081[239081]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4252
#, no-wrap
msgid "August 6, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4254
#, no-wrap
msgid "9.1-STABLE after branching releng/9.1 (RELENG_9_1)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4255
#, no-wrap
msgid "901501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4256
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/240659[240659]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4203
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4257
#, no-wrap
msgid "November 11, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4259
#, no-wrap
msgid "9.1-STABLE after man:LIST_PREV[3] added to queue.h (rev link:https://svnweb.freebsd.org/changeset/base/242893[242893]) and KBI change in USB serial devices."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4260
#, no-wrap
msgid "901502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4261
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/243656[243656]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4262
#, no-wrap
msgid "November 28, 2012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4210
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4264
#, no-wrap
msgid "9.1-STABLE after USB serial jitter buffer requires rebuild of USB serial device modules."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4265
#, no-wrap
msgid "901503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4266
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/247090[247090]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4213
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5127
#, no-wrap
msgid "February 21, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4269
#, no-wrap
msgid "9.1-STABLE after USB moved to the driver structure requiring a rebuild of all USB modules. Also indicates the presence of nmtree."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4270
#, no-wrap
msgid "901504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4271
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/248338[248338]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4272
#, no-wrap
msgid "March 15, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4274
#, no-wrap
msgid "9.1-STABLE after install gained -l, -M, -N and related flags and cat gained the -l option."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4275
#, no-wrap
msgid "901505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4276
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/251687[251687]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4277
#, no-wrap
msgid "June 13, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4225
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4279
#, no-wrap
msgid "9.1-STABLE after fixes in `ctfmerge` bootstrapping (rev link:https://svnweb.freebsd.org/changeset/base/249243[249243])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4280
#, no-wrap
msgid "902001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4281
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253912[253912]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4282
#, no-wrap
msgid "August 3, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4230
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4284
#, no-wrap
msgid "`releng/9.2` branched from `stable/9`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4285
#, no-wrap
msgid "902501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4232
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4286
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/253913[253913]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4287
#, no-wrap
msgid "August 2, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4235
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4289
#, no-wrap
msgid "9.2-STABLE after creation of `releng/9.2` branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4290
#, no-wrap
msgid "902502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4237
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4291
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254938[254938]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4292
#, no-wrap
msgid "August 26, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4240
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4294
#, no-wrap
msgid "9.2-STABLE after inclusion of the `PIM_RESCAN` CAM path inquiry flag."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4295
#, no-wrap
msgid "902503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4296
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/254979[254979]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4297
#, no-wrap
msgid "August 27, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4245
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4299
#, no-wrap
msgid "9.2-STABLE after inclusion of the `SI_UNMAPPED` cdev flag."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4300
#, no-wrap
msgid "902504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4301
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/256917[256917]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4250
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4304
#, no-wrap
msgid "9.2-STABLE after inclusion of support for \"first boot\" man:rc[8] scripts."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4305
#, no-wrap
msgid "902505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4252
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4306
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259448[259448]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4307
#, no-wrap
msgid "December 12, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4255
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4309
#, no-wrap
msgid "9.2-STABLE after Heimdal encoding fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4310
#, no-wrap
msgid "902506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4311
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/260136[260136]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4260
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4314
#, no-wrap
msgid "9-STABLE after MAP_STACK fixes (rev link:https://svnweb.freebsd.org/changeset/base/260082[260082])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4315
#, no-wrap
msgid "902507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4265
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4319
#, no-wrap
msgid "9-STABLE after upgrade of libc++ to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4320
#, no-wrap
msgid "902508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4321
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263171[263171]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4270
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4324
#, no-wrap
msgid "9-STABLE after merge of the Radeon KMS driver (rev link:https://svnweb.freebsd.org/changeset/base/263170[263170])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4325
#, no-wrap
msgid "902509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4326
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263509[263509]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4275
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4329
#, no-wrap
msgid "9-STABLE after upgrade of llvm/clang to 3.4 release."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4330
#, no-wrap
msgid "902510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4331
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/263818[263818]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4278
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4337
#, no-wrap
msgid "March 27, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4280
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4334
#, no-wrap
msgid "9-STABLE after merge of the man:vt[4] driver."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4335
#, no-wrap
msgid "902511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4339
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:06.openssl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4340
#, no-wrap
msgid "902512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4287
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5092
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5146
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/265123[265123]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4290
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4344
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:08.tcp."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4345
#, no-wrap
msgid "903000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4346
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/267656[267656]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4293
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4352
#, no-wrap
msgid "June 20, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4295
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4349
#, no-wrap
msgid "9-RC1 `releng/9.3` branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4296
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4350
#, no-wrap
msgid "903500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4351
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/267657[267657]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4300
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4354
#, no-wrap
msgid "9.3-STABLE `releng/9.3` branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4355
#, no-wrap
msgid "903501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4356
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268443[268443]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4305
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4359
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:17.kmem (rev link:https://svnweb.freebsd.org/changeset/base/268433[268433])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4360
#, no-wrap
msgid "903502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4361
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/270175[270175]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4362
#, no-wrap
msgid "August 19, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4310
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4364
#, no-wrap
msgid "9-STABLE after `SOCK_DGRAM` bug fix (rev link:https://svnweb.freebsd.org/changeset/base/269789[269789])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4365
#, no-wrap
msgid "903503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4315
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4369
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:18 (rev link:https://svnweb.freebsd.org/changeset/base/269687[269687])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4316
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4370
#, no-wrap
msgid "903504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4320
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4374
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:19 (rev link:https://svnweb.freebsd.org/changeset/base/271668[271668])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4375
#, no-wrap
msgid "903505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4325
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4379
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:20, FreeBSD-SA-14:21, and FreeBSD-SA-14:22 (rev link:https://svnweb.freebsd.org/changeset/base/273412[273412])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4380
#, no-wrap
msgid "903506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4330
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4384
#, no-wrap
msgid "9-STABLE after FreeBSD-SA-14:23, FreeBSD-SA-14:24, and FreeBSD-SA-14:25."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4385
#, no-wrap
msgid "903507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4335
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4389
#, no-wrap
msgid "9-STABLE after merging an important fix to the LLVM vectorizer, which could lead to buffer overruns in some cases."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4390
#, no-wrap
msgid "903508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4396
#, no-wrap
msgid ""
"9-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind.\n"
"pass:[<!-- vale Vale.Terms = YES -->]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4397
#, no-wrap
msgid "903509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4344
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4398
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/296219[296219]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4345
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4399
#, no-wrap
msgid "February 29, 2016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4401
#, no-wrap
msgid "9-STABLE after bumping the default value of `compat.linux.osrelease` to `2.6.18` to support the linux-c6-* ports out of the box."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4402
#, no-wrap
msgid "903510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4349
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4403
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/300236[300236]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4406
#, no-wrap
msgid "9-STABLE after System Binary Interface (SBI) page was moved in latest version of Berkeley Boot Loader (BBL) due to code size increase in link:https://svnweb.freebsd.org/changeset/base/300234[300234]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4407
#, no-wrap
msgid "903511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4354
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4408
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305735[305735]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4410
#, no-wrap
msgid "9-STABLE after resolving a deadlock between `device_detach()` and man:usbd_do_request_flags[9]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4359
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4413
#, no-wrap
msgid "FreeBSD 8 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4416
#, no-wrap
msgid "FreeBSD 8 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4425
#, no-wrap
msgid "800000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4426
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172531[172531]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4427
#, no-wrap
msgid "October 11, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4375
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4429
#, no-wrap
msgid "8.0-CURRENT. Separating wide and single byte `ctype`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4430
#, no-wrap
msgid "800001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4431
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172688[172688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4432
#, no-wrap
msgid "October 16, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4380
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4434
#, no-wrap
msgid "8.0-CURRENT after libpcap 0.9.8 and tcpdump 3.9.8 import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4435
#, no-wrap
msgid "800002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4436
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172841[172841]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4383
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4437
#, no-wrap
msgid "October 21, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4439
#, no-wrap
msgid "8.0-CURRENT after renaming man:kthread_create[9] and friends to man:kproc_create[9] etc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4386
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4440
#, no-wrap
msgid "800003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4441
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172932[172932]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4442
#, no-wrap
msgid "October 24, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4390
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4444
#, no-wrap
msgid "8.0-CURRENT after ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was added, which required the ABI of the PCIOCGETCONF IOCTL to be broken again"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4445
#, no-wrap
msgid "800004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4446
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173573[173573]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4447
#, no-wrap
msgid "November 12, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4395
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4449
#, no-wrap
msgid "8.0-CURRENT after man:agp[4] driver moved from src/sys/pci to src/sys/dev/agp"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4396
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4450
#, no-wrap
msgid "800005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4451
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174261[174261]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4452
#, no-wrap
msgid "December 4, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4454
#, no-wrap
msgid "8.0-CURRENT after changes to the jumbo frame allocator (rev link:https://svnweb.freebsd.org/changeset/base/174247[174247])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4401
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4455
#, no-wrap
msgid "800006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4456
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174399[174399]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4403
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6005
#, no-wrap
msgid "December 7, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4459
#, no-wrap
msgid "8.0-CURRENT after the addition of `callgraph` capture functionality to man:hwpmc[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4406
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4460
#, no-wrap
msgid "800007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4461
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174901[174901]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4462
#, no-wrap
msgid "December 25, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4410
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4464
#, no-wrap
msgid "8.0-CURRENT after `kdb_enter()` gains a \"why\" argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4411
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4465
#, no-wrap
msgid "800008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4466
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174951[174951]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4467
#, no-wrap
msgid "December 28, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4415
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4469
#, no-wrap
msgid "8.0-CURRENT after LK_EXCLUPGRADE option removal."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4470
#, no-wrap
msgid "800009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4471
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175168[175168]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4472
#, no-wrap
msgid "January 9, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4474
#, no-wrap
msgid "8.0-CURRENT after introduction of man:lockmgr_disown[9]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4475
#, no-wrap
msgid "800010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4476
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175204[175204]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4477
#, no-wrap
msgid "January 10, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4425
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4479
#, no-wrap
msgid "8.0-CURRENT after the man:vn_lock[9] prototype change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4480
#, no-wrap
msgid "800011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4427
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4481
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175295[175295]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4482
#, no-wrap
msgid "January 13, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4430
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4484
#, no-wrap
msgid "8.0-CURRENT after the man:VOP_LOCK[9] and man:VOP_UNLOCK[9] prototype changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4431
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4485
#, no-wrap
msgid "800012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4486
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175487[175487]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4487
#, no-wrap
msgid "January 19, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4435
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4489
#, no-wrap
msgid "8.0-CURRENT after introduction of man:lockmgr_recursed[9], man:BUF_RECURSED[9] and man:BUF_ISLOCKED[9] and the removal of `BUF_REFCNT()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4436
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4490
#, no-wrap
msgid "800013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4491
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175581[175581]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4492
#, no-wrap
msgid "January 23, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4440
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4494
#, no-wrap
msgid "8.0-CURRENT after introduction of the \"ASCII\" encoding."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4495
#, no-wrap
msgid "800014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4442
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4496
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175636[175636]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4497
#, no-wrap
msgid "January 24, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4499
#, no-wrap
msgid "8.0-CURRENT after changing the prototype of man:lockmgr[9] and removal of `lockcount()` and `LOCKMGR_ASSERT()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4446
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4500
#, no-wrap
msgid "800015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4447
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4501
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175688[175688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4502
#, no-wrap
msgid "January 26, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4504
#, no-wrap
msgid "8.0-CURRENT after extending the types of the man:fts[3] structures."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4505
#, no-wrap
msgid "800016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4506
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/175872[175872]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4453
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4507
#, no-wrap
msgid "February 1, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4455
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4509
#, no-wrap
msgid "8.0-CURRENT after adding an argument to man:MEXTADD[9]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4510
#, no-wrap
msgid "800017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4511
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176015[176015]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4512
#, no-wrap
msgid "February 6, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4460
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4514
#, no-wrap
msgid "8.0-CURRENT after the introduction of LK_NODUP and LK_NOWITNESS options in the man:lockmgr[9] space."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4461
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4515
#, no-wrap
msgid "800018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4516
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176112[176112]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4463
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5492
#, no-wrap
msgid "February 8, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4465
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4519
#, no-wrap
msgid "8.0-CURRENT after the addition of `m_collapse`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4466
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4520
#, no-wrap
msgid "800019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4467
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4521
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176124[176124]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4468
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4522
#, no-wrap
msgid "February 9, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4470
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4524
#, no-wrap
msgid "8.0-CURRENT after the addition of current working directory, root directory, and jail directory support to the kern.proc.filedesc sysctl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4471
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4525
#, no-wrap
msgid "800020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4526
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176251[176251]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4527
#, no-wrap
msgid "February 13, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4475
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4529
#, no-wrap
msgid "8.0-CURRENT after introduction of man:lockmgr_assert[9] and `BUF_ASSERT` functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4476
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4530
#, no-wrap
msgid "800021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4531
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176321[176321]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4478
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4532
#, no-wrap
msgid "February 15, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4480
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4534
#, no-wrap
msgid "8.0-CURRENT after introduction of man:lockmgr_args[9] and LK_INTERNAL flag removal."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4481
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4535
#, no-wrap
msgid "800022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4536
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176556[176556]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4537
#, no-wrap
msgid "(backed out)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4485
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4539
#, no-wrap
msgid "8.0-CURRENT after changing the default system ar to BSD man:ar[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4540
#, no-wrap
msgid "800023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4541
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176560[176560]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4488
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4542
#, no-wrap
msgid "February 25, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4490
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4544
#, no-wrap
msgid "8.0-CURRENT after changing the prototypes of man:lockstatus[9] and man:VOP_ISLOCKED[9];, more specifically retiring the `struct thread` argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4545
#, no-wrap
msgid "800024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4546
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176709[176709]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4547
#, no-wrap
msgid "March 1, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4549
#, no-wrap
msgid "8.0-CURRENT after axing out the `lockwaiters` and `BUF_LOCKWAITERS` functions, changing the return value of `brelvp` from void to int and introducing new flags for man:lockinit[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4550
#, no-wrap
msgid "800025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4551
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176958[176958]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4552
#, no-wrap
msgid "March 8, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4500
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4554
#, no-wrap
msgid "8.0-CURRENT after adding F_DUP2FD command to man:fcntl[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4555
#, no-wrap
msgid "800026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4556
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177086[177086]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4557
#, no-wrap
msgid "March 12, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4505
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4559
#, no-wrap
msgid "8.0-CURRENT after changing the priority parameter to `cv_broadcastpri` such that 0 means no priority."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4560
#, no-wrap
msgid "800027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4561
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177551[177551]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4562
#, no-wrap
msgid "March 24, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4510
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4564
#, no-wrap
msgid "8.0-CURRENT after changing the bpf monitoring ABI when `zerocopy` bpf buffers were added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4565
#, no-wrap
msgid "800028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4566
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177637[177637]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4513
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4567
#, no-wrap
msgid "March 26, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4515
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4569
#, no-wrap
msgid "8.0-CURRENT after adding `l_sysid` to struct flock."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4570
#, no-wrap
msgid "800029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4571
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177688[177688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4572
#, no-wrap
msgid "March 28, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4574
#, no-wrap
msgid "8.0-CURRENT after reintegration of the `BUF_LOCKWAITERS` function and the addition of man:lockmgr_waiters[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4575
#, no-wrap
msgid "800030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4576
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177844[177844]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4577
#, no-wrap
msgid "April 1, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4525
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4579
#, no-wrap
msgid "8.0-CURRENT after the introduction of the man:rw_try_rlock[9] and man:rw_try_wlock[9] functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4580
#, no-wrap
msgid "800031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4581
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177958[177958]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4582
#, no-wrap
msgid "April 6, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4530
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4584
#, no-wrap
msgid "8.0-CURRENT after the introduction of the `lockmgr_rw` and `lockmgr_args_rw` functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4585
#, no-wrap
msgid "800032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4586
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178006[178006]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4533
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4538
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4592
#, no-wrap
msgid "April 8, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4535
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4589
#, no-wrap
msgid "8.0-CURRENT after the implementation of the `openat` and related syscalls, introduction of the O_EXEC flag for the man:open[2], and providing the corresponding Linux compatibility syscalls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4590
#, no-wrap
msgid "800033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4591
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178017[178017]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4540
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4594
#, no-wrap
msgid "8.0-CURRENT after added man:write[2] support for man:psm[4] in native operation level. Now arbitrary commands can be written to [.filename]#/dev/psm%d# and status can be read back from it."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4595
#, no-wrap
msgid "800034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4596
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178051[178051]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4543
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5502
#, no-wrap
msgid "April 10, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4545
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4599
#, no-wrap
msgid "8.0-CURRENT after introduction of the `memrchr` function."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4600
#, no-wrap
msgid "800035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4601
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178256[178256]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4602
#, no-wrap
msgid "April 16, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4550
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4604
#, no-wrap
msgid "8.0-CURRENT after introduction of the `fdopendir` function."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4605
#, no-wrap
msgid "800036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4606
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178362[178362]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4553
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5468
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5522
#, no-wrap
msgid "April 20, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4555
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4609
#, no-wrap
msgid "8.0-CURRENT after switchover of 802.11 wireless to multi-bss support (aka `vaps`)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4610
#, no-wrap
msgid "800037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4611
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178892[178892]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4558
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4612
#, no-wrap
msgid "May 9, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4560
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4614
#, no-wrap
msgid "8.0-CURRENT after addition of multi routing table support (aka man:setfib[1], man:setfib[2])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4615
#, no-wrap
msgid "800038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4616
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/179316[179316]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4563
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4617
#, no-wrap
msgid "May 26, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4565
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4619
#, no-wrap
msgid "8.0-CURRENT after removal of `netatm` and ISDN4BSD. Also, the addition of the Compact C Type (CTF) tools."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4620
#, no-wrap
msgid "800039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4621
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/179784[179784]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4622
#, no-wrap
msgid "June 14, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4570
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4624
#, no-wrap
msgid "8.0-CURRENT after removal of `sgtty`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4625
#, no-wrap
msgid "800040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4626
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/180025[180025]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4573
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4627
#, no-wrap
msgid "June 26, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4575
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4629
#, no-wrap
msgid "8.0-CURRENT with kernel NFS `lockd` client."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4630
#, no-wrap
msgid "800041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4631
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/180691[180691]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4632
#, no-wrap
msgid "July 22, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4580
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4634
#, no-wrap
msgid "8.0-CURRENT after addition of man:arc4random_buf[3] and man:arc4random_uniform[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4635
#, no-wrap
msgid "800042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4582
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4636
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181439[181439]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4637
#, no-wrap
msgid "August 8, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4585
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4639
#, no-wrap
msgid "8.0-CURRENT after addition of man:cpuctl[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4640
#, no-wrap
msgid "800043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4641
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181694[181694]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4588
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4642
#, no-wrap
msgid "August 13, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4590
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4644
#, no-wrap
msgid "8.0-CURRENT after changing man:bpf[4] to use a single device node, instead of device cloning."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4645
#, no-wrap
msgid "800044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4646
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181803[181803]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4647
#, no-wrap
msgid "August 17, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4595
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4649
#, no-wrap
msgid "8.0-CURRENT after the commit of the first step of the VIMAGE project renaming global variables to be virtualized with a `V_` prefix with macros to map them back to their global names."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4650
#, no-wrap
msgid "800045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4651
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181905[181905]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4598
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5488
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5542
#, no-wrap
msgid "August 20, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4600
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4654
#, no-wrap
msgid "8.0-CURRENT after the integration of the MPSAFE TTY layer, including changes to various drivers and utilities that interact with it."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4601
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4655
#, no-wrap
msgid "800046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4656
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/182869[182869]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4603
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4657
#, no-wrap
msgid "September 8, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4659
#, no-wrap
msgid "8.0-CURRENT after the separation of the GDT per CPU on amd64 architecture."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4606
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4660
#, no-wrap
msgid "800047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4607
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4661
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/182905[182905]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4608
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4662
#, no-wrap
msgid "September 10, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4610
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4664
#, no-wrap
msgid "8.0-CURRENT after removal of VSVTX, VSGID and VSUID."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4611
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4665
#, no-wrap
msgid "800048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4612
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4666
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/183091[183091]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4613
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4667
#, no-wrap
msgid "September 16, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4615
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4669
#, no-wrap
msgid "8.0-CURRENT after converting the kernel NFS mount code to accept individual mount options in the man:nmount[2] `iovec`, not just one big struct nfs_args."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4670
#, no-wrap
msgid "800049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4617
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4671
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/183114[183114]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4672
#, no-wrap
msgid "September 17, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4674
#, no-wrap
msgid "8.0-CURRENT after the removal of man:suser[9] and man:suser_cred[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4675
#, no-wrap
msgid "800050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4622
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4676
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/184099[184099]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4623
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4677
#, no-wrap
msgid "October 20, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4679
#, no-wrap
msgid "8.0-CURRENT after buffer cache API change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4680
#, no-wrap
msgid "800051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4681
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/184205[184205]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4628
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4682
#, no-wrap
msgid "October 23, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4684
#, no-wrap
msgid "8.0-CURRENT after the removal of the man:MALLOC[9] and man:FREE[9] macros."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4685
#, no-wrap
msgid "800052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4686
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/184419[184419]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4633
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4687
#, no-wrap
msgid "October 28, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4689
#, no-wrap
msgid "8.0-CURRENT after the introduction of `accmode_t` and renaming of VOP_ACCESS `a_mode` argument to `a_accmode`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4690
#, no-wrap
msgid "800053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4637
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4691
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/184555[184555]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4638
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4692
#, no-wrap
msgid "November 2, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4640
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4694
#, no-wrap
msgid "8.0-CURRENT after the prototype change of man:vfs_busy[9] and the introduction of its MBF_NOWAIT and MBF_MNTLSTLOCK flags."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4695
#, no-wrap
msgid "800054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4696
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185162[185162]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4643
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4697
#, no-wrap
msgid "November 22, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4645
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4699
#, no-wrap
msgid "8.0-CURRENT after the addition of `buf_ring`, memory barriers and ifnet functions to facilitate multiple hardware transmit queues for cards that support them, and a lockless ring-buffer implementation to enable drivers to more efficiently manage queuing of packets."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4700
#, no-wrap
msgid "800055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4647
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4701
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185363[185363]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4648
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4702
#, no-wrap
msgid "November 27, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4704
#, no-wrap
msgid "8.0-CURRENT after the addition of Intel(TM) Core, Core2, and Atom support to man:hwpmc[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4705
#, no-wrap
msgid "800056"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4706
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185435[185435]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4707
#, no-wrap
msgid "November 29, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4709
#, no-wrap
msgid "8.0-CURRENT after the introduction of multi-/no-IPv4/v6 jails."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4656
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4710
#, no-wrap
msgid "800057"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4711
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185522[185522]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4658
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4712
#, no-wrap
msgid "December 1, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4714
#, no-wrap
msgid "8.0-CURRENT after the switch to the ath `hal` source code."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4715
#, no-wrap
msgid "800058"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4662
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4716
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185968[185968]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4663
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4717
#, no-wrap
msgid "December 12, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4719
#, no-wrap
msgid "8.0-CURRENT after the introduction of the VOP_VPTOCNP operation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4720
#, no-wrap
msgid "800059"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4721
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/186119[186119]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4668
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4722
#, no-wrap
msgid "December 15, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4724
#, no-wrap
msgid "8.0-CURRENT incorporates the new arp-v2 rewrite."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4725
#, no-wrap
msgid "800060"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4726
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/186344[186344]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4727
#, no-wrap
msgid "December 19, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4729
#, no-wrap
msgid "8.0-CURRENT after the addition of makefs."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4730
#, no-wrap
msgid "800061"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4731
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/187289[187289]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4678
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4732
#, no-wrap
msgid "January 15, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4734
#, no-wrap
msgid "8.0-CURRENT after TCP Appropriate Byte Counting."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4735
#, no-wrap
msgid "800062"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4736
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/187830[187830]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4683
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4737
#, no-wrap
msgid "January 28, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4739
#, no-wrap
msgid "8.0-CURRENT after removal of `minor()`, `minor2unit()`, `unit2minor()`, etc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4740
#, no-wrap
msgid "800063"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4687
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4741
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/188745[188745]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4688
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4742
#, no-wrap
msgid "February 18, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4690
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4744
#, no-wrap
msgid "8.0-CURRENT after GENERIC config change to use the USB2 stack, but also the addition of man:fdevname[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4745
#, no-wrap
msgid "800064"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4746
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/188946[188946]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4693
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4747
#, no-wrap
msgid "February 23, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4695
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4749
#, no-wrap
msgid "8.0-CURRENT after the USB2 stack is moved to and replaces dev/usb."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4696
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4750
#, no-wrap
msgid "800065"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4751
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189092[189092]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4698
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4752
#, no-wrap
msgid "February 26, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4754
#, no-wrap
msgid "8.0-CURRENT after the renaming of all functions in man:libmp[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4701
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4755
#, no-wrap
msgid "800066"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4756
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189110[189110]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4703
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4757
#, no-wrap
msgid "February 27, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4759
#, no-wrap
msgid "8.0-CURRENT after changing USB devfs handling and layout."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4760
#, no-wrap
msgid "800067"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4761
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189136[189136]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4708
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4762
#, no-wrap
msgid "February 28, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4764
#, no-wrap
msgid "8.0-CURRENT after adding `getdelim()`, `getline()`, `stpncpy()`, `strnlen()`, `wcsnlen()`, `wcscasecmp()`, and `wcsncasecmp()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4711
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4765
#, no-wrap
msgid "800068"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4766
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189276[189276]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4713
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4767
#, no-wrap
msgid "March 2, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4769
#, no-wrap
msgid "8.0-CURRENT after renaming the `ushub` devclass to `uhub`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4770
#, no-wrap
msgid "800069"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4771
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189585[189585]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4718
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4723
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4777
#, no-wrap
msgid "March 9, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4720
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4774
#, no-wrap
msgid "8.0-CURRENT after libusb20.so.1 was renamed to libusb.so.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4721
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4775
#, no-wrap
msgid "800070"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4776
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189592[189592]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4779
#, no-wrap
msgid "8.0-CURRENT after merging IGMPv3 and Source-Specific Multicast (SSM) to the IPv4 stack."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4780
#, no-wrap
msgid "800071"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4781
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189825[189825]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4728
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5587
#, no-wrap
msgid "March 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4784
#, no-wrap
msgid "8.0-CURRENT after gcc was patched to use C99 inline semantics in c99 and gnu99 mode."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4731
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4785
#, no-wrap
msgid "800072"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4786
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189853[189853]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4733
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4787
#, no-wrap
msgid "March 15, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4735
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4789
#, no-wrap
msgid "8.0-CURRENT after the IFF_NEEDSGIANT flag has been removed; non-MPSAFE network device drivers are no longer supported."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4736
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4790
#, no-wrap
msgid "800073"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4791
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/190265[190265]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4738
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4792
#, no-wrap
msgid "March 18, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4794
#, no-wrap
msgid "8.0-CURRENT after the dynamic string token substitution has been implemented for rpath and needed paths."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4795
#, no-wrap
msgid "800074"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4796
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/190373[190373]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4797
#, no-wrap
msgid "March 24, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4745
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4799
#, no-wrap
msgid "8.0-CURRENT after tcpdump 4.0.0 and libpcap 1.0.0 import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4746
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4800
#, no-wrap
msgid "800075"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4801
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/190787[190787]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4748
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4802
#, no-wrap
msgid "April 6, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4804
#, no-wrap
msgid "8.0-CURRENT after layout of structs vnet_net, vnet_inet and vnet_ipfw has been changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4751
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4805
#, no-wrap
msgid "800076"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4752
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4806
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/190866[190866]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4753
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4807
#, no-wrap
msgid "April 9, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4809
#, no-wrap
msgid "8.0-CURRENT after adding delay profiles in dummynet."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4756
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4810
#, no-wrap
msgid "800077"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4811
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/190914[190914]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4758
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4812
#, no-wrap
msgid "April 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4814
#, no-wrap
msgid "8.0-CURRENT after removing `VOP_LEASE()` and vop_vector.vop_lease."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4761
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4815
#, no-wrap
msgid "800078"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4816
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191080[191080]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4763
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4768
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4773
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5538
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5543
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5597
#, no-wrap
msgid "April 15, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4819
#, no-wrap
msgid "8.0-CURRENT after struct `rt_weight` fields have been added to struct `rt_metrics` and struct `rt_metrics_lite`, changing the layout of struct `rt_metrics_lite`. A bump to RTM_VERSION was made, but backed out."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4766
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4820
#, no-wrap
msgid "800079"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4821
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191117[191117]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4824
#, no-wrap
msgid "8.0-CURRENT after struct `llentry` pointers are added to struct route and struct route_in6."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4771
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4825
#, no-wrap
msgid "800080"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4826
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191126[191126]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4829
#, no-wrap
msgid "8.0-CURRENT after layout of struct inpcb has been changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4776
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4830
#, no-wrap
msgid "800081"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4831
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191267[191267]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4778
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4832
#, no-wrap
msgid "April 19, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4780
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4834
#, no-wrap
msgid "8.0-CURRENT after the layout of struct `malloc_type` has been changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4781
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4835
#, no-wrap
msgid "800082"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4836
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191368[191368]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4837
#, no-wrap
msgid "April 21, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4785
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4839
#, no-wrap
msgid "8.0-CURRENT after the layout of struct ifnet has changed, and with `if_ref()` and `if_rele()` ifnet `refcounting`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4786
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4840
#, no-wrap
msgid "800083"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4787
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4841
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191389[191389]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4842
#, no-wrap
msgid "April 22, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4844
#, no-wrap
msgid "8.0-CURRENT after the implementation of a low-level Bluetooth HCI API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4791
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4845
#, no-wrap
msgid "800084"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4846
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191672[191672]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4793
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4847
#, no-wrap
msgid "April 29, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4849
#, no-wrap
msgid "8.0-CURRENT after IPv6 SSM and MLDv2 changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4796
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4850
#, no-wrap
msgid "800085"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4851
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191688[191688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4798
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4852
#, no-wrap
msgid "April 30, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4800
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4854
#, no-wrap
msgid "8.0-CURRENT after enabling support for VIMAGE kernel builds with one active image."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4801
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4855
#, no-wrap
msgid "800086"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4856
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191910[191910]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4803
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4857
#, no-wrap
msgid "May 8, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4805
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4859
#, no-wrap
msgid "8.0-CURRENT after adding support for input lines of arbitrarily length in man:patch[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4806
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4860
#, no-wrap
msgid "800087"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4861
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191990[191990]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4808
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4862
#, no-wrap
msgid "May 11, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4810
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4864
#, no-wrap
msgid "8.0-CURRENT after some VFS KPI changes. The thread argument has been removed from the FSD parts of the VFS. `VFS_*` functions do not need the context any more because it always refers to `curthread`. In some special cases, the old behavior is retained."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4811
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4865
#, no-wrap
msgid "800088"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4866
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/192470[192470]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4813
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4867
#, no-wrap
msgid "May 20, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4815
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4869
#, no-wrap
msgid "8.0-CURRENT after net80211 monitor mode changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4816
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4870
#, no-wrap
msgid "800089"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4817
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4871
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/192649[192649]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4818
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4823
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4877
#, no-wrap
msgid "May 23, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4820
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4874
#, no-wrap
msgid "8.0-CURRENT after adding UDP control block support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4821
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4875
#, no-wrap
msgid "800090"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4876
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/192669[192669]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4879
#, no-wrap
msgid "8.0-CURRENT after virtualizing interface cloning."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4826
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4880
#, no-wrap
msgid "800091"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4881
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/192895[192895]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4828
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4882
#, no-wrap
msgid "May 27, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4884
#, no-wrap
msgid "8.0-CURRENT after adding hierarchical jails and removing global securelevel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4831
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4885
#, no-wrap
msgid "800092"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4886
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193011[193011]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4833
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4838
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4892
#, no-wrap
msgid "May 29, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4889
#, no-wrap
msgid "8.0-CURRENT after changing `sx_init_flags()` KPI. The `SX_ADAPTIVESPIN` is retired and a new `SX_NOADAPTIVE` flag is introduced to handle the reversed logic."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4890
#, no-wrap
msgid "800093"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4837
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4891
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193047[193047]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4894
#, no-wrap
msgid "8.0-CURRENT after adding `mnt_xflag` to struct mount."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4841
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4895
#, no-wrap
msgid "800094"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4896
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193093[193093]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4843
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4848
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4902
#, no-wrap
msgid "May 30, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4845
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4899
#, no-wrap
msgid "8.0-CURRENT after adding man:VOP_ACCESSX[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4846
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4900
#, no-wrap
msgid "800095"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4901
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193096[193096]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4850
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4904
#, no-wrap
msgid "8.0-CURRENT after changing the polling KPI. The polling handlers now return the number of packets processed. A new `IFCAP_POLLING_NOCOUNT` is also introduced to specify that the return value is not significant and the counting should be skipped."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4851
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4905
#, no-wrap
msgid "800096"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4852
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4906
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193219[193219]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4907
#, no-wrap
msgid "June 1, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4909
#, no-wrap
msgid "8.0-CURRENT after updating to the new netisr implementation and after changing the way of storing and accessing FIBs."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4856
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4910
#, no-wrap
msgid "800097"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4911
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193731[193731]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4858
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4912
#, no-wrap
msgid "June 8, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4914
#, no-wrap
msgid "8.0-CURRENT after the introduction of vnet destructor hooks and infrastructure."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4916
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/194012[194012]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4863
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4917
#, no-wrap
msgid "June 11, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4919
#, no-wrap
msgid "8.0-CURRENT after the introduction of netgraph outbound to inbound path call detection and queuing, which also changed the layout of struct thread."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4866
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4920
#, no-wrap
msgid "800098"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4921
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/194210[194210]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4868
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4922
#, no-wrap
msgid "June 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4870
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4924
#, no-wrap
msgid "8.0-CURRENT after OpenSSL 0.9.8k import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4871
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4925
#, no-wrap
msgid "800099"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4926
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/194675[194675]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4873
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4927
#, no-wrap
msgid "June 22, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4929
#, no-wrap
msgid "8.0-CURRENT after NGROUPS update and moving route virtualization into its own VImage module."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4876
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4930
#, no-wrap
msgid "800100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4931
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/194920[194920]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4932
#, no-wrap
msgid "June 24, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4880
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4934
#, no-wrap
msgid "8.0-CURRENT after SYSVIPC ABI change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4881
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4935
#, no-wrap
msgid "800101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4936
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195175[195175]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4883
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4937
#, no-wrap
msgid "June 29, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4885
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4939
#, no-wrap
msgid "8.0-CURRENT after the removal of the /dev/net/* per-interface character devices."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4886
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4940
#, no-wrap
msgid "800102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4941
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195634[195634]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4888
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4942
#, no-wrap
msgid "July 12, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4890
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4944
#, no-wrap
msgid "8.0-CURRENT after padding was added to struct `sackhint`, struct tcpcb, and struct `tcpstat`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4945
#, no-wrap
msgid "800103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4946
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195654[195654]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4947
#, no-wrap
msgid "July 13, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4895
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4949
#, no-wrap
msgid "8.0-CURRENT after replacing struct `tcpopt` with struct `toeopt` in the TOE driver interface to the TCP `syncache`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4896
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4950
#, no-wrap
msgid "800104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4951
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195699[195699]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4898
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5563
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5617
#, no-wrap
msgid "July 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4900
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4954
#, no-wrap
msgid "8.0-CURRENT after the addition of the linker-set based per-vnet allocator."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4901
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4955
#, no-wrap
msgid "800105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4956
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195767[195767]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4957
#, no-wrap
msgid "July 19, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4959
#, no-wrap
msgid "8.0-CURRENT after version bump for all shared libraries that do not have symbol versioning turned on."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4960
#, no-wrap
msgid "800106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4961
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195852[195852]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4908
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4962
#, no-wrap
msgid "July 24, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4964
#, no-wrap
msgid "8.0-CURRENT after introduction of OBJT_SG VM object type."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4965
#, no-wrap
msgid "800107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4912
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4966
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/196037[196037]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4913
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4967
#, no-wrap
msgid "August 2, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4969
#, no-wrap
msgid "8.0-CURRENT after making the newbus subsystem Giant free by adding the newbus `sxlock` and 8.0-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4916
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4970
#, no-wrap
msgid "800108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4971
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/199627[199627]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4918
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4972
#, no-wrap
msgid "November 21, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4920
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4974
#, no-wrap
msgid "8.0-STABLE after implementing EVFILT_USER `kevent` filter."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4921
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4975
#, no-wrap
msgid "800500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4922
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4976
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/201749[201749]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4923
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4977
#, no-wrap
msgid "January 7, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4925
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4979
#, no-wrap
msgid "8.0-STABLE after `__FreeBSD_version` bump to make `pkg_add -r` use packages-8-stable."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4980
#, no-wrap
msgid "800501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4981
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/202922[202922]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4982
#, no-wrap
msgid "January 24, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4930
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4984
#, no-wrap
msgid "8.0-STABLE after change of the man:scandir[3] and man:alphasort[3] prototypes to conform to SUSv4."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4931
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4985
#, no-wrap
msgid "800502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4932
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4986
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/203299[203299]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4933
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4987
#, no-wrap
msgid "January 31, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4989
#, no-wrap
msgid "8.0-STABLE after addition of man:sigpause[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4990
#, no-wrap
msgid "800503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4937
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4991
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/204344[204344]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4938
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4992
#, no-wrap
msgid "February 25, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4940
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4994
#, no-wrap
msgid "8.0-STABLE after addition of SIOCGIFDESCR and SIOCSIFDESCR ioctls to network interfaces. These ioctl can be used to manipulate interface description, as inspired by OpenBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4941
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4995
#, no-wrap
msgid "800504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4996
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/204546[204546]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4943
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4997
#, no-wrap
msgid "March 1, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4945
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4999
#, no-wrap
msgid "8.0-STABLE after MFC of importing x86emu, a software emulator for real mode x86 CPU from OpenBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5000
#, no-wrap
msgid "800505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4947
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5001
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/208259[208259]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5002
#, no-wrap
msgid "May 18, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5004
#, no-wrap
msgid "8.0-STABLE after MFC of adding liblzma, xz, xzdec, and lzmainfo."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5005
#, no-wrap
msgid "801000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4952
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5006
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/209150[209150]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4953
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4958
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5012
#, no-wrap
msgid "June 14, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5009
#, no-wrap
msgid "8.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5010
#, no-wrap
msgid "801500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5011
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/209146[209146]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5014
#, no-wrap
msgid "8.1-STABLE after 8.1-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5015
#, no-wrap
msgid "801501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5016
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/214762[214762]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5017
#, no-wrap
msgid "November 3, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4965
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5019
#, no-wrap
msgid "8.1-STABLE after KBI change in struct `sysentvec`, and implementation of PL_FLAG_SCE/SCX/EXEC/SI and `pl_siginfo` for ptrace(PT_LWPINFO) ."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5020
#, no-wrap
msgid "802000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4967
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5021
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216639[216639]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4968
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4973
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5588
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5647
#, no-wrap
msgid "December 22, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4970
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5024
#, no-wrap
msgid "8.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4971
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5025
#, no-wrap
msgid "802500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4972
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5026
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216654[216654]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5029
#, no-wrap
msgid "8.2-STABLE after 8.2-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5030
#, no-wrap
msgid "802501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5031
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/219107[219107]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4978
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5032
#, no-wrap
msgid "February 28, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5034
#, no-wrap
msgid "8.2-STABLE after merging DTrace changes, including support for userland tracing."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4981
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5035
#, no-wrap
msgid "802502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5036
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/219324[219324]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5037
#, no-wrap
msgid "March 6, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4985
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5039
#, no-wrap
msgid "8.2-STABLE after merging log2 and log2f into libm."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4986
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5040
#, no-wrap
msgid "802503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5041
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/221275[221275]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4988
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5042
#, no-wrap
msgid "May 1, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4990
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5044
#, no-wrap
msgid "8.2-STABLE after upgrade of the gcc to the last GPLv2 version from the FSF gcc-4_2-branch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4991
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5045
#, no-wrap
msgid "802504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5046
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222401[222401]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4993
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4998
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5057
#, no-wrap
msgid "May 28, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5049
#, no-wrap
msgid "8.2-STABLE after introduction of the KPI and supporting infrastructure for modular congestion control."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5050
#, no-wrap
msgid "802505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5051
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222406[222406]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5000
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5054
#, no-wrap
msgid "8.2-STABLE after introduction of Hhook and Khelp KPIs."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5001
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5055
#, no-wrap
msgid "802506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5056
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222408[222408]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5005
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5059
#, no-wrap
msgid "8.2-STABLE after addition of OSD to struct tcpcb."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5060
#, no-wrap
msgid "802507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5061
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222741[222741]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5062
#, no-wrap
msgid "June 6, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5010
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5064
#, no-wrap
msgid "8.2-STABLE after ZFS v28 import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5011
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5065
#, no-wrap
msgid "802508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5066
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/222846[222846]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5067
#, no-wrap
msgid "June 8, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5015
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5069
#, no-wrap
msgid "8.2-STABLE after removal of the `schedtail` event handler and addition of the `sv_schedtail` method to struct `sysvec`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5016
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5070
#, no-wrap
msgid "802509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5071
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/224017[224017]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5072
#, no-wrap
msgid "July 14, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5020
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5074
#, no-wrap
msgid "8.2-STABLE after merging the SSSE3 support into binutils."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5021
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5075
#, no-wrap
msgid "802510"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5076
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/224214[224214]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5079
#, no-wrap
msgid "8.2-STABLE after addition of RFTSIGZMB flag for man:rfork[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5026
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5080
#, no-wrap
msgid "802511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5081
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/225458[225458]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5082
#, no-wrap
msgid "September 9, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5030
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5084
#, no-wrap
msgid "8.2-STABLE after addition of automatic detection of USB mass storage devices which do not support the no synchronize cache SCSI command."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5085
#, no-wrap
msgid "802512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5086
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/225470[225470]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5035
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5089
#, no-wrap
msgid "8.2-STABLE after merging of re-factoring of auto-quirk."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5036
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5090
#, no-wrap
msgid "802513"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5091
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/226763[226763]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5092
#, no-wrap
msgid "October 25, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5040
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5094
#, no-wrap
msgid "8.2-STABLE after merging of the MAP_PREFAULT_READ flag to man:mmap[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5095
#, no-wrap
msgid "802514"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5096
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/227573[227573]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5097
#, no-wrap
msgid "November 16, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5099
#, no-wrap
msgid "8.2-STABLE after merging of addition of man:posix_fallocate[2] syscall."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5046
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5100
#, no-wrap
msgid "802515"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5101
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/229725[229725]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5104
#, no-wrap
msgid "8.2-STABLE after merging of addition of the man:posix_fadvise[2] system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5105
#, no-wrap
msgid "802516"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5106
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/230239[230239]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5055
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5109
#, no-wrap
msgid "8.2-STABLE after merging gperf 3.0.3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5110
#, no-wrap
msgid "802517"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5111
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/231769[231769]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5060
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5114
#, no-wrap
msgid "8.2-STABLE after introduction of the new extensible man:sysctl[3] interface NET_RT_IFLISTL to query address lists."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5061
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5115
#, no-wrap
msgid "803000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5116
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/232446[232446]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5065
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5119
#, no-wrap
msgid "8.3-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5120
#, no-wrap
msgid "803500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5121
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/232439[232439]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5124
#, no-wrap
msgid "8.3-STABLE after branching releng/8.3 (RELENG_8_3)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5125
#, no-wrap
msgid "803501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5126
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/247091[247091]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5075
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5129
#, no-wrap
msgid "8.3-STABLE after MFC of two USB fixes (rev link:https://svnweb.freebsd.org/changeset/base/246616[246616] and link:https://svnweb.freebsd.org/changeset/base/246759[246759])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5076
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5130
#, no-wrap
msgid "804000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5131
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/248850[248850]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5078
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5083
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5137
#, no-wrap
msgid "March 28, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5080
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5134
#, no-wrap
msgid "8.4-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5135
#, no-wrap
msgid "804500"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5136
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/248819[248819]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5085
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5139
#, no-wrap
msgid "8.4-STABLE after 8.4-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5140
#, no-wrap
msgid "804501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5141
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/259449[259449]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5088
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5142
#, no-wrap
msgid "December 16, 2013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5090
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5144
#, no-wrap
msgid "8.4-STABLE after MFC of upstream Heimdal encoding fix."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5091
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5145
#, no-wrap
msgid "804502"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5095
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5149
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:08.tcp."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5150
#, no-wrap
msgid "804503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5151
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/268444[268444]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5152
#, no-wrap
msgid "July 9, 2014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5154
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:17.kmem."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5155
#, no-wrap
msgid "804504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5159
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:18 (rev link:https://svnweb.freebsd.org/changeset/base/271305[271305])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5160
#, no-wrap
msgid "804505"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5110
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5164
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:19 (rev link:https://svnweb.freebsd.org/changeset/base/271668[271668])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5165
#, no-wrap
msgid "804506"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5115
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5169
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:21 (rev link:https://svnweb.freebsd.org/changeset/base/273413[273413])."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5170
#, no-wrap
msgid "804507"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5174
#, no-wrap
msgid "8.4-STABLE after FreeBSD-SA-14:23, FreeBSD-SA-14:24, and FreeBSD-SA-14:25."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5121
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5175
#, no-wrap
msgid "804508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5181
#, no-wrap
msgid ""
"8-STABLE after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, and FreeBSD-SA-15:05.bind.\n"
"pass:[<!-- vale Vale.Terms = YES -->]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5182
#, no-wrap
msgid "804509"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5183
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/305736[305736]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5185
#, no-wrap
msgid "8-STABLE after resolving a deadlock between `device_detach()` and man:usbd_do_request_flags[9]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5188
#, no-wrap
msgid "FreeBSD 7 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5137
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5191
#, no-wrap
msgid "FreeBSD 7 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5200
#, no-wrap
msgid "700000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5201
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/147925[147925]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5148
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5776
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5830
#, no-wrap
msgid "July 11, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5204
#, no-wrap
msgid "7.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5205
#, no-wrap
msgid "700001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5206
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/148341[148341]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5153
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5207
#, no-wrap
msgid "July 23, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5209
#, no-wrap
msgid "7.0-CURRENT after bump of all shared library versions that had not been changed since RELENG_5."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5210
#, no-wrap
msgid "700002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5211
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/149039[149039]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5158
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5786
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5840
#, no-wrap
msgid "August 13, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5160
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5214
#, no-wrap
msgid "7.0-CURRENT after credential argument is added to `dev_clone` event handler."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5215
#, no-wrap
msgid "700003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5216
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/149470[149470]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5217
#, no-wrap
msgid "August 25, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5165
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5219
#, no-wrap
msgid "7.0-CURRENT after man:memmem[3] is added to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5220
#, no-wrap
msgid "700004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5221
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/151888[151888]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5168
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5222
#, no-wrap
msgid "October 30, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5224
#, no-wrap
msgid "7.0-CURRENT after man:solisten[9] kernel arguments are modified to accept a backlog parameter."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5225
#, no-wrap
msgid "700005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5226
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/152296[152296]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5173
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5232
#, no-wrap
msgid "November 11, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5175
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5229
#, no-wrap
msgid "7.0-CURRENT after `IFP2ENADDR()` was changed to return a pointer to `IF_LLADDR()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5230
#, no-wrap
msgid "700006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5231
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/152315[152315]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5180
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5234
#, no-wrap
msgid "7.0-CURRENT after addition of `if_addr` member to `struct ifnet` and `IFP2ENADDR()` removal."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5235
#, no-wrap
msgid "700007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5236
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153027[153027]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5237
#, no-wrap
msgid "December 2, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5239
#, no-wrap
msgid "7.0-CURRENT after incorporating scripts from the `local_startup` directories into the base man:rcorder[8]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5186
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5240
#, no-wrap
msgid "700008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5241
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153107[153107]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5242
#, no-wrap
msgid "December 5, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5190
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5244
#, no-wrap
msgid "7.0-CURRENT after removal of MNT_NODEV mount option."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5245
#, no-wrap
msgid "700009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5246
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153519[153519]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5247
#, no-wrap
msgid "December 19, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5195
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5249
#, no-wrap
msgid "7.0-CURRENT after ELF-64 type changes and symbol versioning."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5250
#, no-wrap
msgid "700010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5251
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153579[153579]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5252
#, no-wrap
msgid "December 20, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5254
#, no-wrap
msgid "7.0-CURRENT after addition of `hostb` and `vgapci` drivers, addition of `pci_find_extcap()`, and changing the AGP drivers to no longer map the aperture."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5255
#, no-wrap
msgid "700011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5256
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153936[153936]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5203
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5257
#, no-wrap
msgid "December 31, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5259
#, no-wrap
msgid "7.0-CURRENT after `tv_sec` was made `time_t` on all platforms but Alpha."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5260
#, no-wrap
msgid "700012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5261
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154114[154114]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5262
#, no-wrap
msgid "January 8, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5210
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5264
#, no-wrap
msgid "7.0-CURRENT after ldconfig_local_dirs change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5265
#, no-wrap
msgid "700013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5266
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154269[154269]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5267
#, no-wrap
msgid "January 12, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5269
#, no-wrap
msgid "7.0-CURRENT after changes to [.filename]#/etc/rc.d/abi# to support [.filename]#/compat/linux/etc/ld.so.cache# being a symlink in a read-only filesystem."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5270
#, no-wrap
msgid "700014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5271
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154863[154863]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5272
#, no-wrap
msgid "January 26, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5274
#, no-wrap
msgid "7.0-CURRENT after pts import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5275
#, no-wrap
msgid "700015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5276
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/157144[157144]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5277
#, no-wrap
msgid "March 26, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5225
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5279
#, no-wrap
msgid "7.0-CURRENT after the introduction of version 2 of man:hwpmc[4]'s ABI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5280
#, no-wrap
msgid "700016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5281
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/157962[157962]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5282
#, no-wrap
msgid "April 22, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5230
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5284
#, no-wrap
msgid "7.0-CURRENT after addition of man:fcloseall[3] to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5285
#, no-wrap
msgid "700017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5232
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5286
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/158513[158513]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5287
#, no-wrap
msgid "May 13, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5235
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5289
#, no-wrap
msgid "7.0-CURRENT after removal of ip6fw."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5290
#, no-wrap
msgid "700018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5237
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5291
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/160386[160386]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5292
#, no-wrap
msgid "July 15, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5240
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5294
#, no-wrap
msgid "7.0-CURRENT after import of snd_emu10kx."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5295
#, no-wrap
msgid "700019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5296
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/160821[160821]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5297
#, no-wrap
msgid "July 29, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5245
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5299
#, no-wrap
msgid "7.0-CURRENT after import of OpenSSL 0.9.8b."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5300
#, no-wrap
msgid "700020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5301
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/161931[161931]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5302
#, no-wrap
msgid "September 3, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5250
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5304
#, no-wrap
msgid "7.0-CURRENT after addition of `bus_dma_get_tag` function"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5305
#, no-wrap
msgid "700021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5252
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5306
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/162023[162023]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5307
#, no-wrap
msgid "September 4, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5255
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5309
#, no-wrap
msgid "7.0-CURRENT after libpcap 0.9.4 and tcpdump 3.9.4 import."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5310
#, no-wrap
msgid "700022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5311
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/162170[162170]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5312
#, no-wrap
msgid "September 9, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5260
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5314
#, no-wrap
msgid "7.0-CURRENT after `dlsym` change to look for a requested symbol both in specified DSO and its implicit dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5315
#, no-wrap
msgid "700023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5316
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/162588[162588]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5317
#, no-wrap
msgid "September 23, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5265
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5319
#, no-wrap
msgid "7.0-CURRENT after adding new sound IOCTLs for the OSSv4 mixer API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5320
#, no-wrap
msgid "700024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5321
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/162919[162919]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5322
#, no-wrap
msgid "September 28, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5270
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5324
#, no-wrap
msgid "7.0-CURRENT after import of OpenSSL 0.9.8d."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5325
#, no-wrap
msgid "700025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5326
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/164190[164190]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5327
#, no-wrap
msgid "November 11, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5275
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5329
#, no-wrap
msgid "7.0-CURRENT after the addition of libelf."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5330
#, no-wrap
msgid "700026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5331
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/164614[164614]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5332
#, no-wrap
msgid "November 26, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5280
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5334
#, no-wrap
msgid "7.0-CURRENT after major changes on sound sysctls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5335
#, no-wrap
msgid "700027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5336
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/164770[164770]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5337
#, no-wrap
msgid "November 30, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5285
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5339
#, no-wrap
msgid "7.0-CURRENT after the addition of Wi-Spy quirk."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5340
#, no-wrap
msgid "700028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5341
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/165242[165242]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5342
#, no-wrap
msgid "December 15, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5290
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5344
#, no-wrap
msgid "7.0-CURRENT after the addition of `sctp` calls to libc"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5345
#, no-wrap
msgid "700029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5346
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166259[166259]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5347
#, no-wrap
msgid "January 26, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5295
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5349
#, no-wrap
msgid "7.0-CURRENT after the GNU man:gzip[1] implementation was replaced with a BSD licensed version ported from NetBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5296
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5350
#, no-wrap
msgid "700030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5351
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166549[166549]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5352
#, no-wrap
msgid "February 7, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5300
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5354
#, no-wrap
msgid "7.0-CURRENT after the removal of IPIP tunnel encapsulation (VIFF_TUNNEL) from the IPv4 multicast forwarding code."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5355
#, no-wrap
msgid "700031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5356
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166907[166907]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5357
#, no-wrap
msgid "February 23, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5305
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5359
#, no-wrap
msgid "7.0-CURRENT after the modification of `bus_setup_intr()` (newbus)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5360
#, no-wrap
msgid "700032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5361
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/167165[167165]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5362
#, no-wrap
msgid "March 2, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5310
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5364
#, no-wrap
msgid "7.0-CURRENT after the inclusion of man:ipw[4] and man:iwi[4] firmware."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5365
#, no-wrap
msgid "700033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5312
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5366
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/167360[167360]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5367
#, no-wrap
msgid "March 9, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5315
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5369
#, no-wrap
msgid "7.0-CURRENT after the inclusion of ncurses wide character support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5316
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5370
#, no-wrap
msgid "700034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5371
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/167684[167684]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5372
#, no-wrap
msgid "March 19, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5320
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5374
#, no-wrap
msgid "7.0-CURRENT after changes to how `insmntque()`, `getnewvnode()`, and `vfs_hash_insert()` work."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5375
#, no-wrap
msgid "700035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5322
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5376
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/167906[167906]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5377
#, no-wrap
msgid "March 26, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5325
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5379
#, no-wrap
msgid "7.0-CURRENT after addition of a notify mechanism for CPU frequency changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5380
#, no-wrap
msgid "700036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5327
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5381
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168413[168413]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5328
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5896
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5950
#, no-wrap
msgid "April 6, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5330
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5384
#, no-wrap
msgid "7.0-CURRENT after import of the ZFS filesystem."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5385
#, no-wrap
msgid "700037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5386
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168504[168504]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5387
#, no-wrap
msgid "April 8, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5335
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5389
#, no-wrap
msgid "7.0-CURRENT after addition of CAM 'SG' peripheral device, which implements a subset of Linux SCSI SG passthrough device API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5390
#, no-wrap
msgid "700038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5337
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5391
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169151[169151]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5392
#, no-wrap
msgid "April 30, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5340
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5394
#, no-wrap
msgid "7.0-CURRENT after changing man:getenv[3], man:putenv[3], man:setenv[3] and man:unsetenv[3] to be POSIX conformant."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5395
#, no-wrap
msgid "700039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5396
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169190[169190]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5397
#, no-wrap
msgid "May 1, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5345
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5399
#, no-wrap
msgid "7.0-CURRENT after the changes in 700038 were backed out."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5346
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5400
#, no-wrap
msgid "700040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5401
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169453[169453]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5402
#, no-wrap
msgid "May 10, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5350
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5404
#, no-wrap
msgid "7.0-CURRENT after the addition of man:flopen[3] to libutil."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5351
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5405
#, no-wrap
msgid "700041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5406
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169526[169526]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5407
#, no-wrap
msgid "May 13, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5355
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5409
#, no-wrap
msgid "7.0-CURRENT after enabling symbol versioning, and changing the default thread library to libthr."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5410
#, no-wrap
msgid "700042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5411
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169758[169758]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5358
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5412
#, no-wrap
msgid "May 19, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5360
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5414
#, no-wrap
msgid "7.0-CURRENT after the import of gcc 4.2.0."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5361
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5415
#, no-wrap
msgid "700043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5416
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169830[169830]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5363
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5417
#, no-wrap
msgid "May 21, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5365
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5419
#, no-wrap
msgid "7.0-CURRENT after bump of all shared library versions that had not been changed since RELENG_6."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5420
#, no-wrap
msgid "700044"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5421
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170395[170395]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5422
#, no-wrap
msgid "June 7, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5370
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5424
#, no-wrap
msgid "7.0-CURRENT after changing the argument for `vn_open()`/`VOP_OPEN()` from file descriptor index to the struct file *."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5425
#, no-wrap
msgid "700045"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5426
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170510[170510]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5427
#, no-wrap
msgid "June 10, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5375
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5429
#, no-wrap
msgid "7.0-CURRENT after changing man:pam_nologin[8] to provide an account management function instead of an authentication function to the PAM framework."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5430
#, no-wrap
msgid "700046"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5431
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170530[170530]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5378
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5383
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5916
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5970
#, no-wrap
msgid "June 11, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5380
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5434
#, no-wrap
msgid "7.0-CURRENT after updated 802.11 wireless support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5435
#, no-wrap
msgid "700047"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5436
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170579[170579]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5385
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5439
#, no-wrap
msgid "7.0-CURRENT after adding TCP LRO interface capabilities."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5386
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5440
#, no-wrap
msgid "700048"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5441
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170613[170613]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5442
#, no-wrap
msgid "June 12, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5390
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5444
#, no-wrap
msgid "7.0-CURRENT after RFC 3678 API support added to the IPv4 stack. Legacy RFC 1724 behavior of the IP_MULTICAST_IF ioctl has now been removed; 0.0.0.0/8 may no longer be used to specify an interface index. Use struct `ipmreqn` instead."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5445
#, no-wrap
msgid "700049"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5446
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/171175[171175]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5447
#, no-wrap
msgid "July 3, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5395
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5449
#, no-wrap
msgid "7.0-CURRENT after importing pf from OpenBSD 4.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5451
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/171167[171167]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5400
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5454
#, no-wrap
msgid "7.0-CURRENT after adding IPv6 support for FAST_IPSEC, deleting KAME IPSEC, and renaming FAST_IPSEC to IPSEC."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5401
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5455
#, no-wrap
msgid "700050"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5456
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/171195[171195]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5403
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5462
#, no-wrap
msgid "July 4, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5405
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5459
#, no-wrap
msgid "7.0-CURRENT after converting setenv/putenv/etc. calls from traditional BSD to POSIX."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5406
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5460
#, no-wrap
msgid "700051"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5461
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/171211[171211]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5410
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5464
#, no-wrap
msgid "7.0-CURRENT after adding new mmap/lseek/etc syscalls."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5411
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5465
#, no-wrap
msgid "700052"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5466
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/171275[171275]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5467
#, no-wrap
msgid "July 6, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5415
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5469
#, no-wrap
msgid "7.0-CURRENT after moving I4B headers to include/i4b."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5470
#, no-wrap
msgid "700053"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5471
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172394[172394]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5472
#, no-wrap
msgid "September 30, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5420
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5474
#, no-wrap
msgid "7.0-CURRENT after the addition of support for PCI domains"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5475
#, no-wrap
msgid "700054"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5476
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172988[172988]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5423
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5980
#, no-wrap
msgid "October 25, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5425
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5479
#, no-wrap
msgid "7.0-STABLE after MFC of wide and single byte ctype separation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5480
#, no-wrap
msgid "700055"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5427
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5481
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173104[173104]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5482
#, no-wrap
msgid "October 28, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5430
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5484
#, no-wrap
msgid "7.0-RELEASE, and 7.0-CURRENT after ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was MFCed, which required the ABI of the PCIOCGETCONF IOCTL to be broken again"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5431
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5485
#, no-wrap
msgid "700100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5486
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174864[174864]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5487
#, no-wrap
msgid "December 22, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5435
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5489
#, no-wrap
msgid "7.0-STABLE after 7.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5436
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5490
#, no-wrap
msgid "700101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5491
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/176111[176111]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5440
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5494
#, no-wrap
msgid "7.0-STABLE after the MFC of `m_collapse()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5495
#, no-wrap
msgid "700102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5442
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5496
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/177735[177735]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5497
#, no-wrap
msgid "March 30, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5445
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5499
#, no-wrap
msgid "7.0-STABLE after the MFC of `kdb_enter_why()`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5446
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5500
#, no-wrap
msgid "700103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5447
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5501
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178061[178061]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5450
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5504
#, no-wrap
msgid "7.0-STABLE after adding `l_sysid` to struct flock."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5505
#, no-wrap
msgid "700104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5506
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178108[178108]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5453
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5512
#, no-wrap
msgid "April 11, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5455
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5509
#, no-wrap
msgid "7.0-STABLE after the MFC of man:procstat[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5510
#, no-wrap
msgid "700105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5511
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178120[178120]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5460
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5514
#, no-wrap
msgid "7.0-STABLE after the MFC of `umtx` features."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5461
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5515
#, no-wrap
msgid "700106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5516
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178225[178225]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5463
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5517
#, no-wrap
msgid "April 15, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5465
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5519
#, no-wrap
msgid "7.0-STABLE after the MFC of man:write[2] support to man:psm[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5466
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5520
#, no-wrap
msgid "700107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5467
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5521
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178353[178353]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5470
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5524
#, no-wrap
msgid "7.0-STABLE after the MFC of F_DUP2FD command to man:fcntl[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5471
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5525
#, no-wrap
msgid "700108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5526
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178783[178783]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5527
#, no-wrap
msgid "May 5, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5475
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5529
#, no-wrap
msgid "7.0-STABLE after some man:lockmgr[9] changes, which makes it necessary to include [.filename]#sys/lock.h# to use man:lockmgr[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5476
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5530
#, no-wrap
msgid "700109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5477
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6014
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/179367[179367]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5478
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6015
#, no-wrap
msgid "May 27, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5480
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5534
#, no-wrap
msgid "7.0-STABLE after MFC of the man:memrchr[3] function."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5481
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5535
#, no-wrap
msgid "700110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5536
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181328[181328]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5537
#, no-wrap
msgid "August 5, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5485
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5539
#, no-wrap
msgid "7.0-STABLE after MFC of kernel NFS `lockd` client."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5540
#, no-wrap
msgid "700111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5541
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/181940[181940]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5490
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5544
#, no-wrap
msgid "7.0-STABLE after addition of physically contiguous jumbo frame support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5545
#, no-wrap
msgid "700112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5546
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/182294[182294]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5547
#, no-wrap
msgid "August 27, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5495
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5549
#, no-wrap
msgid "7.0-STABLE after MFC of kernel DTrace support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5550
#, no-wrap
msgid "701000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5551
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185315[185315]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5498
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5557
#, no-wrap
msgid "November 25, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5500
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5554
#, no-wrap
msgid "7.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5555
#, no-wrap
msgid "701100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5556
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/185302[185302]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5505
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5559
#, no-wrap
msgid "7.1-STABLE after 7.1-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5560
#, no-wrap
msgid "701101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5561
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/187023[187023]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5562
#, no-wrap
msgid "January 10, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5510
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5564
#, no-wrap
msgid "7.1-STABLE after man:strndup[3] merge."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5565
#, no-wrap
msgid "701102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5566
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/187370[187370]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5513
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5567
#, no-wrap
msgid "January 17, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5515
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5569
#, no-wrap
msgid "7.1-STABLE after man:cpuctl[4] support added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5570
#, no-wrap
msgid "701103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5571
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/188281[188281]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5572
#, no-wrap
msgid "February 7, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5520
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5574
#, no-wrap
msgid "7.1-STABLE after the merge of multi-/no-IPv4/v6 jails."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5575
#, no-wrap
msgid "701104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5576
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/188625[188625]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5577
#, no-wrap
msgid "February 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5525
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5579
#, no-wrap
msgid "7.1-STABLE after the store of the suspension owner in the struct mount, and introduction of vfs_susp_clean method into the struct vfsops."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5580
#, no-wrap
msgid "701105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5581
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189740[189740]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5582
#, no-wrap
msgid "March 12, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5530
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5584
#, no-wrap
msgid "7.1-STABLE after the incompatible change to the kern.ipc.shmsegs sysctl to allow allocating larger SysV shared memory segments on 64bit architectures."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5585
#, no-wrap
msgid "701106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5586
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/189786[189786]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5535
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5589
#, no-wrap
msgid "7.1-STABLE after the merge of a fix for POSIX semaphore wait operations."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5590
#, no-wrap
msgid "702000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5591
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191099[191099]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5540
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5594
#, no-wrap
msgid "7.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5595
#, no-wrap
msgid "702100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5596
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/191091[191091]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5545
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5599
#, no-wrap
msgid "7.2-STABLE after 7.2-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5600
#, no-wrap
msgid "702101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5601
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/192149[192149]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5602
#, no-wrap
msgid "May 15, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5550
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5604
#, no-wrap
msgid "7.2-STABLE after man:ichsmb[4] was changed to use left-adjusted secondary addressing to match other SMBus controller drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5605
#, no-wrap
msgid "702102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5606
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193020[193020]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5553
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5607
#, no-wrap
msgid "May 28, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5555
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5609
#, no-wrap
msgid "7.2-STABLE after MFC of the man:fdopendir[3] function."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5610
#, no-wrap
msgid "702103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5611
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/193638[193638]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5558
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5612
#, no-wrap
msgid "June 6, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5560
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5614
#, no-wrap
msgid "7.2-STABLE after MFC of PmcTools."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5615
#, no-wrap
msgid "702104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5616
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/195694[195694]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5565
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5619
#, no-wrap
msgid "7.2-STABLE after MFC of the man:closefrom[2] system call."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5620
#, no-wrap
msgid "702105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5621
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/196006[196006]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5622
#, no-wrap
msgid "July 31, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5570
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5624
#, no-wrap
msgid "7.2-STABLE after MFC of the SYSVIPC ABI change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5625
#, no-wrap
msgid "702106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5626
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/197198[197198]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5573
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5627
#, no-wrap
msgid "September 14, 2009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5575
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5629
#, no-wrap
msgid "7.2-STABLE after MFC of the x86 PAT enhancements and addition of `d_mmap_single()` and the scatter/gather list VM object type."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5630
#, no-wrap
msgid "703000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5631
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/203740[203740]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5578
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5637
#, no-wrap
msgid "February 9, 2010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5580
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5634
#, no-wrap
msgid "7.3-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5635
#, no-wrap
msgid "703100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5582
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5636
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/203742[203742]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5585
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5639
#, no-wrap
msgid "7.3-STABLE after 7.3-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5640
#, no-wrap
msgid "704000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5641
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216647[216647]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5590
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5644
#, no-wrap
msgid "7.4-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5645
#, no-wrap
msgid "704100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5646
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/216658[216658]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5595
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5649
#, no-wrap
msgid "7.4-STABLE after 7.4-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5650
#, no-wrap
msgid "704101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5651
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/221318[221318]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5652
#, no-wrap
msgid "May 2, 2011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5599
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5653
#, no-wrap
msgid "7.4-STABLE after the gcc MFC in rev link:https://svnweb.freebsd.org/changeset/base/221317[221317]."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5656
#, no-wrap
msgid "FreeBSD 6 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5659
#, no-wrap
msgid "FreeBSD 6 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5614
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5668
#, no-wrap
msgid "600000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5615
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5669
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/133921[133921]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5616
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5670
#, no-wrap
msgid "August 18, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5672
#, no-wrap
msgid "6.0-CURRENT"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5619
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5673
#, no-wrap
msgid "600001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5674
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/134396[134396]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5675
#, no-wrap
msgid "August 27, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5623
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5677
#, no-wrap
msgid "6.0-CURRENT after permanently enabling PFIL_HOOKS in the kernel."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5678
#, no-wrap
msgid "600002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5679
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/134514[134514]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5680
#, no-wrap
msgid "August 30, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5628
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5682
#, no-wrap
msgid "6.0-CURRENT after initial addition of `ifi_epoch` to struct `if_data`. Backed out after a few days. Do not use this value."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5629
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5683
#, no-wrap
msgid "600003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5684
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/134933[134933]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5685
#, no-wrap
msgid "September 8, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5633
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5687
#, no-wrap
msgid "6.0-CURRENT after the re-addition of the `ifi_epoch` member of struct `if_data`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5634
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5688
#, no-wrap
msgid "600004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5689
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/135920[135920]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5690
#, no-wrap
msgid "September 29, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5638
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5692
#, no-wrap
msgid "6.0-CURRENT after addition of the struct inpcb argument to the pfil API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5639
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5693
#, no-wrap
msgid "600005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5640
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5694
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/136172[136172]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5695
#, no-wrap
msgid "October 5, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5643
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5697
#, no-wrap
msgid "6.0-CURRENT after addition of the \"-d DESTDIR\" argument to newsyslog."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5644
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5698
#, no-wrap
msgid "600006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5645
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5699
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/137192[137192]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5700
#, no-wrap
msgid "November 4, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5648
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5702
#, no-wrap
msgid "6.0-CURRENT after addition of glibc style man:strftime[3] padding options."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5649
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5703
#, no-wrap
msgid "600007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5704
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/138760[138760]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5705
#, no-wrap
msgid "December 12, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5707
#, no-wrap
msgid "6.0-CURRENT after addition of 802.11 framework updates."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5654
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5708
#, no-wrap
msgid "600008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5709
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/140809[140809]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5656
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5710
#, no-wrap
msgid "January 25, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5658
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5712
#, no-wrap
msgid "6.0-CURRENT after changes to `VOP_*VOBJECT()` functions and introduction of `MNTK_MPSAFE` flag for Giant-free filesystems."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5659
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5713
#, no-wrap
msgid "600009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5714
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/141250[141250]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5715
#, no-wrap
msgid "February 4, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5663
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5717
#, no-wrap
msgid "6.0-CURRENT after addition of the cpufreq framework and drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5718
#, no-wrap
msgid "600010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5719
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/141394[141394]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5720
#, no-wrap
msgid "February 6, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5668
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5722
#, no-wrap
msgid "6.0-CURRENT after importing OpenBSD's man:nc[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5723
#, no-wrap
msgid "600011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5724
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/141727[141727]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5725
#, no-wrap
msgid "February 12, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5673
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5727
#, no-wrap
msgid "6.0-CURRENT after removing semblance of SVID2 `matherr()` support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5674
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5728
#, no-wrap
msgid "600012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5729
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/141940[141940]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5730
#, no-wrap
msgid "February 15, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5678
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5732
#, no-wrap
msgid "6.0-CURRENT after increase of default thread stacks' size."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5679
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5733
#, no-wrap
msgid "600013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5734
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142089[142089]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5735
#, no-wrap
msgid "February 19, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5683
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5737
#, no-wrap
msgid "6.0-CURRENT after fixes in [.filename]#<src/include/stdbool.h># and [.filename]#<src/sys/i386/include/_types.h># for using the GCC-compatibility of the Intel C/C++ compiler."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5684
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5738
#, no-wrap
msgid "600014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5739
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142184[142184]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5740
#, no-wrap
msgid "February 21, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5688
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5742
#, no-wrap
msgid "6.0-CURRENT after EOVERFLOW checks in man:vswprintf[3] fixed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5689
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5743
#, no-wrap
msgid "600015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5690
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5744
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142501[142501]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5745
#, no-wrap
msgid "February 25, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5693
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5747
#, no-wrap
msgid "6.0-CURRENT after changing the struct `if_data` member, `ifi_epoch`, from wall clock time to uptime."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5748
#, no-wrap
msgid "600016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5695
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5749
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142582[142582]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5696
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5750
#, no-wrap
msgid "February 26, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5698
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5752
#, no-wrap
msgid "6.0-CURRENT after LC_CTYPE disk format changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5753
#, no-wrap
msgid "600017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5754
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142683[142683]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5701
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5706
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6549
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6603
#, no-wrap
msgid "February 27, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5703
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5757
#, no-wrap
msgid "6.0-CURRENT after NLS catalogs disk format changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5704
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5758
#, no-wrap
msgid "600018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5759
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142686[142686]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5708
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5762
#, no-wrap
msgid "6.0-CURRENT after LC_COLLATE disk format changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5763
#, no-wrap
msgid "600019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5764
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142752[142752]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5711
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6554
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6608
#, no-wrap
msgid "February 28, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5713
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5767
#, no-wrap
msgid "Installation of `acpica` includes into /usr/include."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5768
#, no-wrap
msgid "600020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5769
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/143308[143308]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5770
#, no-wrap
msgid "March 9, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5718
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5772
#, no-wrap
msgid "Addition of MSG_NOSIGNAL flag to man:send[2] API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5773
#, no-wrap
msgid "600021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5720
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5774
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/143746[143746]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5721
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5775
#, no-wrap
msgid "March 17, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5723
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5777
#, no-wrap
msgid "Addition of fields to cdevsw"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5724
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5778
#, no-wrap
msgid "600022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5779
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/143901[143901]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5780
#, no-wrap
msgid "March 21, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5728
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5782
#, no-wrap
msgid "Removed gtar from base system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5783
#, no-wrap
msgid "600023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5784
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/144980[144980]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5731
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5785
#, no-wrap
msgid "April 13, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5733
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5787
#, no-wrap
msgid "LOCAL_CREDS, LOCAL_CONNWAIT socket options added to man:unix[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5788
#, no-wrap
msgid "600024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5735
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5794
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/145565[145565]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5736
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5790
#, no-wrap
msgid "April 19, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5738
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5792
#, no-wrap
msgid "man:hwpmc[4] and related tools added to 6.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5793
#, no-wrap
msgid "600025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5795
#, no-wrap
msgid "April 26, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5743
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5797
#, no-wrap
msgid "struct `icmphdr` added to 6.0-CURRENT."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5798
#, no-wrap
msgid "600026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5745
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5799
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/145843[145843]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5746
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5800
#, no-wrap
msgid "May 3, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5748
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5802
#, no-wrap
msgid "pf updated to 3.7."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5803
#, no-wrap
msgid "600027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5804
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/145966[145966]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5751
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5805
#, no-wrap
msgid "May 6, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5753
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5807
#, no-wrap
msgid "Kernel libalias and `ng_nat` introduced."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5808
#, no-wrap
msgid "600028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5809
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/146191[146191]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5756
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5810
#, no-wrap
msgid "May 13, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5758
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5812
#, no-wrap
msgid "POSIX man:ttyname_r[3] made available through unistd.h and libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5813
#, no-wrap
msgid "600029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5814
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/146780[146780]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5761
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5815
#, no-wrap
msgid "May 29, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5763
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5817
#, no-wrap
msgid "6.0-CURRENT after libpcap updated to v0.9.1 alpha 096."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5818
#, no-wrap
msgid "600030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5819
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/146988[146988]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5766
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5820
#, no-wrap
msgid "June 5, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5768
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5822
#, no-wrap
msgid "6.0-CURRENT after importing NetBSD's man:if_bridge[4]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5823
#, no-wrap
msgid "600031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5824
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/147256[147256]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5771
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5825
#, no-wrap
msgid "June 10, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5773
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5827
#, no-wrap
msgid "6.0-CURRENT after struct ifnet was broken out of the driver `softcs`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5828
#, no-wrap
msgid "600032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5829
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/147898[147898]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5778
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5832
#, no-wrap
msgid "6.0-CURRENT after the import of libpcap v0.9.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5779
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5833
#, no-wrap
msgid "600033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5780
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5834
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/148388[148388]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5781
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5835
#, no-wrap
msgid "July 25, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5783
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5837
#, no-wrap
msgid "6.0-STABLE after bump of all shared library versions that had not been changed since RELENG_5."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5838
#, no-wrap
msgid "600034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5785
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5839
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/149040[149040]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5788
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5842
#, no-wrap
msgid "6.0-STABLE after credential argument is added to `dev_clone` event handler. 6.0-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5843
#, no-wrap
msgid "600100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5844
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/151958[151958]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5791
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5845
#, no-wrap
msgid "November 1, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5793
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5847
#, no-wrap
msgid "6.0-STABLE after 6.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5794
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5848
#, no-wrap
msgid "600101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5849
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153601[153601]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5796
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5850
#, no-wrap
msgid "December 21, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5798
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5852
#, no-wrap
msgid "6.0-STABLE after incorporating scripts from the `local_startup` directories into the base man:rcorder[8]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5853
#, no-wrap
msgid "600102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5800
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5854
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/153912[153912]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5801
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5855
#, no-wrap
msgid "December 30, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5803
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5857
#, no-wrap
msgid "6.0-STABLE after updating the ELF types and constants."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5858
#, no-wrap
msgid "600103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5805
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5859
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154396[154396]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5806
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5860
#, no-wrap
msgid "January 15, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5808
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5862
#, no-wrap
msgid "6.0-STABLE after MFC of man:pidfile[3] API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5863
#, no-wrap
msgid "600104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5810
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5864
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154453[154453]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5811
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6594
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6648
#, no-wrap
msgid "January 17, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5813
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5867
#, no-wrap
msgid "6.0-STABLE after MFC of ldconfig_local_dirs change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5814
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5868
#, no-wrap
msgid "600105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5815
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5869
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/156019[156019]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5816
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5870
#, no-wrap
msgid "February 26, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5818
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5872
#, no-wrap
msgid "6.0-STABLE after NLS catalog support of man:csh[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5873
#, no-wrap
msgid "601000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5820
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5874
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/158330[158330]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5821
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5826
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5880
#, no-wrap
msgid "May 6, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5823
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5877
#, no-wrap
msgid "6.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5878
#, no-wrap
msgid "601100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5879
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/158331[158331]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5828
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5882
#, no-wrap
msgid "6.1-STABLE after 6.1-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5883
#, no-wrap
msgid "601101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5884
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/159861[159861]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5831
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5885
#, no-wrap
msgid "June 22, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5833
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5887
#, no-wrap
msgid "6.1-STABLE after the import of `csup`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5888
#, no-wrap
msgid "601102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5889
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/160253[160253]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5890
#, no-wrap
msgid "July 11, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5838
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5892
#, no-wrap
msgid "6.1-STABLE after the man:iwi[4] update."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5893
#, no-wrap
msgid "601103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5894
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/160429[160429]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5841
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5895
#, no-wrap
msgid "July 17, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5843
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5897
#, no-wrap
msgid "6.1-STABLE after the resolver update to BIND9, and exposure of reentrant version of `netdb` functions."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5898
#, no-wrap
msgid "601104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5845
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5899
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/161098[161098]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5846
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5900
#, no-wrap
msgid "August 8, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5848
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5902
#, no-wrap
msgid "6.1-STABLE after DSO (dynamic shared objects) support has been enabled in OpenSSL."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5903
#, no-wrap
msgid "601105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5850
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5904
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/161900[161900]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5851
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5905
#, no-wrap
msgid "September 2, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5853
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5907
#, no-wrap
msgid "6.1-STABLE after 802.11 fix-ups changed the API for the IEEE80211_IOC_STA_INFO ioctl."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5908
#, no-wrap
msgid "602000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5909
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/164312[164312]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5856
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5910
#, no-wrap
msgid "November 15, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5858
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5912
#, no-wrap
msgid "6.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5913
#, no-wrap
msgid "602100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5914
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/162329[162329]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5861
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5915
#, no-wrap
msgid "September 15, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5863
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5917
#, no-wrap
msgid "6.2-STABLE after 6.2-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5918
#, no-wrap
msgid "602101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5919
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/165122[165122]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5866
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5920
#, no-wrap
msgid "December 12, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5868
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5922
#, no-wrap
msgid "6.2-STABLE after the addition of Wi-Spy quirk."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5923
#, no-wrap
msgid "602102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5870
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5924
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/165596[165596]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5871
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5925
#, no-wrap
msgid "December 28, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5873
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5927
#, no-wrap
msgid "6.2-STABLE after `pci_find_extcap()` addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5928
#, no-wrap
msgid "602103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5929
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166039[166039]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5876
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5930
#, no-wrap
msgid "January 16, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5878
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5932
#, no-wrap
msgid "6.2-STABLE after MFC of `dlsym` change to look for a requested symbol both in specified DSO and its implicit dependencies."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5933
#, no-wrap
msgid "602104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5880
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5934
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166314[166314]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5881
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5935
#, no-wrap
msgid "January 28, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5883
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5937
#, no-wrap
msgid "6.2-STABLE after MFC of man:ng_deflate[4] and man:ng_pred1[4] netgraph nodes and new compression and encryption modes for man:ng_ppp[4] node."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5938
#, no-wrap
msgid "602105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5885
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5939
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/166840[166840]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5886
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5940
#, no-wrap
msgid "February 20, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5888
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5942
#, no-wrap
msgid "6.2-STABLE after MFC of BSD licensed version of man:gzip[1] ported from NetBSD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5889
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5943
#, no-wrap
msgid "602106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5890
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5944
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168133[168133]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5945
#, no-wrap
msgid "March 31, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5893
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5947
#, no-wrap
msgid "6.2-STABLE after MFC of PCI MSI and MSI-X support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5948
#, no-wrap
msgid "602107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5895
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5949
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168438[168438]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5898
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5952
#, no-wrap
msgid "6.2-STABLE after MFC of ncurses 5.6 and wide character support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5953
#, no-wrap
msgid "602108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5900
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5954
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168611[168611]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5901
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5955
#, no-wrap
msgid "April 11, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5903
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5957
#, no-wrap
msgid "6.2-STABLE after MFC of CAM 'SG' peripheral device, which implements a subset of Linux SCSI SG passthrough device API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5958
#, no-wrap
msgid "602109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5959
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/168805[168805]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5960
#, no-wrap
msgid "April 17, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5908
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5962
#, no-wrap
msgid "6.2-STABLE after MFC of readline 5.2 patch-set 002."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5909
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5963
#, no-wrap
msgid "602110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5964
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/169222[169222]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5965
#, no-wrap
msgid "May 2, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5913
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5967
#, no-wrap
msgid "6.2-STABLE after MFC of `pmap_invalidate_cache()`, `pmap_change_attr()`, `pmap_mapbios()`, `pmap_mapdev_attr()`, and `pmap_unmapbios()` for amd64 and i386."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5968
#, no-wrap
msgid "602111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5969
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/170556[170556]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5918
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5972
#, no-wrap
msgid "6.2-STABLE after MFC of BOP_BDFLUSH and caused breakage of the filesystem modules KBI."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5919
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5973
#, no-wrap
msgid "602112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5920
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5974
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172284[172284]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5921
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5975
#, no-wrap
msgid "September 21, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5923
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5977
#, no-wrap
msgid "6.2-STABLE after man:libutil[3] MFC's."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5978
#, no-wrap
msgid "602113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5925
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5979
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/172986[172986]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5928
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5982
#, no-wrap
msgid "6.2-STABLE after MFC of wide and single byte ctype separation. Newly compiled binary that references to ctype.h may require a new symbol, `__mb_sb_limit`, which is not available on older systems."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5983
#, no-wrap
msgid "602114"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5930
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5984
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173170[173170]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5931
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5985
#, no-wrap
msgid "October 30, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5933
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5987
#, no-wrap
msgid "6.2-STABLE after ctype ABI forward compatibility restored."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5988
#, no-wrap
msgid "602115"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5989
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173794[173794]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5990
#, no-wrap
msgid "November 21, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5938
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5992
#, no-wrap
msgid "6.2-STABLE after back out of wide and single byte ctype separation."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5993
#, no-wrap
msgid "603000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5940
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5994
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173897[173897]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5941
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6000
#, no-wrap
msgid "November 25, 2007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5943
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5997
#, no-wrap
msgid "6.3-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5998
#, no-wrap
msgid "603100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5945
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5999
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/173891[173891]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5948
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6002
#, no-wrap
msgid "6.3-STABLE after 6.3-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6004
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/174434[174434]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5953
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6007
#, no-wrap
msgid "6.3-STABLE after fixing multibyte type support in bit macro."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6008
#, no-wrap
msgid "603102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6009
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/178459[178459]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6010
#, no-wrap
msgid "April 24, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5958
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6012
#, no-wrap
msgid "6.3-STABLE after adding `l_sysid` to struct flock."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5959
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6013
#, no-wrap
msgid "603103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6017
#, no-wrap
msgid "6.3-STABLE after MFC of the man:memrchr[3] function."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5964
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6018
#, no-wrap
msgid "603104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5965
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6019
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/179810[179810]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6020
#, no-wrap
msgid "June 15, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5968
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6022
#, no-wrap
msgid "6.3-STABLE after MFC of support for `:u` variable modifier in man:make[1]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5969
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6023
#, no-wrap
msgid "604000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5970
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6024
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/183583[183583]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5971
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5976
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6030
#, no-wrap
msgid "October 4, 2008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5973
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6027
#, no-wrap
msgid "6.4-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5974
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6028
#, no-wrap
msgid "604100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5975
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6029
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/183584[183584]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5977
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6031
#, no-wrap
msgid "6.4-STABLE after 6.4-RELEASE."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6034
#, no-wrap
msgid "FreeBSD 5 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6037
#, no-wrap
msgid "FreeBSD 5 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6046
#, no-wrap
msgid "500000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5993
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6047
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/58009[58009]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5994
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6707
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6761
#, no-wrap
msgid "March 13, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5996
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6050
#, no-wrap
msgid "5.0-CURRENT"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6051
#, no-wrap
msgid "500001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5998
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6052
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/59348[59348]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6053
#, no-wrap
msgid "April 18, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6001
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6055
#, no-wrap
msgid "5.0-CURRENT after adding addition ELF header fields, and changing ELF binary branding method."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6056
#, no-wrap
msgid "500002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6057
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/59906[59906]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6004
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6058
#, no-wrap
msgid "May 2, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6060
#, no-wrap
msgid "5.0-CURRENT after kld metadata changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6061
#, no-wrap
msgid "500003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6062
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/60688[60688]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6009
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6063
#, no-wrap
msgid "May 18, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6011
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6065
#, no-wrap
msgid "5.0-CURRENT after buf/bio changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6066
#, no-wrap
msgid "500004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6067
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/60936[60936]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6014
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6068
#, no-wrap
msgid "May 26, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6016
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6070
#, no-wrap
msgid "5.0-CURRENT after binutils upgrade."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6071
#, no-wrap
msgid "500005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6072
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/61221[61221]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6019
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6073
#, no-wrap
msgid "June 3, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6021
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6075
#, no-wrap
msgid "5.0-CURRENT after merging libxpg4 code into libc and after TASKQ interface introduction."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6076
#, no-wrap
msgid "500006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6077
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/61500[61500]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6024
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6078
#, no-wrap
msgid "June 10, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6026
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6080
#, no-wrap
msgid "5.0-CURRENT after the addition of AGP interfaces."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6081
#, no-wrap
msgid "500007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6082
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/62235[62235]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6083
#, no-wrap
msgid "June 29, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6031
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6085
#, no-wrap
msgid "5.0-CURRENT after Perl upgrade to 5.6.0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6086
#, no-wrap
msgid "500008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6087
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/62764[62764]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6034
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6088
#, no-wrap
msgid "July 7, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6036
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6090
#, no-wrap
msgid "5.0-CURRENT after the update of KAME code to 2000/07 sources."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6091
#, no-wrap
msgid "500009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6092
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/63154[63154]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6039
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6732
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6786
#, no-wrap
msgid "July 14, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6041
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6095
#, no-wrap
msgid "5.0-CURRENT after `ether_ifattach()` and `ether_ifdetach()` changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6096
#, no-wrap
msgid "500010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6097
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/63265[63265]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6098
#, no-wrap
msgid "July 16, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6046
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6100
#, no-wrap
msgid "5.0-CURRENT after changing mtree defaults back to original variant, adding -L to follow symlinks."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6101
#, no-wrap
msgid "500011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6102
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/63459[63459]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6049
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6103
#, no-wrap
msgid "July 18, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6051
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6105
#, no-wrap
msgid "5.0-CURRENT after kqueue API changed."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6106
#, no-wrap
msgid "500012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6107
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/65353[65353]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6054
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6108
#, no-wrap
msgid "September 2, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6056
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6110
#, no-wrap
msgid "5.0-CURRENT after man:setproctitle[3] moved from libutil to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6111
#, no-wrap
msgid "500013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6112
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/65671[65671]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6059
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6113
#, no-wrap
msgid "September 10, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6061
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6115
#, no-wrap
msgid "5.0-CURRENT after the first SMPng commit."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6116
#, no-wrap
msgid "500014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6117
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/70650[70650]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6064
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6118
#, no-wrap
msgid "January 4, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6066
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6120
#, no-wrap
msgid "5.0-CURRENT after <sys/select.h> moved to <sys/selinfo.h>."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6121
#, no-wrap
msgid "500015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6122
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/70894[70894]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6069
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6762
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6816
#, no-wrap
msgid "January 10, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6071
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6125
#, no-wrap
msgid "5.0-CURRENT after combining libgcc.a and libgcc_r.a, and associated GCC linkage changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6126
#, no-wrap
msgid "500016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6127
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/71583[71583]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6074
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6128
#, no-wrap
msgid "January 24, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6076
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6130
#, no-wrap
msgid "5.0-CURRENT after change allowing libc and libc_r to be linked together, deprecating -pthread option."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6131
#, no-wrap
msgid "500017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6132
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/72650[72650]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6079
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6133
#, no-wrap
msgid "February 18, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6135
#, no-wrap
msgid "5.0-CURRENT after switch from struct `ucred` to struct `xucred` to stabilize kernel-exported API for mountd et al."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6082
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6136
#, no-wrap
msgid "500018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6083
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6137
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/72975[72975]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6084
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6138
#, no-wrap
msgid "February 24, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6086
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6140
#, no-wrap
msgid "5.0-CURRENT after addition of CPUTYPE make variable for controlling CPU-specific optimizations."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6141
#, no-wrap
msgid "500019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6088
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6142
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/77937[77937]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6089
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6143
#, no-wrap
msgid "June 9, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6091
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6145
#, no-wrap
msgid "5.0-CURRENT after moving machine/ioctl_fd.h to sys/fdcio.h"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6092
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6146
#, no-wrap
msgid "500020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6093
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6147
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/78304[78304]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6094
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6148
#, no-wrap
msgid "June 15, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6150
#, no-wrap
msgid "5.0-CURRENT after locale names renaming."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6151
#, no-wrap
msgid "500021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6152
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/78632[78632]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6099
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6153
#, no-wrap
msgid "June 22, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6101
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6155
#, no-wrap
msgid "5.0-CURRENT after Bzip2 import. Also signifies removal of S/Key."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6102
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6156
#, no-wrap
msgid "500022"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6103
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6108
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6162
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/83435[83435]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6104
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6158
#, no-wrap
msgid "July 12, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6106
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6160
#, no-wrap
msgid "5.0-CURRENT after SSE support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6107
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6161
#, no-wrap
msgid "500023"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6109
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6163
#, no-wrap
msgid "September 14, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6165
#, no-wrap
msgid "5.0-CURRENT after KSE Milestone 2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6166
#, no-wrap
msgid "500024"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6167
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/84324[84324]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6114
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6168
#, no-wrap
msgid "October 1, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6170
#, no-wrap
msgid "5.0-CURRENT after `d_thread_t`, and moving UUCP to ports."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6171
#, no-wrap
msgid "500025"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6172
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/84481[84481]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6119
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6173
#, no-wrap
msgid "October 4, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6121
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6175
#, no-wrap
msgid "5.0-CURRENT after ABI change for descriptor and `creds` passing on 64 bit platforms."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6176
#, no-wrap
msgid "500026"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6177
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/84710[84710]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6124
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6178
#, no-wrap
msgid "October 9, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6126
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6180
#, no-wrap
msgid "5.0-CURRENT after moving to XFree86 4 by default for package builds, and after the new libc `strnstr()` function was added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6181
#, no-wrap
msgid "500027"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6182
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/84743[84743]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6129
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6183
#, no-wrap
msgid "October 10, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6185
#, no-wrap
msgid "5.0-CURRENT after the new libc `strcasestr()` function was added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6186
#, no-wrap
msgid "500028"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6187
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/87879[87879]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6134
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6188
#, no-wrap
msgid "December 14, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6190
#, no-wrap
msgid "5.0-CURRENT after the userland components of smbfs were imported."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6195
#, no-wrap
msgid "5.0-CURRENT after the new C99 specific-width integer types were added."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6142
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6196
#, no-wrap
msgid "500029"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6197
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/89938[89938]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6144
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6198
#, no-wrap
msgid "January 29, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6200
#, no-wrap
msgid "5.0-CURRENT after a change was made in the return value of man:sendfile[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6201
#, no-wrap
msgid "500030"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6148
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6202
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/90711[90711]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6149
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6203
#, no-wrap
msgid "February 15, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6205
#, no-wrap
msgid "5.0-CURRENT after the introduction of the type `fflags_t`, which is the appropriate size for file flags."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6206
#, no-wrap
msgid "500031"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6153
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6806
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6860
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/91203[91203]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6154
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6807
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6861
#, no-wrap
msgid "February 24, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6210
#, no-wrap
msgid "5.0-CURRENT after the usb structure element rename."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6211
#, no-wrap
msgid "500032"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6212
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/92453[92453]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6159
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6213
#, no-wrap
msgid "March 16, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6215
#, no-wrap
msgid "5.0-CURRENT after the introduction of Perl 5.6.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6216
#, no-wrap
msgid "500033"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6217
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/93722[93722]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6164
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6218
#, no-wrap
msgid "April 3, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6220
#, no-wrap
msgid "5.0-CURRENT after the `sendmail_enable` man:rc.conf[5] variable was made to take the value `NONE`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6221
#, no-wrap
msgid "500034"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6168
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6222
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/95831[95831]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6169
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6223
#, no-wrap
msgid "April 30, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6225
#, no-wrap
msgid "5.0-CURRENT after `mtx_init()` grew a third argument."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6226
#, no-wrap
msgid "500035"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6227
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/96498[96498]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6228
#, no-wrap
msgid "May 13, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6176
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6230
#, no-wrap
msgid "5.0-CURRENT with Gcc 3.1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6177
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6231
#, no-wrap
msgid "500036"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6178
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6232
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/96781[96781]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6233
#, no-wrap
msgid "May 17, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6181
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6235
#, no-wrap
msgid "5.0-CURRENT without Perl in /usr/src"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6236
#, no-wrap
msgid "500037"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6183
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6237
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/97516[97516]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6184
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6238
#, no-wrap
msgid "May 29, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6186
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6240
#, no-wrap
msgid "5.0-CURRENT after the addition of man:dlfunc[3]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6187
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6241
#, no-wrap
msgid "500038"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6188
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6242
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/100591[100591]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6189
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6243
#, no-wrap
msgid "July 24, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6191
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6245
#, no-wrap
msgid "5.0-CURRENT after the types of some struct `sockbuf` members were changed and the structure was reordered."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6192
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6246
#, no-wrap
msgid "500039"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6193
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6247
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/102757[102757]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6194
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6862
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6916
#, no-wrap
msgid "September 1, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6196
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6250
#, no-wrap
msgid "5.0-CURRENT after GCC 3.2.1 import. Also after headers stopped using _BSD_FOO_T_ and started using _FOO_T_DECLARED. This value can also be used as a conservative estimate of the start of man:bzip2[1] package support."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6197
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6251
#, no-wrap
msgid "500040"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6252
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/103675[103675]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6253
#, no-wrap
msgid "September 20, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6255
#, no-wrap
msgid "5.0-CURRENT after various changes to disk functions were made in the name of removing dependency on disklabel structure internals."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6202
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6256
#, no-wrap
msgid "500041"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6203
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6257
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/104250[104250]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6204
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6258
#, no-wrap
msgid "October 1, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6260
#, no-wrap
msgid "5.0-CURRENT after the addition of man:getopt_long[3] to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6261
#, no-wrap
msgid "500042"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6262
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/105178[105178]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6209
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6263
#, no-wrap
msgid "October 15, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6265
#, no-wrap
msgid "5.0-CURRENT after Binutils 2.13 upgrade, which included new FreeBSD emulation, `vec`, and output format."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6212
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6266
#, no-wrap
msgid "500043"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6267
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/106289[106289]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6268
#, no-wrap
msgid "November 1, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6270
#, no-wrap
msgid "5.0-CURRENT after adding weak pthread_XXX stubs to libc, obsoleting libXThrStub.so. 5.0-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6217
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6271
#, no-wrap
msgid "500100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6272
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/109405[109405]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6273
#, no-wrap
msgid "January 17, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6221
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6275
#, no-wrap
msgid "5.0-CURRENT after branching for RELENG_5_0"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6276
#, no-wrap
msgid "500101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6277
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/111120[111120]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6224
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6278
#, no-wrap
msgid "February 19, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6280
#, no-wrap
msgid "<sys/dkstat.h> is empty. Do not include it."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6227
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6281
#, no-wrap
msgid "500102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6282
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/111482[111482]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6229
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6283
#, no-wrap
msgid "February 25, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6285
#, no-wrap
msgid "5.0-CURRENT after the d_mmap_t interface change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6232
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6286
#, no-wrap
msgid "500103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6287
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/111540[111540]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6234
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6288
#, no-wrap
msgid "February 26, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6290
#, no-wrap
msgid "5.0-CURRENT after `taskqueue_swi` changed to run without Giant, and `taskqueue_swi_giant` added to run with Giant."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6237
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6291
#, no-wrap
msgid "500104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6292
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/111600[111600]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6239
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6293
#, no-wrap
msgid "February 27, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6295
#, no-wrap
msgid "`cdevsw_add()` and `cdevsw_remove()` no longer exists. Appearance of `MAJOR_AUTO` allocation facility."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6242
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6296
#, no-wrap
msgid "500105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6297
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/111864[111864]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6244
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6298
#, no-wrap
msgid "March 4, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6246
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6300
#, no-wrap
msgid "5.0-CURRENT after new cdevsw initialization method."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6301
#, no-wrap
msgid "500106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6248
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6302
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112007[112007]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6249
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6303
#, no-wrap
msgid "March 8, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6251
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6305
#, no-wrap
msgid "`devstat_add_entry()` has been replaced by `devstat_new_entry()`"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6252
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6306
#, no-wrap
msgid "500107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6253
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6307
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112288[112288]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6254
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6259
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6313
#, no-wrap
msgid "March 15, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6256
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6310
#, no-wrap
msgid "`devstat` interface change; see sys/sys/param.h 1.149"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6311
#, no-wrap
msgid "500108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6258
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6312
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112300[112300]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6261
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6315
#, no-wrap
msgid "Token-Ring interface changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6262
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6316
#, no-wrap
msgid "500109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6263
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6317
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112571[112571]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6264
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6318
#, no-wrap
msgid "March 25, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6266
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6320
#, no-wrap
msgid "Addition of `vm_paddr_t`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6267
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6321
#, no-wrap
msgid "500110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6268
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6322
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112741[112741]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6269
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6323
#, no-wrap
msgid "March 28, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6271
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6325
#, no-wrap
msgid "5.0-CURRENT after man:realpath[3] has been made thread-safe"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6272
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6326
#, no-wrap
msgid "500111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6273
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6327
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/113273[113273]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6274
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6328
#, no-wrap
msgid "April 9, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6276
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6330
#, no-wrap
msgid "5.0-CURRENT after man:usbhid[3] has been synced with NetBSD"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6277
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6331
#, no-wrap
msgid "500112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6278
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6332
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/113597[113597]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6279
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6333
#, no-wrap
msgid "April 17, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6281
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6335
#, no-wrap
msgid "5.0-CURRENT after new NSS implementation and addition of POSIX.1 getpw*_r, getgr*_r functions"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6282
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6336
#, no-wrap
msgid "500113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6283
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6337
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/114492[114492]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6284
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6338
#, no-wrap
msgid "May 2, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6286
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6340
#, no-wrap
msgid "5.0-CURRENT after removal of the old rc system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6287
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6341
#, no-wrap
msgid "501000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6288
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6342
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/115816[115816]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6289
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6343
#, no-wrap
msgid "June 4, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6291
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6345
#, no-wrap
msgid "5.1-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6292
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6346
#, no-wrap
msgid "501100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6347
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/115710[115710]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6294
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6348
#, no-wrap
msgid "June 2, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6296
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6350
#, no-wrap
msgid "5.1-CURRENT after branching for RELENG_5_1."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6297
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6351
#, no-wrap
msgid "501101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6298
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6352
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/117025[117025]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6299
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6353
#, no-wrap
msgid "June 29, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6301
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6355
#, no-wrap
msgid "5.1-CURRENT after correcting the semantics of man:sigtimedwait[2] and man:sigwaitinfo[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6302
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6356
#, no-wrap
msgid "501102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6303
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6357
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/117191[117191]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6304
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6358
#, no-wrap
msgid "July 3, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6306
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6360
#, no-wrap
msgid "5.1-CURRENT after adding the `lockfunc` and `lockfuncarg` fields to man:bus_dma_tag_create[9]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6307
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6361
#, no-wrap
msgid "501103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6308
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6362
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/118241[118241]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6309
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6363
#, no-wrap
msgid "July 31, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6311
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6365
#, no-wrap
msgid "5.1-CURRENT after GCC 3.3.1-pre 20030711 snapshot integration."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6312
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6366
#, no-wrap
msgid "501104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6313
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6367
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/118511[118511]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6314
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6368
#, no-wrap
msgid "August 5, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6316
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6370
#, no-wrap
msgid "5.1-CURRENT 3ware API changes to twe."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6317
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6371
#, no-wrap
msgid "501105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6318
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6372
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/119021[119021]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6319
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6373
#, no-wrap
msgid "August 17, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6321
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6375
#, no-wrap
msgid "5.1-CURRENT dynamically linked /bin and /sbin support and movement of libraries to /lib."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6322
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6376
#, no-wrap
msgid "501106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6323
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6377
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/119881[119881]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6324
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6378
#, no-wrap
msgid "September 8, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6326
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6380
#, no-wrap
msgid "5.1-CURRENT after adding kernel support for Coda 6.x."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6327
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6381
#, no-wrap
msgid "501107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6328
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6382
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/120180[120180]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6329
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6383
#, no-wrap
msgid "September 17, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6331
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6385
#, no-wrap
msgid "5.1-CURRENT after 16550 UART constants moved from [.filename]#<dev/sio/sioreg.h># to [.filename]#<dev/ic/ns16550.h>#. Also when libmap functionality was unconditionally supported by rtld."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6332
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6386
#, no-wrap
msgid "501108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6333
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6387
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/120386[120386]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6334
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6388
#, no-wrap
msgid "September 23, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6336
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6390
#, no-wrap
msgid "5.1-CURRENT after PFIL_HOOKS API update"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6337
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6391
#, no-wrap
msgid "501109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6338
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6392
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/120503[120503]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6339
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6393
#, no-wrap
msgid "September 27, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6341
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6395
#, no-wrap
msgid "5.1-CURRENT after adding man:kiconv[3]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6342
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6396
#, no-wrap
msgid "501110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6343
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6397
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/120556[120556]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6344
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6398
#, no-wrap
msgid "September 28, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6346
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6400
#, no-wrap
msgid "5.1-CURRENT after changing default operations for open and close in cdevsw"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6347
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6401
#, no-wrap
msgid "501111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6348
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6402
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/121125[121125]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6349
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6354
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6408
#, no-wrap
msgid "October 16, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6351
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6405
#, no-wrap
msgid "5.1-CURRENT after changed layout of cdevsw"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6352
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6406
#, no-wrap
msgid "501112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6353
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6407
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/121129[121129]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6356
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6410
#, no-wrap
msgid "5.1-CURRENT after adding kobj multiple inheritance"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6357
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6411
#, no-wrap
msgid "501113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6358
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6412
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/121816[121816]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6359
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6413
#, no-wrap
msgid "October 31, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6361
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6415
#, no-wrap
msgid "5.1-CURRENT after the `if_xname` change in struct ifnet"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6362
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6416
#, no-wrap
msgid "501114"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6363
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6417
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/122779[122779]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6364
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6418
#, no-wrap
msgid "November 16, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6366
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6420
#, no-wrap
msgid "5.1-CURRENT after changing /bin and /sbin to be dynamically linked"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6367
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6421
#, no-wrap
msgid "502000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6368
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6422
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/123198[123198]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6369
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6379
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6433
#, no-wrap
msgid "December 7, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6371
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6425
#, no-wrap
msgid "5.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6372
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6426
#, no-wrap
msgid "502010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6373
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6427
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126150[126150]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6374
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6428
#, no-wrap
msgid "February 23, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6376
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6430
#, no-wrap
msgid "5.2.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6377
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6431
#, no-wrap
msgid "502100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6378
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6432
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/123196[123196]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6381
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6435
#, no-wrap
msgid "5.2-CURRENT after branching for RELENG_5_2"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6382
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6436
#, no-wrap
msgid "502101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6383
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6437
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/123677[123677]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6384
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6438
#, no-wrap
msgid "December 19, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6386
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6440
#, no-wrap
msgid "5.2-CURRENT after `__cxa_atexit`/`__cxa_finalize` functions were added to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6387
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6441
#, no-wrap
msgid "502102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6388
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6442
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/125236[125236]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6389
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6443
#, no-wrap
msgid "January 30, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6391
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6445
#, no-wrap
msgid "5.2-CURRENT after change of default thread library from libc_r to libpthread."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6392
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6446
#, no-wrap
msgid "502103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6393
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6447
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126083[126083]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6394
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6448
#, no-wrap
msgid "February 21, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6396
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6450
#, no-wrap
msgid "5.2-CURRENT after device driver API mega patch."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6397
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6451
#, no-wrap
msgid "502104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6398
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6452
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126208[126208]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6399
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6453
#, no-wrap
msgid "February 25, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6401
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6455
#, no-wrap
msgid "5.2-CURRENT after `getopt_long_only()` addition."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6402
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6456
#, no-wrap
msgid "502105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6403
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6457
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126644[126644]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6404
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6458
#, no-wrap
msgid "March 5, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6406
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6460
#, no-wrap
msgid "5.2-CURRENT after NULL is made into ((void *)0) for C, creating more warnings."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6407
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6461
#, no-wrap
msgid "502106"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6408
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6462
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126757[126757]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6409
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6463
#, no-wrap
msgid "March 8, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6411
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6465
#, no-wrap
msgid "5.2-CURRENT after pf is linked to the build and install."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6412
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6466
#, no-wrap
msgid "502107"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6413
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6467
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126819[126819]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6414
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6468
#, no-wrap
msgid "March 10, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6416
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6470
#, no-wrap
msgid "5.2-CURRENT after `time_t` is changed to a 64-bit value on sparc64."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6417
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6471
#, no-wrap
msgid "502108"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6418
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6472
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/126891[126891]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6419
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6473
#, no-wrap
msgid "March 12, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6421
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6475
#, no-wrap
msgid "5.2-CURRENT after Intel C/C++ compiler support in some headers and man:execve[2] changes to be more strictly conforming to POSIX."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6422
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6476
#, no-wrap
msgid "502109"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6423
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6477
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/127312[127312]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6424
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6478
#, no-wrap
msgid "March 22, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6426
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6480
#, no-wrap
msgid "5.2-CURRENT after the introduction of the `bus_alloc_resource_any` API"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6427
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6481
#, no-wrap
msgid "502110"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6428
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6482
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/127475[127475]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6429
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6483
#, no-wrap
msgid "March 27, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6431
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6485
#, no-wrap
msgid "5.2-CURRENT after the addition of UTF-8 locales"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6432
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6486
#, no-wrap
msgid "502111"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6433
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6487
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/128144[128144]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6434
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6488
#, no-wrap
msgid "April 11, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6436
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6490
#, no-wrap
msgid "5.2-CURRENT after the removal of the man:getvfsent[3] API"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6437
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6491
#, no-wrap
msgid "502112"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6438
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6492
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/128182[128182]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6439
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6493
#, no-wrap
msgid "April 13, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6441
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6495
#, no-wrap
msgid "5.2-CURRENT after the addition of the .warning directive for make."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6442
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6496
#, no-wrap
msgid "502113"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6443
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6497
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130057[130057]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6444
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6498
#, no-wrap
msgid "June 4, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6446
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6500
#, no-wrap
msgid "5.2-CURRENT after `ttyioctl()` was made mandatory for serial drivers."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6447
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6501
#, no-wrap
msgid "502114"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6448
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6502
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130418[130418]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6449
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6503
#, no-wrap
msgid "June 13, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6451
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6505
#, no-wrap
msgid "5.2-CURRENT after import of the ALTQ framework."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6452
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6506
#, no-wrap
msgid "502115"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6453
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6507
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130481[130481]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6454
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6508
#, no-wrap
msgid "June 14, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6456
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6510
#, no-wrap
msgid "5.2-CURRENT after changing man:sema_timedwait[9] to return 0 on success and a non-zero error code on failure."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6457
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6511
#, no-wrap
msgid "502116"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6458
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6512
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130585[130585]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6459
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6513
#, no-wrap
msgid "June 16, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6461
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6515
#, no-wrap
msgid "5.2-CURRENT after changing kernel `dev_t` to be pointer to struct cdev *."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6462
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6516
#, no-wrap
msgid "502117"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6463
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6517
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130640[130640]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6464
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6469
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6523
#, no-wrap
msgid "June 17, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6466
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6520
#, no-wrap
msgid "5.2-CURRENT after changing kernel `udev_t` to `dev_t`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6467
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6521
#, no-wrap
msgid "502118"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6468
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6522
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130656[130656]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6471
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6525
#, no-wrap
msgid "5.2-CURRENT after adding support for CLOCK_VIRTUAL and CLOCK_PROF to man:clock_gettime[2] and man:clock_getres[2]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6472
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6526
#, no-wrap
msgid "502119"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6473
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6527
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/130934[130934]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6474
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6528
#, no-wrap
msgid "June 22, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6476
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6530
#, no-wrap
msgid "5.2-CURRENT after changing network interface cloning overhaul."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6477
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6531
#, no-wrap
msgid "502120"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6478
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6532
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/131429[131429]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6479
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6533
#, no-wrap
msgid "July 2, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6481
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6535
#, no-wrap
msgid "5.2-CURRENT after the update of the package tools to revision 20040629."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6482
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6536
#, no-wrap
msgid "502121"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6483
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6537
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/131883[131883]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6484
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6538
#, no-wrap
msgid "July 9, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6486
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6540
#, no-wrap
msgid "5.2-CURRENT after marking Bluetooth code as non-i386 specific."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6487
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6541
#, no-wrap
msgid "502122"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6488
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6542
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/131971[131971]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6489
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6543
#, no-wrap
msgid "July 11, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6491
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6545
#, no-wrap
msgid "5.2-CURRENT after the introduction of the KDB debugger framework, the conversion of DDB into a backend and the introduction of the GDB backend."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6492
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6546
#, no-wrap
msgid "502123"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6493
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6547
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/132025[132025]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6494
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6548
#, no-wrap
msgid "July 12, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6496
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6550
#, no-wrap
msgid "5.2-CURRENT after change to make VFS_ROOT take a struct thread argument as does vflush. Struct `kinfo_proc` now has a user data pointer. The switch of the default X implementation to `xorg` was also made at this time."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6497
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6551
#, no-wrap
msgid "502124"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6498
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6552
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/132597[132597]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6499
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6553
#, no-wrap
msgid "July 24, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6501
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6555
#, no-wrap
msgid "5.2-CURRENT after the change to separate the way ports rc.d and legacy scripts are started."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6502
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6556
#, no-wrap
msgid "502125"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6503
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6557
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/132726[132726]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6504
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6558
#, no-wrap
msgid "July 28, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6506
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6560
#, no-wrap
msgid "5.2-CURRENT after the backout of the previous change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6507
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6561
#, no-wrap
msgid "502126"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6508
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6562
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/132914[132914]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6509
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6563
#, no-wrap
msgid "July 31, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6511
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6565
#, no-wrap
msgid "5.2-CURRENT after the removal of `kmem_alloc_pageable()` and the import of gcc 3.4.2."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6512
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6566
#, no-wrap
msgid "502127"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6513
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6567
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/132991[132991]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6514
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6568
#, no-wrap
msgid "August 2, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6516
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6570
#, no-wrap
msgid "5.2-CURRENT after changing the UMA kernel API to allow ctors/inits to fail."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6517
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6571
#, no-wrap
msgid "502128"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6518
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6572
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/133306[133306]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6519
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6573
#, no-wrap
msgid "August 8, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6521
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6575
#, no-wrap
msgid "5.2-CURRENT after the change of the vfs_mount signature as well as global replacement of PRISON_ROOT with SUSER_ALLOWJAIL for the man:suser[9] API."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6522
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6576
#, no-wrap
msgid "503000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6523
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6577
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/134189[134189]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6524
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6578
#, no-wrap
msgid "August 23, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6526
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6580
#, no-wrap
msgid "5.3-BETA/RC before the pfil API change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6527
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6581
#, no-wrap
msgid "503001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6528
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6582
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/135580[135580]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6529
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6583
#, no-wrap
msgid "September 22, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6531
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6585
#, no-wrap
msgid "5.3-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6532
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6586
#, no-wrap
msgid "503100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6533
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6587
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/136595[136595]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6534
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6588
#, no-wrap
msgid "October 16, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6536
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6590
#, no-wrap
msgid "5.3-STABLE after branching for RELENG_5_3"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6537
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6591
#, no-wrap
msgid "503101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6538
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6592
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/138459[138459]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6539
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6593
#, no-wrap
msgid "December 3, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6541
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6595
#, no-wrap
msgid "5.3-STABLE after addition of glibc style man:strftime[3] padding options."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6542
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6596
#, no-wrap
msgid "503102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6543
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6597
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/141788[141788]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6544
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6598
#, no-wrap
msgid "February 13, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6546
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6600
#, no-wrap
msgid "5.3-STABLE after OpenBSD's man:nc[1] import MFC."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6547
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6601
#, no-wrap
msgid "503103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6548
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6602
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142639[142639]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6551
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6605
#, no-wrap
msgid "5.4-PRERELEASE after the MFC of the fixes in [.filename]#<src/include/stdbool.h># and [.filename]#<src/sys/i386/include/_types.h># for using the GCC-compatibility of the Intel C/C++ compiler."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6552
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6606
#, no-wrap
msgid "503104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6553
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6607
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/142835[142835]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6556
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6610
#, no-wrap
msgid "5.4-PRERELEASE after the MFC of the change of `ifi_epoch` from wall clock time to uptime."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6557
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6611
#, no-wrap
msgid "503105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6558
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6612
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/143029[143029]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6559
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6613
#, no-wrap
msgid "March 2, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6561
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6615
#, no-wrap
msgid "5.4-PRERELEASE after the MFC of the fix of EOVERFLOW check in man:vswprintf[3]."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6562
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6616
#, no-wrap
msgid "504000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6563
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6617
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/144575[144575]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6564
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6569
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6618
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6623
#, no-wrap
msgid "April 3, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6566
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6620
#, no-wrap
msgid "5.4-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6567
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6621
#, no-wrap
msgid "504100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6568
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6622
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/144581[144581]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6571
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6625
#, no-wrap
msgid "5.4-STABLE after branching for RELENG_5_4"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6572
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6626
#, no-wrap
msgid "504101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6573
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6627
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/146105[146105]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6574
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6628
#, no-wrap
msgid "May 11, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6576
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6630
#, no-wrap
msgid "5.4-STABLE after increasing the default thread stacksizes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6577
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6631
#, no-wrap
msgid "504102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6578
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6632
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/504101[504101]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6579
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6633
#, no-wrap
msgid "June 24, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6581
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6635
#, no-wrap
msgid "5.4-STABLE after the addition of sha256"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6582
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6636
#, no-wrap
msgid "504103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6583
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6637
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/150892[150892]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6584
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6638
#, no-wrap
msgid "October 3, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6586
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6640
#, no-wrap
msgid "5.4-STABLE after the MFC of if_bridge"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6587
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6641
#, no-wrap
msgid "504104"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6588
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6642
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/152370[152370]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6589
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6643
#, no-wrap
msgid "November 13, 2005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6591
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6645
#, no-wrap
msgid "5.4-STABLE after the MFC of bsdiff and portsnap"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6592
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6646
#, no-wrap
msgid "504105"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6593
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6647
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/154464[154464]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6596
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6650
#, no-wrap
msgid "5.4-STABLE after MFC of ldconfig_local_dirs change."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6597
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6651
#, no-wrap
msgid "505000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6598
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6652
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/158481[158481]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6599
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6604
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6653
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6658
#, no-wrap
msgid "May 12, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6601
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6655
#, no-wrap
msgid "5.5-RELEASE."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6602
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6656
#, no-wrap
msgid "505100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6603
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6657
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/158482[158482]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6605
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6659
#, no-wrap
msgid "5.5-STABLE after branching for RELENG_5_5"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6608
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6662
#, no-wrap
msgid "FreeBSD 4 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6611
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6665
#, no-wrap
msgid "FreeBSD 4 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6620
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6674
#, no-wrap
msgid "400000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6621
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6675
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/43041[43041]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6622
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7015
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7069
#, no-wrap
msgid "January 22, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6624
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6678
#, no-wrap
msgid "4.0-CURRENT after 3.4 branch"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6625
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6679
#, no-wrap
msgid "400001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6626
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6680
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/44177[44177]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6627
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6681
#, no-wrap
msgid "February 20, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6629
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6683
#, no-wrap
msgid "4.0-CURRENT after change in dynamic linker handling"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6630
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6684
#, no-wrap
msgid "400002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6631
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6685
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/44699[44699]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6632
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6686
#, no-wrap
msgid "March 13, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6634
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6688
#, no-wrap
msgid "4.0-CURRENT after C++ constructor/destructor order change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6635
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6689
#, no-wrap
msgid "400003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6636
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6690
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/45059[45059]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6637
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7025
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7079
#, no-wrap
msgid "March 27, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6639
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6693
#, no-wrap
msgid "4.0-CURRENT after functioning man:dladdr[3]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6640
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6694
#, no-wrap
msgid "400004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6641
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6695
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/45321[45321]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6642
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6696
#, no-wrap
msgid "April 5, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6644
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6698
#, no-wrap
msgid "4.0-CURRENT after `__deregister_frame_info` dynamic linker bug fix (also 4.0-CURRENT after EGCS 1.1.2 integration)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6645
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6699
#, no-wrap
msgid "400005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6646
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6700
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/46113[46113]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6647
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6701
#, no-wrap
msgid "April 27, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6649
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6703
#, no-wrap
msgid "4.0-CURRENT after man:suser[9] API change (also 4.0-CURRENT after newbus)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6650
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6704
#, no-wrap
msgid "400006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6651
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6705
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/47640[47640]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6652
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6706
#, no-wrap
msgid "May 31, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6654
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6708
#, no-wrap
msgid "4.0-CURRENT after cdevsw registration change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6655
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6709
#, no-wrap
msgid "400007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6656
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6710
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/47992[47992]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6657
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6711
#, no-wrap
msgid "June 17, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6659
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6713
#, no-wrap
msgid "4.0-CURRENT after the addition of `so_cred` for socket level credentials"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6660
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6714
#, no-wrap
msgid "400008"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6661
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6715
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/48048[48048]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6662
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6716
#, no-wrap
msgid "June 20, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6664
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6718
#, no-wrap
msgid "4.0-CURRENT after the addition of a poll syscall wrapper to libc_r"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6665
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6719
#, no-wrap
msgid "400009"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6666
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6720
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/48936[48936]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6667
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6721
#, no-wrap
msgid "July 20, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6669
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6723
#, no-wrap
msgid "4.0-CURRENT after the change of the kernel's `dev_t` type to `struct specinfo` pointer"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6670
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6724
#, no-wrap
msgid "400010"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6671
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6725
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/51649[51649]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6672
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6726
#, no-wrap
msgid "September 25, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6674
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6728
#, no-wrap
msgid "4.0-CURRENT after fixing a hole in man:jail[2]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6675
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6729
#, no-wrap
msgid "400011"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6676
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6730
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/51791[51791]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6677
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6731
#, no-wrap
msgid "September 29, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6679
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6733
#, no-wrap
msgid "4.0-CURRENT after the `sigset_t` datatype change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6680
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6734
#, no-wrap
msgid "400012"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6681
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6735
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/53164[53164]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6682
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6736
#, no-wrap
msgid "November 15, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6684
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6738
#, no-wrap
msgid "4.0-CURRENT after the cutover to the GCC 2.95.2 compiler"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6685
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6739
#, no-wrap
msgid "400013"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6686
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6740
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/54123[54123]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6687
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6741
#, no-wrap
msgid "December 4, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6689
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6743
#, no-wrap
msgid "4.0-CURRENT after adding pluggable linux-mode ioctl handlers"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6690
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6744
#, no-wrap
msgid "400014"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6691
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6745
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/56216[56216]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6692
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6746
#, no-wrap
msgid "January 18, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6694
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6748
#, no-wrap
msgid "4.0-CURRENT after importing OpenSSL"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6695
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6749
#, no-wrap
msgid "400015"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6696
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6750
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/56700[56700]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6697
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6751
#, no-wrap
msgid "January 27, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6699
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6753
#, no-wrap
msgid "4.0-CURRENT after the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6700
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6754
#, no-wrap
msgid "400016"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6701
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6755
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/57529[57529]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6702
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6756
#, no-wrap
msgid "February 27, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6704
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6758
#, no-wrap
msgid "4.0-CURRENT after importing OpenSSH"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6705
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6759
#, no-wrap
msgid "400017"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6706
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6760
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/58005[58005]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6709
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6763
#, no-wrap
msgid "4.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6710
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6764
#, no-wrap
msgid "400018"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6711
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6765
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/58170[58170]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6712
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6766
#, no-wrap
msgid "March 17, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6714
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6768
#, no-wrap
msgid "4.0-STABLE after 4.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6715
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6769
#, no-wrap
msgid "400019"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6716
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6770
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/60047[60047]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6717
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6771
#, no-wrap
msgid "May 5, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6719
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6773
#, no-wrap
msgid "4.0-STABLE after the introduction of delayed checksums."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6720
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6774
#, no-wrap
msgid "400020"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6721
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6775
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/61262[61262]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6722
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6776
#, no-wrap
msgid "June 4, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6724
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6778
#, no-wrap
msgid "4.0-STABLE after merging libxpg4 code into libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6725
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6779
#, no-wrap
msgid "400021"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6726
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6780
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/62820[62820]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6727
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6781
#, no-wrap
msgid "July 8, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6729
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6783
#, no-wrap
msgid "4.0-STABLE after upgrading Binutils to 2.10.0, ELF branding changes, and tcsh in the base system."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6730
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6784
#, no-wrap
msgid "410000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6731
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6785
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/63095[63095]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6734
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6788
#, no-wrap
msgid "4.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6735
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6789
#, no-wrap
msgid "410001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6736
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6790
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/64012[64012]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6737
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6791
#, no-wrap
msgid "July 29, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6739
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6793
#, no-wrap
msgid "4.1-STABLE after 4.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6740
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6794
#, no-wrap
msgid "410002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6741
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6795
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/65962[65962]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6742
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6796
#, no-wrap
msgid "September 16, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6744
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6798
#, no-wrap
msgid "4.1-STABLE after man:setproctitle[3] moved from libutil to libc."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6745
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6799
#, no-wrap
msgid "411000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6746
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6800
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/66336[66336]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6747
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6801
#, no-wrap
msgid "September 25, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6749
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6803
#, no-wrap
msgid "4.1.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6750
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6804
#, no-wrap
msgid "411001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6754
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6808
#, no-wrap
msgid "4.1.1-STABLE after 4.1.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6755
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6809
#, no-wrap
msgid "420000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6756
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6810
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/68066[68066]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6757
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6811
#, no-wrap
msgid "October 31, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6759
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6813
#, no-wrap
msgid "4.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6760
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6814
#, no-wrap
msgid "420001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6761
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6815
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/70895[70895]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6764
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6818
#, no-wrap
msgid "4.2-STABLE after combining libgcc.a and libgcc_r.a, and associated GCC linkage changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6765
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6819
#, no-wrap
msgid "430000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6766
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6820
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/73800[73800]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6767
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6821
#, no-wrap
msgid "March 6, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6769
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6823
#, no-wrap
msgid "4.3-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6770
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6824
#, no-wrap
msgid "430001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6771
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6825
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/76779[76779]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6772
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6826
#, no-wrap
msgid "May 18, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6774
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6828
#, no-wrap
msgid "4.3-STABLE after `wint_t` introduction."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6775
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6829
#, no-wrap
msgid "430002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6776
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6830
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/80157[80157]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6777
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6831
#, no-wrap
msgid "July 22, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6779
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6833
#, no-wrap
msgid "4.3-STABLE after PCI powerstate API merge."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6780
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6834
#, no-wrap
msgid "440000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6781
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6835
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/80923[80923]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6782
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6836
#, no-wrap
msgid "August 1, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6784
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6838
#, no-wrap
msgid "4.4-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6785
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6839
#, no-wrap
msgid "440001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6786
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6840
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/85341[85341]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6787
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6841
#, no-wrap
msgid "October 23, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6789
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6843
#, no-wrap
msgid "4.4-STABLE after `d_thread_t` introduction."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6790
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6844
#, no-wrap
msgid "440002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6791
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6845
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/86038[86038]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6792
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6846
#, no-wrap
msgid "November 4, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6794
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6848
#, no-wrap
msgid "4.4-STABLE after mount structure changes (affects filesystem klds)."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6795
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6849
#, no-wrap
msgid "440003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6796
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6850
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/88130[88130]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6797
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6851
#, no-wrap
msgid "December 18, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6799
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6853
#, no-wrap
msgid "4.4-STABLE after the userland components of smbfs were imported."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6800
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6854
#, no-wrap
msgid "450000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6801
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6855
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/88271[88271]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6802
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6856
#, no-wrap
msgid "December 20, 2001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6804
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6858
#, no-wrap
msgid "4.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6805
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6859
#, no-wrap
msgid "450001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6809
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6863
#, no-wrap
msgid "4.5-STABLE after the usb structure element rename."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6810
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6864
#, no-wrap
msgid "450002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6811
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6865
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/92151[92151]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6812
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6866
#, no-wrap
msgid "March 12, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6814
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6868
#, no-wrap
msgid "4.5-STABLE after locale changes."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6815
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6869
#, no-wrap
msgid "450003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6819
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6873
#, no-wrap
msgid "(Never created)"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6820
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6874
#, no-wrap
msgid "450004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6821
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6875
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/94840[94840]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6822
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6876
#, no-wrap
msgid "April 16, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6824
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6878
#, no-wrap
msgid "4.5-STABLE after the `sendmail_enable` man:rc.conf[5] variable was made to take the value `NONE`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6825
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6879
#, no-wrap
msgid "450005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6826
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6880
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/95555[95555]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6827
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6881
#, no-wrap
msgid "April 27, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6829
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6883
#, no-wrap
msgid "4.5-STABLE after moving to XFree86 4 by default for package builds."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6830
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6884
#, no-wrap
msgid "450006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6831
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6885
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/95846[95846]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6832
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6886
#, no-wrap
msgid "May 1, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6834
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6888
#, no-wrap
msgid "4.5-STABLE after accept filtering was fixed so that is no longer susceptible to an easy DoS."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6835
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6889
#, no-wrap
msgid "460000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6836
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6890
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/97923[97923]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6837
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6842
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6896
#, no-wrap
msgid "June 21, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6839
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6893
#, no-wrap
msgid "4.6-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6840
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6894
#, no-wrap
msgid "460001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6841
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6895
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/98730[98730]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6844
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6898
#, no-wrap
msgid "4.6-STABLE man:sendfile[2] fixed to comply with documentation, not to count any headers sent against the amount of data to be sent from the file."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6845
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6899
#, no-wrap
msgid "460002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6846
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6900
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/100366[100366]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6847
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6901
#, no-wrap
msgid "July 19, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6849
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6903
#, no-wrap
msgid "4.6.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6850
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6904
#, no-wrap
msgid "460100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6851
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6905
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/98857[98857]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6852
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6857
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6911
#, no-wrap
msgid "June 26, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6854
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6908
#, no-wrap
msgid "4.6-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6855
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6909
#, no-wrap
msgid "460101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6856
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6910
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/98880[98880]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6859
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6913
#, no-wrap
msgid "4.6-STABLE after MFC of `sed -i`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6860
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6914
#, no-wrap
msgid "460102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6861
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6915
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/102759[102759]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6864
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6918
#, no-wrap
msgid "4.6-STABLE after MFC of many new pkg_install features from the HEAD."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6865
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6919
#, no-wrap
msgid "470000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6866
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6920
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/104655[104655]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6867
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6921
#, no-wrap
msgid "October 8, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6869
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6923
#, no-wrap
msgid "4.7-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6870
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6924
#, no-wrap
msgid "470100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6871
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6925
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/104717[104717]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6872
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6926
#, no-wrap
msgid "October 9, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6874
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6928
#, no-wrap
msgid "4.7-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6875
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6929
#, no-wrap
msgid "470101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6876
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6930
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/106732[106732]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6877
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6931
#, no-wrap
msgid "November 10, 2002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6879
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6933
#, no-wrap
msgid "Start generated __std{in,out,err}p references rather than __sF. This changes std{in,out,err} from a compile time expression to a runtime one."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6880
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6934
#, no-wrap
msgid "470102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6881
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6935
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/109753[109753]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6882
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6936
#, no-wrap
msgid "January 23, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6884
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6938
#, no-wrap
msgid "4.7-STABLE after MFC of mbuf changes to replace `m_aux` mbufs by `m_tag`'s"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6885
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6939
#, no-wrap
msgid "470103"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6886
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6940
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/110887[110887]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6887
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6941
#, no-wrap
msgid "February 14, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6889
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6943
#, no-wrap
msgid "4.7-STABLE gets OpenSSL 0.9.7"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6890
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6944
#, no-wrap
msgid "480000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6891
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6945
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/112852[112852]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6892
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6946
#, no-wrap
msgid "March 30, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6894
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6948
#, no-wrap
msgid "4.8-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6895
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6949
#, no-wrap
msgid "480100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6896
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6950
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/113107[113107]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6897
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6951
#, no-wrap
msgid "April 5, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6899
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6953
#, no-wrap
msgid "4.8-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6900
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6954
#, no-wrap
msgid "480101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6901
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6955
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/115232[115232]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6902
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6956
#, no-wrap
msgid "May 22, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6904
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6958
#, no-wrap
msgid "4.8-STABLE after man:realpath[3] has been made thread-safe"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6905
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6959
#, no-wrap
msgid "480102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6906
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6960
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/118737[118737]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6907
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6961
#, no-wrap
msgid "August 10, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6909
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6963
#, no-wrap
msgid "4.8-STABLE 3ware API changes to twe."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6910
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6964
#, no-wrap
msgid "490000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6911
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6965
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/121592[121592]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6912
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6917
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6971
#, no-wrap
msgid "October 27, 2003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6914
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6968
#, no-wrap
msgid "4.9-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6915
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6969
#, no-wrap
msgid "490100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6916
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6970
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/121593[121593]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6919
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6973
#, no-wrap
msgid "4.9-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6920
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6974
#, no-wrap
msgid "490101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6921
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6975
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/124264[124264]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6922
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6976
#, no-wrap
msgid "January 8, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6924
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6978
#, no-wrap
msgid "4.9-STABLE after `e_sid` was added to struct `kinfo_eproc`."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6925
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6979
#, no-wrap
msgid "490102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6926
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6980
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/125417[125417]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6927
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6981
#, no-wrap
msgid "February 4, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6929
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6983
#, no-wrap
msgid "4.9-STABLE after MFC of libmap functionality for rtld."
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6930
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6984
#, no-wrap
msgid "491000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6931
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6985
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/129700[129700]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6932
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6986
#, no-wrap
msgid "May 25, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6934
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6988
#, no-wrap
msgid "4.10-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6935
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6989
#, no-wrap
msgid "491100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6936
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6990
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/129918[129918]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6937
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6991
#, no-wrap
msgid "June 1, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6939
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6993
#, no-wrap
msgid "4.10-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6940
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6994
#, no-wrap
msgid "491101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6941
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6995
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/133506[133506]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6942
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6996
#, no-wrap
msgid "August 11, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6944
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6998
#, no-wrap
msgid "4.10-STABLE after MFC of revision 20040629 of the package tools"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6945
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6999
#, no-wrap
msgid "491102"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6946
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7000
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/137786[137786]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6947
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7001
#, no-wrap
msgid "November 16, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6949
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7003
#, no-wrap
msgid "4.10-STABLE after VM fix dealing with unwiring of fictitious pages"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6950
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7004
#, no-wrap
msgid "492000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6951
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7005
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/138960[138960]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6952
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6957
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7006
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7011
#, no-wrap
msgid "December 17, 2004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6954
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7008
#, no-wrap
msgid "4.11-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6955
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7009
#, no-wrap
msgid "492100"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6956
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7010
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/138959[138959]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6959
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7013
#, no-wrap
msgid "4.11-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6960
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7014
#, no-wrap
msgid "492101"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6961
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7015
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/157843[157843]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6962
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7016
#, no-wrap
msgid "April 18, 2006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6963
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7017
#, no-wrap
msgid "4.11-STABLE after adding libdata/ldconfig directories to mtree files."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6966
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7020
#, no-wrap
msgid "FreeBSD 3 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6969
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7023
#, no-wrap
msgid "FreeBSD 3 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6978
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7032
#, no-wrap
msgid "300000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6979
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7033
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/22917[22917]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6980
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7034
#, no-wrap
msgid "February 19, 1996"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6982
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7036
#, no-wrap
msgid "3.0-CURRENT before man:mount[2] change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6983
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7037
#, no-wrap
msgid "300001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6984
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7038
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/36283[36283]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6985
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7039
#, no-wrap
msgid "September 24, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6987
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7041
#, no-wrap
msgid "3.0-CURRENT after man:mount[2] change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6988
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7042
#, no-wrap
msgid "300002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6989
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7043
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/36592[36592]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6990
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7044
#, no-wrap
msgid "June 2, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6992
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7046
#, no-wrap
msgid "3.0-CURRENT after man:semctl[2] change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6993
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7047
#, no-wrap
msgid "300003"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6994
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7048
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/36735[36735]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6995
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7049
#, no-wrap
msgid "June 7, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6997
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7051
#, no-wrap
msgid "3.0-CURRENT after ioctl arg changes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6998
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7052
#, no-wrap
msgid "300004"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6999
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7053
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/38768[38768]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7000
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7054
#, no-wrap
msgid "September 3, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7002
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7056
#, no-wrap
msgid "3.0-CURRENT after ELF conversion"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7003
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7057
#, no-wrap
msgid "300005"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7004
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7058
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/40438[40438]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7005
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7010
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7059
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7064
#, no-wrap
msgid "October 16, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7007
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7061
#, no-wrap
msgid "3.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7008
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7062
#, no-wrap
msgid "300006"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7009
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7063
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/40445[40445]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7012
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7066
#, no-wrap
msgid "3.0-CURRENT after 3.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7013
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7067
#, no-wrap
msgid "300007"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7014
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7068
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/43042[43042]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7017
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7071
#, no-wrap
msgid "3.0-STABLE after 3/4 branch"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7018
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7072
#, no-wrap
msgid "310000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7019
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7073
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/43807[43807]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7020
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7074
#, no-wrap
msgid "February 9, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7022
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7076
#, no-wrap
msgid "3.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7023
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7077
#, no-wrap
msgid "310001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7024
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7078
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/45060[45060]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7027
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7081
#, no-wrap
msgid "3.1-STABLE after 3.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7028
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7082
#, no-wrap
msgid "310002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7029
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7083
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/45689[45689]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7030
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7084
#, no-wrap
msgid "April 14, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7032
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7086
#, no-wrap
msgid "3.1-STABLE after C++ constructor/destructor order change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7033
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7087
#, no-wrap
msgid "320000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7037
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7091
#, no-wrap
msgid "3.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7038
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7092
#, no-wrap
msgid "320001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7039
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7093
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/46742[46742]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7040
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7094
#, no-wrap
msgid "May 8, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7042
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7096
#, no-wrap
msgid "3.2-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7043
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7097
#, no-wrap
msgid "320002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7044
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7098
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/50563[50563]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7045
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7099
#, no-wrap
msgid "August 29, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7047
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7101
#, no-wrap
msgid "3.2-STABLE after binary-incompatible IPFW and socket changes"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7048
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7102
#, no-wrap
msgid "330000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7049
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7103
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/50813[50813]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7050
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7104
#, no-wrap
msgid "September 2, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7052
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7106
#, no-wrap
msgid "3.3-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7053
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7107
#, no-wrap
msgid "330001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7054
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7108
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/51328[51328]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7055
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7109
#, no-wrap
msgid "September 16, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7057
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7111
#, no-wrap
msgid "3.3-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7058
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7112
#, no-wrap
msgid "330002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7059
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7113
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/53671[53671]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7060
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7114
#, no-wrap
msgid "November 24, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7062
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7116
#, no-wrap
msgid "3.3-STABLE after adding man:mkstemp[3] to libc"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7063
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7117
#, no-wrap
msgid "340000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7064
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7118
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/54166[54166]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7065
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7119
#, no-wrap
msgid "December 5, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7067
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7121
#, no-wrap
msgid "3.4-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7068
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7122
#, no-wrap
msgid "340001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7069
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7123
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/54730[54730]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7070
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7124
#, no-wrap
msgid "December 17, 1999"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7072
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7126
#, no-wrap
msgid "3.4-STABLE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7073
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7127
#, no-wrap
msgid "350000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7074
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7128
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/61876[61876]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7075
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7129
#, no-wrap
msgid "June 20, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7077
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7131
#, no-wrap
msgid "3.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7078
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7132
#, no-wrap
msgid "350001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7079
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7133
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/63043[63043]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7080
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7134
#, no-wrap
msgid "July 12, 2000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7081
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7135
#, no-wrap
msgid "3.5-STABLE"
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7084
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7138
#, no-wrap
msgid "FreeBSD 2.2 Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7087
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7141
#, no-wrap
msgid "FreeBSD 2.2 `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7096
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7150
#, no-wrap
msgid "220000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7097
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7151
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/22918[22918]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7098
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7152
#, no-wrap
msgid "February 19, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7100
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7154
#, no-wrap
msgid "2.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7105
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7159
#, no-wrap
msgid "2.2.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7110
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7164
#, no-wrap
msgid "2.2-STABLE after 2.2.1-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7111
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7165
#, no-wrap
msgid "221001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7112
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7166
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/24941[24941]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7113
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7167
#, no-wrap
msgid "April 15, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7115
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7169
#, no-wrap
msgid "2.2-STABLE after texinfo-3.9"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7116
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7170
#, no-wrap
msgid "221002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7117
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7171
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/25325[25325]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7118
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7172
#, no-wrap
msgid "April 30, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7120
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7174
#, no-wrap
msgid "2.2-STABLE after top"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7121
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7175
#, no-wrap
msgid "222000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7122
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7176
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/25851[25851]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7123
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7177
#, no-wrap
msgid "May 16, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7125
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7179
#, no-wrap
msgid "2.2.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7126
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7180
#, no-wrap
msgid "222001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7127
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7181
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/25921[25921]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7128
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7182
#, no-wrap
msgid "May 19, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7130
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7184
#, no-wrap
msgid "2.2-STABLE after 2.2.2-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7131
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7185
#, no-wrap
msgid "225000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7132
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7186
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/30053[30053]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7133
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7187
#, no-wrap
msgid "October 2, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7135
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7189
#, no-wrap
msgid "2.2.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7136
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7190
#, no-wrap
msgid "225001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7137
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7191
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/31300[31300]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7138
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7192
#, no-wrap
msgid "November 20, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7140
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7194
#, no-wrap
msgid "2.2-STABLE after 2.2.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7141
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7195
#, no-wrap
msgid "225002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7142
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7196
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/32019[32019]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7143
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7197
#, no-wrap
msgid "December 27, 1997"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7145
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7199
#, no-wrap
msgid "2.2-STABLE after ldconfig -R merge"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7146
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7200
#, no-wrap
msgid "226000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7147
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7201
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/34445[34445]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7148
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7202
#, no-wrap
msgid "March 24, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7150
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7204
#, no-wrap
msgid "2.2.6-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7151
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7205
#, no-wrap
msgid "227000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7152
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7206
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/37803[37803]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7153
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7158
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7207
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7212
#, no-wrap
msgid "July 21, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7155
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7209
#, no-wrap
msgid "2.2.7-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7156
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7210
#, no-wrap
msgid "227001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7157
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7211
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/37809[37809]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7160
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7214
#, no-wrap
msgid "2.2-STABLE after 2.2.7-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7161
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7215
#, no-wrap
msgid "227002"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7162
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7216
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/39489[39489]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7163
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7217
#, no-wrap
msgid "September 19, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7165
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7219
#, no-wrap
msgid "2.2-STABLE after man:semctl[2] change"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7166
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7220
#, no-wrap
msgid "228000"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7167
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7221
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/41403[41403]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7168
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7173
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7222
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7227
#, no-wrap
msgid "November 29, 1998"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7170
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7224
#, no-wrap
msgid "2.2.8-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7171
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7225
#, no-wrap
msgid "228001"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7172
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7226
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/41418[41418]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7174
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7228
#, no-wrap
msgid "2.2-STABLE after 2.2.8-RELEASE"
msgstr ""
#. type: delimited block = 4
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7179
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7233
msgid ""
"Note that 2.2-STABLE sometimes identifies itself as \"2.2.5-STABLE\" after "
"the 2.2.5-RELEASE. The pattern used to be year followed by the month, but "
"the community decided to change it to a more straightforward major/minor "
"system starting from 2.2. This is because the parallel development on "
"several branches made it infeasible to classify the releases merely by their "
"real release dates. Do not worry about old -CURRENTs; they are listed here "
"just for reference."
msgstr ""
#. type: Title ==
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7182
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7236
#, no-wrap
msgid "FreeBSD 2 Before 2.2-RELEASE Versions"
msgstr ""
#. type: Block title
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7185
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7239
#, no-wrap
msgid "FreeBSD 2 Before 2.2-RELEASE `__FreeBSD_version` Values"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7194
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7248
#, no-wrap
msgid "119411"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7198
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7252
#, no-wrap
msgid "2.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7199
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7253
#, no-wrap
msgid "199501"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7200
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7254
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/7153[7153]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7201
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7255
#, no-wrap
msgid "March 19, 1995"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7203
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7208
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7257
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7262
#, no-wrap
msgid "2.1-CURRENT"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7204
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7258
#, no-wrap
msgid "199503"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7205
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7259
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/7310[7310]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7206
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7260
#, no-wrap
msgid "March 24, 1995"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7209
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7263
#, no-wrap
msgid "199504"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7210
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7264
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/7704[7704]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7211
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7265
#, no-wrap
msgid "April 9, 1995"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7213
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7267
#, no-wrap
msgid "2.0.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7214
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7268
#, no-wrap
msgid "199508"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7215
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7269
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/10297[10297]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7216
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7270
#, no-wrap
msgid "August 26, 1995"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7218
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7272
#, no-wrap
msgid "2.2-CURRENT before 2.1"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7219
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7273
#, no-wrap
msgid "199511"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7220
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7274
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/12189[12189]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7221
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7226
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7275
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7280
#, no-wrap
msgid "November 10, 1995"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7223
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7277
#, no-wrap
msgid "2.1.0-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7224
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7278
#, no-wrap
msgid "199512"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7225
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7279
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/12196[12196]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7228
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7282
#, no-wrap
msgid "2.2-CURRENT before 2.1.5"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7229
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7283
#, no-wrap
msgid "199607"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7230
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7284
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/17067[17067]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7231
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7285
#, no-wrap
msgid "July 10, 1996"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7233
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7287
#, no-wrap
msgid "2.1.5-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7234
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7288
#, no-wrap
msgid "199608"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7235
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7289
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/17127[17127]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7236
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7290
#, no-wrap
msgid "July 12, 1996"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7238
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7292
#, no-wrap
msgid "2.2-CURRENT before 2.1.6"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7239
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7244
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7293
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7298
#, no-wrap
msgid "199612"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7240
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7294
#, no-wrap
msgid "link:https://svnweb.freebsd.org/changeset/base/19358[19358]"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7241
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7295
#, no-wrap
msgid "November 15, 1996"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7243
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7297
#, no-wrap
msgid "2.1.6-RELEASE"
msgstr ""
#. type: Table
-#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7247
+#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7301
#, no-wrap
msgid "2.1.7-RELEASE"
msgstr ""

File Metadata

Mime Type
application/octet-stream
Expires
Mon, Jul 1, 6:28 PM (2 d)
Storage Engine
chunks
Storage Format
Chunks
Storage Handle
oSGtWkCIiznJ
Default Alt Text
(5 MB)

Event Timeline